From: Thomas Lamprecht Date: Wed, 4 Jul 2018 08:52:48 +0000 (+0200) Subject: buildsys: replace autotools with plain makefiles X-Git-Url: https://git.proxmox.com/?p=pve-cluster.git;a=commitdiff_plain;h=2fc19fddb371d2d4cd1f90d4ff6b9162e504ff24 buildsys: replace autotools with plain makefiles pve-cluster is not a big project with to much dependencies, so autotools was a bit of an overkill for it. Omit it, plus a ./configure step in general and just use a plain Makefile - in combination with pkg-config - like we do in our other projects. Build time gets reduced quite a bit - albeit the were never that big anyway...: (old autotools) time make deb make deb 12.96s user 1.78s system 94% cpu 15.543 total (new plain makefile) time make deb make deb 9.40s user 1.14s system 100% cpu 10.465 total A third less time needed here, and with compiling in parallel I can shave off even 1.5 seconds more, so almost half of the original time. Signed-off-by: Thomas Lamprecht --- diff --git a/data/Makefile b/data/Makefile new file mode 100644 index 0000000..82d1ef7 --- /dev/null +++ b/data/Makefile @@ -0,0 +1,18 @@ +all: + +.PHONY: install +install: + $(MAKE) -C src install + $(MAKE) -C PVE install + + +.PHONY: check +check: + $(MAKE) -C test check + $(MAKE) -C src check + $(MAKE) -C PVE check + +.PHONY: clean +clean: + $(MAKE) -C src clean + $(MAKE) -C PVE clean diff --git a/data/Makefile.am b/data/Makefile.am deleted file mode 100644 index 51b1cd4..0000000 --- a/data/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ - -SUBDIRS = src PVE test - -CLEANFILES = *~ diff --git a/data/PVE/API2/Makefile b/data/PVE/API2/Makefile new file mode 100644 index 0000000..0eeba51 --- /dev/null +++ b/data/PVE/API2/Makefile @@ -0,0 +1,11 @@ +PVEDIR=${DESTDIR}/usr/share/perl5/PVE + +SOURCES=ClusterConfig.pm + +.PHONY: install +install: ${SOURCES} + install -d ${PVEDIR}/API2/ + for f in ${SOURCES}; do install -m 0664 $$f ${PVEDIR}/API2/$$f; done + +.PHONY: clean +clean: diff --git a/data/PVE/CLI/Makefile b/data/PVE/CLI/Makefile new file mode 100644 index 0000000..1e58e2f --- /dev/null +++ b/data/PVE/CLI/Makefile @@ -0,0 +1,11 @@ +PVEDIR=${DESTDIR}/usr/share/perl5/PVE + +SOURCES=pvecm.pm + +.PHONY: install +install: ${SOURCES} + install -d -m 0755 ${PVEDIR}/CLI + for f in ${SOURCES}; do install -D -m 0644 $$f ${PVEDIR}/CLI/$$f; done + +.PHONY: clean +clean: diff --git a/data/PVE/Cluster/Makefile b/data/PVE/Cluster/Makefile new file mode 100644 index 0000000..c0e9b85 --- /dev/null +++ b/data/PVE/Cluster/Makefile @@ -0,0 +1,17 @@ +PVEDIR=${DESTDIR}/usr/share/perl5/PVE + +SOURCES=IPCConst.pm + +.PHONY: install +install: ${SOURCES} + install -d ${PVEDIR}/Cluster + for f in ${SOURCES}; do install -m 0664 $$f ${PVEDIR}/Cluster/$$f; done + +IPCConst.pm: ../../src/cfs-ipc-ops.h + awk -f IPCConst.pm.awk $< > $@.tmp + mv $@.tmp $@ +IPCConst.pm: IPCConst.pm.awk + +.PHONY: clean +clean: + rm -f IPCConst.pm IPCConst.pm.tmp diff --git a/data/PVE/Makefile b/data/PVE/Makefile new file mode 100644 index 0000000..75636eb --- /dev/null +++ b/data/PVE/Makefile @@ -0,0 +1,56 @@ +DESTDIR= +PERL5DIR=${DESTDIR}/usr/share/perl5 +PVEDIR=${PERL5DIR}/PVE +MAN=${DESTDIR}/usr/share/man +BASHCOMPLETION=${DESTDIR}/usr/share/bash-completion/completions + +PERL_VENDORARCH=$(shell perl -MConfig -e 'print $$Config{vendorarch};') +PVE_VENDORARCH=${DESTDIR}/${PERL_VENDORARCH}/auto/PVE/IPCC + +SUBDIRS=Cluster CLI API2 +SOURCES=IPCC.pm Cluster.pm Corosync.pm + +all: + +.PHONY: install +install: pvecm ${SOURCES} IPCC.so pvecm.1 pvecm.bash-completion datacenter.cfg.5 + install -D -m 0755 pvecm ${DESTDIR}/usr/bin/pvecm + install -d ${PVEDIR} + for f in ${SOURCES}; do install -m 0664 $$f ${PVEDIR}/$$f; done + install -D IPCC.so ${PVE_VENDORARCH}/IPCC.so + install -D pvecm.1 ${MAN}/man1/pvecm.1 + install -D datacenter.cfg.5 ${MAN}/man5/datacenter.cfg.5 + install -m 0644 -D pvecm.bash-completion ${BASHCOMPLETION}/pvecm + for d in ${SUBDIRS}; do $(MAKE) -C $$d install; done + +%.bash-completion: + LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp + mv $@.tmp $@ + +check: + LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::pvecm; PVE::CLI::pvecm->verify_api();" + +CC=gcc +CFLAGS += -fPIC -Wl,-z,relro -Wall -Werror -Wno-strict-aliasing -g -O2 -shared +CFLAGS += $(shell perl -MExtUtils::Embed -e perl_inc) +LDFLAGS = $(shell pkg-config --libs libqb) + +.c.o: + $(CC) $(CFLAGS) -c -o $@ $< + +IPCC.c: IPCC.xs ppport.h + xsubpp -noversioncheck IPCC.xs > IPCC.xsc + mv IPCC.xsc IPCC.c + +IPCC.so: IPCC.o + $(CC) ${CFLAGS} ${LDFLAGS} -shared -o $@ $< + +export PERLLIB=.. +export NOVIEW=1 +-include /usr/share/pve-doc-generator/pve-doc-generator.mk + +.PHONY: clean +clean: + $(MAKE) cleanup-docgen + rm -f IPCC.so IPCC.o IPCC.c pvecm.bash-completion + for d in ${SUBDIRS}; do $(MAKE) -C $$d clean; done diff --git a/data/PVE/Makefile.am b/data/PVE/Makefile.am deleted file mode 100644 index 6524a97..0000000 --- a/data/PVE/Makefile.am +++ /dev/null @@ -1,54 +0,0 @@ -bin_SCRIPTS = pvecm - -IPCC.c: IPCC.xs - xsubpp IPCC.xs > IPCC.xsc - mv IPCC.xsc IPCC.c - -Cluster/IPCConst.pm: ../src/cfs-ipc-ops.h - awk -f Cluster/IPCConst.pm.awk $< > $@.tmp - mv $@.tmp $@ -Cluster/IPCConst.pm: Cluster/IPCConst.pm.awk - -AM_CFLAGS = -shared -fPIC -Wl,-z,relro -Wall -Werror -Wno-strict-aliasing $(PERL_INC) -DXS_VERSION=VERSION -LDADD = $(QB_LIBS) - -perlbin_PROGRAMS = IPCC.so -perlbindir = $(PERL_VENDORARCH)/auto/PVE/IPCC - -# this require package pve-doc-generator -export NOVIEW=1 -include /usr/share/pve-doc-generator/pve-doc-generator.mk - -export PERLLIB=.. - -%.bash-completion: - LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp - mv $@.tmp $@ - -man1_MANS = pvecm.1 -pvecm.1-synopsis.adoc: Cluster/IPCConst.pm -man5_MANS = datacenter.cfg.5 - -IPCC_so_SOURCES = IPCC.c ppport.h - -pvelib_DATA = IPCC.pm Cluster.pm Corosync.pm -pvelibdir = $(PERL_VENDORLIB)/PVE - -pveclusterlib_DATA = Cluster/IPCConst.pm -pveclusterlibdir = $(PERL_VENDORLIB)/PVE/Cluster - -noinst_DATA = pvecm.bash-completion - -cliclass_DATA = CLI/pvecm.pm -cliclassdir = $(PERL_VENDORLIB)/PVE/CLI - -apiclass_DATA = API2/ClusterConfig.pm -apiclassdir = $(PERL_VENDORLIB)/PVE/API2 - -install-exec-hook: pvecm.bash-completion - LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::pvecm; PVE::CLI::pvecm->verify_api();" - install -m 0644 -D pvecm.bash-completion ${DESTDIR}/usr/share/bash-completion/completions/pvecm - -clean-local: - make cleanup-docgen - rm -f IPCC.c *~ *.1 *.5 diff --git a/data/autogen.sh b/data/autogen.sh deleted file mode 100755 index 789afa2..0000000 --- a/data/autogen.sh +++ /dev/null @@ -1,6 +0,0 @@ -aclocal -#aclocal -I m4 -#aclocal -I cmulocal -#autoheader -automake --foreign --add-missing -autoconf diff --git a/data/config.h.in b/data/config.h.in deleted file mode 100644 index 1b6f16b..0000000 --- a/data/config.h.in +++ /dev/null @@ -1,172 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ - -/* Define to 1 if the `closedir' function returns void instead of `int'. */ -#undef CLOSEDIR_VOID - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_DIRENT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if `lstat' has the bug that it succeeds when given the - zero-length file name argument. */ -#undef HAVE_LSTAT_EMPTY_STRING_BUG - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the `mkdir' function. */ -#undef HAVE_MKDIR - -/* Define to 1 if you have the header file, and it defines `DIR'. */ -#undef HAVE_NDIR_H - -/* Define to 1 if you have the `rmdir' function. */ -#undef HAVE_RMDIR - -/* Define to 1 if you have the `select' function. */ -#undef HAVE_SELECT - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if `st_blocks' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_BLOCKS - -/* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use - `HAVE_STRUCT_STAT_ST_BLOCKS' instead. */ -#undef HAVE_ST_BLOCKS - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYSLOG_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_DIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_FILE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_MOUNT_H - -/* Define to 1 if you have the header file, and it defines `DIR'. - */ -#undef HAVE_SYS_NDIR_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STATVFS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if `lstat' dereferences a symlink specified with a trailing - slash. */ -#undef LSTAT_FOLLOWS_SLASHED_SYMLINK - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to the type of arg 1 for `select'. */ -#undef SELECT_TYPE_ARG1 - -/* Define to the type of args 2, 3 and 4 for `select'. */ -#undef SELECT_TYPE_ARG234 - -/* Define to the type of arg 5 for `select'. */ -#undef SELECT_TYPE_ARG5 - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if you can safely include both and . */ -#undef TIME_WITH_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Define for Solaris 2.5.1 so the uint32_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT32_T - -/* Define for Solaris 2.5.1 so the uint64_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT64_T - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `int' if does not define. */ -#undef mode_t - -/* Define to `long int' if does not define. */ -#undef off_t - -/* Define to `unsigned int' if does not define. */ -#undef size_t - -/* Define to `int' if does not define. */ -#undef ssize_t - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#undef uint32_t - -/* Define to the type of an unsigned integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -#undef uint64_t diff --git a/data/configure.ac b/data/configure.ac deleted file mode 100644 index b113f5d..0000000 --- a/data/configure.ac +++ /dev/null @@ -1,105 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.61) -AC_INIT([pve-cluster], [1.0], [support@proxmox.com]) -AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability foreign]) -AM_MAINTAINER_MODE - -AC_CONFIG_SRCDIR([src/memdb.c]) - -AC_CONFIG_HEADER([config.h]) - -AC_PREFIX_DEFAULT([/usr]) - -# Checks for programs. -AC_PROG_CC -AC_PROG_RANLIB - -m4_pattern_allow([AM_PROG_AR]) -AM_PROG_AR - -# Checks for libraries. - -PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], -HAVE_CHECK="yes", AC_MSG_ERROR([check not found])) - -PKG_CHECK_MODULES([LIBRRD], [librrd >= 1.4.3], -HAVE_LIBRRD="yes", AC_MSG_ERROR([librrd not found])) -AC_SUBST(LIBRRD_CFLAGS) -AC_SUBST(LIBRRD_LIBS) - -PKG_CHECK_MODULES(GLIB, -glib-2.0 >= 2.42.1, -HAVE_GLIB="yes", AC_MSG_ERROR([glib not found])) -AC_SUBST(GLIB_CFLAGS) -AC_SUBST(GLIB_LIBS) - -PKG_CHECK_MODULES(FUSE, -fuse >= 2.7.4, -HAVE_FUSE="yes", AC_MSG_ERROR([fuse not found])) -AC_SUBST(FUSE_CFLAGS) -AC_SUBST(FUSE_LIBS) - -PKG_CHECK_MODULES(COROSYNC, -libquorum >= 2.3.4 libcpg >= 2.3.4 libcmap >= 2.3.4, -HAVE_COROSYNC="yes", AC_MSG_ERROR([corosync not found])) -AC_SUBST(COROSYNC_CFLAGS) -AC_SUBST(COROSYNC_LIBS) - -PKG_CHECK_MODULES(QB, -libqb, -HAVE_QB="yes", AC_MSG_ERROR([libqb not found])) -AC_SUBST(QB_CFLAGS) -AC_SUBST(QB_LIBS) - -PKG_CHECK_MODULES(SQLITE3, -sqlite3, -HAVE_SQLITE3="yes", AC_MSG_ERROR([sqlite3 not found])) -AC_SUBST(SQLITE3_CFLAGS) -AC_SUBST(SQLITE3_LIBS) - -AC_PATH_PROG([PERL], [perl], [no]) -if test "x${PERL}" = xno; then - AC_MSG_ERROR([perl not found]) -fi -AC_SUBST(PERL) - -PERL_INC="$(perl -MExtUtils::Embed -e perl_inc)" -PERL_VENDORLIB="$(perl -MConfig -e 'print $Config{vendorlibexp}')" -PERL_VENDORARCH="$(perl -MConfig -e 'print $Config{vendorarch}')" -AC_SUBST(PERL_INC) -AC_SUBST(PERL_VENDORLIB) -AC_SUBST(PERL_VENDORARCH) - -# Checks for header files. -AC_HEADER_DIRENT -AC_HEADER_STDC -AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/file.h sys/mount.h sys/statvfs.h syslog.h unistd.h]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_MODE_T -AC_TYPE_OFF_T -AC_TYPE_SIZE_T -AC_TYPE_SSIZE_T -AC_STRUCT_ST_BLOCKS -AC_HEADER_TIME -AC_TYPE_UINT32_T -AC_TYPE_UINT64_T - -# Checks for library functions. -AC_FUNC_CLOSEDIR_VOID -AC_FUNC_LSTAT -AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK -AC_FUNC_MEMCMP -AC_FUNC_SELECT_ARGTYPES -AC_CHECK_FUNCS([memset mkdir rmdir select strdup strerror]) - -AC_CONFIG_FILES([ -Makefile -src/Makefile -PVE/Makefile -]) -AC_OUTPUT - diff --git a/data/src/Makefile b/data/src/Makefile new file mode 100644 index 0000000..6e8ba7d --- /dev/null +++ b/data/src/Makefile @@ -0,0 +1,57 @@ + +DEPENDENCIES=libcpg libcmap libquorum libqb glib-2.0 fuse sqlite3 librrd + +CC = gcc +CFLAGS += -std=gnu99 +CFLAGS += -Wall -Werror -Wno-unknown-pragmas -Wno-strict-aliasing +CFLAGS += -g -O2 -Wl,-z,relro +CFLAGS += -I. +CFLAGS += $(shell pkg-config --cflags ${DEPENDENCIES}) + +LDFLAGS += $(shell pkg-config --libs ${DEPENDENCIES}) + +AR = ar +ARFLAGS = crs + +.c.o: + $(CC) $(CFLAGS) -c -o $@ $< + +all: pmxcfs create_pmxcfs_db logtest check_memdb + +libpmxcfs.a: logger.o loop.o server.o status.o confdb.o quorum.o dcdb.o dfsm.o +libpmxcfs.a: cfs-plug.o cfs-plug-memdb.o cfs-plug-link.o cfs-plug-func.o +libpmxcfs.a: cfs-utils.o memdb.o database.o +libpmxcfs.a: + $(AR) $(ARFLAGS) $@ $^ + +pmxcfs: pmxcfs.o libpmxcfs.a + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ + + +create_pmxcfs_db: create_pmxcfs_db.o libpmxcfs.a + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ + +logtest: logtest.o libpmxcfs.a + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ + +check_memdb: check_memdb.o libpmxcfs.a + $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(shell pkg-config --libs check) + +pmxcfs.8: + +export NOVIEW=1 +-include /usr/share/pve-doc-generator/pve-doc-generator.mk + +.PHONY: install +install: pmxcfs create_pmxcfs_db pmxcfs.8 + install -D -m 0755 pmxcfs ${DESTDIR}/usr/bin/pmxcfs + install -D -m 0755 create_pmxcfs_db ${DESTDIR}/usr/bin/create_pmxcfs_db + install -D pmxcfs.8 ${DESTDIR}/usr/share/man/man8/pmxcfs.8 + +.PHONY: check +check: check_memdb + ./check_memdb + +.PHONY: clean +clean: + rm -f *.o *.a pmxcfs create_pmxcfs_db check_memdb logtest pmxcfs.8 diff --git a/data/src/Makefile.am b/data/src/Makefile.am deleted file mode 100644 index 5e7eb65..0000000 --- a/data/src/Makefile.am +++ /dev/null @@ -1,56 +0,0 @@ -noinst_PROGRAMS = logtest -logtest_SOURCES = logtest.c - -# this requires package pve-doc-generator -export NOVIEW=1 -include /usr/share/pve-doc-generator/pve-doc-generator.mk - -man8_MANS = pmxcfs.8 - -bin_PROGRAMS = pmxcfs create_pmxcfs_db -pmxcfs_SOURCES = pmxcfs.c -create_pmxcfs_db_SOURCES = create_pmxcfs_db.c - -TESTS = check_memdb -check_PROGRAMS = ${TESTS} -check_memdb_SOURCES = check_memdb.c -check_memdb_CFLAGS = $(AM_CFLAGS) @CHECK_CFLAGS@ -check_memdb_LDADD = $(LDADD) @CHECK_LIBS@ - -noinst_LIBRARIES = libpmxcfs.a -libpmxcfs_a_SOURCES = \ - logger.h \ - logger.c \ - loop.h \ - loop.c \ - server.h \ - server.c \ - status.h \ - status.c \ - confdb.h \ - confdb.c \ - quorum.h \ - quorum.c \ - dcdb.h \ - dcdb.c \ - dfsm.c \ - dfsm.h \ - cfs-plug.h \ - cfs-plug.c \ - cfs-plug-link.c \ - cfs-plug-func.c \ - cfs-plug-memdb.h \ - cfs-plug-memdb.c \ - cfs-utils.h \ - cfs-utils.c \ - database.c \ - memdb.h \ - memdb.c - -# add -lprofiler for google perftools -AM_CFLAGS = -g -O -Wl,-z,relro -std=gnu99 -Wall -Werror -Wno-strict-aliasing $(COROSYNC_CFLAGS) $(SQLITE3_CFLAGS) $(FUSE_CFLAGS) $(QB_CFLAGS) $(GLIB_CFLAGS) $(LIBRRD_CFLAGS) -LDADD = libpmxcfs.a $(COROSYNC_LIBS) $(SQLITE3_LIBS) $(FUSE_LIBS) $(QB_LIBS) $(GLIB_LIBS) $(LIBRRD_LIBS) - -clean-local: - make cleanup-docgen - rm -f *~ diff --git a/data/test/Makefile b/data/test/Makefile index c3df52a..1948a88 100644 --- a/data/test/Makefile +++ b/data/test/Makefile @@ -4,6 +4,5 @@ all: check: ./corosync_parser_test.pl -install: check distclean: clean clean: diff --git a/debian/rules b/debian/rules index aaeda94..7a9be9e 100755 --- a/debian/rules +++ b/debian/rules @@ -5,7 +5,7 @@ #export DH_VERBOSE=1 %: - dh $@ --with=systemd --with=autoreconf + dh $@ --with=systemd override_dh_strip: dh_strip --dbgsym-migration='pve-cluster-dbg (<< 5.0-16)'