This file is indexed.

/usr/share/caspar/mk/caspar.mk is in caspar 20140919-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# This file is maintained at http://git.mdcc.cx/caspar

# Copyright (C) 2012 Joost van Baal-Ilić <joostvb-caspar-c-12@mdcc.cx>
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2010 Joost van Baal <joostvb-caspar-c-12@mdcc.cx>
# Copyright © 2012,2014 Wessel Dankers <wsl-caspar-git-c@fruit.je>
#
# This file is part of caspar.  Caspar is free software; you can redistribute
# it and/or modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the License,
# or (at your option) any later version.  You should have received a copy of
# the GNU General Public License along with this file (see COPYING).

# see caspar(7) for usage

# possibility to choose own cp(1) and scp(1)
csp_CP         ?= cp
csp_SCP        ?= scp
csp_SUCP       ?= csp_sucp
csp_SSH        ?= ssh
csp_CAT        ?= cat
csp_Diff       ?= diff     # csp_DIFF is reserved for the user interface...
csp_RSYNC      ?= rsync
csp_MKDIRP     ?= mkdir -p
csp_INSTALL    ?= csp_install
csp_SCP_KEEP_MODE ?= csp_scp_keep_mode
csp_MKDIRCP    ?= csp_mkdircp

# extra arguments for cp(1) and scp(1)
csp_CPFLAGS    ?=
csp_SCPFLAGS   ?=
csp_RSYNCFLAGS ?= -zPt --chmod=ugo=rwX
csp_DIFFXARG   ?= -u

csp_EXTRAFILES ?=

csp_TABOOFILES_DEFAULT ?= Makefile .%.swp %~ \#%\# pod2htmd.tmp pod2htmi.tmp
csp_TABOOFILES ?= $(filter-out $(csp_TABOOFILES_SKIP),$(csp_TABOOFILES_DEFAULT)) $(csp_TABOOFILES_ADD)

csp_TABOODIRS_DEFAULT ?= CVS .svn
csp_TABOODIRS  ?= $(filter-out $(csp_TABOODIRS_SKIP),$(csp_TABOODIRS_DEFAULT)) $(csp_TABOODIRS_ADD)

# wrap csp_SCP and other puch mechanisms in make function template
csp_scp_FUNC    = $(csp_SCP) $(csp_SCPFLAGS) $(3) $(1):$(2)
csp_cp_FUNC     = $(csp_CP) $(csp_CPFLAGS) -t $(2) $(3)
csp_sucp_FUNC   = CSP_SUCP_USER=$(csp_SUCP_USER) $(csp_SUCP) $(1) $(2) $(3)
csp_rsync_FUNC  = $(csp_RSYNC) $(csp_RSYNCFLAGS) $(3) $(1)::$(2)
csp_rsyncssh_FUNC = $(csp_RSYNC) $(csp_RSYNCFLAGS) $(3) $(1):$(2)
csp_diff_FUNC   = $(csp_SSH) $(1) $(csp_CAT) $(2)/$(3) | $(csp_Diff) $(csp_DIFFXARG) - $(3)
csp_install_FUNC = $(csp_INSTALL) $(2) $(3)
csp_scp_keep_mode_FUNC = $(csp_SCP_KEEP_MODE) $(1) $(2) $(3)
csp_scpmkdir_FUNC = $(csp_SSH) $(1) $(csp_MKDIRP) $(2) && $(csp_scp_FUNC)
csp_mkdircp_FUNC = $(csp_MKDIRCP) $(2) $(3)

csp_PUSH       ?= $(csp_scp_FUNC)
csp_DIFF       ?= $(csp_diff_FUNC)

# we use plurals only
csp_UHOSTS     ?= $(csp_UHOST)

# uhosts that should be excluded for whatever reason
_csp_UHOSTS_COMPUTED := $(filter-out $(csp_UHOSTS_SKIP),$(csp_UHOSTS))
ifneq ($(csp_UHOSTS_SUBSET),)
_csp_UHOSTS_COMPUTED := $(filter $(csp_UHOSTS_SUBSET),$(_csp_UHOSTS_COMPUTED))
endif 

