Source: javatools Version: 0.62 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness toolchain X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0], we noticed that javatools does not generate reproducible MANIFEST.MF files: │ │ │ │ ├── META-INF/MANIFEST.MF │ │ │ │ │┄ ordering differences only │ │ │ │ │ @@ -4,37 +4,37 @@ │ │ │ │ │ Bundle-SymbolicName: org.w3c.css.sac │ │ │ │ │ Bundle-Vendor: Debian.org │ │ │ │ │ Bundle-Version: 1.4 │ │ │ │ │ Created-By: 1.3.1 (IBM Corporation) │ │ │ │ │ Export-Package: org.w3c.css.sac,org.w3c.css.sac.helpers,org.w3c.dom.smil │ │ │ │ │ ,org.w3c.dom.svg │ │ │ │ │ │ │ │ │ │ -Name: org/w3c/dom/ │ │ │ │ │ +Name: javax/xml/datatype/ (NB. "ordering differences only") Patch attached. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
diff --git a/lib/Debian/Javahelper/Manifest.pm b/lib/Debian/Javahelper/Manifest.pm index 0586cab..d56c933 100644 --- a/lib/Debian/Javahelper/Manifest.pm +++ b/lib/Debian/Javahelper/Manifest.pm @@ -63,8 +63,8 @@ manifest. =item $manifest->get_sections() Returns a list of all sections in B<$manifest>. The main section will -always be the first in the list, but the remaining sections can come -in any order (and this order can change in later invocations). +always be the first in the list, and the remaining sections will be +sorted in name order. Modifying the list will not change which sections are present in B<$manifest>, but modifying a section in this list will also update @@ -114,13 +114,13 @@ sub get_section { sub get_sections { my $this = shift; - # There is always a main section. - my $main = $this->get_section(MAIN_SECTION, 1); - my @sections = ($main); - while( my ($name, $sec) = each(%$this) ){ + my @sections = (); + foreach my $name (sort(keys %$this)) { next if($name eq MAIN_SECTION); - push(@sections, $sec); + push(@sections, $this->{$name}); } + # There is always a main section at the front + unshift(@sections, $this->get_section(MAIN_SECTION, 1)); return @sections; }
__ This is the maintainer address of Debian's Java team <http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers>. Please use debian-j...@lists.debian.org for discussions and questions.