Codebase list libvirt / debian/5.1.0-1 debian / rules
debian/5.1.0-1

Tree @debian/5.1.0-1 (Download .tar.gz)

rules @debian/5.1.0-1raw · history · blame

#!/usr/bin/make -f

DEB_RELEASE=$(shell dpkg-parsechangelog -SVersion | sed 's/[^-]\+-//')
DEB_BUILDDATE=$(shell dpkg-parsechangelog -SDate)
DEB_BUILDUSER=$(shell dpkg-parsechangelog -SMaintainer)
NULL=

ifneq (,$(findstring $(DEB_HOST_ARCH_OS), linux))
  ifneq (,$(findstring $(DEB_HOST_ARCH), i386 amd64))
    WITH_VBOX         = --with-vbox
    FAIL_CHECK        = 1
  else
    WITH_VBOX         = --without-vbox
  endif
  ifneq (,$(findstring $(DEB_HOST_ARCH), i386 amd64 armhf arm64))
    MAKE_CHECK        = 1
    WITH_XEN          = --with-xen
    WITH_LIBXL        = --with-libxl
    XEN_ENABLED       = 1
  else
    WITH_XEN          = --without-xen
    WITH_LIBXL        = --without-libxl
  endif
  WITH_STORAGE_LVM    = --with-storage-lvm
  WITH_STORAGE_ISCSI  = --with-storage-iscsi
  WITH_STORAGE_DISK   =	--with-storage-disk
  WITH_STORAGE_RBD    = --with-storage-rbd
  WITH_STORAGE_ZFS    = --with-storage-zfs
  WITH_STORAGE_GLUSTER = --with-storage-gluster
  WITH_UDEV           = --with-udev
  WITH_CAPNG          = --with-capng
  WITH_MACVTAP        = --with-macvtap
  WITH_NETWORK        = --with-network
  WITH_OPENVZ         = --with-openvz
  WITH_NETCF          = --with-netcf
  WITH_SANLOCK        = --with-sanlock
  WITH_INIT_SCRIPT    =	--with-init-script=systemd
  WITH_SYSTEMD        = --with-systemd-daemon
  WITH_FIREWALLD      = --with-firewalld
  WITH_AUDIT          = --with-audit
  WITH_SELINUX        = --with-selinux --with-secdriver-selinux --with-selinux-mount=/sys/fs/selinux
  WITH_APPARMOR       = --with-apparmor --with-secdriver-apparmor --with-apparmor-profiles
  WITH_NSS_PLUGIN     = --with-nss-plugin
  ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 armel armhf i386 ia64 powerpc s390))
      WITH_DTRACE     = --with-dtrace
  else
      WITH_DTRACE     = --without-dtrace
  endif
  ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 arm64 i386 ia64 mips mipsel powerpc ppc64el))
      WITH_NUMA       = --with-numactl --with-numad
  else
      WITH_NUMA       = --without-numactl --without-numad
  endif
  ifneq (,$(findstring $(DEB_HOST_ARCH), ia64))
      WITH_LXC        = --without-lxc
  else
      WITH_LXC        = --with-lxc
  endif
else
  ifneq (,$(findstring $(DEB_HOST_ARCH_OS), linux))
    WITH_STORAGE_ZFS  = --with-storage-zfs
  endif
  WITH_STORAGE_LVM    = --without-storage-lvm
  WITH_STORAGE_ISCSI  = --without-storage-iscsi
  WITH_STORAGE_DISK   =	--without-storage-disk
  WITH_STORAGE_RBD    = --without-storage-rbd
  WITH_UDEV           = --without-udev
  WITH_CAPNG          = --without-capng
  WITH_MACVTAP        = --without-macvtap
  WITH_NETWORK        = --without-network
  WITH_LXC            = --without-lxc
  WITH_NUMA           = --without-numactl --without-numad
  WITH_NETCF          = --without-netcf
  WITH_INIT_SCRIPT    =	--with-init-script=none
  WITH_SYSTEMD        = --without-systemd-daemon
  WITH_FIREWALLD      = --without-firewalld
  WITH_AUDIT          = --without-audit
  WITH_SELINUX        = --without-selinux
  WITH_APPARMOR       = --without-apparmor
  WITH_NSS_PLUGIN     = --without-nss-plugin
  WITH_DTRACE         = --without-dtrace
  WITH_XEN            = --without-xen
  WITH_LIBXL          = --without-libxl
  WITH_VBOX           = --without-vbox
endif

