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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
#!/usr/bin/make -f
# -*- makefile -*-
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
LIBDIR = usr/lib/$(DEB_HOST_MULTIARCH)
LIBEXECDIR = $(LIBDIR)/schroot
ifneq ($(DEB_HOST_ARCH_OS),linux)
LVMSNAP_OPTIONS = -Dlvm-snapshot=OFF
BTRFSSNAP_OPTIONS = -Dbtrfs-snapshot=OFF
else
LVMSNAP_OPTIONS = -Dlvm-snapshot=ON
BTRFSSNAP_OPTIONS = -Dbtrfs-snapshot=ON
endif
ifneq ($(DEB_HOST_ARCH_OS),kfreebsd)
UUID_OPTIONS = -Duuid=ON
else
UUID_OPTIONS = -Duuid=OFF
endif
export DEB_CFLAGS_MAINT_APPEND := -Wall
export DEB_CXXFLAGS_MAINT_APPEND := -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
export DEB_BUILD_MAINT_OPTIONS := hardening=+all
DH_OPTIONS = --with systemd --buildsystem=cmake --builddirectory=debian/build --parallel
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif
DH_INSTALL_FILES = $(basename $(wildcard debian/*.install.in))
# Use debhelper's dh
%:
dh $@ $(DH_OPTIONS)
%.install: %.install.in
sed -e 's;@LIBDIR@;$(LIBDIR);g' -e 's;@LIBEXECDIR@;$(LIBEXECDIR);g' <$< >$@
override_dh_auto_configure: debian/build/CMakeCache.txt
debian/build/CMakeCache.txt: CMakeLists.txt
mkdir -p $(dir $@)
cd $(dir $@) ; \
GTEST_ROOT="$(CURDIR)/debian/build/gtest" \
CFLAGS="$(CFLAGS) $(CPPFLAGS)" \
CXXFLAGS="$(CXXFLAGS) $(CPPFLAGS)" \
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_LOCALSTATEDIR=/var \
-DCMAKE_INSTALL_LIBEXECDIR=lib \
-DSCHROOT_LIBEXEC_DIR=/$(LIBDIR)/schroot \
-Ddebug=OFF -Ddchroot=OFF -Ddchroot-dsa=OFF \
-Dbash_completion_dir=/usr/share/bash-completion/completions \
$(LVMSNAP_OPTIONS) $(BTRFSSNAP_OPTIONS) \
-DBTRFS_EXECUTABLE=/sbin/btrfs \
-DLVCREATE_EXECUTABLE=/sbin/lvcreate \
-DLVREMOVE_EXECUTABLE=/sbin/lvremove \
$(CURDIR)
dh_testdir
override_dh_auto_clean:
dh_auto_clean
rm -f $(DH_INSTALL_FILES)
rm -rf debian/build
rm -rf debian/install
override_dh_auto_build:
ifneq (,$(shell dh_listpackages -a 2>/dev/null))
$(MAKE) -C debian/build all VERBOSE=1
endif
ifneq (,$(shell dh_listpackages -i 2>/dev/null))
$(MAKE) -C debian/build doc VERBOSE=1
endif
override_dh_auto_test:
install-arch: build-arch $(DH_INSTALL_FILES)
dh $@ $(DH_OPTIONS)
# Setuid executables
chmod 4755 $(CURDIR)/debian/schroot/usr/bin/schroot
# Lintian overrides
mkdir -p $(CURDIR)/debian/schroot/usr/share/lintian/overrides
cp $(CURDIR)/debian/schroot.lintian-overrides $(CURDIR)/debian/schroot/usr/share/lintian/overrides/schroot
# Requires fakeroot, so tests need running here.
$(MAKE) -C debian/build test ARGS=-V
install-indep: build-indep $(DH_INSTALL_FILES)
dh $@ $(DH_OPTIONS)
install: build $(DH_INSTALL_FILES)
dh $@ $(DH_OPTIONS)
override_dh_auto_install:
ifneq (,$(shell dh_listpackages -a 2>/dev/null))
$(MAKE) -C debian/build install DESTDIR=$(CURDIR)/debian/install PO4A=
endif
ifneq (,$(shell dh_listpackages -i 2>/dev/null))
$(MAKE) -C debian/build/po install DESTDIR=$(CURDIR)/debian/install PO4A=
endif
override_dh_installchangelogs:
dh_installchangelogs ChangeLog
override_dh_installinit:
dh_installinit --no-start --update-rcd-params='defaults'
override_dh_systemd_start:
dh_systemd_start --no-start
.PHONY: override_dh_auto_configure override_dh_auto_clean override_dh_auto_build override_dh_auto_test override_dh_auto_install override_dh_installchangelogs override_dh_installinit install-arch install-indep
|