File: rules

package info (click to toggle)
amd64-libs 1.1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 49,132 kB
  • ctags: 3
  • sloc: sh: 174; makefile: 85
file content (130 lines) | stat: -rwxr-xr-x 4,580 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
#!/usr/bin/make -f

export DH_COMPAT=3

# Lowest version with fully ABI compatible libraries
SHLIB_VERSION=0.2

build:

clean:
	dh_testdir
	dh_testroot
	rm -rf DEBIAN
	rm -f debian/create-diversions debian/remove-diversions
	rm -f debian/amd64-libs-dev.preinst debian/amd64-libs-dev.postrm
	dh_clean
	chmod a+x debian/generate-wrappers.sh

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

# Extract all debs
	for i in `cd pkgs ; /bin/ls *.deb` ; do \
		dpkg-deb -x pkgs/$$i debian/amd64-libs/ ; done

# Fix up some things
	mv debian/amd64-libs/lib debian/amd64-libs/lib64
	mv debian/amd64-libs/usr/lib debian/amd64-libs/usr/lib64

	# No X libs currently included.
	#mv debian/amd64-libs/usr/X11R6/lib debian/amd64-libs/usr/X11R6/lib64
	#rm -rf debian/amd64-libs/usr/X11R6/include

	mkdir debian/amd64-libs/usr/x86_64-linux
	mv debian/amd64-libs/usr/include/* debian/amd64-libs/usr/x86_64-linux
	mv debian/amd64-libs/usr/x86_64-linux debian/amd64-libs/usr/include/
	rm -r debian/amd64-libs/usr/share
	rm -r debian/amd64-libs/usr/sbin
	rm -r debian/amd64-libs/sys
	rm -r debian/amd64-libs/sbin
	rm debian/amd64-libs/usr/lib64/pt_chown

# Make ldd work for 32-bit and 64-bit binaries.
	[ -x debian/amd64-libs/usr/bin/ldd ]
	sed < debian/amd64-libs/usr/bin/ldd 's%RTLDLIST=.*%RTLDLIST="/lib/ld-linux.so.2 /lib64/ld-linux-x86-64.so.2"%' | sed 's%verify_out=`$${rtld} --verify "$$file"`%verify_out=`$${rtld} --verify "$$file" 2>\&1`%' > debian/amd64-libs/ldd
	rm -rf debian/amd64-libs/usr/bin
	mkdir -p debian/amd64-libs/usr/bin
	mv debian/amd64-libs/ldd debian/amd64-libs/usr/bin/
	chmod u=rwx,go=rx debian/amd64-libs/usr/bin/ldd

# Add doc dir and lintian overrides
	mkdir -p debian/amd64-libs/usr/share/doc/amd64-libs
	mkdir -p debian/amd64-libs/usr/share/lintian/overrides
	cp debian/amd64-libs.overrides debian/amd64-libs/usr/share/lintian/overrides/amd64-libs
	mkdir -p debian/amd64-libs-dev/usr/share/lintian/overrides
	cp debian/amd64-libs-dev.overrides debian/amd64-libs-dev/usr/share/lintian/overrides/amd64-libs-dev

# Extract shlibs info from libc6
	mkdir debian/amd64-libs/DEBIAN
	dpkg -e pkgs/libc6_*deb
	sed "s/libc6 (.*)/amd64-libs (>= $(SHLIB_VERSION))/" < DEBIAN/shlibs >debian/amd64-libs/DEBIAN/shlibs
	dpkg -e pkgs/libncurses5_*deb
	sed "s/libncurses5 (.*)/amd64-libs (>= $(SHLIB_VERSION))/" < DEBIAN/shlibs >>debian/amd64-libs/DEBIAN/shlibs

	# Fix symlinks.
	for link in $$(find debian/amd64-libs -type l); do		\
	  dest=$$(readlink $$link);					\
	  rm -f $$link;							\
	  ln -s $$(echo $$dest | sed 's,/lib/,/lib64/,') $$link;	\
	done

	# Wrap headers. that differ between 32-bit and 64-bit.  All asm
	# headers are wrapped (we assume the list of 32-bit headers in
	# the linux-kernel-headers package is the same as will be on the
	# installed system).  A manually maintained list of other headers
	# are wrapped.
	./debian/generate-wrappers.sh ./debian/amd64-libs \
	  ./debian/differing-headers
	rm -rf debian/amd64-libs/usr/include/x86_64-linux-input

	cat debian/amd64-libs-dev.preinst.in debian/create-diversions > debian/amd64-libs-dev.preinst
	cat debian/amd64-libs-dev.postrm.in debian/remove-diversions > debian/amd64-libs-dev.postrm

	# Fix up GROUP commands in linker scripts
	for lib in libc.so libpthread.so; do				\
	  cat debian/amd64-libs/usr/lib64/$$lib				\
	    | sed 's,/lib/,/lib64/,g' > $$lib;				\
	  mv -f $$lib debian/amd64-libs/usr/lib64/$$lib;		\
	done

	echo -e "# packages used in the creation of amd64-libs\n" > \
		debian/amd64-libs/usr/share/doc/amd64-libs/Manifest
	(cd pkgs; /bin/ls *.deb) >> debian/amd64-libs/usr/share/doc/amd64-libs/Manifest

	# Separate out development files.
	mkdir -p debian/amd64-libs-dev/usr/share/doc
	ln -s amd64-libs debian/amd64-libs-dev/usr/share/doc/amd64-libs-dev

	mv debian/amd64-libs/usr/include debian/amd64-libs-dev/usr/include
	mkdir debian/amd64-libs-dev/usr/lib64
	mv debian/amd64-libs/usr/lib64/*.so debian/amd64-libs-dev/usr/lib64
	mv debian/amd64-libs/usr/lib64/*.a debian/amd64-libs-dev/usr/lib64
	mv debian/amd64-libs/usr/lib64/*.o debian/amd64-libs-dev/usr/lib64
	mv debian/amd64-libs/usr/lib64/debug debian/amd64-libs-dev/usr/lib64

binary-indep:

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdocs
	dh_installexamples
	dh_installchangelogs 
#	dh_link
#	dh_strip
	dh_compress
	dh_fixperms --exclude "*/ld-*"
#	dh_makeshlibs
	dh_installdeb
#	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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