1 #!/usr/bin/make -f
3 # Uncomment this to turn on verbose mode.
4 #export DH_VERBOSE=1
6 # Configure smarty location
7 export SMARTY_LOCATION=/usr/share/php/smarty/libs
9 build: patch
10 #*************************************************
11 #* Building GOsa into a Debian/GNU Linux Package *
12 #* please stand by *
13 #*************************************************
15 clean: clean-patched unpatch
16 clean-patched:
17 dh_testdir
18 rm -f install-stamp
19 -rm -f debian/files
20 -rm -f debian/substvars
21 dh_clean
23 unpatch:
24 dpatch deapply-all
25 rm -rf patch-stamp debian/patched
27 install: install-stamp
28 install-stamp:
29 dh_testdir
30 dh_testroot
31 dh_clean -k
32 dh_installdirs
34 # Move everything but debian to the destination directory
35 for i in `ls | grep -v debian`; do \
36 cp -R $$i debian/gosa/usr/share/gosa ; \
37 done
39 # Clean up with SVN directories
40 -find debian/gosa -type d -name ".svn" -exec rm -rf {} \; &> /dev/null || /bin/true
42 # Move schema files to the schema package
43 -mv debian/gosa/usr/share/gosa/contrib/openldap/go*.schema debian/gosa-schema/etc/ldap/schema
45 # Install changelogs
46 -for package in gosa gosa-schema gosa-desktop gosa-help-de gosa-help-en gosa-help-fr gosa-help-nl smarty-render; do \
47 [[ ! -d debian/$package/usr/share/doc/$package ]] && mkdir -p debian/$package/usr/share/doc/$package ; \
48 gzip -c9 debian/changelog > debian/$package/usr/share/doc/$package/changelog.Debian.gz ; \
49 done
51 # Move contrib to doc
52 -mv -R debian/gosa/usr/share/gosa/contrib debian/gosa/usr/share/doc/gosa/
54 # Put docs in shape
55 -cp -R INSTALL debian/gosa/usr/share/doc/gosa/README.INSTALL
56 -cp AUTHORS README FAQ doc/README.pptp doc/README.xls-export doc/README.glpi doc/README.nagios doc/README.phpscheduleit doc/README.safemode doc/README.devel doc/README.openxchange debian/gosa/usr/share/doc/gosa/
58 # Remove docs that are located in the wrong location
59 -rm debian/gosa/usr/share/gosa/doc/README.ssh
60 -for doc in README INSTALL AUTHORS Changelog COPYING TODO FAQ; do \
61 rm debian/gosa/usr/share/gosa/$doc ; \
62 done
64 # Create missing directories
65 -for dir in compile config cache; do \
66 mkdir -p debian/gosa/var/spool/gosa/dir ; \
67 done
68 -mkdir -p debian/gosa/etc/gosa/vacation
69 -mkdir -p debian/gosa/usr/lib/gosa
70 -mkdir -p debian/smarty-render/usr/share/php/smarty/libs/plugins
72 # Feed etc directory
73 -cp -R debian/apache.conf debian/gosa/etc/gosa/apache.conf
74 -cp -R contrib/encodings debian/gosa/etc/gosa/encodings
75 -cp -R plugins/personal/mail/sieve-*.txt debian/gosa/etc/gosa
76 -cp contrib/shells debian/gosa/etc/gosa
78 # Install binaries
79 -mv debian/gosa/usr/share/gosa/bin/* debian/gosa/usr/bin
81 # Install documentation
82 -for lang in en de fr nl; do mkdir -p debian/gosa-help-$$lang/usr/share/gosa/doc/guide/user/$$lang; done
83 -for lang in en de fr nl; do mv debian/gosa/usr/share/gosa/doc/guide/user/$$lang/* debian/gosa-help-$$lang/usr/share/gosa/doc/guide/user/$$lang/; done
85 # Create gosa-desktop package
86 -cp -R contrib/scripts/desktoprc debian/gosa-desktop/etc/gosa/desktoprc
87 -cp -R contrib/scripts/gosa debian/gosa-desktop/usr/bin/gosa
88 -cp -R debian/gosa*.xpm debian/gosa-desktop/usr/share/pixmaps
89 -cp -R debian/gosa-desktop.desktop debian/gosa-desktop/usr/share/applications/gosa.desktop
91 # Clean up
92 -rm -rf debian/gosa/usr/share/gosa/contrib
93 -rm -rf debian/gosa/usr/share/gosa/locale/en
94 -rm -rf debian/gosa/usr/share/gosa/update-locale
95 -rm -rf debian/gosa/usr/share/gosa/update-pdf-help
96 -rm -rf debian/gosa/usr/share/gosa/patch-stamp
97 -rm -rf debian/gosa/usr/share/gosa/update-online-help
98 -rm -rf debian/gosa/usr/share/gosa/bin
99 -rm -rf debian/gosa/usr/share/gosa/doc/guide/user/*/lyx-source
100 -rm -rf debian/gosa/usr/share/gosa/doc/guide/admin
101 -rm -rf debian/gosa/usr/share/gosa/doc/guide/devel
102 -rm -rf debian/gosa/usr/share/doc/gosa/guide*
103 -rm -rf debian/gosa/usr/share/doc/gosa/marketing
105 # Configure smarty location - hey ubuntu's please change SMARTY_LOCATION up there
106 sed -i 's%"CONFIG_TEMPLATE_DIR", "../contrib/"%"CONFIG_TEMPLATE_DIR", "/usr/share/doc/gosa/contrib/"%g' debian/gosa/usr/share/gosa/include/functions.inc
107 cp include/smarty/plugins/block.render.php debian/smarty-render/usr/share/php/smarty/libs/plugins
108 rm -rf debian/gosa/usr/share/gosa/include/smarty; \
109 sed -i "s%require(\"smarty/Smarty.class.php\");%require(\"$SMARTY_LOCATION/Smarty.class.php\");%g" debian/gosa/usr/share/gosa/include/php_setup.inc
111 # Fix permissions
112 -find debian/gosa -type f -exec chmod -x {} \; &> /dev/null
113 -find debian/smarty-render -type f -exec chmod -x {} \; &> /dev/null
114 -chmod +x debian/gosa/usr/bin/mkntpasswd
116 # Install lintian/linda overrides
117 install -D -m 644 debian/overrides-lintian debian/gosa/usr/share/lintian/overrides/gosa
118 install -D -m 644 debian/overrides-linda debian/gosa/usr/share/linda/overrides/gosa
120 touch install-stamp
122 patch: patch-stamp
123 patch-stamp:
124 dpatch apply-all
125 dpatch cat-all >patch-stamp
127 binary-indep: install
128 dh_testdir
129 dh_testroot
130 dh_installdocs
131 dh_installcron
132 dh_installexamples
133 dh_installdebconf
134 dh_installmenu
135 dh_installman --package=gosa debian/mkntpasswd.1
136 dh_installman --package=gosa-desktop debian/gosa.1
137 dh_link
138 dh_strip
139 dh_compress --exclude=gosa.conf
140 dh_fixperms
141 dh_perl
142 dh_installdeb
143 dh_shlibdeps
145 cd debian/gosa && find ./etc -type f -print | sed -e 's#^./#/#' > DEBIAN/conffiles
146 chmod 644 debian/gosa/DEBIAN/conffiles
148 dh_gencontrol
149 dh_md5sums
150 dh_builddeb
152 source diff:
153 @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
155 binary: binary-indep
156 .PHONY: build install clean binary-indep binary
158 binary-arch: