[Reproducible-commits] [perl] 24/36: Remove obsolete debian/check-control script

Mattia Rizzolo mattia at mapreri.org
Tue Nov 17 14:01:04 UTC 2015


This is an automated email from the git hooks/post-receive script.

mapreri-guest pushed a commit to branch pu/reproducible_builds
in repository perl.

commit 0192e58f71267cd3a6756cf334107028d573e93a
Author: Niko Tyni <ntyni at debian.org>
Date:   Fri Apr 24 13:58:13 2015 +0300

    Remove obsolete debian/check-control script
    
    This was moved to debian/t in 5.12.4-1 but got accidentally
    reintroduced in a later merge.
---
 debian/changelog     |   1 +
 debian/check-control | 289 ---------------------------------------------------
 2 files changed, 1 insertion(+), 289 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 235a11d..62195b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,7 @@ perl (5.20.2-4) UNRELEASED; urgency=medium
   * Backport podlators patch to improve error handling with standard
     input. (Closes: #777405)
   * Minor improvements to the package maintainer test framework.
+    + remove the obsolete debian/check-control script
 
  -- Niko Tyni <ntyni at debian.org>  Fri, 10 Apr 2015 10:00:15 +0300
 
diff --git a/debian/check-control b/debian/check-control
deleted file mode 100755
index 864cbfb..0000000
--- a/debian/check-control
+++ /dev/null
@@ -1,289 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-
-# Copyright 2011 Niko Tyni
-# 
-# This program is free software; you can redistribute it and/or modify
-# it under the same terms as Perl itself.
-
-# This script was created for checking the Breaks/Replaces/Provides
-# triplets in the debian/control file of the Debian perl source package.
-#
-# 1) check the versioned Breaks against Module::CoreList information
-#  
-# 2) check that all Breaks entries have appropriate Replaces and Provides
-#    entries
-#
-# 3) check that there are no packages in the Debian archive (as seen via
-#    the local apt package cache) that should have Breaks/Replaces/Provides
-#    entries
-#
-# See the the hashes below for hardcoded special cases that will probably
-# need to be updated in the future.
-
-
-# list special cases of version numbers that are OK here
-# version numbering discontinuities (epochs, added digits) cause these
-my %ok = (
-	"libcgi-pm-perl" => {
-		"3.49" => "3.49-1squeeze1",
-	},
-	"libextutils-parsexs-perl" => {
-		"2.2002" => "2.2002",
-	},
-	"libextutils-cbuilder-perl" => {
-		"0.2602" => "0.2602",
-		"0.27"   => "0.2700",
-	},
-	"libparse-cpan-meta-perl" => {
-		"1.39" => "1.39",
-		"1.40" => "1.40",
-	},
-	"libmath-bigint-perl" => {
-		"1.89" => "1.89",
-	},
-	"libautodie-perl" => {
-		"2.1001" => "2.10.01",
-	},
-);
-
-# list special cases where a Breaks entry doesn't need to imply
-# Replaces+Provides
-my %triplet_check_skip = (
-	"perl-base" => [ "libfile-spec-perl" ],
-	"perl-modules" => [ qw(
-		libswitch-perl
-		libpod-plainer-perl
-		libclass-isa-perl
-		libshell-perl
-		libdevel-dprof-perl
-	)],
-);
-
-# list special cases where the name of the Debian package does not
-# match a module name that has a right $VERSION entry
-my %special_modules = (
-	"libcgi-pm-perl" => 'CGI',
-	"libansicolor-perl" => 'Term::ANSIColor',
-	"libio-compress-perl" => "IO::Compress::Gzip",
-	"libio-compress-zlib-perl" => "IO::Compress::Gzip",
-	"liblocale-codes-perl" => "Locale::Country",
-	"libscalar-list-utils-perl" => "List::Util",
-);
-
-
-use Test::More;
-use Module::CoreList;
-use Dpkg::Control::Info;
-use Dpkg::Deps;
-
-use AptPkg::Config '$_config';
-use AptPkg::System '$_system';
-use AptPkg::Cache;
-_init_AptPkg();
-
-# AptPkg offers a proper Debian version comparison mechanism
-my $versioning = $_system->versioning;
-my $apt = AptPkg::Cache->new;
-
-# slurp in the control info
-my $control = Dpkg::Control::Info->new(shift || "debian/control");
-
-my $perl_version = get_perl_version();
-
-# the 5.10 packaging used Conflicts; 5.12 onwards uses Breaks
-my $breaksname = ($perl_version <= 5.010001 ? "Conflicts" : "Breaks");
-
-# initialize the corelist info
-my $corelist = $Module::CoreList::version{$perl_version};
-die(qq(no Module::CoreList information found for $perl_version (try "perl -Idist/Module-CoreList/lib $0")))
-	if !defined $corelist;
-
-# for the known modules in the corelist, create a mapping
-# from a probable Debian package name to the CPAN distribution name
-#
-# this is mostly to get the casing right (Io vs. IO etc.)
-my %debian_from_cpan_guess;
-for my $cpan_name (keys %$corelist) {
-	my $guess = "lib" . (lc $cpan_name) . "-perl";
-	$guess =~ s/::/-/g;
-	$debian_from_cpan_guess{$guess} = $cpan_name;
-}
-
-# we also store the other way around so we don't have to do
-# the above dance every time
-my %cpan_from_debian_guess = reverse %debian_from_cpan_guess;
-
-# cache the list of our own binary packages for later
-my %is_perl_binary;
-
-my %deps_found;
-my $breaks_total = 0;
-
-for my $perl_package_info ($control->get_packages) {
-	my $perl_package_name = $perl_package_info->{Package};
-	my $dep_found = $deps_found{$perl_package_name} ||= {};
-	$is_perl_binary{$perl_package_name}++;
-	next if !exists $perl_package_info->{$breaksname};
-
-	# cache all the targets for Breaks, Replaces and Provides for later
-	# we store Dpkg::Deps::Simple objects for each target
-	for my $deptype ($breaksname, "Replaces", "Provides") {
-		next if !exists $perl_package_info->{$deptype};
-
-		# Dpkg::Deps cannot parse unsubstituted substvars so remove this
-		$perl_package_info->{$deptype} =~ s/\${perlapi:Provides}//;
-
-		my $parsed = deps_parse($perl_package_info->{$deptype});
-		next if !defined $parsed;
-		for my $target ($parsed->get_deps) {
-			$dep_found->{$deptype}{$target->{package}} = $target;
-			$breaks_total++ if $deptype eq $breaksname;
-		}
-	}
-}
-
-plan tests => 3 * $breaks_total + 2;
-
-ok($breaks_total, "successfully parsed debian/control");
-
-for my $perl_package_name (keys %deps_found) {
-	my $dep_found = $deps_found{$perl_package_name};
-	# go through all the Breaks targets
-	#  check the version against Module::CoreList
-	#  check for appropriate Replaces and Provides entries 
-	#
-	# the number of digits is a pain
-	#  we use the current version in the Debian archive to determine
-	#  how many we need
-	for my $broken (keys %{$dep_found->{$breaksname}}) {
-		my $module = deb2cpan($broken);
-		my ($archive_epoch, $archive_digits) = get_archive_info($broken);
-
-		my $broken_version = $dep_found->{$breaksname}{$broken}{version};
-		$broken_version =~ s/-\d+$//; # remove the Debian revision
-
-		SKIP: {
-			skip("$module is unknown to Module::CoreList", 3)
-				if !exists $corelist->{$module};
-
-			my $corelist_version =
-				cpan_version_to_deb($corelist->{$module}, $broken, $archive_digits);
-			$corelist_version = $archive_epoch . ":". $corelist_version
-				if $archive_epoch;
-
-			is($broken_version, $corelist_version,
-				"Breaks for $broken in $perl_package_name matches Module::CoreList for $module");
-
-			skip("not checking Replaces and Provides for $broken in $perl_package_name", 2)
-				if $triplet_check_skip{$perl_package_name} &&
-					grep { $_ eq $broken } @{$triplet_check_skip{$perl_package_name}};
-
-			for my $dep (qw(Replaces Provides)) {
-				ok(exists $dep_found->{$dep}{$broken},
-					"Breaks for $broken in $perl_package_name implies $dep");
-			}
-		}
-	}
-}
-
-# finally, also check if there are any (new?) packages in the archive
-# that match Module::CoreList
-my @found_in_archive;
-for my $module (keys %$corelist) {
-	my $package = $cpan_from_debian_guess{$module};
-	next if grep $deps_found{$_}{$breaksname}{$package}, keys %deps_found;
-	next if $is_perl_binary{$package};
-	push @found_in_archive, $package
-		if exists $apt->{$package}
-		&& exists $apt->{$package}{VersionList};
-}
-my $found_in_archive = join(" ", @found_in_archive);
-is($found_in_archive, "", "no potential packages for new Provides/Replaces/Breaks found in the archive");
-
-# convert libfoo-bar-perl to Foo::Bar
-sub deb2cpan {
-	local $_ = shift;
-	return $special_modules{$_} if exists $special_modules{$_};
-	return $debian_from_cpan_guess{$_} if exists $debian_from_cpan_guess{$_};
-	s/^lib(.*)-perl/$1/;
-	s/-/::/g;
-	s/(\w+)/\u$1/g;
-	return $_;
-}
-			
-sub cpan_version_to_deb {
-	my $cpan_version = shift;
-	my $package = shift;
-	my $digits = shift;
-
-	# cpan_version
-	#         digits
-	#                result
-	# 1.15_02,  2 => 1.15.02
-	# 1.15_02,  4 => 1.1502
-	# 1.15_02,  0 => 1.15.02
-	# 
-	# 1.15_021, 2 => 1.15.021
-	# 1.15_021, 4 => 1.1500.021
-	# 1.15_021, 0 => 1.15.021
-	#
-	# 1.15,	 1 => 1.15
-	# 1.15,	 2 => 1.15
-	# 1.15,	 4 => 1.1500
-	# 1.15,	 0 => 1.15
-
-	return $ok{$package}{$cpan_version} if exists $ok{$package}{$cpan_version};
-
-	# 1.15_02 => (1, 15, 02)
-	my ($major, $prefix, $suffix) = ($cpan_version =~ /^(\d+\.)(\d+)(?:_(\d+))?$/);
-	die("no match with $cpan_version?") if !$major;
-
-	$suffix ||= "";
-	if (length($suffix) + length($prefix) == $digits) {
-		$prefix .= $suffix;
-		$suffix = "";
-	}
-	if (length($suffix) + length($prefix) < $digits) {
-		$prefix .= "0" while length($prefix) < $digits;
-	}
-	$suffix = ".$suffix" if $suffix ne "";
-	$major.$prefix.$suffix;
-}
-
-sub get_archive_info {
-	my $p = shift;
-	return (0, 0) if !exists $apt->{$p};
-	return (0, 0) if !exists $apt->{$p}{VersionList}; # virtual package
-	my $latest = (sort byversion @{$apt->{$p}{VersionList}})[-1];
-	my $v = $latest->{VerStr};
-	my ($epoch, $major, $prefix, $suffix, $revision) =
-		($v =~ /^(?:(\d+):)?((?:\d+\.))+(\d+)(?:_(\d+))?(-[^-]+)$/);
-	return ($epoch, length $prefix);
-}
-
-sub byversion {
-	return $versioning->compare($a->{VerStr}, $b->{VerStr});
-}
-
-sub _init_AptPkg {
-	# From /usr/share/doc/libapt-pkg-perl/examples/apt-cache
-	#
-	# initialise the global config object with the default values and
-	# setup the $_system object
-	$_config->init;
-	$_system = $_config->system;
-	# supress cache building messages
-	$_config->{quiet} = 2;
-}
-
-sub get_perl_version {
-	# if cwd is a perl source directory, we check the corelist information
-	# for that. Otherwise, fall back to the running perl version
-	my $perl_version = qx'dpkg-parsechangelog | \
-		sed -ne "s/-[^-]\+$//; s/~.*//; s/^Version: *\([0-9]\+:\)*//p"';
-	chomp $perl_version;
-	$perl_version = version->parse($perl_version || $])->numify;
-	diag("testing for $perl_version");
-	return $perl_version;
-}

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/perl.git



More information about the Reproducible-commits mailing list