Adding side stream changes to Maemian. Working to integrate full upstream libraries...
[maemian] / nokia-lintian / testset / libbaz / debian / rules
diff --git a/nokia-lintian/testset/libbaz/debian/rules b/nokia-lintian/testset/libbaz/debian/rules
new file mode 100755 (executable)
index 0000000..ad4be16
--- /dev/null
@@ -0,0 +1,120 @@
+#!/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/*
+
+       # Also install in the multiarch path.
+       install -d debian/ia32-libbaz2/usr/lib/i486-linux-gnu
+       cp -a libbaz2.so.* debian/ia32-libbaz2/usr/lib/i486-linux-gnu
+       chmod a-x debian/ia32-libbaz2/usr/lib/i486-linux-gnu/*
+
+       # General stuff that is tested in other testsets:
+       dh_installdocs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
+       dh_installchangelogs -pia32-libbaz2
+       dh_compress -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
+
+       # 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 --dbg-package=libbaz2-dbg -plibbaz2 -plibbaz2-dev
+       dh_strip -pia32-libbaz2
+       dh_makeshlibs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
+       dh_shlibdeps -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
+
+       # and again, regular packaging stuff
+       dh_installdeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
+       echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs
+       dh_gencontrol -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
+       dh_md5sums -pia32-libbaz2
+       dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
+
+# 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
+       # Pretend to be a Perl module to test a lack of Perl dependencies.
+       install -d $(lib_tmp)/usr/lib/perl5/auto/Foo
+       install -m 644 libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/perl5/auto/Foo/Foo.so
+       strip $(lib_tmp)/usr/lib/perl5/auto/Foo/Foo.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
+       install -m 755 debian/lib.symbols $(lib_tmp)/DEBIAN/symbols
+       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
+       # Pretend to be a Perl module to test a lack of Perl dependencies.
+       install -d $(dev_tmp)/usr/lib/perl5/auto/Foo
+       install -m 644 libbaz2.so.1.0.3b $(dev_tmp)/usr/lib/perl5/auto/Foo/Foo.so
+       strip $(dev_tmp)/usr/lib/perl5/auto/Foo/Foo.so
+       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
+
+# The mention of binary-indep here should be sufficient to suppress the
+# warning that it's not present.
+.PHONY: build binary-arch binary-indep binary clean