Bug#828636: [Reproducible-builds] Bug#828636: libembperl-perl: please make the build reproducible
Hi again, Axel Beckert wrote: > > It's actually related to the shell... > > > > $ touch aD bD cD dD eD AD BD > > $ dash -c "ls *[a-z]D" > > aD bD cD dD eD > > $ bash -c "ls *[a-z]D" > > aD AD bD BD cD dD eD > > > > With bash POD.3pm also matches *[a-z]D.3pm. > > Yay, thanks for that. I actually also suspected capitalization during > matching as culprit, but suspected different locales as reason for > that. It's actually both: → env LC_ALL=C bash -c 'ls -l D[a-z]*' -rw-r--r-- 1 abe abe 32420 May 9 18:51 Doxyfile → env LC_ALL=de_DE.utf-8 bash -c 'ls -l D[a-z]*' -rwxr-xr-x 1 abe abe 13752 Mai 9 18:51 DOM.xs -rw-r--r-- 1 abe abe 32420 Mai 9 18:51 Doxyfile → env LC_ALL=C dash -c 'ls -l D[a-z]*' -rw-r--r-- 1 abe abe 32420 May 9 18:51 Doxyfile → env LC_ALL=de_DE.utf-8 dash -c 'ls -l D[a-z]*' -rw-r--r-- 1 abe abe 32420 Mai 9 18:51 Doxyfile > Will do an upload which re-includes the man page, but with proper > matching. My plan is to use something like "find . -name '*[a-z]D.*'" which seems to be resistent to the above mentioned problem: → env LC_ALL=C find . -name '*[a-z]D.*' ./eg/web/indexD.htm ./FeaturesD.pod → env LC_ALL=de_DE.utf-8 find . -name '*[a-z]D.*' ./eg/web/indexD.htm ./FeaturesD.pod → switchsh env LC_ALL=de_DE.utf-8 find . -name '*[a-z]D.*' ./eg/web/indexD.htm ./FeaturesD.pod None of the cases above find the POD.pm file: → find . -name '*[A-Z]D.*' ./Embperl/Syntax/POD.pm And just to show what switchsh indeed works and replaces /bin/sh with bash for a single command (via bind mount): → ls -l /bin/sh lrwxrwxrwx 1 root root 4 Mar 12 10:05 /bin/sh -> dash* → env LC_ALL=de_DE.utf-8 sh -c 'ls -l D[a-z]*' -rw-r--r-- 1 abe abe 32420 Mai 9 18:51 Doxyfile → switchsh env LC_ALL=de_DE.utf-8 sh -c 'ls -l D[a-z]*' -rwxr-xr-x 1 abe abe 13752 Mai 9 18:51 DOM.xs -rw-r--r-- 1 abe abe 32420 Mai 9 18:51 Doxyfile Regards, Axel -- ,''`. | Axel Beckert , http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#828636: [Reproducible-builds] Bug#828636: Bug#828636: libembperl-perl: please make the build reproducible
Hi! gregor herrmann wrote: > On Sun, 26 Jun 2016 17:16:52 +0200, Reiner Herrmann wrote: > > > Sorry, but that's wrong: > > > > > > → dpkg -L libembperl-perl | egrep man/de/man./ > > > /usr/share/man/de/man3/Embperl::Features.3pm.gz > > > → man /usr/share/man/de/man3/Embperl::Features.3pm.gz > > > > > > That's clearly my mother tongue. :-) > > > > Sorry, I assumed Embperl::Features was also misdetected (because the > > original file ends with D) and haven't looked into it. > > Oops, sorry, I missed that too when applying Reiner's patch. Oh, you were quick. (Well, as usual. ;-) > Looking at the manpage: > > Das standart Layout einer Website can einmal definiert werden > > I have a hard time defining this as German though :/ There are umlauts in it!!!1!elf! ;-) > So yes, I guess we can remove this document. > > Implemented in git; I'm holding off with a second hasty upload, sorry > for the first one. Oh, meh. Reiner Herrmann wrote: > On Sun, Jun 26, 2016 at 05:07:54PM +0200, Axel Beckert wrote: > > I currently fail to see why this can catch Embperl::Syntax::POD in one > > build, but not in another. IMHO this should happen with every build. > > Will investigate. > > It's actually related to the shell... > > $ touch aD bD cD dD eD AD BD > $ dash -c "ls *[a-z]D" > aD bDcD dD eD > $ bash -c "ls *[a-z]D" > aD ADbD BD cD dD eD > > With bash POD.3pm also matches *[a-z]D.3pm. Yay, thanks for that. I actually also suspected capitalization during matching as culprit, but suspected different locales as reason for that. Will do an upload which re-includes the man page, but with proper matching. Thanks again for that bug-report. Regards, Axel -- ,''`. | Axel Beckert , http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#828636: [Reproducible-builds] Bug#828636: libembperl-perl: please make the build reproducible
On Sun, 26 Jun 2016 17:16:52 +0200, Reiner Herrmann wrote: > > Sorry, but that's wrong: > > > > → dpkg -L libembperl-perl | egrep man/de/man./ > > /usr/share/man/de/man3/Embperl::Features.3pm.gz > > → man /usr/share/man/de/man3/Embperl::Features.3pm.gz > > > > That's clearly my mother tongue. :-) > > Sorry, I assumed Embperl::Features was also misdetected (because the > original file ends with D) and haven't looked into it. Oops, sorry, I missed that too when applying Reiner's patch. Looking at the manpage: Das standart Layout einer Website can einmal definiert werden I have a hard time defining this as German though :/ So yes, I guess we can remove this document. Implemented in git; I'm holding off with a second hasty upload, sorry for the first one. Cheers, gregor -- .''`. Homepage https://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - https://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- signature.asc Description: Digital Signature
Bug#828636: [Reproducible-builds] Bug#828636: libembperl-perl: please make the build reproducible
On Sun, Jun 26, 2016 at 05:07:54PM +0200, Axel Beckert wrote: > I currently fail to see why this can catch Embperl::Syntax::POD in one > build, but not in another. IMHO this should happen with every build. > Will investigate. It's actually related to the shell... $ touch aD bD cD dD eD AD BD $ dash -c "ls *[a-z]D" aD bD cD dD eD $ bash -c "ls *[a-z]D" aD AD bD BD cD dD eD With bash POD.3pm also matches *[a-z]D.3pm. signature.asc Description: Digital signature
Bug#828636: [Reproducible-builds] Bug#828636: libembperl-perl: please make the build reproducible
On Sun, Jun 26, 2016 at 05:07:54PM +0200, Axel Beckert wrote: > > In one build the manpage Embperl::Syntax::POD.3pm is incorrectly sorted > > to the German manpages (Embperl::FeaturesD too), because their names end > > with D. > > Why only in one build? Due to different locale settings? Anyway, if > there's a way that Embperl::Syntax::POD is installed as > /usr/share/man/de/man3/Embperl::Syntax::PO.3pm.gz, that's clearly a > bug and deserves a higher severity than just wishlist. Why this happens only in one build is also not yet clear to me. > > As the package provides no German manpages anyway, > > Sorry, but that's wrong: > > → dpkg -L libembperl-perl | egrep man/de/man./ > /usr/share/man/de/man3/Embperl::Features.3pm.gz > → man /usr/share/man/de/man3/Embperl::Features.3pm.gz > > That's clearly my mother tongue. :-) Sorry, I assumed Embperl::Features was also misdetected (because the original file ends with D) and haven't looked into it. > > - # move German manpages to usr/share/man/de/man{1,2,3} > > - @set -e;\ > > - for f in $(TMP)/usr/share/man/man3/*[a-z]D.3pm; do \ > > - f_de=`echo $$f | sed > > 's,man\(.\)/\([^/]*\)D\.\([^/]*\)$$,de/man\1/\2.\3,'` ;\ > > - echo "mv $$f $$f_de" ;\ > > - mv $$f $$f_de ;\ > > - done > > I currently fail to see why this can catch Embperl::Syntax::POD in one > build, but not in another. IMHO this should happen with every build. > Will investigate. I'm also not sure, but I can imagine it's related to the locale and *[a-z] works somewhat differently. signature.asc Description: Digital signature
Bug#828636: [Reproducible-builds] Bug#828636: libembperl-perl: please make the build reproducible
Control: tag -1 - patch Control: severity -1 normal Hi Reiner, Reiner Herrmann wrote: > While working on the "reproducible builds" effort [1], we have noticed > that libembperl-perl could not be built reproducibly. Thanks for the examination and the bug report. > In one build the manpage Embperl::Syntax::POD.3pm is incorrectly sorted > to the German manpages (Embperl::FeaturesD too), because their names end > with D. Why only in one build? Due to different locale settings? Anyway, if there's a way that Embperl::Syntax::POD is installed as /usr/share/man/de/man3/Embperl::Syntax::PO.3pm.gz, that's clearly a bug and deserves a higher severity than just wishlist. > As the package provides no German manpages anyway, Sorry, but that's wrong: → dpkg -L libembperl-perl | egrep man/de/man./ /usr/share/man/de/man3/Embperl::Features.3pm.gz → man /usr/share/man/de/man3/Embperl::Features.3pm.gz That's clearly my mother tongue. :-) > I think the part in debian/rules, which moves the manpages can be > safely removed. I disagree at least with the reasoning here. I nevertheless think, that if Embperl::Features.3pm is the only German man page in the source package, we can remove it from the binary package without much impact since that's the kind of documentation you usually read _before_ installing the package, e.g. online on the upstream website. > - # move German manpages to usr/share/man/de/man{1,2,3} > - @set -e;\ > - for f in $(TMP)/usr/share/man/man3/*[a-z]D.3pm; do \ > - f_de=`echo $$f | sed > 's,man\(.\)/\([^/]*\)D\.\([^/]*\)$$,de/man\1/\2.\3,'` ;\ > - echo "mv $$f $$f_de" ;\ > - mv $$f $$f_de ;\ > - done I currently fail to see why this can catch Embperl::Syntax::POD in one build, but not in another. IMHO this should happen with every build. Will investigate. Regards, Axel -- ,''`. | Axel Beckert , http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#828636: libembperl-perl: please make the build reproducible
Source: libembperl-perl Version: 2.5.0-6 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org Hi! While working on the "reproducible builds" effort [1], we have noticed that libembperl-perl could not be built reproducibly. In one build the manpage Embperl::Syntax::POD.3pm is incorrectly sorted to the German manpages (Embperl::FeaturesD too), because their names end with D. As the package provides no German manpages anyway, I think the part in debian/rules, which moves the manpages can be safely removed. Regards, Reiner [1]: https://wiki.debian.org/ReproducibleBuilds diff --git a/debian/rules b/debian/rules index f643b0b..ab91682 100755 --- a/debian/rules +++ b/debian/rules @@ -27,14 +27,6 @@ override_dh_auto_install: $(POD2TEXT) # install by default install -m 755 *cgi.pl debian/libembperl-perl/usr/lib/cgi-bin/ - # move German manpages to usr/share/man/de/man{1,2,3} - @set -e;\ - for f in $(TMP)/usr/share/man/man3/*[a-z]D.3pm; do \ - f_de=`echo $$f | sed 's,man\(.\)/\([^/]*\)D\.\([^/]*\)$$,de/man\1/\2.\3,'` ;\ - echo "mv $$f $$f_de" ;\ - mv $$f $$f_de ;\ - done - # ship Apache config in mods-available sed -e 's,@ARCHLIB@,$(ARCHLIB),g' debian/zembperl.load.in > debian/zembperl.load install -m 644 debian/zembperl.conf debian/zembperl.load \