From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 0AEC11FF2C8 for ; Wed, 17 Jul 2024 11:41:25 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 05BBC3833B; Wed, 17 Jul 2024 11:41:43 +0200 (CEST) From: Max Carrara To: pve-devel@lists.proxmox.com Date: Wed, 17 Jul 2024 11:40:05 +0200 Message-Id: <20240717094034.124857-8-m.carrara@proxmox.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240717094034.124857-1-m.carrara@proxmox.com> References: <20240717094034.124857-1-m.carrara@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.030 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [RFC pve-storage 07/36] common: introduce common module X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" 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 --- 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 things, helpers +for the C 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 +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