Added some code to peer into a data structure in Maemian/Schedule.pm. Also added the
[maemian] / nokia-lintian / testset / libbaz / debian / rules
1 #!/usr/bin/make -f
2
3 lib_tmp=debian/tmp-lib
4 dev_tmp=debian/tmp-dev
5
6 LIB=libbaz1
7 DEV=libbaz1-dev
8
9 build:
10         $(MAKE)
11
12 clean:
13         $(MAKE) clean
14         dh_clean -plibbaz2 -plibbaz2-dev
15         rm -f debian/files debian/substvars
16         rm -rf $(lib_tmp) $(dev_tmp)
17
18 # Now the correct libbaz2-dev package
19 binary-correct:
20         install -d debian/libbaz2-dev/usr/lib
21         cp -a libbaz2.a libbaz2.so debian/libbaz2-dev/usr/lib
22         # usually, I'd also include some .h files to /usr/include
23
24         # Now the correct libbaz2 package
25         install -d debian/libbaz2/usr/lib
26         cp -a libbaz2.so.* debian/libbaz2/usr/lib
27         chmod a-x debian/libbaz2/usr/lib/*
28
29         # Also install in the multiarch path.
30         install -d debian/ia32-libbaz2/usr/lib/i486-linux-gnu
31         cp -a libbaz2.so.* debian/ia32-libbaz2/usr/lib/i486-linux-gnu
32         chmod a-x debian/ia32-libbaz2/usr/lib/i486-linux-gnu/*
33
34         # General stuff that is tested in other testsets:
35         dh_installdocs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
36         dh_installchangelogs -pia32-libbaz2
37         dh_compress -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
38
39         # Mess up the libbaz2 changelog files to test the symlink handling.
40         ln -s /usr/share/doc/lintian/changelog.gz \
41             debian/libbaz2/usr/share/doc/libbaz2/changelog.gz
42         install -m 644 debian/changelog \
43             debian/libbaz2-dev/usr/share/doc/libbaz2-dev/foo
44         ln -s foo debian/libbaz2-dev/usr/share/doc/libbaz2-dev/changelog
45
46         # Okay, if either line is omitted, it should be noted
47         dh_strip --dbg-package=libbaz2-dbg -plibbaz2 -plibbaz2-dev
48         dh_strip -pia32-libbaz2
49         dh_makeshlibs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
50         dh_shlibdeps -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
51
52         # and again, regular packaging stuff
53         dh_installdeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
54         echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs
55         dh_gencontrol -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
56         dh_md5sums -pia32-libbaz2
57         dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg -pia32-libbaz2
58
59 # and the incorrect one
60 binary-arch: build binary-correct
61         # first, the lib package
62         install -d $(lib_tmp)/usr/lib
63         # resp. no soname (check), wrong soname (check), and no-pic (check)
64         cp -a libbaz1.so.1.0* $(lib_tmp)/usr/lib
65         cp -a libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/libfoo2.so.1.0.3b
66         install -m644 libbaz3.so.1.0.3b $(lib_tmp)/usr/lib/libbaz3.so.1.0.3b
67         # let's include the .a in the non-dev too (TODO)
68         # Also, libbaz1.a hasn't a symbol table (TODO)
69         cp -a *.a $(lib_tmp)/usr/lib
70         # And a wrong .so symlink (wrong, only in -dev, TODO)
71         ln -s libfoo3.so.0.9 $(lib_tmp)/usr/lib/libfoo3.so
72         # And a wrong .so.X symlink (wrong, should point to a real existing
73         # shlib, TODO)
74         ln -s libfoo.so.0.9.1 $(lib_tmp)/usr/lib/libfoo.so.0.9
75         # And a plain .so (wrong, TODO)
76         touch $(lib_tmp)/usr/lib/libbar2.so
77         # Pretend to be a Perl module to test a lack of Perl dependencies.
78         install -d $(lib_tmp)/usr/lib/perl5/auto/Foo
79         install -m 644 libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/perl5/auto/Foo/Foo.so
80         strip $(lib_tmp)/usr/lib/perl5/auto/Foo/Foo.so
81
82         install -d $(lib_tmp)/usr/share/doc/$(LIB)
83         install -m 644 debian/copyright $(lib_tmp)/usr/share/doc/$(LIB)
84         install -m 644 debian/changelog $(lib_tmp)/usr/share/doc/$(LIB)
85         gzip -9 $(lib_tmp)/usr/share/doc/$(LIB)/changelog
86         install -d $(lib_tmp)/DEBIAN
87         install -m 755 debian/lib.postinst $(lib_tmp)/DEBIAN/postinst
88         install -m 755 debian/lib.prerm $(lib_tmp)/DEBIAN/prerm
89         touch $(lib_tmp)/usr/share/doc/README.Debian
90         #dpkg-shlibdeps $(lib_tmp)/usr/lib/libbaz.so.1.0
91         install -m 755 debian/lib.shlibs $(lib_tmp)/DEBIAN/shlibs
92         install -m 755 debian/lib.symbols $(lib_tmp)/DEBIAN/symbols
93         dpkg-gencontrol -isp -p$(LIB) -P$(lib_tmp)
94         dpkg --build $(lib_tmp) ..
95
96         # now the -dev package
97         install -d $(dev_tmp)/usr/include
98         install -d $(lib_tmp)/usr/lib
99         # let's also install the .so at the same time... (wrong, TODO)
100         cp -a *.a *.so.* $(lib_tmp)/usr/lib
101         # and fuck up permission (TODO)
102         chmod a+x $(lib_tmp)/usr/lib/*.a
103         # Pretend to be a Perl module to test a lack of Perl dependencies.
104         install -d $(dev_tmp)/usr/lib/perl5/auto/Foo
105         install -m 644 libbaz2.so.1.0.3b $(dev_tmp)/usr/lib/perl5/auto/Foo/Foo.so
106         strip $(dev_tmp)/usr/lib/perl5/auto/Foo/Foo.so
107         install -d $(dev_tmp)/usr/share/doc
108         ln -s $(LIB) $(dev_tmp)/usr/share/doc/$(DEV) 
109         install -d $(dev_tmp)/DEBIAN
110         install -m 755 debian/dev.postinst $(dev_tmp)/DEBIAN/postinst
111         install -m 755 debian/dev.prerm $(dev_tmp)/DEBIAN/prerm
112         dpkg-gencontrol -isp -p$(DEV) -P$(dev_tmp)
113         dpkg --build $(dev_tmp) ..
114
115
116 binary: binary-arch
117
118 # The mention of binary-indep here should be sufficient to suppress the
119 # warning that it's not present.
120 .PHONY: build binary-arch binary-indep binary clean