DEB_CONFIGURE_EXTRA_ARGS :=      \
	--with-packager="$(DEB_BUILDUSER) $(DEB_BUILDDATE)" \
	--with-packager-version="$(DEB_RELEASE)" \
	--with-default-editor="sensible-editor" \
	--disable-silent-rules   \
	--disable-rpath          \
	--with-qemu		 \
	--with-qemu-user=libvirt-qemu  \
	--with-qemu-group=libvirt-qemu \
	$(WITH_OPENVZ)		 \
	--with-avahi             \
	--with-sasl              \
	--with-yajl              \
	--with-ssh2		 \
	--with-polkit		 \
	$(WITH_UDEV)		 \
	--with-storage-fs        \
	--with-storage-dir       \
	$(WITH_STORAGE_LVM)	 \
	$(WITH_STORAGE_ISCSI)	 \
	$(WITH_STORAGE_DISK)	 \
	--without-storage-sheepdog \
	$(WITH_STORAGE_RBD)      \
	$(WITH_STORAGE_GLUSTER)  \
	$(WITH_STORAGE_ZFS)      \
	$(WITH_INIT_SCRIPT)      \
	$(WITH_NUMA)             \
	$(WITH_SELINUX)          \
	$(WITH_APPARMOR)         \
	--with-esx               \
	--without-phyp           \
	$(WITH_CAPNG)		 \
	--enable-debug		 \
	$(WITH_MACVTAP)		 \
	$(WITH_NETWORK)		 \
	$(WITH_NETCF)		 \
	$(WITH_XEN)		 \
	$(WITH_LIBXL)		 \
	$(WITH_VBOX)		 \
	$(WITH_LXC)              \
	$(WITH_DTRACE)           \
	$(WITH_AUDIT)            \
	--without-hal            \
	$(WITH_FIREWALLD)        \
	--without-attr           \
	$(WITH_NSS_PLUGIN)       \
        --with-wireshark-dissector \
        $(NULL)

LIBVIRT_SYSTEM_SERVICES = \
	libvirt-guests.service \
	virtlogd.socket \
	virtlogd-admin.socket \
	virtlogd.service \
	virtlockd.socket \
	virtlockd-admin.socket \
	virtlockd.service \
	$(NULL)


DEB_BUILDDIR := $(CURDIR)/debian/build
LOGROTATE = $(basename $(basename $(notdir $(wildcard src/remote/libvirtd*.logrotate.in))))
EXAMPLES_DIR = $(CURDIR)/debian/libvirt-doc/usr/share/doc/libvirt-doc/examples/

%:
	dh $@ --builddirectory=$(DEB_BUILDDIR) --parallel --with autoreconf --with systemd

override_dh_auto_configure:
	IPTABLES_PATH=/usr/sbin/iptables \
	IP6TABLES_PATH=/usr/sbin/ip6tables \
	EBTABLES_PATH=/usr/sbin/ebtables \
	dh_auto_configure -- $(DEB_CONFIGURE_EXTRA_ARGS) $(shell dpkg-buildflags --export=configure)
	mkdir -p debian/build/docs/internals

override_dh_auto_test:
	export LD_PRELOAD="";     \
	export VIR_TEST_DEBUG=1;  \
	[ -n "$(MAKE_CHECK)" ] || exit 0; \
	if ! dh_auto_test -O--builddirectory=$(DEB_BUILDDIR); then \
	    cat ./debian/build/gnulib/tests/test-suite.log \
	        ./debian/build/tests/test-suite.log; \
	    [ -z "$(FAIL_CHECK)" ] || exit 1; \
	fi

override_dh_install-arch:
	# Multiarch:
	# don't configure with --libdir, but move the files manually, because
	# we don't want to change other places in /usr/lib/
	mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)
	mv debian/tmp/usr/lib/lib*a \
	   debian/tmp/usr/lib/lib*.so* \
	   debian/tmp/usr/lib/pkgconfig \
	   debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)

	dh_install

	# Copy upstream files to debian/ so dh_* can find them
	cp debian/tmp/usr/lib/libvirt/libvirt-guests.sh \
	    debian/libvirt-daemon-system.libvirt-guests.init
	cp tools/libvirt-guests.sysconf \
	    debian/libvirt-daemon-system.libvirt-guests.default
	cp src/logging/virtlogd.sysconf \
	    debian/libvirt-daemon-system.virtlogd.default
	cp src/locking/virtlockd.sysconf \
	    debian/libvirt-daemon-system.virtlockd.default
	# Add our backward compat polkit rule
	cp debian/polkit/60-libvirt.pkla \
	    debian/libvirt-daemon-system/var/lib/polkit-1/localauthority/10-vendor.d/