# files, not directories
_csp_FILES := $(shell for f in *; do test -f "$$f" && echo "$$f"; done)

# add built files, exclude editor backup files and other stuff
_csp_FILES := $(filter-out $(csp_TABOOFILES),$(_csp_FILES) $(csp_BUILD))

# user specified files
_csp_FILES := $(sort $(_csp_FILES) $(csp_EXTRAFILES))

all:
	$(MAKE) build
	$(MAKE) install
	$(MAKE) load

define _csp_filetargets
$1-install: $(foreach host,$(_csp_UHOSTS_COMPUTED),$1--$(host)--push)
$1-diff: $(foreach host,$(_csp_UHOSTS_COMPUTED),$1--$(host)--diff)
endef

define _csp_bulktargets
$2--bulk-push: $1
	$$(call csp_PUSH,$2,$$(csp_DIR),$1)
endef

$(foreach host,$(_csp_UHOSTS_COMPUTED),\
	$(eval $(call _csp_bulktargets,$(_csp_FILES),$(host))))

define _csp_remotetargets
$1--$2--push: $1
	$$(call csp_PUSH,$2,$$(csp_DIR),$1)

$1--$2--diff: $1
	$$(call csp_DIFF,$2,$$(csp_DIR),$1)
endef

$(foreach file,$(_csp_FILES),\
	$(eval $(call _csp_filetargets,$(file)))\
	$(foreach host,$(_csp_UHOSTS_COMPUTED),\
		$(eval $(call _csp_remotetargets,$(file),$(host)))))

define _csp_loadtarget
$1: $(patsubst %,$1--%--load,$(_csp_UHOSTS_COMPUTED))
endef

define _csp_loadtargets
$1--$2--load:
	$$(call $1,$2)
endef

$(foreach load,$(csp_LOAD),\
	$(eval $(call _csp_loadtarget,$(load)))\
	$(foreach host,$(_csp_UHOSTS_COMPUTED),\
		$(eval $(call _csp_loadtargets,$(load),$(host)))))

_csp_TARGETS := $(patsubst %,%-install,$(_csp_FILES))

_csp_BULKTARGETS := $(if $(_csp_FILES),$(patsubst %,%--bulk-push,$(_csp_UHOSTS_COMPUTED)))

_csp_DIFFTARGETS := $(patsubst %,%-diff,$(_csp_FILES))

_csp_LOADTARGETS := $(foreach load,$(csp_LOAD),$(load) $(patsubst %,$(load)--%--load,$(_csp_UHOSTS_COMPUTED)))

_csp_DIRS := $(shell for d in *; do test -d "$$d" && echo "$$d"; done)
_csp_DIRS := $(filter-out $(csp_TABOODIRS),$(_csp_DIRS))

define _csp_do_recursive
$1--install-recursive:
	$(MAKE) -C $1 install-recursive
endef

$(foreach dir,$(_csp_DIRS),$(eval $(call _csp_do_recursive,$(dir))))

build: $(csp_BUILD)

diff: $(_csp_DIFFTARGETS)

install: $(_csp_BULKTARGETS)

install-recursive: install $(patsubst %,%--install-recursive,$(_csp_DIRS))

load: $(csp_LOAD)

debug:
	@echo _csp_TARGETS $(_csp_TARGETS) _csp_BULKTARGETS $(_csp_BULKTARGETS) _csp_FILES $(_csp_FILES) csp_UHOSTS $(csp_UHOSTS) _csp_UHOSTS_COMPUTED $(_csp_UHOSTS_COMPUTED) csp_PUSH $(csp_PUSH)

.PHONY: $(csp_BUILD) $(_csp_TARGETS) $(_csp_BULKTARGETS) $(_csp_LOADTARGETS) $(_csp_DIFFTARGETS) build diff install install-recursive load debug