[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#847596: marked as done (locales-all non-deterministically generates either kk_KZ.PT154 or kk_KZ.RK1048 despite declaring support for both)



Your message dated Mon, 16 Jan 2017 18:03:49 +0000
with message-id <E1cTBdF-000Gi8-FA@fasolo.debian.org>
and subject line Bug#847596: fixed in glibc 2.24-9
has caused the Debian Bug report #847596,
regarding locales-all non-deterministically generates either kk_KZ.PT154 or kk_KZ.RK1048 despite declaring support for both
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
847596: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=847596
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: locales-all
Version: 2.24-7
Severity: normal

Dear Maintainer,

The build of locales-all sometimes generates kk_KZ.PT154 (about 1/6 of the
time) and sometimes generates kk_KZ.RK1048 (about 5/6 of the time), even though
it declares support for both. Note also that RK1048 is patched in, via
debian/patches/localedata/supported.diff. You can find my test files here:

https://people.debian.org/~infinity0/res/debrepro/

Some of them are attached, for your convenience.

To build these, I applied glibc.debdiff to 2.24-7 then ran `debrepro` on the
unpacked source tree. Note they are reproducible except for locales-all. Note
also that `debrepro` does not reliably reproduce this unreproducibility, you
have to run it a few times to see it. I ran it 3 times, for a total of 6
builds, before I saw this. Then:

$ sudo dpkg -i first/libc6_2.24-7.1_amd64.deb
[..]
$ sudo dpkg -i first/libc-bin_2.24-7.1_amd64.deb
[..]
$ sudo dpkg -i first/libc-l10n_2.24-7.1_all.deb
[..]
$ sudo dpkg -i first/locales_2.24-7.1_all.deb
[..]

$ sudo dpkg -i first/locales-all_2.24-7.1_amd64.deb
[..]
$ python3 ./localetest.py 
** error trying to set locale to kk_KZ.PT154
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

$ sudo dpkg -i second/locales-all_2.24-7.1_amd64.deb 
[..]
$ python3 ./localetest.py
** error trying to set locale to kk_KZ.RK1048
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (300, 'unstable'), (200, 'experimental'), (1, 'experimental-debug')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru glibc-2.24/debian/changelog glibc-2.24/debian/changelog
--- glibc-2.24/debian/changelog	2016-11-25 22:09:39.000000000 +0000
+++ glibc-2.24/debian/changelog	2016-11-15 18:03:37.000000000 +0000
@@ -1,3 +1,10 @@
+glibc (2.24-7.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Try for reproducibility.
+
+ -- Ximin Luo <infinity0@profitbricks-build17-amd64>  Tue, 15 Nov 2016 18:03:37 +0000
+
 glibc (2.24-7) unstable; urgency=medium
 
   [ Samuel Thibault ]
diff -Nru glibc-2.24/debian/rules glibc-2.24/debian/rules
--- glibc-2.24/debian/rules	2016-11-25 21:59:04.000000000 +0000
+++ glibc-2.24/debian/rules	2016-11-15 18:03:37.000000000 +0000
@@ -45,6 +45,7 @@
 
 DEB_SOURCE_PACKAGE := $(strip $(shell egrep '^Source: ' debian/control | cut -f 2 -d ':'))
 
+SOURCE_DATE_EPOCH ?= $(shell dpkg-parsechangelog -STimestamp)
 DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
 GLIBC_VERSION = $(shell echo $(DEB_VERSION) | sed -e 's/.*://' -e 's/[+-].*//')
 
diff -Nru glibc-2.24/debian/rules.d/build.mk glibc-2.24/debian/rules.d/build.mk
--- glibc-2.24/debian/rules.d/build.mk	2016-11-25 12:02:24.000000000 +0000
+++ glibc-2.24/debian/rules.d/build.mk	2016-11-15 18:03:37.000000000 +0000
@@ -316,18 +316,16 @@
 $(stamp)source: $(stamp)patch
 	mkdir -p $(build-tree)
 	cd .. && \
-	       find $(GLIBC_SOURCES) -depth -newermt '$(DEB_BUILD_DATE)' \
-			-print0 | \
-               xargs -0r touch --no-dereference --date='$(DEB_BUILD_DATE)'
-	cd .. && \
 		find $(GLIBC_SOURCES) -print0 | \
 		LC_ALL=C sort -z | \
 		tar -c -J --null -T - --no-recursion \
 			--mode=go=rX,u+rw,a-s \
+			--clamp-mtime --mtime "@$(SOURCE_DATE_EPOCH)" \
 			--owner=root --group=root --numeric-owner \
 			-f $(CURDIR)/$(build-tree)/glibc-$(GLIBC_VERSION).tar.xz
 	mkdir -p debian/glibc-source/usr/src/glibc
 	tar cf - --files-from debian/glibc-source.filelist \
+		--clamp-mtime --mtime "@$(SOURCE_DATE_EPOCH)" \
 	  | tar -x -C debian/glibc-source/usr/src/glibc -f -
 
 	touch $@
diff -Nru glibc-2.24/debian/rules.d/debhelper.mk glibc-2.24/debian/rules.d/debhelper.mk
--- glibc-2.24/debian/rules.d/debhelper.mk	2016-11-25 22:08:30.000000000 +0000
+++ glibc-2.24/debian/rules.d/debhelper.mk	2016-11-15 18:03:37.000000000 +0000
@@ -77,8 +77,7 @@
 		-exec chmod a+x '{}' ';'
 	dh_makeshlibs -Xgconv/ -p$(curpass) -V "$(call xx,shlib_dep)"
 	# Add relevant udeb: lines in shlibs files
-	chmod a+x debian/shlibs-add-udebs
-	./debian/shlibs-add-udebs $(curpass)
+	sh ./debian/shlibs-add-udebs $(curpass)
 
 	dh_installdeb -p$(curpass)
 	dh_shlibdeps -p$(curpass)
#!/usr/bin/python3

import subprocess
import sys
import os

with open("/usr/share/i18n/SUPPORTED") as fp:
    for line in fp.readlines():
        fullname, enc = line.rstrip().split(" ", 1)
        if not enc:
            raise ValueError(line)
        enc2, loc = None, None
        if "." in fullname:
            name, rest = fullname.split(".", 1)
            if "@" in rest:
                enc2, loc = rest.split("@", 1)
        elif "@" in fullname:
            name, loc = fullname.split("@", 1)
        else:
            name = fullname
        if enc2 and enc2 != enc:
            raise ValueError(line)

        if loc:
            locale = "%s.%s@%s" % (name, enc, loc)
        else:
            locale = "%s.%s" % (name, enc)
        if not locale:
            raise ValueError(line)
        
        _, err = subprocess.Popen(
            "LC_ALL={0} LANG={0} locale".format(locale),
            stdout=subprocess.DEVNULL,
            stderr=subprocess.PIPE,
            shell=True).communicate()
        if err:
            print("** error trying to set locale to %s" % locale)
            print(err.decode(), end='')

--- End Message ---
--- Begin Message ---
Source: glibc
Source-Version: 2.24-9

We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 847596@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (supplier of updated glibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 16 Jan 2017 18:43:37 +0100
Source: glibc
Binary: libc-bin libc-dev-bin libc-l10n glibc-doc glibc-source locales locales-all nscd multiarch-support libc6 libc6-dev libc6-dbg libc6-pic libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-pic libc6.1-udeb libc0.3 libc0.3-dev libc0.3-dbg libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev libc0.1-dbg libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc libc6-dev-sparc libc6-sparc64 libc6-dev-sparc64 libc6-s390 libc6-dev-s390 libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64 libc6-dev-ppc64 libc6-mips32 libc6-dev-mips32 libc6-mipsn32 libc6-dev-mipsn32 libc6-mips64 libc6-dev-mips64 libc0.1-i386 libc0.1-dev-i386 libc6-x32 libc6-dev-x32 libc6-xen libc0.3-xen libc6.1-alphaev67 libc0.1-i686 libc0.3-i686 libc6-i686
Architecture: source
Version: 2.24-9
Distribution: unstable
Urgency: medium
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description:
 glibc-doc  - GNU C Library: Documentation
 glibc-source - GNU C Library: sources
 libc-bin   - GNU C Library: Binaries
 libc-dev-bin - GNU C Library: Development binaries
 libc-l10n  - GNU C Library: localization files
 libc0.1    - GNU C Library: Shared libraries
 libc0.1-dbg - GNU C Library: detached debugging symbols
 libc0.1-dev - GNU C Library: Development Libraries and Header Files
 libc0.1-dev-i386 - GNU C Library: 32bit development libraries for AMD64
 libc0.1-i386 - GNU C Library: 32bit shared libraries for AMD64
 libc0.1-i686 - transitional dummy package
 libc0.1-pic - GNU C Library: PIC archive library
 libc0.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3    - GNU C Library: Shared libraries
 libc0.3-dbg - GNU C Library: detached debugging symbols
 libc0.3-dev - GNU C Library: Development Libraries and Header Files
 libc0.3-i686 - transitional dummy package
 libc0.3-pic - GNU C Library: PIC archive library
 libc0.3-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3-xen - GNU C Library: Shared libraries [Xen version]
 libc6      - GNU C Library: Shared libraries
 libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
 libc6-dbg  - GNU C Library: detached debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files
 libc6-dev-amd64 - GNU C Library: 64bit Development Libraries for AMD64
 libc6-dev-i386 - GNU C Library: 32-bit development libraries for AMD64
 libc6-dev-mips32 - GNU C Library: o32 Development Libraries for MIPS
 libc6-dev-mips64 - GNU C Library: 64bit Development Libraries for MIPS64
 libc6-dev-mipsn32 - GNU C Library: n32 Development Libraries for MIPS64
 libc6-dev-powerpc - GNU C Library: 32bit powerpc development libraries for ppc64
 libc6-dev-ppc64 - GNU C Library: 64bit Development Libraries for PowerPC64
 libc6-dev-s390 - GNU C Library: 32bit Development Libraries for IBM zSeries
 libc6-dev-sparc - GNU C Library: 32bit Development Libraries for SPARC
 libc6-dev-sparc64 - GNU C Library: 64bit Development Libraries for UltraSPARC
 libc6-dev-x32 - GNU C Library: X32 ABI Development Libraries for AMD64
 libc6-i386 - GNU C Library: 32-bit shared libraries for AMD64
 libc6-i686 - transitional dummy package
 libc6-mips32 - GNU C Library: o32 Shared libraries for MIPS
 libc6-mips64 - GNU C Library: 64bit Shared libraries for MIPS64
 libc6-mipsn32 - GNU C Library: n32 Shared libraries for MIPS64
 libc6-pic  - GNU C Library: PIC archive library
 libc6-powerpc - GNU C Library: 32bit powerpc shared libraries for ppc64
 libc6-ppc64 - GNU C Library: 64bit Shared libraries for PowerPC64
 libc6-s390 - GNU C Library: 32bit Shared libraries for IBM zSeries
 libc6-sparc - GNU C Library: 32bit Shared libraries for SPARC
 libc6-sparc64 - GNU C Library: 64bit Shared libraries for UltraSPARC
 libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc6-x32  - GNU C Library: X32 ABI Shared libraries for AMD64
 libc6-xen  - GNU C Library: Shared libraries [Xen version]
 libc6.1    - GNU C Library: Shared libraries
 libc6.1-alphaev67 - GNU C Library: Shared libraries (EV67 optimized)
 libc6.1-dbg - GNU C Library: detached debugging symbols
 libc6.1-dev - GNU C Library: Development Libraries and Header Files
 libc6.1-pic - GNU C Library: PIC archive library
 libc6.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 locales    - GNU C Library: National Language (locale) data [support]
 locales-all - GNU C Library: Precompiled locale data
 multiarch-support - Transitional package to ensure multiarch compatibility
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 783210 796106 847596 850182 850565
Changes:
 glibc (2.24-9) unstable; urgency=medium
 .
   [ Samuel Thibault ]
   * hurd-i386/tg-libpthread-gsync-mutex.diff: Update patch, fixes trylock
     error return.
   * hurd-i386/tg-magic-pid.diff: New patch, add support for /proc/self.
   * hurd-i386/tg-mlockall.diff: New patch, add support for mlockall.
     - control: Bump gnumach-dev build-depend accordingly.
   * hurd-i386/tg-gsync-libc.diff: Fix linking against built libmachuser
     instead of installed libmachuser.
   * libc0.3.symbols.hurd-i386: Add vm_wire_all symbols.
 .
   [ Aurelien Jarno ]
   * debian/sysdeps/{amd64,i386,x32}.mk: disable lock elision (aka Intel TSX)
     on x86 architectures. This causes programs (wrongly) unlocking an already
     unlocked mutex to abort. More importantly most of the other distributions
     decided to disable it, so we don't want to be the only distribution left
     testing this code path.  Closes: #850182.
   * debian/rules.d/build.mk: pass --no-recursion before -T in the call to tar
     to workaround or fix bug#829738. This reduces the size of the glibc-source
     package by 40%
   * debian/patches/localedata/supported.diff: rename the kk_KZ locale with the
     RK1048 charset to kk_KZ.RK1048 to avoid conflicting with the kk_KZ locale
     with the PT154 charset.  Closes: #847596.
   * debian/patches/git-updates.diff: update from upstream stable branch:
     - debian/patches/alpha/submitted-math-fixes.diff: Drop, merged upstream.
   * patches/any/cvs-resolv-internal-qtype.diff: patch from upstream to fix a
     NULL pointer dereference in libresolv when receiving a T_UNSPEC internal
     QTYPE (CVE-2015-5180).  Closes: #796106.
   * Make the package build reproducibly, thanks to Ximin Luo for the patch.
     Closes: #783210.
     - debian/rules: export SOURCE_DATE_EPOCH when not building with
       dpkg-buildpackage.
     - debian/rules.d/build.mk: use --clamp-mtime instead of touching the
       files.
     - debian/rules.d/debhelper.mk: do not chmod +x the shell script, call
       it with sh instead.
   * debian/rules.d/control.mk: Add the sh3 architecture to libc6_archs.
     Closes: #850565.
Checksums-Sha1:
 55330e604868f98ee591d296f1f6606049ed7bf3 8351 glibc_2.24-9.dsc
 8451261dd2f792c726a28535949f767437c40192 973160 glibc_2.24-9.debian.tar.xz
Checksums-Sha256:
 c7ca2d54ff9b5e1cc32db75b9430d8caa51aa6c6b6aa40d06f7823905fcf7cc6 8351 glibc_2.24-9.dsc
 942db07a2d095530aa2d54d55b4acddfe93b53abc4599c20d9705b0f95a740fe 973160 glibc_2.24-9.debian.tar.xz
Files:
 3c9ffbdb695c7a8ef8c6f6a834d6c738 8351 libs required glibc_2.24-9.dsc
 fbfb8f0fa5e1c79046406b55730ac274 973160 libs required glibc_2.24-9.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEd0YmQqnvlP0Pdxltupx4Bh3djJsFAlh9BsQACgkQupx4Bh3d
jJviLRAAq3AwAqkKX9lAZgXKr4jp78nXnR8UPGlhK2zay6AjdK9UAUPvs4qcZzJg
dPxsLppRR0Bj2xgqJIZeetU93F8U1aEO2aAiCEybR9uZw72p/5h0EyAW5szBtdnD
NQxLwFfull+rRQ/j6SDd0XcLXiW0sVWrWo76AM4ThE0kRkCCGAL3l2zV9VSDz6hQ
gbnjyr4TKZf6ncjDMvaH5VAMkggW5fbzoWNr1qgaVNtOMQWTO3If+Yq5fKTYC3ae
ue0961defooNHGY+2qehO/ge4eM8Ox4vx30H1+z8jq0FKfYeyFkND8H4TRryPTdw
s7IyhM9rtOaCduy/aWMbMO2rT+UglDHaI02jYWpKWG6aQKUTZouErc/qO1K1EnrY
/ZSLRC202QOKl6pHTVqtoOlxIjOjPUn5aLpJRl6OZtG+Fw2I7S7ek32iHWS0pxsG
sU5/2vViILqqKyGsM1XR1GBN9v2TUAE4qJJz9ecCDjf+osiL01B9ZE4LdOMSyR6I
jdbQKjWW+o6bZBIPD8m+8F2VxzHo/sAOFa9MurHBrg0jDTXbg6oY3eQ9TrVWHttA
WviECWIiwAzAq/aoaBmD+iHZWJG4fXX6lypV+I6NtgYVS4HsUK7XR8CiuQ8lgOrU
RvNpRGW7WKHKsbvaJQHFXwEKIDOsZKjSMktb6AbMBoEBEIKP9Dg=
=QJTM
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: