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
80 -mkdir debian/gosa/usr/sbin
81 -mv debian/gosa/usr/share/gosa/update-gosa debian/gosa/usr/sbin
83 # Install documentation
84 -for lang in en de fr nl; do mkdir -p debian/gosa-help-$$lang/usr/share/gosa/doc/guide/user/$$lang; done
85 -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
87 # Create gosa-desktop package
88 -cp -R contrib/scripts/desktoprc debian/gosa-desktop/etc/gosa/desktoprc
89 -cp -R contrib/scripts/gosa debian/gosa-desktop/usr/bin/gosa
90 -cp -R debian/gosa*.xpm debian/gosa-desktop/usr/share/pixmaps
91 -cp -R debian/gosa-desktop.desktop debian/gosa-desktop/usr/share/applications/gosa.desktop
93 # Clean up
94 -rm -rf debian/gosa/usr/share/gosa/contrib
95 -rm -rf debian/gosa/usr/share/gosa/state
96 -rm -rf debian/gosa/usr/share/gosa/locale/en
97 -rm -rf debian/gosa/usr/share/gosa/update-locale
98 -rm -rf debian/gosa/usr/share/gosa/update-pdf-help
99 -rm -rf debian/gosa/usr/share/gosa/patch-stamp
100 -rm -rf debian/gosa/usr/share/gosa/update-online-help
101 -rm -rf debian/gosa/usr/share/gosa/bin
102 -rm -rf debian/gosa/usr/share/gosa/doc/guide/user/*/lyx-source
103 -rm -rf debian/gosa/usr/share/gosa/doc/guide/admin
104 -rm -rf debian/gosa/usr/share/gosa/doc/guide/devel
105 -rm -rf debian/gosa/usr/share/doc/gosa/guide*
106 -rm -rf debian/gosa/usr/share/doc/gosa/marketing
108 # Configure smarty location - hey ubuntu's please change SMARTY_LOCATION up there
109 sed -i 's%"CONFIG_TEMPLATE_DIR", "../contrib/"%"CONFIG_TEMPLATE_DIR", "/usr/share/doc/gosa/contrib/"%g' debian/gosa/usr/share/gosa/include/functions.inc
110 cp include/smarty/plugins/block.render.php debian/smarty-render/usr/share/php/smarty/libs/plugins
111 cp include/smarty/plugins/function.msgPool.php debian/smarty-render/usr/share/php/smarty/libs/plugins
112 rm -rf debian/gosa/usr/share/gosa/include/smarty; \
113 sed -i "s%require(\"smarty/Smarty.class.php\");%require(\"${SMARTY_LOCATION}/Smarty.class.php\");%g" debian/gosa/usr/share/gosa/include/php_setup.inc
115 # Configure update location
116 sed -i 's%^define.*__FILE__.*%define ("GOSA_HOME", "/usr/share/gosa");%g' debian/gosa/usr/sbin/update-gosa
117 sed -i 's%GOSA_HOME.*include/class_location.inc%"/etc/gosa/classes%g' debian/gosa/usr/sbin/update-gosa
118 sed -i 's%class_mapping= get_classes();%class_mapping= get_classes("/usr/share/gosa");%g' debian/gosa/usr/sbin/update-gosa
119 sed -i 's%class_location.inc%/etc/gosa/classes%g' debian/gosa/usr/share/gosa/include/functions.inc
121 # Fix permissions
122 -find debian/gosa -type f -exec chmod -x {} \; &> /dev/null
123 -find debian/smarty-render -type f -exec chmod -x {} \; &> /dev/null
124 -chmod +x debian/gosa/usr/bin/mkntpasswd
126 # Install lintian/linda overrides
127 install -D -m 644 debian/overrides-lintian debian/gosa/usr/share/lintian/overrides/gosa
128 install -D -m 644 debian/overrides-linda debian/gosa/usr/share/linda/overrides/gosa
130 touch install-stamp
132 patch: patch-stamp
133 patch-stamp:
134 dpatch apply-all
135 dpatch cat-all >patch-stamp
137 binary-indep: install
138 dh_testdir
139 dh_testroot
140 dh_installdocs
141 dh_installcron
142 dh_installexamples
143 dh_installdebconf
144 dh_installmenu
145 dh_installman --package=gosa debian/mkntpasswd.1
146 dh_installman --package=gosa-desktop debian/gosa.1
147 dh_link
148 dh_strip
149 dh_compress --exclude=gosa.conf
150 dh_fixperms
151 dh_perl
152 dh_installdeb
153 dh_shlibdeps
155 cd debian/gosa && find ./etc -type f -print | sed -e 's#^./#/#' > DEBIAN/conffiles
156 chmod 644 debian/gosa/DEBIAN/conffiles
158 dh_gencontrol
159 dh_md5sums
160 dh_builddeb
162 source diff:
163 @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
165 binary: binary-indep
166 .PHONY: build install clean binary-indep binary
168 binary-arch: