...
 
Commits (6)
libwx-perl (1:0.9932-5) UNRELEASED; urgency=medium
* Replace reproducible_output.patch with 2 patches from openSUSE.
Thanks to Stefan Brüns for the bug report with the pointer.
(Closes: #901544)
* Declare compliance with Debian Policy 4.1.4.
* Bump debhelper compatibility level to 10.
* Remove '--parallel' from default target in debian/rules as it's the
default now for debhelper.
* Fix typo in description in fix-fake-pod.patch.
-- gregor herrmann <gregoa@debian.org> Thu, 14 Jun 2018 22:24:24 +0200
libwx-perl (1:0.9932-4) unstable; urgency=medium
* Team upload.
......
......@@ -8,7 +8,7 @@ Uploaders: gregor herrmann <gregoa@debian.org>,
Section: perl
Testsuite: autopkgtest-pkg-perl
Priority: optional
Build-Depends: debhelper (>= 9.20120312~),
Build-Depends: debhelper (>= 10),
perl,
libalien-wxwidgets-perl (>= 0.69+dfsg-2~),
libextutils-xspp-perl,
......@@ -18,7 +18,7 @@ Build-Depends: debhelper (>= 9.20120312~),
xauth,
xfonts-base,
xvfb
Standards-Version: 4.1.3
Standards-Version: 4.1.4
Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libwx-perl
Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libwx-perl.git
Homepage: http://wxperl.sourceforge.net/
......
Author: Reiner Herrmann <reiner@reiner-h.de>
Description: Produce sorted output to get reproducible results
Bug-Debian: https://bugs.debian.org/787265
From cfb24d6c3de259ad46fdc96099419fed22636c28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Tue, 21 Feb 2017 06:37:03 +0100
Subject: [PATCH 1/2] Sort output of dumped dictionaries for reproducible
builds
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
By default, dictionaries are dumped in hash order, with a random hash
initialization value.
Also sort export list and make entries unique, exports may be declared
in multiple files.
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
---
build/Wx/build/MakeMaker/Any_OS.pm | 2 ++
build/Wx/build/Options.pm | 2 ++
script/fix_alien_path.pl | 2 ++
script/make_exp_list.pl | 13 ++++++++++---
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/build/Wx/build/MakeMaker/Any_OS.pm b/build/Wx/build/MakeMaker/Any_OS.pm
index 55d3b7b..5dd2a2f 100644
--- a/build/Wx/build/MakeMaker/Any_OS.pm
+++ b/build/Wx/build/MakeMaker/Any_OS.pm
@@ -200,6 +200,7 @@
@@ -200,6 +200,8 @@ sub postamble_core {
# strictly necessary, but it's better to keep them in case the
# dependencies here are changed
require Data::Dumper;
+ # sort output for reproducible builds
+ $Data::Dumper::Sortkeys = 1;
Wx::build::Utils::write_string( 'files.lst',
Data::Dumper->Dump( [ \%files ] ) );
# $exp and fix_alien depend on wxt_copy_files to ensure that blib/lib/Wx
diff --git a/build/Wx/build/Options.pm b/build/Wx/build/Options.pm
index 578bec5..a0fb8da 100644
--- a/build/Wx/build/Options.pm
+++ b/build/Wx/build/Options.pm
@@ -163,6 +163,7 @@
@@ -163,6 +163,8 @@ sub write_config_file {
my $file = shift;
require Data::Dumper;
+ # sort output for reproducible builds
+ $Data::Dumper::Sortkeys = 1;
my $str = Data::Dumper->Dump( [ { extra_libs => $extra_libs,
extra_cflags => $extra_cflags,
alien_key => $alien_key,
diff --git a/script/fix_alien_path.pl b/script/fix_alien_path.pl
index 99aca90..83266a7 100644
--- a/script/fix_alien_path.pl
+++ b/script/fix_alien_path.pl
@@ -20,6 +20,8 @@
use Data::Dumper;
use File::Spec::Functions qw(splitpath splitdir);
@@ -30,6 +30,8 @@ my $key = Alien::wxWidgets->key;
my $version = Alien::wxWidgets->version;
my @libs = Alien::wxWidgets->library_keys;
my %libs; @libs{@libs} = Alien::wxWidgets->shared_libraries( @libs );
+# sort output for reproducible builds
+$Data::Dumper::Sortkeys = 1;
+
# we do not care about the options, just that Alien::wxWidgets
# is initialized with the correct key
Wx::build::Options->get_makemaker_options( 'saved' );
my $libs = Data::Dumper::Dumper( \%libs );
my $keyd;
diff --git a/script/make_exp_list.pl b/script/make_exp_list.pl
index 211a484..9b32dbd 100644
--- a/script/make_exp_list.pl
+++ b/script/make_exp_list.pl
@@ -15,6 +15,8 @@
# @EXPORT_OK and %EXPORT_TAGS for Wx.pm (constants in Constant.xs)
#
@@ -22,6 +22,11 @@ my %packages;
my $tag;
my $package;
+use List::Util qw(uniq);
+sub unique_sorted {
+ my %v = %{ { map { ($_ => 1) } @{$_[0]} } };
+ sort keys %v;
+}
+
my $ext = shift @ARGV;
sub add_to_exports {
my( $values, $tags ) = @_;
@@ -91,11 +96,12 @@ package Wx::Wx_Exp; # for RPM
EOT
my $parser;
@@ -95,7 +97,11 @@ print OUT <<EOT;
foreach my $package ( sort keys %packages ) {
-print OUT <<EOT;
+ my @exp = unique_sorted( $packages{$package}{exp_ok} );
+ print OUT <<EOT;
package ${package};
-push \@EXPORT_OK, qw(@{$packages{$package}{exp_ok}});
+push \@EXPORT_OK, qw(
+EOT
+print OUT join("\n", sort(uniq(@{$packages{$package}{exp_ok}})));
+print OUT <<EOT;
+);
+push \@EXPORT_OK, qw(@exp);
\$EXPORT_TAGS{'everything'} = \\\@EXPORT_OK;
@@ -104,7 +110,11 @@ EOT
@@ -103,8 +109,9 @@ EOT
foreach my $tag ( sort keys %{ $packages{$package}{tags} } ) {
next unless length $tag;
+ my @pkgtags = unique_sorted( $packages{$package}{tags}{$tag} );
print OUT <<EOT;
-\$EXPORT_TAGS{'$tag'} = [ qw(@{ $packages{$package}{tags}{$tag} }) ];
+\$EXPORT_TAGS{'$tag'} = [ qw(
+EOT
+print OUT join("\n", sort(uniq(@{ $packages{$package}{tags}{$tag} })));
+print OUT <<EOT;
+) ];
+\$EXPORT_TAGS{'$tag'} = [ qw(@pkgtags) ];
EOT
}
}
--
2.11.1
From 5b46e838686eaf039942892dbe471c48e8818bc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Mon, 27 Feb 2017 20:47:08 +0100
Subject: [PATCH 2/2] Provide overload methods to XSpp in sorted order
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
---
build/Wx/XSP/Overload.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/Wx/XSP/Overload.pm b/build/Wx/XSP/Overload.pm
index 34f89e9..40e1c77 100644
--- a/build/Wx/XSP/Overload.pm
+++ b/build/Wx/XSP/Overload.pm
@@ -85,7 +85,7 @@ sub post_process {
$node->add_methods( ExtUtils::XSpp::Node::Raw->new( rows => [ '#include "cpp/overload.h"' ] ) );
}
- foreach my $method_name ( @ovl_methods ) {
+ foreach my $method_name ( sort @ovl_methods ) {
_add_overload( $self, $node, $all_methods{$method_name} );
}
}
--
2.11.1
Description: fix =pod usege where '=for comment' is meant
Description: fix =pod usage where '=for comment' is meant
Having it as POD makes it into man page, which is incomplete and useless
Author: Damyan Ivanov <dmn@debian.org>
Bug: https://rt.cpan.org/Ticket/Display.html?id=70362
......
......@@ -4,5 +4,6 @@ hashbang.patch
fix-fake-pod.patch
spelling.patch
0001-Fix-Wx-_load_plugin-segfaulting-when-wxPluginManager.patch
reproducible_output.patch
0001-Sort-output-of-dumped-dictionaries-for-reproducible-.patch
0002-Provide-overload-methods-to-XSpp-in-sorted-order.patch
gtk3.patch
......@@ -12,7 +12,7 @@ _DETECTION_CMD := perl -MAlien::wxWidgets -e '$$key = Alien::wxWidgets->key; $$k
export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
$(DEBIAN_TARGETS):
dh $@ --parallel
dh $@
# xvfb-run defaults to 8-bit colour depth, which causes some tests to fail.
override_dh_auto_test:
......