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
|