This module's purpose is to provide shared functions, constants, etc. for storage plugins and storage-related operations.
It also contains the `get_deprecation_warning` subroutine that makes it easier to warn developers and/or plugin authors that a subroutine will be removed in the future. Signed-off-by: Max Carrara <m.carr...@proxmox.com> --- src/PVE/Storage/Common.pm | 59 +++++++++++++++++++++++++++++++++ src/PVE/Storage/Common/Makefile | 6 ++++ src/PVE/Storage/Makefile | 1 + 3 files changed, 66 insertions(+) create mode 100644 src/PVE/Storage/Common.pm create mode 100644 src/PVE/Storage/Common/Makefile diff --git a/src/PVE/Storage/Common.pm b/src/PVE/Storage/Common.pm new file mode 100644 index 0000000..f828c8c --- /dev/null +++ b/src/PVE/Storage/Common.pm @@ -0,0 +1,59 @@ +package PVE::Storage::Common; + +use strict; +use warnings; + +use parent qw(Exporter); + +our @EXPORT_OK = qw( + get_deprecation_warning +); + +=pod + +=head1 NAME + +PVE::Storage::Common - Shared functions and utilities for storage plugins and storage operations + +=head1 DESCRIPTION + +This module contains common subroutines that are mainly to be used by storage +plugins. This module's submodules contain subroutines that are tailored towards +a more specific or related purpose. + +Functions concerned with storage-related C<PVE::SectionConfig> things, helpers +for the C<PVE::Storage> API can be found in this module. Functions that can't +be grouped in a submodule can also be found here. + +=head1 SUBMODULES + +=over + +=back + +=head1 FUNCTIONS + +=cut + +=pod + +=head3 get_deprecation_warning + + $warning = get_deprecation_warning($new_sub_name) + +Returns a string that warns that the subroutine that called C<get_deprecation_warning> +will be removed in the future and notes that C<$new_sub_name> should be used +instead. + +=cut + +sub get_deprecation_warning : prototype($) { + my ($new_sub_name) = @_; + + my $calling_sub = (caller(1))[3]; + + return "The subroutine '$calling_sub' is deprecated and will be removed in " + . "the future. Please use '$new_sub_name' instead."; +} + +1; diff --git a/src/PVE/Storage/Common/Makefile b/src/PVE/Storage/Common/Makefile new file mode 100644 index 0000000..0c4bba5 --- /dev/null +++ b/src/PVE/Storage/Common/Makefile @@ -0,0 +1,6 @@ +SOURCES = \ + + +.PHONY: install +install: + for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/Storage/Common/$$i; done diff --git a/src/PVE/Storage/Makefile b/src/PVE/Storage/Makefile index d5cc942..2627062 100644 --- a/src/PVE/Storage/Makefile +++ b/src/PVE/Storage/Makefile @@ -18,5 +18,6 @@ SOURCES= \ .PHONY: install install: + make -C Common install for i in ${SOURCES}; do install -D -m 0644 $$i ${DESTDIR}${PERLDIR}/PVE/Storage/$$i; done make -C LunCmd install -- 2.39.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel