Index: third_party/dpkg-dev/scripts/Dpkg/Vendor.pm |
diff --git a/third_party/dpkg-dev/scripts/Dpkg/Vendor.pm b/third_party/dpkg-dev/scripts/Dpkg/Vendor.pm |
deleted file mode 100644 |
index 96d09764df4f82aea5638b68d06488383dc4f6ab..0000000000000000000000000000000000000000 |
--- a/third_party/dpkg-dev/scripts/Dpkg/Vendor.pm |
+++ /dev/null |
@@ -1,182 +0,0 @@ |
-# Copyright © 2008-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; |
- |
-use strict; |
-use warnings; |
- |
-our $VERSION = '1.01'; |
- |
-use Dpkg (); |
-use Dpkg::ErrorHandling; |
-use Dpkg::Gettext; |
-use Dpkg::BuildEnv; |
-use Dpkg::Control::HashCore; |
- |
-use Exporter qw(import); |
-our @EXPORT_OK = qw(get_vendor_info get_current_vendor get_vendor_file |
- get_vendor_dir get_vendor_object run_vendor_hook); |
- |
-my $origins = "$Dpkg::CONFDIR/origins"; |
-$origins = $ENV{DPKG_ORIGINS_DIR} if $ENV{DPKG_ORIGINS_DIR}; |
- |
-=encoding utf8 |
- |
-=head1 NAME |
- |
-Dpkg::Vendor - get access to some vendor specific information |
- |
-=head1 DESCRIPTION |
- |
-The files in $Dpkg::CONFDIR/origins/ can provide information about various |
-vendors who are providing Debian packages. Currently those files look like |
-this: |
- |
- Vendor: Debian |
- Vendor-URL: http://www.debian.org/ |
- Bugs: debbugs://bugs.debian.org |
- |
-If the vendor derives from another vendor, the file should document |
-the relationship by listing the base distribution in the Parent field: |
- |
- Parent: Debian |
- |
-The file should be named according to the vendor name. |
- |
-=head1 FUNCTIONS |
- |
-=over 4 |
- |
-=item $dir = Dpkg::Vendor::get_vendor_dir() |
- |
-Returns the current dpkg origins directory name, where the vendor files |
-are stored. |
- |
-=cut |
- |
-sub get_vendor_dir { |
- return $origins; |
-} |
- |
-=item $fields = Dpkg::Vendor::get_vendor_info($name) |
- |
-Returns a Dpkg::Control object with the information parsed from the |
-corresponding vendor file in $Dpkg::CONFDIR/origins/. If $name is omitted, |
-it will use $Dpkg::CONFDIR/origins/default which is supposed to be a symlink |
-to the vendor of the currently installed operating system. Returns undef |
-if there's no file for the given vendor. |
- |
-=cut |
- |
-sub get_vendor_info(;$) { |
- my $vendor = shift || 'default'; |
- my $file = get_vendor_file($vendor); |
- return unless $file; |
- my $fields = Dpkg::Control::HashCore->new(); |
- $fields->load($file) or error(_g('%s is empty'), $file); |
- return $fields; |
-} |
- |
-=item $name = Dpkg::Vendor::get_vendor_file($name) |
- |
-Check if there's a file for the given vendor and returns its |
-name. |
- |
-=cut |
- |
-sub get_vendor_file(;$) { |
- my $vendor = shift || 'default'; |
- my $file; |
- my @tries = ($vendor, lc($vendor), ucfirst($vendor), ucfirst(lc($vendor))); |
- if ($vendor =~ s/\s+/-/) { |
- push @tries, $vendor, lc($vendor), ucfirst($vendor), ucfirst(lc($vendor)); |
- } |
- foreach my $name (@tries) { |
- $file = "$origins/$name" if -e "$origins/$name"; |
- } |
- return $file; |
-} |
- |
-=item $name = Dpkg::Vendor::get_current_vendor() |
- |
-Returns the name of the current vendor. If DEB_VENDOR is set, it uses |
-that first, otherwise it falls back to parsing $Dpkg::CONFDIR/origins/default. |
-If that file doesn't exist, it returns undef. |
- |
-=cut |
- |
-sub get_current_vendor() { |
- my $f; |
- if (Dpkg::BuildEnv::has('DEB_VENDOR')) { |
- $f = get_vendor_info(Dpkg::BuildEnv::get('DEB_VENDOR')); |
- return $f->{'Vendor'} if defined $f; |
- } |
- $f = get_vendor_info(); |
- return $f->{'Vendor'} if defined $f; |
- return; |
-} |
- |
-=item $object = Dpkg::Vendor::get_vendor_object($name) |
- |
-Return the Dpkg::Vendor::* object of the corresponding vendor. |
-If $name is omitted, return the object of the current vendor. |
-If no vendor can be identified, then return the Dpkg::Vendor::Default |
-object. |
- |
-=cut |
- |
-my %OBJECT_CACHE; |
-sub get_vendor_object { |
- my $vendor = shift || get_current_vendor() || 'Default'; |
- return $OBJECT_CACHE{$vendor} if exists $OBJECT_CACHE{$vendor}; |
- |
- my ($obj, @names); |
- if ($vendor ne 'Default') { |
- push @names, $vendor, lc($vendor), ucfirst($vendor), ucfirst(lc($vendor)); |
- } |
- foreach my $name (@names, 'Default') { |
- eval qq{ |
- require Dpkg::Vendor::$name; |
- \$obj = Dpkg::Vendor::$name->new(); |
- }; |
- last unless $@; |
- } |
- $OBJECT_CACHE{$vendor} = $obj; |
- return $obj; |
-} |
- |
-=item Dpkg::Vendor::run_vendor_hook($hookid, @params) |
- |
-Run a hook implemented by the current vendor object. |
- |
-=cut |
- |
-sub run_vendor_hook { |
- my $vendor_obj = get_vendor_object(); |
- $vendor_obj->run_hook(@_); |
-} |
- |
-=back |
- |
-=head1 CHANGES |
- |
-=head2 Version 1.01 |
- |
-New function: get_vendor_dir(). |
- |
-=cut |
- |
-1; |