[pve-devel] [PATCH access-control 12/13] add new api/cli binary package and bump version

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Nov 6 13:36:33 CET 2019


this is needed to avoid a dependency cycle:

libpve-access-control-api-perl -> libpve-cluster-perl (DataCenterConfig)
libpve-cluster-perl -> libpve-access-control (Ticket generation)

Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---

Notes:
    needs a version bump to properly work!

 Makefile                                      | 14 +++++++-----
 debian/control                                | 22 ++++++++++++++++---
 ...cs => libpve-access-control-api-perl.docs} |  0
 debian/libpve-access-control-api-perl.install |  7 ++++++
 ...> libpve-access-control-api-perl.postinst} |  0
 ...> libpve-access-control-api-perl.triggers} |  0
 debian/libpve-access-control.docs             |  1 +
 debian/libpve-access-control.install          |  8 +++++++
 8 files changed, 43 insertions(+), 9 deletions(-)
 rename debian/{docs => libpve-access-control-api-perl.docs} (100%)
 create mode 100644 debian/libpve-access-control-api-perl.install
 rename debian/{postinst => libpve-access-control-api-perl.postinst} (100%)
 rename debian/{triggers => libpve-access-control-api-perl.triggers} (100%)
 create mode 100644 debian/libpve-access-control.docs
 create mode 100644 debian/libpve-access-control.install

diff --git a/Makefile b/Makefile
index ef8b026..c8f9802 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,8 @@ export PERLDIR=${PREFIX}/share/perl5
 
 GITVERSION:=$(shell cat .git/refs/heads/master)
 
-DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
+MAIN_DEB=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
+API_DEB=${PACKAGE}-api-perl_${DEB_VERSION_UPSTREAM_REVISION}_all.deb
 DSC=${PACKAGE}_${DEB_VERSION_UPSTREAM_REVISION}.dsc
 
 # this requires package pve-doc-generator
@@ -65,10 +66,11 @@ ${BUILDDIR}:
 	echo "git clone git://git.proxmox.com/git/pve-access-control.git\\ngit checkout ${GITVERSION}" > ${BUILDDIR}/debian/SOURCE
 
 .PHONY: deb
-deb: ${DEB}
-${DEB}: ${BUILDDIR}
+deb: ${MAIN_DEB}
+${MAIN_DEB}: ${API_DEB}
+${API_DEB}: ${BUILDDIR}
 	cd ${BUILDDIR}; dpkg-buildpackage -b -us -uc
-	lintian ${DEB}
+	lintian ${MAIN_DEB} ${API_DEB}
 
 .PHONY: dsc
 dsc: ${DSC}
@@ -77,8 +79,8 @@ ${DSC}: ${BUILDDIR}
 	lintian ${DSC}
 
 .PHONY: upload
-upload: ${DEB}
-	tar cf - ${DEB} | ssh repoman at repo.proxmox.com -- upload --product pve --dist buster --arch ${DEB_BUILD_ARCH}
+upload: ${DEB} ${API_DEB}
+	tar cf - ${DEB} ${API_DEB} | ssh repoman at repo.proxmox.com -- upload --product pve --dist buster --arch ${DEB_BUILD_ARCH}
 
 .PHONY: clean
 clean:
diff --git a/debian/control b/debian/control
index e9f70d6..42e464f 100644
--- a/debian/control
+++ b/debian/control
@@ -21,12 +21,9 @@ Depends: libauthen-pam-perl,
          libcrypt-openssl-rsa-perl,
          libjson-perl,
          libjson-xs-perl,
-         libmime-base32-perl,
          libnet-ldap-perl,
          libnet-ssleay-perl,
          libpve-common-perl (>= 6.0-6),
-         libpve-cluster-perl,
-         libpve-u2f-server-perl (>= 1.0-2),
          perl (>= 5.6.0-16),
          pve-cluster (>= 5.0-35),
          ${misc:Depends},
@@ -34,3 +31,22 @@ Depends: libauthen-pam-perl,
 Description: Proxmox VE access control library
  This package contains the role based user management and access
  control function used by Proxmox VE.
+
+Package: libpve-access-control-api-perl
+Architecture: all
+Depends: libpve-access-control (>= 6.0-4~),
+         libjson-perl,
+         libjson-xs-perl,
+         libmime-base32-perl,
+         libpve-common-perl (>= 6.0-6),
+         libpve-u2f-server-perl (>= 1.0-2),
+         perl (>= 5.6.0-16),
+         pve-cluster (>= 5.0-35),
+         libpve-cluster-perl,
+         ${misc:Depends},
+         ${perl:Depends},
+Breaks: libpve-access-control (<= 6.0-3)
+Replaces: libpve-access-control (<= 6.0-3)
+Description: Proxmox VE access control API/CLI
+ This package contains the API2 and CLI modules for role based user management
+ and access control function used by Proxmox VE.
diff --git a/debian/docs b/debian/libpve-access-control-api-perl.docs
similarity index 100%
rename from debian/docs
rename to debian/libpve-access-control-api-perl.docs
diff --git a/debian/libpve-access-control-api-perl.install b/debian/libpve-access-control-api-perl.install
new file mode 100644
index 0000000..65d4ae5
--- /dev/null
+++ b/debian/libpve-access-control-api-perl.install
@@ -0,0 +1,7 @@
+usr/bin/oathkeygen
+usr/sbin/pveum
+usr/share/bash-completion/completions/pveum
+usr/share/man/man1/pveum.1
+usr/share/perl5/PVE/API2
+usr/share/perl5/PVE/CLI
+usr/share/zsh/vendor-completions/_pveum
diff --git a/debian/postinst b/debian/libpve-access-control-api-perl.postinst
similarity index 100%
rename from debian/postinst
rename to debian/libpve-access-control-api-perl.postinst
diff --git a/debian/triggers b/debian/libpve-access-control-api-perl.triggers
similarity index 100%
rename from debian/triggers
rename to debian/libpve-access-control-api-perl.triggers
diff --git a/debian/libpve-access-control.docs b/debian/libpve-access-control.docs
new file mode 100644
index 0000000..8696672
--- /dev/null
+++ b/debian/libpve-access-control.docs
@@ -0,0 +1 @@
+debian/SOURCE
diff --git a/debian/libpve-access-control.install b/debian/libpve-access-control.install
new file mode 100644
index 0000000..8529151
--- /dev/null
+++ b/debian/libpve-access-control.install
@@ -0,0 +1,8 @@
+/usr/share/perl5/PVE/AccessControl.pm
+/usr/share/perl5/PVE/Auth
+/usr/share/perl5/PVE/Auth/AD.pm
+/usr/share/perl5/PVE/Auth/LDAP.pm
+/usr/share/perl5/PVE/Auth/PAM.pm
+/usr/share/perl5/PVE/Auth/PVE.pm
+/usr/share/perl5/PVE/Auth/Plugin.pm
+/usr/share/perl5/PVE/RPCEnvironment.pm
-- 
2.20.1





More information about the pve-devel mailing list