1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
#!/usr/bin/make -f
FLAVOURS := sqlite pgsql mysql
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-export-dynamic -Wl,--as-needed
# sysconfdir is not properly handled by upstream buildsys
COMMON_FLAGS := \
--sysconfdir=/etc/ratbox-services \
--with-logdir=/var/log/ratbox-services \
--with-rundir=/var/run/ratbox-services
FL_sqlite_FLAGS := $(DEB_CONFIGURE_USER_FLAGS)
FL_pgsql_FLAGS := --without-sqlite3 --enable-pgsql $(DEB_CONFIGURE_USER_FLAGS)
FL_mysql_FLAGS := --without-sqlite3 --enable-mysql
%:
dh $@ --with autotools_dev
flavour = $(filter-out %/,$(subst /,/ ,$@))
builddir = $(CURDIR)/$(patsubst %,build-%,$(flavour))
instdir = $(CURDIR)/$(patsubst %,debian/ratbox-services-%,$(flavour))
# install ratbox-services-common using one of the flavours
commonflavour = $(firstword $(FLAVOURS))
override_dh_auto_configure: $(FLAVOURS:%=configure/%)
configure/%:
mkdir -p $(builddir)
dh_auto_configure --builddirectory=$(builddir) -- \
$(COMMON_FLAGS) $(FL_$(flavour)_FLAGS)
override_dh_auto_build: $(FLAVOURS:%=build/%)
build/%:
touch $(builddir)/src/.depend
make -C $(builddir) depend
dh_auto_build --builddirectory=$(builddir)
cp -r $(CURDIR)/tools $(builddir)
cp $(CURDIR)/include/client.h $(CURDIR)/include/channel.h \
$(CURDIR)/include/rserv.h $(builddir)/include/
(cd $(builddir)/tools && ./generate-schema.pl)
override_dh_auto_install: install/common $(FLAVOURS:%=install/%)
dh_auto_install --remaining-packages
install/common:
mkdir -p $(builddir)
dh_auto_install --package=ratbox-services-$(commonflavour) \
--builddirectory=build-$(commonflavour) -- \
DESTDIR=$(builddir)
mv $(builddir)/usr/include \
$(instdir)/usr/share/ratbox-services
mv $(builddir)/usr/share/ratbox-services/help \
$(instdir)/usr/share/ratbox-services
mv $(builddir)/usr/share/ratbox-services/langs \
$(instdir)/usr/share/ratbox-services
mv $(builddir)/usr/bin \
$(instdir)/usr/share/ratbox-services/scripts
mv $(builddir)/etc/ratbox-services/example.conf \
$(instdir)/etc/ratbox-services/ratbox-services.conf
install/%:
dh_auto_install --package=ratbox-services-$(flavour) \
--builddirectory=$(builddir) -- \
DESTDIR=$(instdir)
rm -rf $(instdir)/usr/include \
$(instdir)/usr/share/ratbox-services/help \
$(instdir)/usr/share/ratbox-services/help-old \
$(instdir)/usr/share/ratbox-services/langs \
$(instdir)/usr/bin \
$(instdir)/var \
$(instdir)/etc
mkdir -p $(instdir)/usr/share/ratbox-services/database
cp $(builddir)/tools/schema-$(flavour).txt \
$(instdir)/usr/share/ratbox-services/database/schema-$(flavour).sql
override_dh_installinit:
dh_installinit --package=ratbox-services-common --name=ratbox-services
# otherwise fails because doc/ChangeLog is a directory
override_dh_installchangelogs:
dh_installchangelogs -Xdoc/ChangeLog
override_dh_fixperms:
dh_fixperms
chown irc:irc $(CURDIR)/debian/ratbox-services-common/var/log/ratbox-services
clean:
rm -rf build-*
|