| Index: third_party/dpkg-dev/scripts/Dpkg/Vendor/Default.pm
|
| diff --git a/third_party/dpkg-dev/scripts/Dpkg/Vendor/Default.pm b/third_party/dpkg-dev/scripts/Dpkg/Vendor/Default.pm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f2d8affc150b087ca388ddfa59a82cc8f2da6784
|
| --- /dev/null
|
| +++ b/third_party/dpkg-dev/scripts/Dpkg/Vendor/Default.pm
|
| @@ -0,0 +1,136 @@
|
| +# Copyright © 2009 Raphaël Hertzog <hertzog@debian.org>
|
| +#
|
| +# This program is free software; you can redistribute it and/or modify
|
| +# it under the terms of the GNU General Public License as published by
|
| +# the Free Software Foundation; either version 2 of the License, or
|
| +# (at your option) any later version.
|
| +#
|
| +# This program is distributed in the hope that it will be useful,
|
| +# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
| +# GNU General Public License for more details.
|
| +#
|
| +# You should have received a copy of the GNU General Public License
|
| +# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
| +
|
| +package Dpkg::Vendor::Default;
|
| +
|
| +use strict;
|
| +use warnings;
|
| +
|
| +our $VERSION = '0.01';
|
| +
|
| +# If you use this file as template to create a new vendor object, please
|
| +# uncomment the following lines
|
| +#use parent qw(Dpkg::Vendor::Default);
|
| +
|
| +=encoding utf8
|
| +
|
| +=head1 NAME
|
| +
|
| +Dpkg::Vendor::Default - default vendor object
|
| +
|
| +=head1 DESCRIPTION
|
| +
|
| +A vendor object is used to provide vendor specific behaviour
|
| +in various places. This is the default object used in case
|
| +there's none for the current vendor or in case the vendor could
|
| +not be identified (see Dpkg::Vendor documentation).
|
| +
|
| +It provides some hooks that are called by various dpkg-* tools.
|
| +If you need a new hook, please file a bug against dpkg-dev and explain
|
| +your need. Note that the hook API has no guaranty to be stable over an
|
| +extended period. If you run an important distribution that makes use
|
| +of vendor hooks, you'd better submit them for integration so that
|
| +we avoid breaking your code.
|
| +
|
| +=head1 FUNCTIONS
|
| +
|
| +=over 4
|
| +
|
| +=item $vendor_obj = Dpkg::Vendor::Default->new()
|
| +
|
| +Creates the default vendor object. Can be inherited by all vendor objects
|
| +if they don't need any specific initialization at object creation time.
|
| +
|
| +=cut
|
| +
|
| +sub new {
|
| + my ($this) = @_;
|
| + my $class = ref($this) || $this;
|
| + my $self = {};
|
| + bless $self, $class;
|
| + return $self;
|
| +}
|
| +
|
| +=item $vendor_obj->run_hook($id, @params)
|
| +
|
| +Run the corresponding hook. The parameters are hook-specific. The
|
| +supported hooks are:
|
| +
|
| +=over 8
|
| +
|
| +=item before-source-build ($srcpkg)
|
| +
|
| +The first parameter is a Dpkg::Source::Package object. The hook is called
|
| +just before the execution of $srcpkg->build().
|
| +
|
| +=item keyrings ()
|
| +
|
| +The hook is called when dpkg-source is checking a signature on a source
|
| +package. It takes no parameters, but returns a (possibly empty) list of
|
| +vendor-specific keyrings.
|
| +
|
| +=item register-custom-fields ()
|
| +
|
| +The hook is called in Dpkg::Control::Fields to register custom fields.
|
| +You should return a list of arrays. Each array is an operation to perform.
|
| +The first item is the name of the operation and corresponds
|
| +to a field_* function provided by Dpkg::Control::Fields. The remaining
|
| +fields are the parameters that are passed unchanged to the corresponding
|
| +function.
|
| +
|
| +Known operations are "register", "insert_after" and "insert_before".
|
| +
|
| +=item post-process-changelog-entry ($fields)
|
| +
|
| +The hook is called in Dpkg::Changelog to post-process a
|
| +Dpkg::Changelog::Entry after it has been created and filled with the
|
| +appropriate values.
|
| +
|
| +=item update-buildflags ($flags)
|
| +
|
| +The hook is called in Dpkg::BuildFlags to allow the vendor to override
|
| +the default values set for the various build flags. $flags is a
|
| +Dpkg::BuildFlags object.
|
| +
|
| +=back
|
| +
|
| +=cut
|
| +
|
| +sub run_hook {
|
| + my ($self, $hook, @params) = @_;
|
| +
|
| + if ($hook eq 'before-source-build') {
|
| + my $srcpkg = shift @params;
|
| + } elsif ($hook eq 'keyrings') {
|
| + return ();
|
| + } elsif ($hook eq 'register-custom-fields') {
|
| + return ();
|
| + } elsif ($hook eq 'post-process-changelog-entry') {
|
| + my $fields = shift @params;
|
| + } elsif ($hook eq 'extend-patch-header') {
|
| + my ($textref, $ch_info) = @params;
|
| + } elsif ($hook eq 'update-buildflags') {
|
| + my $flags = shift @params;
|
| + }
|
| +
|
| + # Default return value for unknown/unimplemented hooks
|
| + return;
|
| +}
|
| +
|
| +=back
|
| +
|
| +=cut
|
| +
|
| +1;
|
|
|