ifneq (,$(findstring $(DEB_HOST_ARCH_OS), linux))
	# Linux supports more nice things:
	dh_install -p libvirt-daemon-system usr/lib/systemd/system lib/systemd/
	dh_install -p libvirt-daemon-system usr/lib/libvirt/virt-aa-helper
	dh_install -p libvirt-daemon-system etc/apparmor.d
	dh_apparmor -p libvirt-daemon-system --profile-name=usr.lib.libvirt.virt-aa-helper
	dh_apparmor -p libvirt-daemon-system --profile-name=usr.sbin.libvirtd
	# Not all linux arches have systemtap yet
	mkdir -p debian/tmp/usr/share/systemtap
	dh_install -p libvirt-daemon-system usr/share/systemtap
	dh_install -p libvirt-daemon-system etc/libvirt/lxc.conf
	dh_install -p libvirt-daemon-system etc/libvirt/qemu-sanlock.conf
	dh_install -p libvirt-daemon-system etc/libvirt/qemu/networks/
	dh_install -p libvirt-daemon-system etc/libvirt/nwfilter/
	dh_install -p libvirt-clients etc/libvirt/virt-login-shell.conf
	dh_install -p libnss-libvirt \
                      usr/lib/$(DEB_HOST_MULTIARCH)/libnss_libvirt.so.2 \
                      lib/$(DEB_HOST_MULTIARCH)/
endif
ifeq ($(XEN_ENABLED), 1)
	dh_install -p libvirt-daemon-system etc/libvirt/libxl.conf
	dh_install -p libvirt-daemon-system etc/libvirt/libxl-lockd.conf
endif

	set -e; for l in $(LOGROTATE); do \
		cp $(CURDIR)/debian/tmp/etc/logrotate.d/$$l \
	        debian/libvirt-daemon-system.$$l.logrotate; \
		dh_installlogrotate --name=$$l;     \
	done

	# Don't ship any la files
	rm debian/libvirt-daemon/usr/lib/libvirt/connection-driver/*.la
	rm debian/libvirt-wireshark/usr/lib/*/wireshark/plugins/*/*/*.la
	# Don't ship any files that are managed by the user only
	rm debian/libvirt-daemon-system/etc/apparmor.d/local/*
	# executable-not-elf-or-script
	chmod 644 debian/libvirt-daemon/usr/share/bash-completion/completions/vsh


override_dh_installinit:
	dh_installinit -p libvirt-daemon-system --name=virtlogd --no-restart-on-upgrade
	dh_installinit -p libvirt-daemon-system --name=libvirtd --restart-after-upgrade -- defaults 28 72
	dh_installinit -p libvirt-daemon-system --name=libvirt-guests --no-restart-on-upgrade -- defaults 29 71

override_dh_systemd_start:
	dh_systemd_start -p libvirt-daemon-system --restart-after-upgrade libvirtd.service 
	dh_systemd_start -p libvirt-daemon-system --no-restart-on-upgrade $(LIBVIRT_SYSTEM_SERVICES)

override_dh_installdocs:
	dh_installdocs
	# Remove binaries and object files examples
	[ ! -d $(EXAMPLES_DIR) ] || find $(EXAMPLES_DIR) -name "*.o" -type f -delete -o -name .libs -type d -exec rm -rf {} \;
	rm -f $(EXAMPLES_DIR)domain-events/events-c/event-test \
	      $(EXAMPLES_DIR)dominfo/info1 \
	      $(EXAMPLES_DIR)domsuspend/suspend \
	      $(EXAMPLES_DIR)hellolibvirt/hellolibvirt \
	      $(EXAMPLES_DIR)apparmor/* \
	      $(NULL)

override_dh_auto_clean:
	[ ! -f Makefile ] || dh_auto_clean
	rm -f $(CURDIR)/debian/libvirt-daemon-system.libvirt-guests.init \
	      $(CURDIR)/debian/libvirt-daemon-system.libvirt-guests.default \
	      $(CURDIR)/debian/libvirt-daemon-system.*.logrotate \
	      $(CURDIR)/debian/*.service \
	      $(CURDIR)/debian/libvirt-daemon-system.virtlogd.default \
	      $(CURDIR)/debian/libvirt-daemon-system.virtlockd.default \
	      $(NULL)
	rm -rf $(DEB_BUILDDIR)

override_dh_installchangelogs:
	dh_installchangelogs -plibvirt0
	dh_installchangelogs -Nlibvirt0 -XChangeLog

override_dh_missing:
	dh_missing --list-missing