rules 6.87 KB
Newer Older
1 2 3 4 5 6 7 8 9
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# This file is public domain software, originally written by Joey Hess.
#
# This version is for a multibinary package. It also allows you to build any
# of the binary packages independantly, via binary-<package> targets.

# Uncomment this to turn on verbose mode. 
export DH_VERBOSE=1
10
MAJOR=$(shell sed -ne 's/^[^(]*(\([^)]*\)).*/\1/;1p' debian/changelog)
11
REV=$(shell env LANG=C svn info --non-interactive | awk '/^Revision:/ { print $$2 }')
12
VERSION="${MAJOR}~svn${REV}"
13
export VERSION
14 15 16 17 18 19 20 21 22 23 24 25 26 27

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

# This has to be exported to make some magic below work.
export DH_OPTIONS

build: build-stamp
build-stamp:
	dh_testdir
28
	/usr/bin/msgfmt po/fr/LC_MESSAGES/alternc-admintools.po -o po/fr/LC_MESSAGES/alternc-admintools.mo
29
	find bureau/locales -mindepth 2 -maxdepth 2 -type d -name "LC_MESSAGES" -exec msgfmt "{}/alternc" -o "{}/alternc.mo"  \; 
30 31 32 33 34 35
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp
Antoine Beaupré's avatar
Antoine Beaupré committed
36
	debconf-updatepo
37
	dh_clean
38
	find bureau/locales -mindepth 3	-maxdepth 3 -type d -name "alternc.mo" -delete
