198ebc6c86
this is a HACK! It seems that due to lots of binaries getting compiled from a single crate the compiler is confused when linking in dependencies to each binaries ELF. It picks up the combined set (union) of all dependencies and sets those to every ELF. This results in the client, for example, linking to libapt-pkg or libsystemd even if none of that symbols are used.. This could be possibly fixed by restructuring the source tree into sub crates/workspaces or what not, not really tested and *lots* of work. So as stop gap measure use `ldd -u` to find out unused linkage and remove them using `patchelf`. While this works well, and seems to not interfere with any debug symbol usage or other usage in general it still is a hack and should be dropped once the restructuring of the source tree has shown to bring similar effects. This allows for much easier re-use of the generated client .deb package on other Debian derivaties (e.g., Ubuntu) which got blocked until now due to wrong libt-apt verison or the like. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
62 lines
1.6 KiB
Makefile
Executable File
62 lines
1.6 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
# See debhelper(7) (uncomment to enable)
|
|
# output every command that modifies files on the build system.
|
|
DH_VERBOSE = 1
|
|
|
|
include /usr/share/dpkg/pkg-info.mk
|
|
include /usr/share/rustc/architecture.mk
|
|
|
|
export BUILD_MODE=release
|
|
|
|
CARGO=/usr/share/cargo/bin/cargo
|
|
|
|
export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
|
|
export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE
|
|
export CARGO_HOME = $(CURDIR)/debian/cargo_home
|
|
|
|
export DEB_CARGO_CRATE=proxmox-backup_$(DEB_VERSION_UPSTREAM)
|
|
export DEB_CARGO_PACKAGE=proxmox-backup
|
|
|
|
%:
|
|
dh $@ --with=bash-completion
|
|
|
|
override_dh_auto_configure:
|
|
$(CARGO) prepare-debian $(CURDIR)/debian/cargo_registry --link-from-system
|
|
dh_auto_configure
|
|
|
|
override_dh_auto_build:
|
|
dh_auto_build -- \
|
|
PROXY_USER=backup \
|
|
LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)
|
|
|
|
override_dh_missing:
|
|
dh_missing --fail-missing
|
|
|
|
override_dh_auto_install:
|
|
dh_auto_install -- \
|
|
PROXY_USER=backup \
|
|
LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)
|
|
|
|
override_dh_installsystemd:
|
|
dh_installsystemd -pproxmox-backup-server proxmox-backup-daily-update.timer
|
|
# note: we start/try-reload-restart services manually in postinst
|
|
dh_installsystemd --no-start --no-restart-after-upgrade
|
|
|
|
override_dh_fixperms:
|
|
dh_fixperms --exclude sg-tape-cmd
|
|
|
|
# workaround https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933541
|
|
# TODO: remove once available (Debian 11 ?)
|
|
override_dh_dwz:
|
|
dh_dwz --no-dwz-multifile
|
|
|
|
override_dh_strip:
|
|
dh_strip
|
|
for exe in $$(find debian/proxmox-backup-client/usr \
|
|
debian/proxmox-backup-server/usr -executable -type f); do \
|
|
debian/scripts/elf-strip-unused-dependencies.sh "$$exe" || true; \
|
|
done
|
|
|
|
override_dh_compress:
|
|
dh_compress -X.pdf
|