optified
[xscreensaver] / xscreensaver / debian / rules
1 #!/usr/bin/make -f
2 # Debian rules file foor xscreensaver (1.26), adapted by Larry Daffner from
3 # Sample debian.rules file - for GNU Hello (1.3).
4 # Copyright 1994,1995 by Ian Jackson.
5 # I hereby give you perpetual unlimited permission to copy,
6 # modify and relicense this file, provided that you do not remove
7 # my name from the file itself.  (I assert my moral right of
8 # paternity under the Copyright, Designs and Patents Act 1988.)
9 # This file may have to be extensively modified
10
11 # There used to be `source' and `diff' targets in this file, and many
12 # packages also had `changes' and `dist' targets.  These functions
13 # have been taken over by dpkg-source, dpkg-genchanges and
14 # dpkg-buildpackage in a package-independent way, and so these targets
15 # are obsolete.
16
17 # Modified on July 2007 by Jose Luis Rivas.
18
19 # Including quilt.make
20 include /usr/share/quilt/quilt.make
21
22 export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
23 export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
24
25 build: build-stamp
26 build-stamp:
27         dh_testdir
28
29         cp debian/xscreensaver.svg utils/images/xscreensaver.svg
30
31         # generate POT file for translators
32         cd po; intltool-update --verbose -p; cd ..
33
34         # these are for some reason in the upstream tarball, preserve them
35         [ -f driver/XScreenSaver_ad.h.upstream ] || [ ! -f driver/XScreenSaver_ad.h ] || \
36                 mv driver/XScreenSaver_ad.h driver/XScreenSaver_ad.h.upstream
37         [ -f driver/XScreenSaver_Xm_ad.h.upstream ] || [ ! -f driver/XScreenSaver_Xm_ad.h ] || \
38                 mv driver/XScreenSaver_Xm_ad.h driver/XScreenSaver_Xm_ad.h.upstream
39
40         # configs files are outdated so we build with the updated ones
41         [ ! -f config.sub ] && cp /usr/share/misc/config.sub config.sub
42         [ ! -f config.sub.upstream ]  &&  mv config.sub config.sub.upstream && cp /usr/share/misc/config.sub config.sub
43         [ ! -f config.guess.upstream ] && mv config.guess config.guess.upstream && cp /usr/share/misc/config.guess config.guess
44         # Configure for xscreensaver
45         ./configure --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) \
46                 --prefix=/usr \
47                 --without-gl --with-pam --with-gtk --without-kerberos \
48                 --with-gnome --with-hackdir=/usr/lib/xscreensaver \
49                 --with-configdir=/usr/share/xscreensaver/config \
50                 --mandir=/usr/share/man --with-login-manager \
51                 --with-proc-interrupts
52         cp driver/XScreenSaver.ad driver/XScreenSaver.ad-nogl
53         $(MAKE) 
54         touch build-stamp
55
56 clean:  clean-patched unpatch
57
58 clean-patched:
59         dh_testdir
60         dh_testroot
61         rm -f build-stamp
62         [ ! -f Makefile ] || $(MAKE) distclean
63         rm -f config.log config.h
64         rm -rf driver/XScreenSaver.ad-nogl
65         rm -rf *~ debian/tmp debian/xscreensaver debian/xscreensaver-gl \
66                 debian/xscreensaver-gl-extra debian/xscreensaver-data \
67                 debian/xscreensaver-data-extra
68         rm -rf debian/*~ debian/files*
69         rm -f po/.intltool-merge-cache
70         [ ! -f config.sub.upstream ] || mv config.sub.upstream config.sub
71         [ ! -f config.guess.upstream ] || mv config.guess.upstream config.guess
72         [ ! -f driver/XScreenSaver_ad.h.upstream ] || mv driver/XScreenSaver_ad.h.upstream driver/XScreenSaver_ad.h
73         [ ! -f driver/XScreenSaver_Xm_ad.h.upstream ] || mv driver/XScreenSaver_Xm_ad.h.upstream driver/XScreenSaver_Xm_ad.h
74         rm -f utils/images/xscreensaver.svg
75         dh_clean
76
77 binary-indep:   build
78 # Nothing to do here
79
80 binary-arch:    build
81         dh_testdir
82         dh_testroot
83         dh_clean -k
84         rm -rf debian/tmp debian/xscreensaver \
85                 debian/xscreensaver-gnome debian/xscreensaver-nognome \
86                 debian/xscreensaver-data debian/xscreensaver-data-extra 
87         $(MAKE) install_prefix=$(CURDIR)/debian/tmp \
88                 GTK_DATADIR=/usr/share KDEDIR=/usr install
89         # Adding `NoDisplay=True' in gnome-screensaver-properties.desktop
90         echo "NoDisplay=true" >> debian/tmp/usr/share/applications/gnome-screensaver-properties.desktop
91         dh_installdirs -a
92         dh_installdocs -a
93         dh_installchangelogs -a
94         # install .desktop files used by gnome-screensaver
95         mkdir -p $(CURDIR)/debian/tmp/usr/share/applications/screensavers
96         cp $(CURDIR)/debian/screensavers-desktop-files/*.desktop \
97                 $(CURDIR)/debian/tmp/usr/share/applications/screensavers/
98         #
99         # Adding a `x` at the end of all manpages:
100         #for i in $$( ls debian/tmp/usr/share/man/man6/ ); do mv debian/tmp/usr/share/man/man6/$$i debian/tmp/usr/share/man/man6/$$( echo $$i )x; done 
101         for i in debian/tmp/usr/share/man/man6/*; do mv $${i} $${i}x; done
102         mkdir -p debian/tmp/usr/share/livewp/external_themes 
103         ls 
104         
105         for i in `cd debian/tmp/usr/share/xscreensaver/config ; find . -name "*.xml" -type f -print`; do echo $${i} ; cat debian/tmp/usr/share/xscreensaver/config/$${i} | grep "<screensaver"| \
106                 sed 's/<screensaver name="\(.*\)" _label="\(.*\)">/<theme>\n\<name>\2<\/name>\n <exec_path>\/usr\/lib\/xscreensaver\/\1<\/exec_path>\n <window_id>-window-id<\/window_id> \n<\/theme>/g' > debian/tmp/usr/share/livewp/external_themes/$${i}; done
107         dh_movefiles -a
108         dh_install -a
109         # make sure we got everything that was installed
110         # test `find debian/tmp -type f -print | wc -l` -eq 0
111         find debian/tmp -type f -print
112         dh_installpam -a
113         dh_installmenu -a
114         # install app-defaults to proper places
115         #install -m 644 -o root -g root driver/XScreenSaver.ad-nogl \
116         #       debian/xscreensaver-data/etc/X11/app-defaults/XScreenSaver-nogl
117         # Hopefully prevent nVidia brain damage
118         # This is supposed to prevent accidentially linking against the
119         # binary nvidia drivers. Deinstall or divert them before building!
120         #test ! `eval ldd debian/xscreensaver-gl/usr/lib/xscreensaver/* |grep -q libGLcore && echo $$?`
121         dh_link -a
122         dh_strip -a
123         dh_compress -a
124         dh_fixperms -a
125         dh_installdeb -a
126         dh_shlibdeps -a
127         dh_gencontrol -a
128         maemo-optify
129         dh_md5sums -a
130         dh_builddeb -a
131
132 # Below here is fairly generic really
133
134 binary:         binary-indep binary-arch
135
136 .PHONY: binary binary-arch binary-indep clean