39 40 41 42 43

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
44 45
# FIXME: if alternc still works with this commented out : remove it :-D    
#	dh_clean -k
46 47 48 49 50 51 52 53
	dh_installdirs

	# Install
	cp -r etc/* debian/alternc/etc
	cp -r install/* debian/alternc/usr/share/alternc/install
	cp -r bureau/* debian/alternc/var/alternc/bureau
	(cd src && $(MAKE) install DESTDIR=$(CURDIR)/debian/alternc)

54 55
	# we don't use the full VERSION intepreted but only what's in the changelog
	sed -i -e "s/@@REPLACED_DURING_BUILD@@/${MAJOR}/" debian/alternc/var/alternc/bureau/class/local.php
56 57 58 59

	# Fix permisions
	chmod 755 debian/alternc/etc/alternc
	chmod 644 debian/alternc/etc/alternc/phpmyadmin.inc.php
Alexis Lahouze's avatar
Alexis Lahouze committed
60 61
	# Group and user 1999 reference alterncpanel
	chown -R 1999:1999 debian/alternc/var/alternc/bureau
62
	chmod 1733 debian/alternc/var/alternc/sessions
63 64
	chmod -R 644 debian/alternc/var/alternc/bureau
	chmod -R a+X debian/alternc/var/alternc/bureau
65
	chown -R www-data:www-data debian/alternc/var/alternc/html debian/alternc/var/log/alternc debian/alternc/var/alternc/tmp
66
	chmod a+x debian/alternc/usr/share/alternc/install/alternc.install debian/alternc/usr/share/alternc/install/dopo.sh debian/alternc/usr/share/alternc/install/mysql.sh debian/alternc/usr/share/alternc/install/newone.php debian/alternc/usr/share/alternc/install/reset_root.php debian/alternc/usr/share/alternc/install/upgrade_check.sh debian/alternc/usr/share/alternc/install/upgrades/*.php debian/alternc/usr/share/alternc/install/upgrades/*.sh
67

Alan Garcia's avatar
Alan Garcia committed
68
	for sub in mail html ; do \
Antoine Beaupré's avatar
Antoine Beaupré committed
69 70 71 72
		for i in a b c d e f g h i j k l m n o p q r s t u v w x y z _ 0 1 2 3 4 5 6 7 8 9; do \
			mkdir -p debian/alternc/var/alternc/${sub}/${i} ;\
			chown www-data debian/alternc/var/alternc/${sub}/${i} ;\
		done ;\
Antoine Beaupré's avatar
Antoine Beaupré committed
73
	done
74

Steven Mondji-Lerider's avatar
Steven Mondji-Lerider committed
75 76
	#log directory
	mkdir -p debian/alternc/var/alternc/logs
77
	chown 1999:1999 debian/alternc/var/alternc/logs
Alexis Lahouze's avatar
Alexis Lahouze committed
78 79
	# Group and user 1999 reference alterncpanel
	chown 1999:1999 debian/alternc/var/alternc/html/*
80 81
	mkdir -p debian/alternc/var/run/alternc/
	chown 1999:1999 debian/alternc/var/run/alternc/
82

83 84 85 86 87 88
	# Ex old alternc-admintools
	install tools/top_http_users debian/alternc/usr/bin
	install tools/top_mysql_users debian/alternc/usr/bin
	install tools/top_ftp_users debian/alternc/usr/bin
	install tools/get_domains_by_account debian/alternc/usr/bin
	install tools/get_account_by_domain debian/alternc/usr/bin
89
	install tools/alternc_get_path debian/alternc/usr/bin
90
	install src/alternc_reload debian/alternc/usr/bin
Antoine Beaupré's avatar
Antoine Beaupré committed
91
	install -m 644 po/fr/LC_MESSAGES/alternc-admintools.mo debian/alternc/usr/share/locale/fr/LC_MESSAGES/
92 93 94 95 96 97 98

	# Remove helpers files from l18n dir
	find debian/alternc/var/alternc/bureau/locales/ \
		-maxdepth 1 -type f -exec rm -f {} \;
	# Remove CVS directories
	/usr/bin/find debian/alternc -depth -type d -name CVS -exec rm {} -rf \;
	/usr/bin/find debian/alternc -depth -type d -name .svn -exec rm {} -rf \;
99 100
#	cp debian/alternc.lintian debian/alternc/usr/share/lintian/overrides/alternc
#	cp debian/alternc-slave.lintian debian/alternc/usr/share/lintian/overrides/alternc-slave
101

102 103
	# alternc-squirrelmail:
	(cd squirrelmail && $(MAKE) install DESTDIR=$(CURDIR)/debian/alternc-squirrelmail)
104

105 106 107
	# alternc-roundcube:
	(cd roundcube && $(MAKE) install DESTDIR=$(CURDIR)/debian/alternc-roundcube)

108 109 110
	# alternc-upnp
	(cd upnp && $(MAKE) install DESTDIR=$(CURDIR)/debian/alternc-upnp)

111 112 113 114 115 116
	# alternc-awstats:
	(cd awstats && $(MAKE) install DESTDIR=$(CURDIR)/debian/alternc-awstats)
	cd ..

	# Copy the desk files
	cp -r awstats/bureau debian/alternc-awstats/var/alternc/
117
	find debian/alternc-awstats/var/alternc/ -depth -iname ".svn" -exec rm -rf "{}" \; 
118
	rm -f debian/alternc-awstats/var/alternc/bureau/locales/Makefile
119 120 121 122 123 124 125 126 127 128

	# Fix permisions
	chown -R root:www-data debian/alternc-awstats/var/alternc/bureau
	chmod -R 644 debian/alternc-awstats/var/alternc/bureau
	chmod -R a+X debian/alternc-awstats/var/alternc/bureau
	touch debian/alternc-awstats/var/cache/awstats/.placeholder
	chown www-data:www-data debian/alternc-awstats/var/cache/awstats
	chmod 755 debian/alternc-awstats/var/cache/awstats
	mkdir -p debian/alternc-awstats/var/cache/awstats

129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
# This single target is used to build all the packages, all at once, or
# one at a time. So keep in mind: any options passed to commands here will
# affect _all_ packages. Anything you want to only affect one package
# should be put in another target, such as the install target.

binary-common: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs
#	dh_installexamples
#	dh_installmenu
	dh_installdebconf
	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
	dh_installman man/*
	dh_installcron
#	dh_installinfo
Antoine Beaupré's avatar
Antoine Beaupré committed
150
	dh_install -i --sourcedir=$(CURDIR)/debian/alternc
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
	dh_strip
	dh_link
	dh_compress
#we handle our own perms
#	dh_fixperms
#	dh_makeshlibs
	dh_installdeb
	dh_perl
	dh_shlibdeps
	dh_gencontrol -- -cdebian/control
	dh_md5sums
	dh_builddeb

# Build architecture independant packages using the common target.
binary-indep: build install binary-common
# (Uncomment this next line if you have such packages.)
#	 $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

# Build architecture dependant packages using the common target.
binary-arch: build install binary-common
#	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common

# Any other binary targets build just one binary package at a time.
# binary-%: build install
#	make -f debian/rules binary-common DH_OPTIONS=-p$*

# binary: binary-indep binary-arch
# .PHONY: build clean binary-indep binary-arch binary install

binary: binary-common

.PHONY: build clean binary install
183 184 185

build-snapshot:
	@echo "building a package based on the current snapshot (${VERSION})"
186
	svn update || true
187
	svn export . ../alternc-${VERSION}
Antoine Beaupré's avatar
Antoine Beaupré committed
188
	cd ../alternc-${VERSION} && sed -i -e '1s/)/~svn${REV})/' debian/changelog && debuild