[pve-devel] [PATCH cluster 14/16] split package into pve-cluster/pmxcfs and perl modules

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


with the former containing:
- pmxcfs binary + service
- IPCC perl bindings
- PVE::Cluster

and the latter being further split into

libpve-cluster-perl:
- PVE::DataCenterConfig
- various other perl modules not directly related to pmxcfs

and libpve-cluster-api-perl:
- ClusterConfig API
- pvecm CLI
- PVE::Corosync
- PVE::Cluster::Setup helper module

this second split is needed to avoid a (pre-existing) circular
dependency between libpve-access-control and libpve-cluster-perl:
- the cluster API code uses PVE::RPCEnvironment
- the access-control API code uses PVE::DataCenterConfig

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

Notes:
    requires a version bump to work

 debian/control                                | 57 ++++++++++++++-----
 debian/install                                |  1 -
 debian/libpve-cluster-api-perl.docs           |  1 +
 debian/libpve-cluster-api-perl.install        |  7 +++
 ...ggers => libpve-cluster-api-perl.triggers} |  0
 debian/libpve-cluster-perl.docs               |  1 +
 debian/libpve-cluster-perl.install            |  5 ++
 debian/{dirs => pve-cluster.dirs}             |  0
 debian/{docs => pve-cluster.docs}             |  0
 debian/pve-cluster.install                    |  8 +++
 debian/rules                                  |  3 +
 11 files changed, 67 insertions(+), 16 deletions(-)
 delete mode 100644 debian/install
 create mode 100644 debian/libpve-cluster-api-perl.docs
 create mode 100644 debian/libpve-cluster-api-perl.install
 rename debian/{pve-cluster.triggers => libpve-cluster-api-perl.triggers} (100%)
 create mode 100644 debian/libpve-cluster-perl.docs
 create mode 100644 debian/libpve-cluster-perl.install
 rename debian/{dirs => pve-cluster.dirs} (100%)
 rename debian/{docs => pve-cluster.docs} (100%)
 create mode 100644 debian/pve-cluster.install

diff --git a/debian/control b/debian/control
index 03a03a7..0497df6 100644
--- a/debian/control
+++ b/debian/control
@@ -3,15 +3,15 @@ Section: admin
 Priority: optional
 Maintainer: Proxmox Support Team <support at proxmox.com>
 Build-Depends: check,
-               libcorosync-common-dev,
                debhelper (>= 10),
                libcmap-dev (>= 0.17.1-1),
+               libcorosync-common-dev,
                libcpg-dev (>= 2.3.4-1),
                libdigest-hmac-perl,
                libfuse-dev (>= 2.9.2-4),
                libglib2.0-dev (>= 2.42.1-1),
-               libpve-apiclient-perl,
                libpve-access-control,
+               libpve-apiclient-perl,
                libpve-common-perl (>= 5.0-28),
                libqb-dev (>= 0.17.1-1),
                libquorum-dev (>= 2.3.4-1),
@@ -28,21 +28,12 @@ Package: pve-cluster
 Architecture: any
 Pre-Depends: ${misc:Pre-Depends},
 Depends: corosync (>= 2.3.4-1),
-         faketime,
          fuse,
-         libcrypt-ssleay-perl,
-         libdigest-hmac-perl,
          libfuse2 (>= 2.9.2-4),
          libglib2.0-0 (>= 2.42.1-1),
-         libpve-apiclient-perl,
          libpve-common-perl (>= 6.0-7~),
          libqb0 (>= 0.17.1-1),
-         librrds-perl,
          libsqlite3-0,
-         libuuid-perl,
-         openssl,
-         rrdcached,
-         rsync,
          sqlite3,
          systemd,
          ${misc:Depends},
@@ -54,7 +45,43 @@ Breaks: libpve-guest-common-perl (<= 3.0-2),
         pve-ha-manager (<= 3.0-2),
         pve-manager (<= 6.0-11),
         qemu-server (<= 6.0-13),
