[pve-devel] [PATCH proxmox-perl-rs] move apt repositories module to common

Wolfgang Bumiller w.bumiller at proxmox.com
Wed Jul 6 13:13:18 CEST 2022


On Wed, Jul 06, 2022 at 10:54:17AM +0200, Fabian Ebner wrote:
> while introducing a 'product' parameter to the relevant functions.
> 
> Suggested-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
> Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
> ---
> 
> I did the changes in Proxmox/Lib/Common.pm (and Makefile) manually.
> Is that the intended way or could I have generated those somehow?
> 
> Hope I got these right:
> 
> pve-manager (respectively pmg-api) depends and build-depends on
> libproxmox-rs-perl and libpve-rs-perl (respectively libpmg-rs-perl).
> Both are needed, because just upgrading libproxmox-rs-perl doesn't
> make the new functionality available in the product-specific shared
> lib.
> 
> New libpve-rs-perl breaks old pve-manager and new libpmg-rs-perl
> breaks old pmg-api.

I mean in theory we could keep the old functions and just have them
forward to the common module with the corresponding product parameter
added, for a little while anyway?

> 
> I don't think there's a depends/breaks needed between
> libproxmox-perl-rs and lib{pmg, pve}-rs-perl, but we could also go
> ahead an do that, and have pve-manager and pmg-api only depend on one
> of the above rather than both.
> 
>  Makefile                                   |   6 +-
>  Proxmox/Lib/Common.pm                      |   8 +
>  {pmg-rs => common}/src/apt/mod.rs          |   0
>  {pmg-rs => common}/src/apt/repositories.rs |  18 ++-
>  common/src/mod.rs                          |   1 +
>  pmg-rs/src/lib.rs                          |   1 -
>  pve-rs/src/apt/mod.rs                      |   1 -
>  pve-rs/src/apt/repositories.rs             | 162 ---------------------
>  pve-rs/src/lib.rs                          |   1 -
>  9 files changed, 22 insertions(+), 176 deletions(-)
>  rename {pmg-rs => common}/src/apt/mod.rs (100%)
>  rename {pmg-rs => common}/src/apt/repositories.rs (86%)
>  delete mode 100644 pve-rs/src/apt/mod.rs
>  delete mode 100644 pve-rs/src/apt/repositories.rs
> 
> diff --git a/Makefile b/Makefile
> index 6f9b597..4b59a57 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -41,13 +41,13 @@ pve pmg:
>  gen:
>  	$(call package_template,PMG,pmg_rs)
>  	$(call package_template,PVE,pve_rs)
> -	perl ./scripts/genpackage.pl Common Proxmox::RS::CalendarEvent
> +	perl ./scripts/genpackage.pl Common \
> +	  Proxmox::RS::APT::Repositories \
> +	  Proxmox::RS::CalendarEvent
>  	perl ./scripts/genpackage.pl PVE \
> -	  PVE::RS::APT::Repositories \
>  	  PVE::RS::OpenId \
>  	  PVE::RS::TFA
>  	perl ./scripts/genpackage.pl PMG \
> -	  PMG::RS::APT::Repositories \
>  	  PMG::RS::Acme \
>  	  PMG::RS::CSR \
>  	  PMG::RS::OpenId \
> diff --git a/Proxmox/Lib/Common.pm b/Proxmox/Lib/Common.pm
> index d8a0d57..668986d 100644
> --- a/Proxmox/Lib/Common.pm
> +++ b/Proxmox/Lib/Common.pm
> @@ -6,6 +6,14 @@ Proxmox::Lib::Common - base module for rust bindings common between PVE and PMG
>  
>  =head1 SYNOPSIS
>  
> +    package Proxmox::RS::APT::Repositories;
> +
> +    use base 'Proxmox::Lib::Common';
> +
> +    BEGIN { __PACKAGE__->bootstrap(); }
> +
> +    1;
> +

This is just example documentation, no need to do anything to this file
at all.

>      package Proxmox::RS::CalendarEvent;
>  
>      use base 'Proxmox::Lib::Common';




More information about the pve-devel mailing list