rules 5.78 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)
Antoine Beaupré's avatar
Antoine Beaupré committed
11
REV=$(shell svn up > /dev/null ; 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
44
45
46
47
48
49
50
51
52

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	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)

53
54
	# 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
55
56
57
58

	# Fix permisions
	chmod 755 debian/alternc/etc/alternc
	chmod 644 debian/alternc/etc/alternc/phpmyadmin.inc.php
Alexis Lahouze's avatar
Alexis Lahouze committed
59
60
	# Group and user 1999 reference alterncpanel
	chown -R 1999:1999 debian/alternc/var/alternc/bureau
61
	chmod 1733 debian/alternc/var/alternc/sessions
62
63
	chmod -R 644 debian/alternc/var/alternc/bureau
	chmod -R a+X debian/alternc/var/alternc/bureau
64
	chown -R www-data:www-data debian/alternc/var/alternc/html debian/alternc/var/run/alternc debian/alternc/var/log/alternc debian/alternc/var/alternc/tmp
65
	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
66

Alan Garcia's avatar
Alan Garcia committed
67
	for sub in mail html ; do \
Antoine Beaupré's avatar
Antoine Beaupré committed
68
69
70
71
		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
72
	done
73

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

80
81
82
83
84
85
	# 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
86
	install tools/alternc_get_path debian/alternc/usr/bin
87
	install tools/postfix-add-policy debian/alternc/usr/bin
88
	install src/alternc_reload debian/alternc/usr/bin
Antoine Beaupré's avatar
Antoine Beaupré committed
89
	install -m 644 po/fr/LC_MESSAGES/alternc-admintools.mo debian/alternc/usr/share/locale/fr/LC_MESSAGES/
90
91
92
93
94
95
96

	# 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 \;
97
	cp debian/alternc.lintian debian/alternc/usr/share/lintian/overrides/alternc
Antoine Beaupré's avatar
Antoine Beaupré committed
98
	cp debian/alternc-slave.lintian debian/alternc/usr/share/lintian/overrides/alternc-slave
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

# 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
121
	dh_install -i --sourcedir=$(CURDIR)/debian/alternc
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
	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
154
155
156

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