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
|
#!/usr/bin/make -f
lib_tmp=debian/tmp-lib
dev_tmp=debian/tmp-dev
LIB=libbaz1
DEV=libbaz1-dev
build:
$(MAKE)
clean:
$(MAKE) clean
dh_clean -plibbaz2 -plibbaz2-dev
rm -f debian/files debian/substvars
rm -rf $(lib_tmp) $(dev_tmp)
# Now the correct libbaz2-dev package
binary-correct:
install -d debian/libbaz2-dev/usr/lib
cp -a libbaz2.a libbaz2.so debian/libbaz2-dev/usr/lib
# usually, I'd also include some .h files to /usr/include
# Now the correct libbaz2 package
install -d debian/libbaz2/usr/lib
cp -a libbaz2.so.* debian/libbaz2/usr/lib
chmod a-x debian/libbaz2/usr/lib/*
# General stuff that is tested in other testsets:
dh_installdocs -plibbaz2 -plibbaz2-dev
dh_compress -plibbaz2 -plibbaz2-dev
# Mess up the libbaz2 changelog files to test the symlink handling.
ln -s /usr/share/doc/lintian/changelog.gz \
debian/libbaz2/usr/share/doc/libbaz2/changelog.gz
install -m 644 debian/changelog \
debian/libbaz2-dev/usr/share/doc/libbaz2-dev/foo
ln -s foo debian/libbaz2-dev/usr/share/doc/libbaz2-dev/changelog
# Okay, if either line is omitted, it should be noted
dh_strip -plibbaz2 -plibbaz2-dev
dh_makeshlibs -plibbaz2 -plibbaz2-dev
dh_shlibdeps -plibbaz2 -plibbaz2-dev
# and again, regular packaging stuff
dh_installdeb -plibbaz2 -plibbaz2-dev
echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs
dh_gencontrol -plibbaz2 -plibbaz2-dev
dh_builddeb -plibbaz2 -plibbaz2-dev
# and the incorrect one
binary-arch: build binary-correct
# first, the lib package
install -d $(lib_tmp)/usr/lib
# resp. no soname (check), wrong soname (check), and no-pic (check)
cp -a libbaz1.so.1.0* $(lib_tmp)/usr/lib
cp -a libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/libfoo2.so.1.0.3b
install -m644 libbaz3.so.1.0.3b $(lib_tmp)/usr/lib/libbaz3.so.1.0.3b
# let's include the .a in the non-dev too (TODO)
# Also, libbaz1.a hasn't a symbol table (TODO)
cp -a *.a $(lib_tmp)/usr/lib
# And a wrong .so symlink (wrong, only in -dev, TODO)
ln -s libfoo3.so.0.9 $(lib_tmp)/usr/lib/libfoo3.so
# And a wrong .so.X symlink (wrong, should point to a real existing shlib,
# TODO)
ln -s libfoo.so.0.9.1 $(lib_tmp)/usr/lib/libfoo.so.0.9
# And a plain .so (wrong, TODO)
touch $(lib_tmp)/usr/lib/libbar2.so
#
install -d $(lib_tmp)/usr/share/doc/$(LIB)
install -m 644 debian/copyright $(lib_tmp)/usr/share/doc/$(LIB)
install -m 644 debian/changelog $(lib_tmp)/usr/share/doc/$(LIB)
gzip -9 $(lib_tmp)/usr/share/doc/$(LIB)/changelog
install -d $(lib_tmp)/DEBIAN
install -m 755 debian/lib.postinst $(lib_tmp)/DEBIAN/postinst
install -m 755 debian/lib.prerm $(lib_tmp)/DEBIAN/prerm
touch $(lib_tmp)/usr/share/doc/README.Debian
#dpkg-shlibdeps $(lib_tmp)/usr/lib/libbaz.so.1.0
install -m 755 debian/lib.shlibs $(lib_tmp)/DEBIAN/shlibs
dpkg-gencontrol -isp -p$(LIB) -P$(lib_tmp)
dpkg --build $(lib_tmp) ..
# now the -dev package
install -d $(dev_tmp)/usr/include
install -d $(lib_tmp)/usr/lib
# let's also install the .so at the same time... (wrong, TODO)
cp -a *.a *.so.* $(lib_tmp)/usr/lib
# and fuck up permission (TODO)
chmod a+x $(lib_tmp)/usr/lib/*.a
install -d $(dev_tmp)/usr/share/doc
ln -s $(LIB) $(dev_tmp)/usr/share/doc/$(DEV)
install -d $(dev_tmp)/DEBIAN
install -m 755 debian/dev.postinst $(dev_tmp)/DEBIAN/postinst
install -m 755 debian/dev.prerm $(dev_tmp)/DEBIAN/prerm
dpkg-gencontrol -isp -p$(DEV) -P$(dev_tmp)
dpkg --build $(dev_tmp) ..
binary: binary-arch
.PHONY: build binary-arch binary clean
|