summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules150
1 files changed, 150 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..4699d1c
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,150 @@
+#!/usr/bin/make -f
+#
+# Finally switching to debhelper.
+#
+# Not using debhelper was an exercise suggested to me by my AM (Gergely
+# Nagy). It was educating at the time but I finally decided that the
+# exercise is over now.
+#
+
+# Include the bitlbee-libpurple variant and OTR plugin by default.
+# Don't build skype by default since it depends on deleted/non-free
+# packages. Need to at least get python-skype back into Debian.
+BITLBEE_LIBPURPLE ?= 1
+BITLBEE_OTR ?= plugin
+BITLBEE_SKYPE ?= 0
+BITLBEE_CONFIGURE_FLAGS ?=
+DEBUG ?= 0
+
+ifndef BITLBEE_VERSION
+# Want to use the full package version number instead of just the release.
+BITLBEE_CONFIGURE_VERSION ?= BITLBEE_VERSION="$(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')"
+endif
+
+ifneq ($(BITLBEE_LIBPURPLE),1)
+DH_OPTIONS += -Nbitlbee-libpurple
+endif
+
+ifneq ($(BITLBEE_OTR),plugin)
+DH_OPTIONS += -Nbitlbee-plugin-otr
+endif
+
+ifneq ($(BITLBEE_SKYPE),plugin)
+DH_OPTIONS += -Nbitlbee-plugin-skype -Nskyped
+endif
+
+CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
+CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
+LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
+
+CONFIGURE_OVERRIDES:=CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+
+HAS_DH_SYSTEMD:=$(shell dpkg-query -W -f='$${Status}' dh-systemd 2>/dev/null | grep -c "ok installed")
+
+# No difference at the build stage so just call main build target.
+# (Well indep could be docs-only but we prebuild them plus it's really
+# not that much work.)
+build-arch build-indep: build
+
+build: build-stamp
+build-stamp:
+ dh_testdir
+
+ mkdir -p debian/build-native
+ ROOT=$$PWD; cd debian/build-native; $(BITLBEE_CONFIGURE_VERSION) $(CONFIGURE_OVERRIDES) $$ROOT/configure --debug=$(DEBUG) --prefix=/usr --etcdir=/etc/bitlbee --events=libevent --otr=$(BITLBEE_OTR) --skype=$(BITLBEE_SKYPE) $(BITLBEE_CONFIGURE_FLAGS)
+ $(MAKE) -C debian/build-native
+
+ifeq ($(BITLBEE_LIBPURPLE),1)
+ mkdir -p debian/build-libpurple
+ ROOT=$$PWD; cd debian/build-libpurple; $(BITLBEE_CONFIGURE_VERSION) $(CONFIGURE_OVERRIDES) $$ROOT/configure --debug=$(DEBUG) --prefix=/usr --etcdir=/etc/bitlbee --purple=1 $(BITLBEE_CONFIGURE_FLAGS)
+ $(MAKE) -C debian/build-libpurple
+endif
+
+ $(MAKE) -C doc
+ $(MAKE) -C doc/user-guide
+
+ touch build-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp
+
+ rm -rf build-arch-stamp debian/build-* debian/bitlbee-libpurple.prerm
+ $(MAKE) distclean
+
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs
+
+ $(MAKE) -C debian/build-native install-bin DESTDIR=`pwd`/debian/bitlbee
+ $(MAKE) -C debian/build-native install-etc install-doc DESTDIR=`pwd`/debian/bitlbee-common
+ $(MAKE) -C debian/build-native install-dev DESTDIR=`pwd`/debian/bitlbee-dev
+ $(MAKE) -C debian/build-native install-plugin-otr DESTDIR=`pwd`/debian/bitlbee-plugin-otr
+ $(MAKE) -C debian/build-native install-plugin-skype DESTDIR=`pwd`/debian/skyped
+
+ifeq ($(HAS_DH_SYSTEMD),1)
+ $(MAKE) -C debian/build-native install-systemd DESTDIR=`pwd`/debian/bitlbee-common
+endif
+
+ifneq ($(BITLBEE_SKYPE),0)
+ mkdir -p debian/bitlbee-plugin-skype/usr
+ mv debian/skyped/usr/lib debian/bitlbee-plugin-skype/usr
+
+ mkdir -p debian/skyped/usr/share/man/man1
+ mv debian/bitlbee-common/usr/share/man/man1/skyped* debian/skyped/usr/share/man/man1
+endif
+
+ifeq ($(BITLBEE_LIBPURPLE),1)
+ $(MAKE) -C debian/build-libpurple install-bin DESTDIR=`pwd`/debian/bitlbee-libpurple
+ ln -sf debian/bitlbee.prerm debian/bitlbee-libpurple.prerm
+endif
+
+ patch debian/bitlbee-common/etc/bitlbee/bitlbee.conf debian/patches/bitlbee.conf.diff
+ chmod 640 debian/bitlbee-common/etc/bitlbee/bitlbee.conf
+
+binary-common:
+ dh_testdir
+ dh_testroot
+
+ dh_installchangelogs doc/CHANGES
+ dh_installexamples
+ dh_installdocs #--link-doc=bitlbee-common
+ # TODO: Restore --link-doc up here and remove the hack below once
+ # Hardy and Lenny are deprecated.
+ for p in bitlbee bitlbee-libpurple bitlbee-dev bitlbee-plugin-otr; do rm -r debian/$$p/usr/share/doc/$$p && ln -s bitlbee-common debian/$$p/usr/share/doc/$$p || true; done
+ dh_installdebconf
+ifeq ($(HAS_DH_SYSTEMD),1)
+ dh_systemd_enable
+ dh_installinit --init-script=bitlbee
+ dh_systemd_start
+else
+ dh_installinit --init-script=bitlbee
+endif
+ dh_installman
+ dh_lintian
+ dh_strip
+ dh_link
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary-indep: build install
+ DH_OPTIONS=-i $(MAKE) -f debian/rules binary-common
+
+binary-arch: build install
+ DH_OPTIONS=-a $(MAKE) -f debian/rules binary-common
+
+binary-%: build install
+ DH_OPTIONS=-p$* $(MAKE) -f debian/rules binary-common
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary-common binary install