-Description: Cluster Infrastructure for Proxmox Virtual Environment
- This package contains the Cluster Infrastructure for the Proxmox
- Virtual Environment, namely a distributed filesystem to store
- configuration data on all nodes.
+Description: The "pmxcfs" distributed cluster filesystem for Proxmox Virtual Environment.
+  This FUSE filesystem is using corosync and sqlite3 to provide a cluster-wide,
+  consistent view of config and other files.
+
+Package: libpve-cluster-perl
+Architecture: all
+Pre-Depends: ${misc:Pre-Depends},
+Depends: libcrypt-ssleay-perl,
+         libpve-apiclient-perl,
+         libpve-common-perl (>= 6.0-7~),
+         librrds-perl,
+         rrdcached,
+         ${misc:Depends},
+         ${perl:Depends},
+         ${shlibs:Depends},
+Breaks: pve-cluster (<= 6.0-7),
+Replaces: pve-cluster (<= 6.0-7),
+Description: The Proxmox Virtual Environment cluster Perl modules.
+  This package contains various cluster-related perl modules.
+
+Package: libpve-cluster-api-perl
+Architecture: all
+Pre-Depends: ${misc:Pre-Depends},
+Depends: faketime,
+         libcrypt-ssleay-perl,
+         libdigest-hmac-perl,
+         libpve-access-control,
+         libpve-apiclient-perl,
+         libpve-cluster-perl,
+         libpve-common-perl (>= 5.0-28),
+         libuuid-perl,
+         openssl,
+         rsync,
+         ${misc:Depends},
+         ${perl:Depends},
+         ${shlibs:Depends},
+Breaks: pve-cluster (<= 6.0-7),
+Replaces: pve-cluster (<= 6.0-7),
+Description: The Proxmox Virtual Environment cluster Perl modules.
+  This package contains the API2 endpoints and CLI binary 'pvecm'.
diff --git a/debian/install b/debian/install
deleted file mode 100644
index c1ec5ec..0000000
--- a/debian/install
+++ /dev/null
@@ -1 +0,0 @@
-debian/sysctl.d/pve.conf etc/sysctl.d
diff --git a/debian/libpve-cluster-api-perl.docs b/debian/libpve-cluster-api-perl.docs
new file mode 100644
index 0000000..8696672
--- /dev/null
+++ b/debian/libpve-cluster-api-perl.docs
@@ -0,0 +1 @@
+debian/SOURCE
diff --git a/debian/libpve-cluster-api-perl.install b/debian/libpve-cluster-api-perl.install
new file mode 100644
index 0000000..44a04c6
--- /dev/null
+++ b/debian/libpve-cluster-api-perl.install
@@ -0,0 +1,7 @@
+usr/bin/pvecm
+usr/share/bash-completion/completions/pvecm
+usr/share/man/man1/pvecm.1
+usr/share/perl5/PVE/API2
+usr/share/perl5/PVE/CLI
+usr/share/perl5/PVE/Cluster/Setup.pm
+usr/share/zsh/vendor-completions/_pvecm
diff --git a/debian/pve-cluster.triggers b/debian/libpve-cluster-api-perl.triggers
similarity index 100%
rename from debian/pve-cluster.triggers
rename to debian/libpve-cluster-api-perl.triggers
diff --git a/debian/libpve-cluster-perl.docs b/debian/libpve-cluster-perl.docs
new file mode 100644
index 0000000..8696672
--- /dev/null
+++ b/debian/libpve-cluster-perl.docs
@@ -0,0 +1 @@
+debian/SOURCE
diff --git a/debian/libpve-cluster-perl.install b/debian/libpve-cluster-perl.install
new file mode 100644
index 0000000..51223f9
--- /dev/null
+++ b/debian/libpve-cluster-perl.install
@@ -0,0 +1,5 @@
+usr/share/man/man5/datacenter.cfg.5
+usr/share/perl5/PVE/Corosync.pm
+usr/share/perl5/PVE/DataCenterConfig.pm
+usr/share/perl5/PVE/RRD.pm
+usr/share/perl5/PVE/SSHInfo.pm
diff --git a/debian/dirs b/debian/pve-cluster.dirs
similarity index 100%
rename from debian/dirs
rename to debian/pve-cluster.dirs
diff --git a/debian/docs b/debian/pve-cluster.docs
similarity index 100%
rename from debian/docs
rename to debian/pve-cluster.docs
diff --git a/debian/pve-cluster.install b/debian/pve-cluster.install
new file mode 100644
index 0000000..407972a
--- /dev/null
+++ b/debian/pve-cluster.install
@@ -0,0 +1,8 @@
+debian/sysctl.d/pve.conf etc/sysctl.d
+usr/bin/create_pmxcfs_db
+usr/bin/pmxcfs
+usr/lib/
+usr/share/man/man8/pmxcfs.8
+usr/share/perl5/PVE/Cluster.pm
+usr/share/perl5/PVE/Cluster/IPCConst.pm
+usr/share/perl5/PVE/IPCC.pm
diff --git a/debian/rules b/debian/rules
index 7a9be9e..7fe9727 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,3 +14,6 @@ override_dh_systemd_start:
 	dh_systemd_start --restart-after-upgrade
 
 override_dh_installinit:
+
+override_dh_missing:
+	dh_missing --fail-missing
-- 
2.20.1





More information about the pve-devel mailing list