From 1116ca25b883f89caaaf0f4cb8b5a5bffecc51e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fabian=20Gr=C3=BCnbichler?= Date: Wed, 10 Oct 2018 13:55:05 +0200 Subject: [PATCH] build: restructure packaging MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit use dpkg-buildpackage and debhelper properly, add missing dependencies and embed used perl modules from libpve-common-perl to make pve-ha-simulator standalone. Signed-off-by: Fabian Grünbichler --- Makefile | 17 ++-------- changelog.Debian => debian/changelog | 0 debian/control | 21 +++++++++++- debian/pve-ha-manager.install | 34 ++++++++++++++++++++ debian/{triggers => pve-ha-manager.triggers} | 0 debian/pve-ha-simulator.install | 2 ++ debian/rules | 14 ++++++++ simdebian/compat | 1 - simdebian/control | 14 -------- simdebian/copyright | 16 --------- simdebian/rules | 20 ------------ src/Makefile | 10 ++---- src/PVE/HA/Makefile | 2 +- src/PVE/HA/Resources/Makefile | 5 --- src/PVE/HA/Sim/Makefile | 6 ++-- src/PVE/HA/Sim/Resources/Makefile | 4 +-- src/PVE/Makefile | 1 - 17 files changed, 81 insertions(+), 86 deletions(-) rename changelog.Debian => debian/changelog (100%) create mode 100644 debian/pve-ha-manager.install rename debian/{triggers => pve-ha-manager.triggers} (100%) create mode 100644 debian/pve-ha-simulator.install delete mode 100644 simdebian/compat delete mode 100644 simdebian/control delete mode 100644 simdebian/copyright delete mode 100755 simdebian/rules diff --git a/Makefile b/Makefile index b406f3f..1bf41fa 100644 --- a/Makefile +++ b/Makefile @@ -17,19 +17,6 @@ all: deb dinstall: $(DEB) $(SIMDEB) dpkg -i ${DEB} ${SIMDEB} - -.PHONY: simdeb -simdeb: ${SIMDEB} -${SIMDEB}: - rm -rf build - mkdir build - rsync -a src/ build - rsync -a simdebian/ build/debian - cp changelog.Debian build/debian/changelog - echo "git clone git://git.proxmox.com/git/pve-ha-manager.git\\ngit checkout ${GITVERSION}" > build/debian/SOURCE - cd build; dpkg-buildpackage -rfakeroot -b -us -uc - lintian ${SIMDEB} - .PHONY: deb deb: ${DEB} ${SIMDEB} ${DEB}: @@ -37,10 +24,10 @@ ${DEB}: mkdir build rsync -a src/ build rsync -a debian/ build/debian - cp changelog.Debian build/debian/changelog echo "git clone git://git.proxmox.com/git/pve-ha-manager.git\\ngit checkout ${GITVERSION}" > build/debian/SOURCE - cd build; dpkg-buildpackage -rfakeroot -b -us -uc + cd build; dpkg-buildpackage -b -us -uc lintian ${DEB} + lintian ${SIMDEB} .PHONY: clean clean: diff --git a/changelog.Debian b/debian/changelog similarity index 100% rename from changelog.Debian rename to debian/changelog diff --git a/debian/control b/debian/control index 1758e73..ddd4d15 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,8 @@ Package: pve-ha-manager Section: perl Priority: optional Architecture: any -Depends: libpve-common-perl, +Depends: libjson-perl, + libpve-common-perl, pve-cluster (>= 3.0-17), qemu-server, systemd, @@ -26,3 +27,21 @@ Depends: libpve-common-perl, Conflicts: watchdog, Description: Proxmox VE HA Manager HA Manager Proxmox VE. + +Package: pve-ha-simulator +Section: perl +Priority: optional +Architecture: all +Depends: libclone-perl, + libdevel-cycle-perl, + libfilesys-df-perl, + libglib-perl, + libgtk3-perl, + libjson-perl, + libnet-ip-perl, + libstring-shellquote-perl, + liburi-perl, + ${misc:Depends}, + ${perl:Depends}, +Description: Proxmox VE HA Simulator + This is a simple GUI to simulate the behavior of a Proxmox VE HA cluster. diff --git a/debian/pve-ha-manager.install b/debian/pve-ha-manager.install new file mode 100644 index 0000000..7a3f13d --- /dev/null +++ b/debian/pve-ha-manager.install @@ -0,0 +1,34 @@ +/usr/sbin/ha-manager +/usr/sbin/pve-ha-crm +/usr/sbin/pve-ha-lrm +/usr/sbin/watchdog-mux +/usr/share/bash-completion/completions/ha-manager +/usr/share/bash-completion/completions/pve-ha-crm +/usr/share/bash-completion/completions/pve-ha-lrm +/usr/share/man +/usr/share/man/man1 +/usr/share/man/man1/ha-manager.1.gz +/usr/share/man/man8 +/usr/share/man/man8/pve-ha-crm.8.gz +/usr/share/man/man8/pve-ha-lrm.8.gz +/usr/share/perl5/PVE/API2/HA/Groups.pm +/usr/share/perl5/PVE/API2/HA/Resources.pm +/usr/share/perl5/PVE/API2/HA/Status.pm +/usr/share/perl5/PVE/CLI/ha_manager.pm +/usr/share/perl5/PVE/HA/CRM.pm +/usr/share/perl5/PVE/HA/Config.pm +/usr/share/perl5/PVE/HA/Config.pm +/usr/share/perl5/PVE/HA/Env.pm +/usr/share/perl5/PVE/HA/Env/PVE2.pm +/usr/share/perl5/PVE/HA/Fence.pm +/usr/share/perl5/PVE/HA/FenceConfig.pm +/usr/share/perl5/PVE/HA/Groups.pm +/usr/share/perl5/PVE/HA/LRM.pm +/usr/share/perl5/PVE/HA/Manager.pm +/usr/share/perl5/PVE/HA/NodeStatus.pm +/usr/share/perl5/PVE/HA/Resources.pm +/usr/share/perl5/PVE/HA/Resources/PVECT.pm +/usr/share/perl5/PVE/HA/Resources/PVEVM.pm +/usr/share/perl5/PVE/HA/Tools.pm +/usr/share/perl5/PVE/Service/pve_ha_crm.pm +/usr/share/perl5/PVE/Service/pve_ha_lrm.pm diff --git a/debian/triggers b/debian/pve-ha-manager.triggers similarity index 100% rename from debian/triggers rename to debian/pve-ha-manager.triggers diff --git a/debian/pve-ha-simulator.install b/debian/pve-ha-simulator.install new file mode 100644 index 0000000..4948a77 --- /dev/null +++ b/debian/pve-ha-simulator.install @@ -0,0 +1,2 @@ +/usr/sbin/pve-ha-simulator +/usr/share/pve-ha-simulator/PVE diff --git a/debian/rules b/debian/rules index 468631f..b215911 100755 --- a/debian/rules +++ b/debian/rules @@ -12,6 +12,20 @@ %: dh $@ --with=systemd +override_dh_install: + # embed copies of libpve-common-perl files needed by simulator + install -d -m 0755 debian/tmp/usr/share/pve-ha-simulator/PVE + install -m 0644 \ + /usr/share/perl5/PVE/Exception.pm \ + /usr/share/perl5/PVE/JSONSchema.pm \ + /usr/share/perl5/PVE/ProcFSTools.pm \ + /usr/share/perl5/PVE/SafeSyslog.pm \ + /usr/share/perl5/PVE/SectionConfig.pm \ + /usr/share/perl5/PVE/Syscall.pm \ + /usr/share/perl5/PVE/Tools.pm \ + debian/tmp/usr/share/pve-ha-simulator/PVE/ + dh_install --fail-missing + # dh_systemd_enable watchdog-mux despite it being static to get it installed in # the correct location/package without manual intervention override_dh_systemd_enable: diff --git a/simdebian/compat b/simdebian/compat deleted file mode 100644 index ec63514..0000000 --- a/simdebian/compat +++ /dev/null @@ -1 +0,0 @@ -9 diff --git a/simdebian/control b/simdebian/control deleted file mode 100644 index 5b692a7..0000000 --- a/simdebian/control +++ /dev/null @@ -1,14 +0,0 @@ -Source: pve-ha-manager -Section: perl -Priority: extra -Maintainer: Proxmox Support Team -Build-Depends: debhelper (>= 7.0.50~), libpve-common-perl, libglib-perl, libgtk3-perl -Standards-Version: 3.8.4 - -Package: pve-ha-simulator -Section: perl -Priority: optional -Architecture: all -Depends: ${perl:Depends}, ${misc:Depends}, libpve-common-perl, libglib-perl, libgtk3-perl -Description: Proxmox VE HA Simulator - This is a simple GUI to simulate the behavior of a Proxmox VE HA cluster. diff --git a/simdebian/copyright b/simdebian/copyright deleted file mode 100644 index 3ef2e85..0000000 --- a/simdebian/copyright +++ /dev/null @@ -1,16 +0,0 @@ -Copyright (C) 2015 Proxmox Server Solutions GmbH - -This software is written by Proxmox Server Solutions GmbH - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Affero General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Affero General Public License for more details. - -You should have received a copy of the GNU Affero General Public License -along with this program. If not, see . diff --git a/simdebian/rules b/simdebian/rules deleted file mode 100755 index 4a6f1c9..0000000 --- a/simdebian/rules +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -%: - dh $@ - -override_dh_auto_test: - - -override_dh_auto_install: - - make DESTDIR=$$(pwd)/debian/pve-ha-simulator installsim diff --git a/src/Makefile b/src/Makefile index f70f06d..d34d47e 100644 --- a/src/Makefile +++ b/src/Makefile @@ -34,7 +34,7 @@ watchdog-mux: watchdog-mux.c gcc watchdog-mux.c -o watchdog-mux -Wall -Wl,-z,relro .PHONY: install -install: watchdog-mux pve-ha-crm pve-ha-lrm ha-manager.1 pve-ha-crm.8 pve-ha-lrm.8 ha-manager.bash-completion pve-ha-lrm.bash-completion pve-ha-crm.bash-completion +install: watchdog-mux pve-ha-crm pve-ha-lrm ha-manager.1 pve-ha-crm.8 pve-ha-lrm.8 ha-manager.bash-completion pve-ha-lrm.bash-completion pve-ha-crm.bash-completion pve-ha-simulator PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_crm; PVE::Service::pve_ha_crm->verify_api();" PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::Service::pve_ha_lrm; PVE::Service::pve_ha_lrm->verify_api();" PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::ha_manager; PVE::CLI::ha_manager->verify_api();" @@ -43,10 +43,12 @@ install: watchdog-mux pve-ha-crm pve-ha-lrm ha-manager.1 pve-ha-crm.8 pve-ha-lrm install -m 0755 pve-ha-lrm ${DESTDIR}${SBINDIR} install -m 0755 ha-manager ${DESTDIR}${SBINDIR} install -m 0755 watchdog-mux ${DESTDIR}${SBINDIR} + install -m 0755 pve-ha-simulator ${DESTDIR}${SBINDIR} install -m 0644 -D pve-ha-crm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-crm install -m 0644 -D pve-ha-lrm.bash-completion ${DESTDIR}${BASHCOMPLDIR}/pve-ha-lrm install -m 0644 -D ha-manager.bash-completion ${DESTDIR}${BASHCOMPLDIR}/ha-manager make -C PVE install + make -C PVE PERLDIR=${PREFIX}/share/${SIMPACKAGE} installsim install -d ${DESTDIR}/${MAN8DIR} install -m 0644 pve-ha-crm.8 ${DESTDIR}/${MAN8DIR} gzip -9 ${DESTDIR}/${MAN8DIR}/pve-ha-crm.8 @@ -56,12 +58,6 @@ install: watchdog-mux pve-ha-crm pve-ha-lrm ha-manager.1 pve-ha-crm.8 pve-ha-lrm install -m 0644 ha-manager.1 ${DESTDIR}/${MAN1DIR} gzip -9 ${DESTDIR}/${MAN1DIR}/ha-manager.1 -.PHONY: installsim -installsim: pve-ha-simulator - install -d ${DESTDIR}${SBINDIR} - install -m 0755 pve-ha-simulator ${DESTDIR}${SBINDIR} - make -C PVE PERLDIR=${PREFIX}/share/${SIMPACKAGE} installsim - .PHONY: test test: make -C test test diff --git a/src/PVE/HA/Makefile b/src/PVE/HA/Makefile index 313e6b0..c366f6c 100644 --- a/src/PVE/HA/Makefile +++ b/src/PVE/HA/Makefile @@ -14,4 +14,4 @@ install: installsim: install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/HA for i in ${SIM_SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/HA/$$i; done - make -C Sim installsim + make -C Sim install diff --git a/src/PVE/HA/Resources/Makefile b/src/PVE/HA/Resources/Makefile index ea840a7..28fbb55 100644 --- a/src/PVE/HA/Resources/Makefile +++ b/src/PVE/HA/Resources/Makefile @@ -4,8 +4,3 @@ SOURCES=PVEVM.pm PVECT.pm install: install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/HA/Resources for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/HA/Resources/$$i; done - -.PHONY: installsim -installsim: - install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/HA/Resources - for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/HA/Resources/$$i; done diff --git a/src/PVE/HA/Sim/Makefile b/src/PVE/HA/Sim/Makefile index 793f142..cb8feff 100644 --- a/src/PVE/HA/Sim/Makefile +++ b/src/PVE/HA/Sim/Makefile @@ -1,7 +1,7 @@ SOURCES=Env.pm Hardware.pm TestEnv.pm TestHardware.pm RTEnv.pm RTHardware.pm Resources.pm -.PHONY: installsim -installsim: +.PHONY: install +install: install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/HA/Sim for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/HA/Sim/$$i; done - make -C Resources installsim + make -C Resources install diff --git a/src/PVE/HA/Sim/Resources/Makefile b/src/PVE/HA/Sim/Resources/Makefile index b15a846..bfbb08e 100644 --- a/src/PVE/HA/Sim/Resources/Makefile +++ b/src/PVE/HA/Sim/Resources/Makefile @@ -1,6 +1,6 @@ SOURCES=VirtVM.pm VirtCT.pm VirtFail.pm -.PHONY: installsim -installsim: +.PHONY: install +install: install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE/HA/Sim/Resources for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/HA/Sim/Resources/$$i; done diff --git a/src/PVE/Makefile b/src/PVE/Makefile index b57dd06..7da9fed 100644 --- a/src/PVE/Makefile +++ b/src/PVE/Makefile @@ -1,4 +1,3 @@ - .PHONY: install install: install -d -m 0755 ${DESTDIR}${PERLDIR}/PVE -- 2.39.2