File: rules

package info (click to toggle)
puppet-agent 8.10.0-5
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 27,392 kB
  • sloc: ruby: 286,820; sh: 492; xml: 116; makefile: 88; cs: 68
file content (112 lines) | stat: -rwxr-xr-x 3,870 bytes parent folder | download | duplicates (2)
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
#!/usr/bin/make -f
# -*- makefile -*-

include /usr/share/dpkg/pkg-info.mk

PKGDIR := debian/puppet-agent
DOCPKGDIR := debian/puppet-doc/usr/share/doc/puppet

%:
	dh $@

execute_after_dh_auto_build:
ifeq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
	# build manpages
	mv man man.orig
	HOME=$$(mktemp -d) LC_ALL=C.UTF-8 rake -I ./lib gen_manpages
	mv man man.tmp
	mv man.orig man
	# build html reference docs
	for dir in references references/types; do \
		mkdir -p html/$${dir}; \
		for doc in $${dir}/*.md; do \
			doc_basename=$$(basename -s .md $$doc); \
			pandoc --standalone --from commonmark_x --shift-heading-level-by -1 --to html --toc \
				-o $(CURDIR)/html/$${dir}/$${doc_basename}.html \
				--css ../pandoc.css \
				$${doc}; \
		done; \
	done
	# build core module reference docs
	for ref in modules/*/REFERENCE.md; do \
		modulename=$$(dirname $$ref | grep -oP 'puppetlabs-\K[^\-]+'); \
		mkdir -p html/modules/$${modulename}; \
		pandoc --standalone --from gfm --to html \
			-o $(CURDIR)/html/modules/$${modulename}/reference.html \
			--css ../../pandoc.css \
			$${ref}; \
	done
	# build index page
	pandoc --standalone --from gfm --to html \
		-o $(CURDIR)/html/index.html \
		--css pandoc.css \
		debian/index.md
endif

override_dh_auto_install:
	./install.rb --destdir=debian/tmp \
		--codedir=/etc/puppet/code \
		--configdir=/etc/puppet \
		--vardir=/var/cache/puppet \
		--publicdir=/var/lib/puppet/public \
		--rundir=/run/puppet \
		--logdir=/var/log/puppet \
		--localedir=/usr/share/puppet/locale \
		--ruby=/usr/bin/ruby \
		--sitelibdir=/usr/lib/ruby/vendor_ruby

override_dh_install:
	# prepare vendor_modules directory
	mkdir vendor_modules
	cd modules && for m in *; do \
		n=$$(echo "$${m}" | cut -d- -f2); \
		mv "$${m}" "../vendor_modules/$${n}"; \
	done
	# invoke dh_install
	dh_install -Xusr/share/man

execute_after_dh_install:
	ruby debian/gem_helper.rb
	mkdir -p $(PKGDIR)/usr/share/rubygems-integration/all/specifications
	install -m 644 debian/puppet.gemspec \
		$(PKGDIR)/usr/share/rubygems-integration/all/specifications/puppet-$(DEB_VERSION_UPSTREAM).gemspec

execute_after_dh_installdocs:
	# cleanup and move core module docs to /usr/share/doc
	cd $(CURDIR)/$(PKGDIR)/usr/share/puppet/vendor_modules && for m in *; do \
		mkdir -p $(CURDIR)/$(DOCPKGDIR)/modules/$${m}; \
		cd $${m} && for f in CHANGELOG.md examples README.md readmes REFERENCE.md; do \
			test -e $${f} && mv $${f} $(CURDIR)/$(DOCPKGDIR)/modules/$${m}; \
		done; \
		if test -e NOTICE; then \
			mkdir -p $(CURDIR)/$(PKGDIR)/usr/share/doc/modules/$${m}; \
			mv NOTICE $(CURDIR)/$(PKGDIR)/usr/share/doc/modules/$${m}; \
		fi; \
		rm -rf acceptance spec; find . -maxdepth 1 -type f -delete; cd ..; \
	done
	# install css for html references
	install -m 644 -D debian/pandoc.css $(DOCPKGDIR)/html
	ln -s ../pandoc.css $(DOCPKGDIR)/html/references
	# exclude markdown manpages from docs package
	rm -rf $(DOCPKGDIR)/references/man
	# replace external urls in html docs
	sed -i 's,https://puppet.com/docs/puppet/latest/\(configuration\|function\|metaparameter\|types\)\.html,\1.html,' \
		$(DOCPKGDIR)/html/references/*.html
	sed -i 's,https://puppet.com/docs/puppet/latest/\(configuration\|function\|metaparameter\|types\)\.html,../\1.html,' \
		$(DOCPKGDIR)/html/references/types/*.html

override_dh_missing:
	dh_missing --fail-missing -Xusr/share/man

override_dh_installinit:
	install -m 0755 $(CURDIR)/ext/debian/puppet.init $(CURDIR)/debian/puppet-agent.puppet.init
	install -m 0644 $(CURDIR)/ext/debian/puppet.default $(CURDIR)/debian/puppet-agent.puppet.default
	dh_installinit --name=puppet --no-enable

override_dh_installsystemd:
	install -m 0644 $(CURDIR)/ext/systemd/puppet.service $(CURDIR)/debian/puppet-agent.puppet.service
	dh_installsystemd --name=puppet --no-enable

execute_after_dh_clean:
	rm -rf man.tmp html
	rm -f debian/puppet.gemspec