summaryrefslogtreecommitdiff
path: root/debian/rules
blob: b2440b59ad6ae19e47bfc678e8ebf20aac1202d0 (plain)
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
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

DISTRO=$(shell lsb_release -is 2>/dev/null || echo Debian)

ifndef DEB_HOST_ARCH
DEB_BUILD_ARCH := $(shell dpkg --print-installation-architecture)
DEB_HOST_ARCH = $(DEB_BUILD_ARCH)
endif

ifndef DEB_HOST_ARCH_OS
DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
endif

export arch = $(DEB_HOST_ARCH)
version := $(shell sed -e '1{;s|^util-linux (\(.*\))\ .*|\1|;q;}' debian/changelog)
Upstream := $(shell sed 's/^.*(\(.*\)-.*).*/\1/; q' debian/changelog)

CONFOPTS= --enable-raw --enable-rdev --enable-partx --with-fsprobe=volume_id --with-slang
ifeq ($(DEB_HOST_ARCH_OS),linux)
CONFOPTS += --with-selinux
endif

HISTORY=docs/v2.13-ReleaseNotes 

configure: configure-stamp
configure-stamp:
	dh_testdir
	./configure $(CONFOPTS)
	touch configure-stamp

build: configure-stamp build-stamp
build-stamp:
	dh_testdir
	$(MAKE) all CPU=$(arch) arch=$(arch)
	touch build-stamp

autofiles:
	AM_OPTS=--copy ./autogen.sh
	rm -rf autom4te.cache

clean-preunpatch: 
	dh_testdir
	dh_testroot
	dh_clean
	test ! -d ${base} || rm -rf ${base}
	-$(MAKE) distclean

clean: clean-preunpatch
	find . -name \*.o -exec rm {} \;
	rm -f build-stamp configure-stamp
ifeq ($(DISTRO),Debian)
	sed '/^Breaks:/d' debian/control.in > debian/control
else
	cp debian/control.in debian/control
endif

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	$(MAKE) install DESTDIR=`pwd`/debian/util-linux
	dh_installdocs -i -a
	install -m 644 login-utils/README.modems-with-agetty debian/util-linux/usr/share/doc/util-linux/README.modems-with-getty
ifeq ($(DEB_HOST_ARCH_OS),linux)
	perl -pi.bak -e 's/agetty/getty/g' debian/util-linux/usr/share/man/man8/getty.8 \
		  debian/util-linux/usr/share/doc/util-linux/README.*
	rm `find debian/util-linux/usr -name \*.bak`
endif
	dh_installexamples -i -a
	dh_installmenu -i -a
	dh_installcron -i -a
	dh_installinfo -i -a
	dh_installchangelogs $(HISTORY) -i -a
	dh_movefiles --sourcedir=debian/util-linux -i -a
	#
	# XXX - push things to where debian has always(?) had them...
	mv debian/util-linux/usr/sbin/*part* debian/util-linux/usr/bin
	mv debian/util-linux/usr/bin/tailf debian/util-linux/bin
	mv debian/util-linux/usr/bin/isosize debian/util-linux/sbin
	mv debian/util-linux/usr/bin/cytune debian/util-linux/usr/sbin
	rm -f debian/bsdutils/usr/bin/look debian/bsdutils/usr/share/man/man1/look.1
	#
	#
	mv debian/util-linux/usr/share/getopt/* debian/util-linux/usr/share/doc/util-linux/examples
	rmdir  debian/util-linux/usr/share/getopt
	install -m 644 debian/lintian-override debian/util-linux/usr/share/lintian/overrides/util-linux
	install -m 644 debian/mime.util-linux debian/util-linux/usr/lib/mime/packages/util-linux
	if [ -f debian/util-linux/sbin/hwclock ] ; then \
	    install -m 755 debian/hwclock.sh debian/util-linux/etc/init.d/hwclock.sh; \
	fi
ifneq ($(DISTRO),Debian)
	if [ -f debian/util-linux/sbin/hwclock ] ; then \
	    install -m 755 debian/hwclock.udev debian/util-linux/lib/udev/set_hwclock && \
	    install -m 644 debian/hwclock.rules debian/util-linux/etc/udev/rules.d/85-hwclock.rules; \
	fi
endif
	ln debian/util-linux/sbin/*fdisk debian/fdisk-udeb/usr/sbin
	mv debian/fdisk-udeb/usr/sbin/cfdisk debian/cfdisk-udeb/usr/sbin
	cd debian/util-linux-locales && find usr/share/locale -type f | while read x; do ln $$x ../cfdisk-udeb/$$x; done
ifeq ($(DEB_HOST_ARCH_OS),linux)
ifeq ($(arch),$(findstring $(arch),powerpc ppc64))
	mv -f debian/util-linux/sbin/fdisk debian/util-linux/sbin/ddisk
	mv -f debian/util-linux/usr/share/man/man8/fdisk.8 debian/util-linux/usr/share/man/man8/ddisk.8
else
	(cd debian/util-linux && if [ -f sbin/hwclock ] ; then ln -sf hwclock.8.gz usr/share/man/man8/clock.8.gz; fi)
endif
	(cd debian/util-linux/sbin ; mv agetty getty)
	(cd debian/util-linux/usr/share/man/man8 ; mv agetty.8 getty.8)
	install -m 644 debian/mount.fstab debian/mount/usr/share/doc/mount/examples/fstab
endif
ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
	(cd debian/util-linux/sbin ; mv mkswap mkswap.linux)
	(cd debian/util-linux/usr/share/man/man8 ; mv mkswap.8 mkswap.linux.8)
endif
	dh_compress -i -a
	dh_fixperms -i -a -Xusr/bin/wall -Xbin/mount -Xbin/umount
	rm -rf debian/*-udeb/usr/share/doc


# Build architecture-independent files here.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_link -i
	dh_installdeb -i
	#for i in $$(sed -n '/^Package:/s/^.* //p' debian/control); do cat debian/vars.in >> debian/$$i.substvars; done
	#cat debian/vars.in >> debian/substvars
	dh_gencontrol -i -- -VUpstream=$(Upstream)
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_installinit -a -- defaults 15 85
	dh_link -a
	dh_strip -a
	dh_makeshlibs -a
	dh_installdeb -a
	dh_shlibdeps -a
	#for i in $$(sed -n '/^Package:/s/^.* //p' debian/control); do cat debian/vars.in >> debian/$$i.substvars; done
	#cat debian/vars.in >> debian/substvars
ifneq ($(DEB_HOST_ARCH_OS),linux)
	echo util-linux:Conflicts=getty >> debian/util-linux.substvars
endif
	dh_gencontrol -a -Xbsdutils
	dh_gencontrol -pbsdutils -u-v1:$(version)
	dh_md5sums -a
	rm -f debian/*-udeb/DEBIAN/md5sums
	dh_builddeb -a


binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure