File: rules

package info (click to toggle)
alsa-driver 1.0.8-7sarge1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 15,840 kB
  • ctags: 43,253
  • sloc: ansic: 257,429; sh: 18,021; makefile: 1,741; perl: 1,316; python: 1,280; xml: 448; awk: 66
file content (176 lines) | stat: -rwxr-xr-x 7,969 bytes parent folder | download
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#!/usr/bin/make -f

# alsa-driver's debian/rules.
# Substanially rewritten by Steve Kowalik <stevenk@debian.org>
# Substanially rewritten by Thomas Hood <jdthood@yahoo.co.uk>

export DH_VERBOSE=1

SHELL := /bin/bash
# Bwahaha, let's play "Fool dpatch"
PACKAGE := ALSA

# After sarge, rename this to .../alsa
SRC_DIR := debian/alsa-source/usr/src/modules/alsa-driver
INSTALL_UAG := -o root -g audio

include /usr/share/dpatch/dpatch.make

clean: unpatch
	dh_testdir
	dh_testroot
	$(RM) debian/substvars debian/*.debhelper debian/*.substvars
	$(RM) -r debian/alsa-{base,source}
	$(RM) debian/files debian/snddevices
	find . -type f -a \( -name \#\*\# -o -name \*\~ -o -name DEADJOE \
		-o -name \*.orig -o -name \*.rej -o -name \*.bak -o -name \
		.\*.orig -o -name .\*.rej -o -name .SUMS -o -name TAGS \
		-o -name .\#\* -o -name core -o \( -path \*/.deps/\* -a -name \
		\*.P \) \) -exec $(RM) {} \;
	-$(RM) build-stamp
	-$(RM) include/isapnp.h
	-$(RM) debian/*substvars
	-$(RM) -r debian/patched
	dh_clean -k

build: build-stamp
build-stamp: patch-stamp
	touch build-stamp

binary: binary-indep binary-arch

binary-indep: DH_OPTIONS=-i
binary-indep: patch-stamp build-stamp build-source
	dh_testdir
	dh_testroot
	dh_installdirs
	install $(INSTALL_UAG) -m755 debian/alsa-base.modprobe-post-install \
		debian/alsa-base/lib/alsa/modprobe-post-install
	install $(INSTALL_UAG) -m755 debian/alsa-base.modprobe-post-install-part \
		debian/alsa-base/etc/alsa/modprobe-post-install.d/alsa-base
	install $(INSTALL_UAG) -m755 debian/alsa-base.dev \
		debian/alsa-base/lib/alsa/dev
	install $(INSTALL_UAG) -m755 debian/alsa-base.dev-part \
		debian/alsa-base/etc/alsa/dev.d/alsa-base
	install $(INSTALL_UAG) -m755 debian/alsa-base.apm \
		debian/alsa-base/etc/apm/scripts.d/alsa
	install $(INSTALL_UAG) -m755 snddevices \
		debian/alsa-base/usr/share/alsa-base/snddevices
	install $(INSTALL_UAG) -m644 debian/alsa-base.default \
		debian/alsa-base/usr/share/alsa-base/alsa.default
	install $(INSTALL_UAG) -m644 debian/alsa-source.conf \
		debian/alsa-source/usr/share/alsa-source/alsa-source.conf
	install $(INSTALL_UAG) -m644 debian/devfs.conf \
		debian/alsa-base/etc/devfs/conf.d/alsa
	install $(INSTALL_UAG) -m755 debian/program-wrapper \
		debian/alsa-base/usr/share/alsa-base
	### Generate lists
	cat debian/OSS-module-list \
		| sed -e 's/^[[:space:]]*//' -e 's/#.*//' -e '/^$$/d' \
		> debian/OSS-module-list_cleaned
	cat debian/ALSA-card-list \
		| sed -e 's/^[[:space:]]*//' -e 's/#.*//' -e 's/,//' -e '/^$$/d' \
		> debian/ALSA-card-list_cleaned
	cat debian/ALSA-card-list_cleaned \
		| sed -e 's/ \[[^]]*\]//' \
		> debian/ALSA-card-list_cleaned_hidebrackets
	cat debian/ALSA-card-list_cleaned \
		| sed -e '/MODEM/d' \
		      -e '/TV/d' \
		      -e '/UNREAL/d' \
		> debian/ALSA-card-list_mixerful
	cat debian/ALSA-card-list_cleaned \
		| grep -e 'MODEM' \
		       -e 'TV' \
		> debian/ALSA-card-list_nonprimary
	### Generate alsa-source.templates
	cp -p debian/alsa-source.templates debian/alsa-source.templates_BAK
	cat debian/alsa-source.templates_BAK \
		| sed "s%_CARD_LIST_%$$(echo $$(sed -e '$$!s/$$/, /' debian/ALSA-card-list_cleaned_hidebrackets))%" \
		> debian/alsa-source.templates
	### Install blacklists and related
	install $(INSTALL_UAG) -m644 debian/OSS-module-list_cleaned debian/alsa-base/usr/share/alsa-base/OSS-module-list
	install $(INSTALL_UAG) -m644 debian/OSS-module-list_cleaned debian/alsa-base/etc/hotplug/blacklist.d/alsa-base
	install $(INSTALL_UAG) -m644 debian/OSS-module-list_cleaned debian/alsa-base/etc/discover.d/alsa-base
	cat debian/OSS-module-list_cleaned \
		| sed -e 's/[[:space:]].*//' -e 's/^/skip /' \
		> debian/alsa-base/etc/discover.d/alsa-base
	install $(INSTALL_UAG) -m644 debian/alsa-base.discover.conf debian/alsa-base/etc/discover.conf.d/10alsa
	install $(INSTALL_UAG) -m644 debian/alsa-base.discover.list.xml debian/alsa-base/lib/discover/alsa-base.list.xml
	install $(INSTALL_UAG) -m644 debian/alsa-base.discover.pci-device.xml debian/alsa-base/lib/discover/alsa-base.pci-device.xml
	### Install module loader configuration files
	install $(INSTALL_UAG) -m644 debian/alsa-base.modutils debian/alsa-base/etc/modutils/alsa-base
	echo "# Cause a script to be run after card driver module initialization" \
		>> debian/alsa-base/etc/modutils/alsa-base
	cat debian/ALSA-card-list_mixerful \
		| sed -e 's/[[:space:]].*//' -e 's%\(.*\)%post-install snd-\1 /lib/alsa/modprobe-post-install snd-\1%' \
		>> debian/alsa-base/etc/modutils/alsa-base
	echo "# Prevent abnormal drivers from grabbing index 0" \
		>> debian/alsa-base/etc/modutils/alsa-base
	cat debian/ALSA-card-list_nonprimary \
		| sed -e 's/[[:space:]].*//' -e 's%\(.*\)%options snd-\1 index=-2%' \
		>> debian/alsa-base/etc/modutils/alsa-base
	install $(INSTALL_UAG) -m644 debian/alsa-base.modprobe debian/alsa-base/etc/modprobe.d/alsa-base
	echo "# Cause a script to be run after card driver module initialization" \
		>> debian/alsa-base/etc/modprobe.d/alsa-base
	cat debian/ALSA-card-list_mixerful \
		| sed -e 's/[[:space:]].*//' -e 's%\(.*\)%install snd-\1 modprobe --ignore-install snd-\1 \&\& /lib/alsa/modprobe-post-install snd-\1%' \
		>> debian/alsa-base/etc/modprobe.d/alsa-base
	echo "# Prevent abnormal drivers from grabbing index 0" \
		>> debian/alsa-base/etc/modprobe.d/alsa-base
	cat debian/ALSA-card-list_nonprimary \
		| sed -e 's/[[:space:]].*//' -e 's%\(.*\)%options snd-\1 index=-2%' \
		>> debian/alsa-base/etc/modprobe.d/alsa-base
	### Install debconf templates
	dh_installdebconf
	cp -p debian/alsa-source.templates_BAK debian/alsa-source.templates && rm -f debian/alsa-source.templates_BAK
	install -p -m 0644 -o root -g root debian/alsa-base.lintian-overrides debian/alsa-base/usr/share/lintian/overrides/alsa-base
	install -p -m 0644 -o root -g root debian/alsa-source.lintian-overrides debian/alsa-source/usr/share/lintian/overrides/alsa-source
	dh_installdocs
	mv debian/alsa-source/usr/share/doc/alsa-source/patch-stamp debian/alsa-source/usr/share/doc/alsa-source/PATCHES
	DH_OPTIONS= dh_installinit --name=alsa --no-start -- defaults 12 40
	dh_installman
	dh_installchangelogs
	dh_installdocs debian/changelog-old.Debian
	mkdir debian/alsa-base/usr/share/doc/alsa-base/driver
	mv debian/alsa-base/usr/share/doc/alsa-base/Documentation/*.txt debian/alsa-base/usr/share/doc/alsa-base/driver
	mv debian/alsa-base/usr/share/doc/alsa-base/Documentation/*.html debian/alsa-base/usr/share/doc/alsa-base/driver
	rm -rf debian/alsa-base/usr/share/doc/alsa-base/Documentation
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Nothing to do 
binary-arch:

build-source:
	mkdir -p $(SRC_DIR)/debian
	find . \( -path './debian' -o -name 'CVS' -o -name '.cvsignore'  -o -name '*-stamp' \) -prune -o -print | cpio -admp $(SRC_DIR)
	-$(MAKE) -C $(SRC_DIR) clean
	chown -R root:src debian/alsa-source/usr/src
	# alsa-source/debian/*
	install -m755 debian/alsa-source.rules $(SRC_DIR)/debian/rules
	install -m644 debian/alsa-source.control $(SRC_DIR)/debian/control
	install -m644 debian/changelog $(SRC_DIR)/debian/changelog
	install -m644 debian/compat $(SRC_DIR)/debian/compat
	# And fix perms on the directory ...
	find debian/alsa-source -type d -exec chmod 775 {} \;
	find debian/alsa-source/usr/src/modules -type d -exec chmod 2775 {} \;
	# As much as I hate automatically generated stuff, automatically generate
	# files.
	major_ver="$(shell head -n 1 debian/changelog | cut -d\( -f2 | cut -d\) -f1 | cut -d. -f1-2)"; \
	for i in {pre,post}{inst,rm} ; do \
		if [ -f debian/alsa-modules.$$i ] ; then \
			cat debian/alsa-modules.$$i | sed -e "s/_MAJORVERSION_/$$major_ver/g" > $(SRC_DIR)/debian/$$i; \
		fi \
	done
	# Build the tarball, debian/* mess over.
	cd debian/alsa-source/usr/src && tar cf alsa-driver.tar modules
	$(RM) -r debian/alsa-source/usr/src/modules
	bzip2 -9 debian/alsa-source/usr/src/alsa-driver.tar

.PHONY: binary binary-arch binary-indep build-source clean patch unpatch