Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: glibc

glibc (2.28-0ubuntu1) cosmic; urgency=medium * Merge with current 2.28 from Debian experimental git, remaining changes: - Enable libc6{,-dev}-armel on armhf and libc6{-dev}-armhf on armel. - Heavily mangle the way we do service restarting on major upgrades. - Build i386 variants as -march=i686, build amd64 with -O3, and build ppc64 variants (both 64-bit and 32-bit) with -O3 -fno-tree-vectorize. - Build generic i386 flavour with -mno-tls-direct-seg-refs for Xen. - Drop the libc6-xen flavour, as the above change covers Xen's needs. - Enable systemtap support, which is currently disabled in Debian. - Don't build libc-l10n, its contents get stripped for language-packs. - Drop libc-bin manpages Recommends to Suggests to keep it in standard. - Revert dropping the ldconfig wrapper, xenial still has a lot of packages that don't ship a trigger but instead call in postinst. - Use DH_COMPAT=8 for dh_strip to fix debug sections for valgrind. - Mangle locales package to support Ubuntu language packs seamlessly. - Let tst-ttyname fail on armhf and armel, as it currently fails in lxc. * Revert XFAIL of tst-backtrace{4,5} and tst-cancelx{20,21} on 31-bit s390. * Drop debian/patches/ubuntu/localedata/git-pt-fmt.diff: Included upstream. * Allow tst-setcontext9 to fail on PPC; it's a new test, not a regression. * debian/patches/ubuntu/localedata/eo_US.diff: Update for upstream changes. * Allow test-i?ldouble-fma to fail on PPC while upstream considers patches. -- Adam Conrad <adconrad@ubuntu.com> Thu, 23 Aug 2018 13:52:35 -0600 glibc (2.28-0experimental0) UNRELEASED; urgency=medium [ Aurelien Jarno ] * New upstream release: - Fix undefined behaviour in regexec. Closes: #292550. - debian/control: regenerate. - debian/symbols.wildcard: update for 2.28. - debian/debhelper.in/libc-dev{,-alt}.install: do not install libpthread_nonshared.a. - debian/patches/git-updates.diff: update from upstream stable branch. - debian/patches/localedata/locale-ku_TR.diff: rebased. - debian/patches/localedata/locale-csb_PL.diff: dropped, obsolete. - debian/patches/localedata/locale-se_NO.diff: dropped, obsolete. - debian/patches/localedata/tailor-iso14651_t1.diff: rebased. - debian/patches/arm/local-sigaction.diff: rebased. - debian/patches/hurd-i386/tg-context_functions.diff: rebased. - debian/patches/hurd-i386/git-tls.diff: upstreamed. - debian/patches/hurd-i386/git-tls-threadvar.diff: upstreamed. - debian/patches/hurd-i386/tg-sysvshm.diff: rebased. - debian/patches/hurd-i386/git-_dl_random.diff: upstreamed. - debian/patches/hurd-i386/git-grantpt.diff: upstreamed. - debian/patches/hurd-i386/git-posix_thread.diff: upstreamed. - debian/patches/hurd-i386/git-gai_misc.diff: upstreamed. - debian/patches/hurd-i386/tg-hurdsig-fixes.diff: rebased. - debian/patches/hurd-i386/tg-hurdsig-global-dispositions.diff: rebased. - debian/patches/hurd-i386/local-hurdsig-global-dispositions-version.diff: rebased. - debian/patches/hurd-i386/tg-hurdsig-SA_SIGINFO.diff: rebased. - debian/patches/hurd-i386/cvs-libpthread.diff: upstreamed. - debian/patches/hurd-i386/cvs-libpthread.abilist.diff: upstreamed. - debian/patches/hurd-i386/libpthread_build.diff: upstreamed. - debian/patches/hurd-i386/tg-libpthread_depends.diff: upstreamed. - debian/patches/hurd-i386/libpthread_version.diff: rebased. - debian/patches/hurd-i386/tg-remap_getcwd.diff: rebased. - debian/patches/hurd-i386/git-exec-static.diff: upstreamed. - debian/patches/hurd-i386/git-socket_flags.diff: upstreamed. - debian/patches/hurd-i386/git-socketpair_flags.diff: upstreamed. - debian/patches/hurd-i386/git-pipe2.diff: upstreamed. - debian/patches/hurd-i386/tg-libc_getspecific.diff: dropped, obsolete. - debian/patches/hurd-i386/git-futimens.diff: upstreamed. - debian/patches/hurd-i386/tg-sigstate_thread_reference.diff: rebased. - debian/patches/hurd-i386/git-tls_thread_leak.diff: upstreamed. - debian/patches/hurd-i386/git-libpthread-stacksize.diff: upstreamed. - debian/patches/hurd-i386/git-reboot-startup.diff: upstreamed. - debian/patches/hurd-i386/cvs-revert-gnu-gnu-cleanup.diff: upstreamed. - debian/patches/hurd-i386/git-gsync-libc.diff: upstreamed. - debian/patches/hurd-i386/git-pthread_deps.diff: upstreamed. - debian/patches/hurd-i386/git-libpthread-gsync-spin.diff: upstreamed. - debian/patches/hurd-i386/git-libpthread-gsync-mutex.diff: upstreamed. - debian/patches/hurd-i386/git-NOFOLLOW.diff: upstreamed. - debian/patches/hurd-i386/git-NOFOLLOW-DIRECTORY.diff: upstreamed. - debian/patches/hurd-i386/git-mlockall.diff: upstreamed. - debian/patches/hurd-i386/git2.25-tls.diff: upstreamed. - debian/patches/hurd-i386/local-nocheck-installed-headers.diff: rebased. - debian/patches/hurd-i386/git-libpthread-2.26.diff: upstreamed. - debian/patches/hurd-i386/git-thread-linkspace.diff: upstreamed. - debian/patches/hurd-i386/libpthread_includes.diff: dropped, obsolete. - debian/patches/hurd-i386/local-exec_filename.diff: rebased. - debian/patches/hurd-i386/git-libpthread-trylock.diff: upstreamed. - debian/patches/hurd-i386/git-test-atexit-race-common.diff: upstreamed. - debian/patches/hurd-i386/git-UTIME.diff: upstreamed. - debian/patches/hurd-i386/git-timer_create_sigmask.diff: upstreamed. - debian/patches/hurd-i386/git-pthread_deps.diff: upstreamed. - debian/patches/kfreebsd/local-fbtl-depends.diff: rebased. - debian/patches/any/local-ldconfig-fsync.diff: dropped, obsolete. - debian/patches/any/submitted-bits-fcntl_h-at.diff: rebased. - debian/patches/any/submitted-intl-tstgettext.diff: upstreamed. - debian/patches/any/git-abilist-ignore-absolute.diff: upstreamed. - debian/debhelper.in/libc{-alt,-otherbuild,}.lintian-overrides: drop libcidn.so override. - debian/libc6.symbols.{common,hppa,sparc}, debian/libc6.1.symbols.alpha, debian/libc0.1.symbols.common, debian/libc0.3.symbols.hurd-i386: drop libcidn.so. * debian/control.in/main: bump binutils build-dependency to 2.29 on all architectures. * debian/control.in/main, debian/rules: build with GCC 8. * debian/control.in/main: build-depends on libidn2-0 for the tests. * debian/control.in/libc: recommends libidn2-0 to support IDN domain names in getaddrinfo and getnameinfo. * debian/testsuite-xfail-debian.mk: mark libidn2 test as XFAIL until we can get libidn2 >= 2.0.5 in the archive. [ Samuel Thibault ] * debian/patches/hurd-i386/git-gscope.diff: upstreamed. * debian/patches/hurd-i386/git-hurd-abilist.diff: Remove patch, now useless. * debian/patches/hurd-i386/git-pagesize.diff: upstreamed. * debian/patches/hurd-i386/git-timer_routines.diff: upstreamed. * debian/patches/hurd-i386/submitted-net.diff: rebased. * debian/patches/hurd-i386/tg-context_functions.diff: update. * debian/patches/hurd-i386/tg-hurdsig-SA_SIGINFO.diff: update. * debian/patches/hurd-i386/tg-sysvshm.diff: update. * debian/patches/hurd-i386/tg-verify.h.diff: remove, now useless. * debian/patches/hurd-i386/tg2.26-sched_param.diff: upstreamed. * debian/patches/hurd-i386/libpthread_version.diff: Remove now-useless part. * debian/patches/hurd-i386/local-hurdsig-global-dispositions-version.diff: Likewise. * debian/patches/hurd-i386/tg-ifaddrs_v6.diff: Fix PLT. * debian/patches/hurd-i386/local-hurd_sigstate-PLT.diff: New patch to fix PLTs. * debian/testsuite-xfail-debian.mk: Update. [ Adam Conrad ] * debian/patches/localedata/tailor-iso14651_t1.diff: Build without errors. -- Aurelien Jarno <aurel32@debian.org> Sat, 04 Aug 2018 20:13:33 +0200 glibc (2.27-6) UNRELEASED; urgency=medium * patches/hurd-i386/tg-socket_flags.diff: Rename to git-socket_flags.diff. * patches/hurd-i386/tg-socketpair_flags.diff: Rename to git-socketpair_flags.diff. * patches/hurd-i386/tg-pipe2.diff: Rename to git-pipe2.diff. * patches/hurd-i386/tg-posix_thread.diff: Rename to git-posix_thread.diff. * patches/hurd-i386/tg-pthread_deps.diff: Rename to git-pthread_deps.diff. * patches/hurd-i386/tg-hurdsig-SA_SIGINFO.diff: Fix standardization of exposition of sigaction -- Samuel Thibault <sthibault@debian.org> Fri, 20 Jul 2018 01:26:25 +0200 glibc (2.27-5ubuntu1) cosmic; urgency=medium * Merge with Debian (fixing test failures misc/tst-preadvwrite{,64}v2. -- Matthias Klose <doko@ubuntu.com> Tue, 14 Aug 2018 17:18:44 +0200

Modifications :
  1. Download patch debian/sysdeps/armel.mk

    --- 2.28-1/debian/sysdeps/armel.mk 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/sysdeps/armel.mk 2018-08-23 19:52:35.000000000 +0000 @@ -1,6 +1,3 @@ -# build with gcc-7 as gcc-8 triggers issues in the testsuite -DEB_GCC_VERSION = -7 - # configuration options for all flavours extra_config_options = --enable-multi-arch @@ -8,37 +5,37 @@ extra_config_options = --enable-multi-ar ifeq (,$(filter nobiarch, $(DEB_BUILD_PROFILES))) # build hard-float (armhf) alternative library -#GLIBC_PASSES += armhf -#DEB_ARCH_MULTILIB_PACKAGES += libc6-armhf libc6-dev-armhf -#armhf_configure_target = arm-linux-gnueabihf -#armhf_CC = $(CC) -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -#armhf_CXX = $(CXX) -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -#armhf_slibdir = /lib/arm-linux-gnueabihf -#armhf_libdir = /usr/lib/arm-linux-gnueabihf -# -#define libc6-dev-armhf_extra_pkg_install -# -#mkdir -p debian/libc6-dev-armhf/usr/include -#ln -sf arm-linux-gnueabi/bits debian/libc6-dev-armhf/usr/include/ -#ln -sf arm-linux-gnueabi/gnu debian/libc6-dev-armhf/usr/include/ -#ln -sf arm-linux-gnueabi/fpu_control.h debian/libc6-dev-armhf/usr/include/ -# -#mkdir -p debian/libc6-dev-armhf/usr/include/arm-linux-gnueabi/gnu -#cp -a debian/tmp-armhf/usr/include/gnu/lib-names-hard.h \ -# debian/tmp-armhf/usr/include/gnu/stubs-hard.h \ -# debian/libc6-dev-armhf/usr/include/arm-linux-gnueabi/gnu -# -#mkdir -p debian/libc6-dev-armhf/usr/include/sys -#for i in `ls debian/tmp-libc/usr/include/arm-linux-gnueabi/sys` ; do \ -# ln -sf ../arm-linux-gnueabi/sys/$$i debian/libc6-dev-armhf/usr/include/sys/$$i ; \ -#done -# -#endef -# -#define libc6-armhf_extra_pkg_install -#mkdir -p debian/libc6-armhf$(armhf_slibdir) -#ln -sf $(armhf_slibdir)/ld-linux-armhf.so.3 debian/libc6-armhf/lib -#ln -sf ld-linux-armhf.so.3 debian/libc6-armhf$(armhf_slibdir)/ld-linux.so.3 -#endef +GLIBC_PASSES += armhf +DEB_ARCH_MULTILIB_PACKAGES += libc6-armhf libc6-dev-armhf +armhf_configure_target = arm-linux-gnueabihf +armhf_CC = $(CC) -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard +armhf_CXX = $(CXX) -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard +armhf_slibdir = /lib/arm-linux-gnueabihf +armhf_libdir = /usr/lib/arm-linux-gnueabihf + +define libc6-dev-armhf_extra_pkg_install + +mkdir -p debian/libc6-dev-armhf/usr/include +ln -sf arm-linux-gnueabi/bits debian/libc6-dev-armhf/usr/include/ +ln -sf arm-linux-gnueabi/gnu debian/libc6-dev-armhf/usr/include/ +ln -sf arm-linux-gnueabi/fpu_control.h debian/libc6-dev-armhf/usr/include/ + +mkdir -p debian/libc6-dev-armhf/usr/include/arm-linux-gnueabi/gnu +cp -a debian/tmp-armhf/usr/include/gnu/lib-names-hard.h \ + debian/tmp-armhf/usr/include/gnu/stubs-hard.h \ + debian/libc6-dev-armhf/usr/include/arm-linux-gnueabi/gnu + +mkdir -p debian/libc6-dev-armhf/usr/include/sys +for i in `ls debian/tmp-libc/usr/include/arm-linux-gnueabi/sys` ; do \ + ln -sf ../arm-linux-gnueabi/sys/$$i debian/libc6-dev-armhf/usr/include/sys/$$i ; \ +done + +endef + +define libc6-armhf_extra_pkg_install +mkdir -p debian/libc6-armhf$(armhf_slibdir) +ln -sf $(armhf_slibdir)/ld-linux-armhf.so.3 debian/libc6-armhf/lib +ln -sf ld-linux-armhf.so.3 debian/libc6-armhf$(armhf_slibdir)/ld-linux.so.3 +endef endif # multilib
  2. Download patch debian/patches/ubuntu/localedata/ckb_IQ-new_locale.diff
  3. Download patch debian/debhelper.in/libc-bin.lintian-overrides

    --- 2.28-1/debian/debhelper.in/libc-bin.lintian-overrides 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/debhelper.in/libc-bin.lintian-overrides 2018-08-23 19:52:35.000000000 +0000 @@ -1,12 +1,15 @@ # ldconfig must be executable even when the libc is not configured, and # thus must be linked statically -libc-bin: statically-linked-binary sbin/ldconfig +libc-bin: statically-linked-binary sbin/ldconfig.real # pt_chown must be setuid root and in /usr/lib, otherwise non-root users # won't be able to login libc-bin: setuid-binary usr/lib/pt_chown 4755 root/root libc-bin: sharedobject-in-library-directory-missing-soname usr/lib/pt_chown +# ldconfig.real doesn't have a manpage, since it's just ldconfig renamed +libc-bin: binary-without-manpage sbin/ldconfig.real + # ldconfig is called in the postinst for trigger support libc-bin: postinst-has-useless-call-to-ldconfig
  4. Download patch debian/control.in/main

    --- 2.28-1/debian/control.in/main 2018-11-28 22:41:29.000000000 +0000 +++ 2.28-0ubuntu1/debian/control.in/main 2018-08-23 19:52:35.000000000 +0000 @@ -3,22 +3,22 @@ Section: libs Priority: required Build-Depends: gettext, dpkg (>= 1.18.7), dpkg-dev (>= 1.17.14), xz-utils, file, quilt, autoconf, gawk, debhelper (>= 10), rdfind, symlinks, netbase, gperf, bison, - linux-libc-dev (>= 3.9) [linux-any], + linux-libc-dev (>= 3.9) [linux-any], systemtap-sdt-dev [linux-any], libaudit-dev [linux-any], libcap-dev [linux-any], libselinux-dev [linux-any], - mig (>= 1.5-3) [hurd-i386], gnumach-dev (>= 2:1.8+git20181103-1~) [hurd-i386], - hurd-dev (>= 1:0.9.git20181030-1) [hurd-i386] | hurd-headers-dev [hurd-i386], - hurd-dev (>= 1:0.9.git20181030-1) [hurd-i386] <!stage1> | libihash-dev [hurd-i386] <!stage1>, + mig (>= 1.5-3) [hurd-i386], gnumach-dev (>= 2:1.8+git20170102-1~) [hurd-i386], + hurd-dev (>= 1:0.9.git20180305~) [hurd-i386] | hurd-headers-dev [hurd-i386], + hurd-dev (>= 1:0.9.git20180305~) [hurd-i386] <!stage1> | libihash-dev [hurd-i386] <!stage1>, kfreebsd-kernel-headers [kfreebsd-any], binutils (>= 2.29), - g++-7 [armel], - g++-8, g++-8-multilib [amd64 i386 kfreebsd-amd64 mips mipsel mipsn32 mipsn32el mips64 mips64el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 s390x sparc sparc64 x32] <!nobiarch>, + g++-8, g++-8-multilib [amd64 armhf armel i386 kfreebsd-amd64 mips mipsel mipsn32 mipsn32el mips64 mips64el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 s390x sparc sparc64 x32] <!nobiarch>, python3:native <!nocheck>, - libidn2-0 (>= 2.0.5~) <!nocheck>, + libidn2-0 <!nocheck>, libc-bin (>= @GLIBC_VERSION@) <cross> Build-Depends-Indep: perl, po-debconf (>= 1.0) -Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Uploaders: Clint Adams <clint@debian.org>, Aurelien Jarno <aurel32@debian.org>, Adam Conrad <adconrad@0c3.net>, Samuel Thibault <sthibault@debian.org> -Standards-Version: 4.2.1 +Standards-Version: 4.1.4 Vcs-Browser: https://salsa.debian.org/glibc-team/glibc Vcs-Git: https://salsa.debian.org/glibc-team/glibc.git Homepage: https://www.gnu.org/software/libc/libc.html @@ -30,7 +30,7 @@ Priority: required Essential: yes Multi-Arch: foreign Depends: ${shlibs:Depends}, ${misc:Depends} -Recommends: manpages +Suggests: manpages Build-Profiles: <!stage1> Description: GNU C Library: Binaries This package contains utility programs related to the GNU C Library. @@ -73,8 +73,7 @@ Architecture: all Section: doc Priority: optional Multi-Arch: foreign -Depends: ${misc:Depends} -Suggests: glibc-doc-reference +Depends: ${misc:Depends}, glibc-doc-reference (>= 2.18) Build-Profiles: <!stage1> Description: GNU C Library: Documentation Contains man pages for libpthread functions and the complete GNU C Library @@ -99,8 +98,9 @@ Package: locales Architecture: all Section: localization Priority: standard -Depends: libc-bin (>> @GLIBC_VERSION@), libc-l10n (>> @GLIBC_VERSION@), ${misc:Depends}, debconf | debconf-2.0 -Replaces: manpages-fr-extra (<< 20141022) +Depends: libc-bin (>> @GLIBC_VERSION@), ${misc:Depends}, debconf | debconf-2.0 +Breaks: libc-bin (<< 2.23) +Replaces: libc-bin (<< 2.23), manpages-fr-extra (<< 20141022) Build-Profiles: <!stage1> Description: GNU C Library: National Language (locale) data [support] Machine-readable data files, shared objects and programs used by the @@ -117,7 +117,7 @@ Architecture: any Section: localization Priority: optional Multi-Arch: foreign -Depends: libc-l10n (>> @GLIBC_VERSION@), ${misc:Depends} +Depends: ${misc:Depends} Breaks: locales (<< 2.13-17) Build-Profiles: <!stage1> Description: GNU C Library: Precompiled locale data
  5. Download patch debian/local/usr_sbin/locale-gen

    --- 2.28-1/debian/local/usr_sbin/locale-gen 2017-07-31 14:32:03.000000000 +0000 +++ 2.28-0ubuntu1/debian/local/usr_sbin/locale-gen 2018-08-23 19:52:35.000000000 +0000 @@ -1,10 +1,12 @@ -#!/bin/sh +#!/bin/bash set -e LOCALEGEN=/etc/locale.gen LOCALES=/usr/share/i18n/locales USER_LOCALES=/usr/local/share/i18n/locales +SUPPORTED=/var/lib/locales/supported.d +ALIASES=/usr/share/locale/locale.alias if [ -n "$POSIXLY_CORRECT" ]; then unset POSIXLY_CORRECT fi @@ -14,14 +16,89 @@ fi [ -s $LOCALEGEN ] || exit 0; KEEP= -if [ "$1" = '--keep-existing' ]; then - KEEP=1 -fi +IS_LANG=no +ARCHIVE=yes + +# Handle command-line options +prev= +while true +do + option="$1" + if [ -n "$prev" ]; then + eval "$prev=\$option" + prev= + continue + fi + + case $option in + -h|--help) + cat <<EOT +Usage: locale-gen [OPTIONS] +Options: + -h, --help display this message and exit + --purge remove existing locales before processing + --archive store compiled locale data inside a single archive + --no-archive do not store compiled locale data inside a single archive + (default) + --aliases=FILE read locale aliases from FILE. (Default: /etc/locale.alias) + --lang treat argument as generic language code +EOT + exit 0 + ;; + --purge) + # This is the default when called without arguments + ;; + --no-purge) + KEEP=1 + ;; + --archive) + ARCHIVE=yes + ;; + --no-archive) + ARCHIVE=no + ;; + --keep-existing) + KEEP=1 + ;; + --aliases) + prev=ALIASES + ;; + --aliases=*) + ALIASES=$(expr "x$option" : 'x[^=]*=\(.*\)') + ;; + --lang) + IS_LANG=yes + ;; + --*) + echo "locale-gen: invalid option -- $option" + echo "Try 'locale-gen --help' for more information." + exit 1 + ;; + *) + break + ;; + esac + + shift +done + +no_archive= +[ "$ARCHIVE" = yes ] || no_archive="--no-archive" +locale_alias= +[ -n "$ALIASES" ] && [ -r "$ALIASES" ] && locale_alias="-A $ALIASES" -if [ -z "$KEEP" ]; then +if [ -z "$1" ] && [ -z "$KEEP" ]; then # Remove all old locale dir and locale-archive before generating new # locale data. rm -rf /usr/lib/locale/locale-archive || true + for dir in /usr/lib/locale/*; do + [ -e "$dir" ] || continue + if [ "${dir#/usr/lib/locale/}" = C.UTF-8 ]; then + # owned by libc-bin + continue + fi + rm -rf "$dir" 2>/dev/null || true + done fi umask 022 @@ -35,8 +112,46 @@ is_entry_ok() { fi } +add_to_locale_gen() { + echo "$1" | while read locale; do + if ! grep -q "^[# ]*$locale *\$" $LOCALEGEN; then + echo "# $locale" >> $LOCALEGEN + fi + sed -i -e "0,/^[# ]*$locale *$/ s/^[# ]*$locale *$/$locale/" $LOCALEGEN + done +} + +if [ -z "$1" ]; then + GENERATE="`cat $SUPPORTED/* $LOCALEGEN 2>/dev/null || true`" +else + GENERATE= + while [ -n "$1" ]; do + if [ -f "$SUPPORTED/$1" ]; then + GENERATE="$GENERATE\n`cat $SUPPORTED/$1`" + elif [ $IS_LANG = no ] && L=`grep "^${1/%.utf8/.UTF-8} " /usr/share/i18n/SUPPORTED`; then + # convert utf8 to UTF-8 and check if the requested locale exists + GENERATE="$GENERATE\n$L" + add_to_locale_gen "$L" + elif [ $IS_LANG = no ] && L=`grep "^${1%.[uU][tT][fF]*} UTF-8" /usr/share/i18n/SUPPORTED`; then + # recognize 'll_CC.UTF-8' or 'll_CC.utf8' as ll_CC without codeset + GENERATE="$GENERATE\n$L" + add_to_locale_gen "$L" + else + # try to come up with a sensible default + L=`grep -E "^${1}( |[._@][^[:space:]]* )UTF-8" /usr/share/i18n/SUPPORTED || true` + if [ -z "$L" ]; then + echo "Error: '$1' is not a supported language or locale" >&2 + exit 1 + fi + GENERATE="$GENERATE\n$L" + add_to_locale_gen "$L" + fi + shift + done +fi + echo "Generating locales (this might take a while)..." -while read locale charset; do \ +echo -e "$GENERATE" | sort -u | while read locale charset; do \ case $locale in \#*) continue;; "") continue;; esac; \ is_entry_ok || continue if [ "$KEEP" ] && PERL_BADLANG=0 perl -MPOSIX -e \ @@ -57,7 +172,7 @@ while read locale charset; do \ input=$USER_LOCALES/$input fi fi - localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale || :; \ + localedef $no_archive -i $input -c -f $charset $locale_alias $locale || :; \ echo ' done'; \ -done < $LOCALEGEN +done echo "Generation complete."
  6. Download patch debian/rules

    --- 2.28-1/debian/rules 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/rules 2018-08-23 19:52:35.000000000 +0000 @@ -137,7 +137,7 @@ ifneq ($(filter stage1,$(DEB_BUILD_PROFI endif else DEB_ARCH_REGULAR_PACKAGES = $(libc) $(libc)-dev $(libc)-dbg $(libc)-pic libc-bin libc-dev-bin multiarch-support - DEB_INDEP_REGULAR_PACKAGES = glibc-doc glibc-source libc-l10n locales + DEB_INDEP_REGULAR_PACKAGES = glibc-doc glibc-source locales DEB_UDEB_PACKAGES = $(libc)-udeb ## Locales can only be pre-generated during native compiles ifeq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
  7. Download patch debian/control.in/libc

    --- 2.28-1/debian/control.in/libc 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/control.in/libc 2018-08-23 19:52:35.000000000 +0000 @@ -4,16 +4,17 @@ Section: libs Priority: optional Multi-Arch: same Depends: ${shlibs:Depends}, ${libgcc:Depends} -Recommends: libidn2-0 (>= 2.0.5~) -Suggests: glibc-doc, debconf | debconf-2.0, libc-l10n, locales [!hurd-i386] -Provides: libc6-sparcv9b [sparc sparc64], libc0.1-i686 [kfreebsd-i386], libc0.3-i686 [hurd-i386], libc6-i686 [i386] -Conflicts: libc6-loongson2f [mipsel], libc0.1-i686 [kfreebsd-i386], libc6-i686 [i386], openrc (<< 0.27-2~) +Recommends: libidn2-0 +Suggests: glibc-doc, debconf | debconf-2.0, locales [!hurd-i386] +Provides: libc6-sparcv9b [sparc sparc64], libc0.1-i686 [kfreebsd-i386], libc0.3-i686 [hurd-i386], libc6-i686 [i386], libc6-xen [i386], libc6-armel [armel], libc6-armhf [armhf] +Conflicts: libc6-loongson2f [mipsel], libc0.1-i686 [kfreebsd-i386], libc6-i686 [i386], openrc (<< 0.27-2~), libc6-xen [i386] Breaks: nscd (<< @GLIBC_VERSION@), locales (<< @GLIBC_VERSION@), locales-all (<< @GLIBC_VERSION@), hurd (<< 1:0.5.git20140203-1), libtirpc1 (<< 0.2.3) Replaces: libc6-amd64 [amd64], libc6-i386 [i386], libc0.1-i686 [kfreebsd-i386], libc0.3-i686 [hurd-i386], libc6-i686 [i386], + libc6-xen [i386], libc6-x32 [x32], libc0.1-i386 [kfreebsd-i386], libc6-powerpc [powerpc], @@ -38,7 +39,7 @@ Multi-Arch: same Depends: @libc@ (= ${binary:Version}) <!stage1>, libc-dev-bin (= ${binary:Version}), ${misc:Depends}, linux-libc-dev [linux-any], kfreebsd-kernel-headers (>= 0.11) [kfreebsd-any], gnumach-dev [hurd-i386], hurd-dev (>= 20080607-3) [hurd-i386] | hurd-headers-dev [hurd-i386] Replaces: hurd-dev (<< 20120408-3) [hurd-i386], kfreebsd-kernel-headers (<< 10.3~4) [kfreebsd-amd64 kfreebsd-i386] Suggests: glibc-doc, manpages-dev -Provides: libc-dev, libc6-dev [alpha ia64 hurd-i386 kfreebsd-i386 kfreebsd-amd64] +Provides: libc-dev, libc6-dev [alpha ia64 hurd-i386 kfreebsd-i386 kfreebsd-amd64], libc6-dev-armel [armel], libc6-dev-armhf [armhf] Breaks: binutils (<< 2.26), binutils-gold (<< 2.20.1-11), cmake (<< 2.8.4+dfsg.1-5), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2), gcc-4.6 (<< 4.6.0-12), make (<< 3.81-8.1), pkg-config (<< 0.26-1), libjna-java (<< 3.2.7-4), liblouis-dev (<< 2.3.0-2), liblouisxml-dev (<< 2.4.0-2), libhwloc-dev (<< 1.2-3), check (<< 0.9.10-6.1+b1) [s390x], kfreebsd-kernel-headers (<< 10.3~4) [kfreebsd-amd64 kfreebsd-i386], libperl5.26 (<< 5.26.1-3) Conflicts: @libc-dev-conflict@ Description: GNU C Library: Development Libraries and Header Files
  8. Download patch debian/patches/ubuntu/localedata/es_DO-am_pm.diff

    --- 2.28-1/debian/patches/ubuntu/localedata/es_DO-am_pm.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/localedata/es_DO-am_pm.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,18 @@ +Description: Define 12-hours a.m./p.m. format +Bug-Ubuntu: https://launchpad.net/bugs/1288843 +Forwarded: http://sourceware.org/bugzilla/show_bug.cgi?id=16045 +Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com> + +--- a/localedata/locales/es_DO 2012-03-06 10:10:20.000000000 +0100 ++++ b/localedata/locales/es_DO 2014-03-09 01:03:37.309958275 +0100 +@@ -114,8 +114,8 @@ + d_t_fmt "%a %d %b %Y %T %Z" + d_fmt "%d//%m//%y" + t_fmt "%T" +-am_pm "";"" +-t_fmt_ampm "" ++am_pm "a.m.";"p.m." ++t_fmt_ampm "%I:%M:%S %p" + week 7;19971130;1 + END LC_TIME +
  9. Download patch debian/patches/kfreebsd/local-tst-unique.diff

    --- 2.28-1/debian/patches/kfreebsd/local-tst-unique.diff 2018-10-28 09:51:26.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/kfreebsd/local-tst-unique.diff 2016-10-05 19:57:57.000000000 +0000 @@ -5,12 +5,12 @@ tst-unique is not supported by the FreeB @@ -145,7 +145,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \ tst-audit1 tst-audit2 tst-audit8 tst-audit9 \ - tst-addr1 tst-thrlock \ + tst-stackguard1 tst-addr1 tst-thrlock \ - tst-unique1 tst-unique2 $(if $(CXX),tst-unique3 tst-unique4 \ + $(if $(CXX),tst-unique3 tst-unique4 \ tst-nodelete) \ tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \ - tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \ + tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \ @@ -207,8 +207,6 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ unload7mod1 unload7mod2 \ unload8mod1 unload8mod1x unload8mod2 unload8mod3 \
  10. Download patch debian/sysdeps/ppc64.mk

    --- 2.28-1/debian/sysdeps/ppc64.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/sysdeps/ppc64.mk 2018-08-23 19:52:35.000000000 +0000 @@ -3,6 +3,7 @@ extra_config_options = --enable-multi-ar # main library libc_rtlddir = /lib64 +libc_extra_cflags = -O3 -fno-tree-vectorize # multilib flavours ifeq (,$(filter nobiarch, $(DEB_BUILD_PROFILES))) @@ -14,6 +15,7 @@ libc6-powerpc_shlib_dep = libc6-powerpc powerpc_configure_target = powerpc-linux-gnu powerpc_CC = $(CC) -m32 powerpc_CXX = $(CXX) -m32 +powerpc_extra_cflags = -O3 -fno-tree-vectorize powerpc_slibdir = /lib32 powerpc_libdir = /usr/lib32
  11. Download patch debian/sysdeps/i386.mk

    --- 2.28-1/debian/sysdeps/i386.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/sysdeps/i386.mk 2018-08-23 19:52:35.000000000 +0000 @@ -1,30 +1,6 @@ # configuration options for all flavours extra_config_options = --enable-multi-arch --enable-static-pie - -ifeq (,$(filter stage1 stage2, $(DEB_BUILD_PROFILES))) -# We use -mno-tls-direct-seg-refs to not wrap-around segments, as it -# greatly increase the speed when running under the 32bit Xen hypervisor. -GLIBC_PASSES += xen -DEB_ARCH_REGULAR_PACKAGES += libc6-xen -xen_extra_cflags = -mno-tls-direct-seg-refs -xen_slibdir = /lib/$(DEB_HOST_MULTIARCH)/i686/nosegneg - -define libc6-xen_extra_pkg_install -mkdir -p debian/libc6-xen/etc/ld.so.conf.d -echo '# This directive teaches ldconfig to search in nosegneg subdirectories' > debian/libc6-xen/etc/ld.so.conf.d/libc6-xen.conf -echo '# and cache the DSOs there with extra bit 1 set in their hwcap match' >> debian/libc6-xen/etc/ld.so.conf.d/libc6-xen.conf -echo '# fields. In Xen guest kernels, the vDSO tells the dynamic linker to' >> debian/libc6-xen/etc/ld.so.conf.d/libc6-xen.conf -echo '# search in nosegneg subdirectories and to match this extra hwcap bit' >> debian/libc6-xen/etc/ld.so.conf.d/libc6-xen.conf -echo '# in the ld.so.cache file.' >> debian/libc6-xen/etc/ld.so.conf.d/libc6-xen.conf -echo 'hwcap 1 nosegneg' >> debian/libc6-xen/etc/ld.so.conf.d/libc6-xen.conf -endef - -define libc6-dev_extra_pkg_install -mkdir -p debian/libc6-dev/$(libdir)/xen -cp -af debian/tmp-xen/$(libdir)/*.a \ - debian/libc6-dev/$(libdir)/xen -endef -endif +libc_extra_cflags = -mno-tls-direct-seg-refs # multilib flavours ifeq (,$(filter nobiarch, $(DEB_BUILD_PROFILES)))
  12. Download patch debian/patches/ubuntu/submitted-no-sprintf-pre-truncate.diff

    --- 2.28-1/debian/patches/ubuntu/submitted-no-sprintf-pre-truncate.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/submitted-no-sprintf-pre-truncate.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,22 @@ +Description: when a program is compiled with -D_FORTIFY_SOURCE=2, the + vsprintf_chk function is called to handle sprintf/snprintf, but it + needlessly pretruncates the destination which changes the results of + sprintf(foo, "%sbar", baz). This patch restores the original behavior + that many programs have depended on. +Bug: http://sourceware.org/bugzilla/show_bug.cgi?id=7075 +Bug-Ubuntu: https://launchpad.net/bugs/305901 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=563637 +Author: Kees Cook <kees@ubuntu.com> + +Index: glibc-2.9/debug/vsprintf_chk.c +=================================================================== +--- glibc-2.9.orig/debug/vsprintf_chk.c 2008-12-23 21:30:07.000000000 -0800 ++++ glibc-2.9/debug/vsprintf_chk.c 2008-12-23 21:30:19.000000000 -0800 +@@ -76,7 +76,6 @@ + + _IO_no_init (&f._sbf._f, _IO_USER_LOCK, -1, NULL, NULL); + _IO_JUMPS (&f._sbf) = &_IO_str_chk_jumps; +- s[0] = '\0'; + _IO_str_init_static_internal (&f, s, slen - 1, s); + + /* For flags > 0 (i.e. __USE_FORTIFY_LEVEL > 1) request that %n
  13. Download patch debian/control
  14. Download patch debian/rules.d/debhelper.mk

    --- 2.28-1/debian/rules.d/debhelper.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/rules.d/debhelper.mk 2018-08-23 19:52:35.000000000 +0000 @@ -33,6 +33,13 @@ $(patsubst %,$(stamp)binaryinst_%,$(DEB_ dh_link -p$(curpass) dh_bugfiles -p$(curpass) + if test "$(curpass)" = "libc-bin"; then \ + mv debian/$(curpass)/sbin/ldconfig \ + debian/$(curpass)/sbin/ldconfig.real; \ + install -m755 -o0 -g0 debian/local/sbin/ldconfig \ + debian/$(curpass)/sbin/ldconfig; \ + fi + # when you want to install extra packages, use extra_pkg_install. $(call xx,extra_pkg_install) @@ -44,7 +51,7 @@ ifeq ($(filter nostrip,$(DEB_BUILD_OPTIO # work even without that package installed. if test "$(NOSTRIP_$(curpass))" != 1; then \ if test "$(DEBUG_$(curpass))" = 1; then \ - dh_strip -p$(curpass) -Xlibpthread $(DH_STRIP_DEBUG_PACKAGE); \ + DH_COMPAT=8 dh_strip -p$(curpass) -Xlibpthread $(DH_STRIP_DEBUG_PACKAGE); \ for f in $$(find debian/$(curpass) -name libpthread-\*.so) ; do \ dbgfile=$$(LC_ALL=C readelf -n $$f | sed -e '/Build ID:/!d' \ -e "s#^.*Build ID: \([0-9a-f]\{2\}\)\([0-9a-f]\+\)#\1/\2.debug#") ; \ @@ -56,7 +63,7 @@ ifeq ($(filter nostrip,$(DEB_BUILD_OPTIO --remove-section=.note $$f ; \ done ; \ else \ - dh_strip -p$(curpass) -Xlibpthread; \ + DH_COMPAT=8 dh_strip -p$(curpass) -Xlibpthread; \ fi ; \ for f in $$(find debian/$(curpass) -name \*crt\*.o) ; do \ $(DEB_HOST_GNU_TYPE)-strip --strip-debug --remove-section=.comment \ @@ -67,6 +74,9 @@ endif dh_compress -p$(curpass) dh_fixperms -p$(curpass) -Xpt_chown + if [ $(curpass) = locales ] ; then \ + chmod +x debian/$(curpass)/usr/share/locales/*-language-pack ; \ + fi # Use this instead of -X to dh_fixperms so that we can use # an unescaped regular expression. ld.so must be executable; # libc.so and NPTL's libpthread.so print useful version @@ -106,7 +116,7 @@ $(patsubst %,$(stamp)binaryinst_%,$(DEB_ dh_testroot dh_installdirs -p$(curpass) dh_install -p$(curpass) - dh_strip -p$(curpass) + DH_COMPAT=8 dh_strip -p$(curpass) # when you want to install extra packages, use extra_pkg_install. $(call xx,extra_pkg_install)
  15. Download patch debian/patches/ubuntu/local-altlocaledir.diff

    --- 2.28-1/debian/patches/ubuntu/local-altlocaledir.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/local-altlocaledir.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,38 @@ +# All lines beginning with `# DP:' are a description of the patch. +# DP: Description: support alternative gettext tree in +# DP: /usr/share/locale-langpack +# DP: Dpatch author: Martin Pitt <martin.pitt@canonical.com> +# DP: Patch author: Martin Pitt <martin.pitt@canonical.com> +# DP: Upstream status: Ubuntu-Specific +# DP: Date: 2004-12-06 20:44:10 CET +# DP: Updated: 2016-10-05 13:51:00 CET + +--- glibc-2.3.5.orig/intl/l10nflist.c ++++ glibc-2.3.5/intl/l10nflist.c +@@ -267,7 +267,7 @@ _nl_make_l10nflist (l10nfile_list, dirli + + retval = (struct loaded_l10nfile *) + malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len) +- * (1 << pop (mask)) ++ * 2 * (1 << pop (mask)) + * sizeof (struct loaded_l10nfile *))); + if (retval == NULL) + { +@@ -310,6 +310,17 @@ _nl_make_l10nflist (l10nfile_list, dirli + language, territory, codeset, + normalized_codeset, modifier, filename, 1); + } ++ const char* langpack_dir = "/usr/share/locale-langpack"; ++ if (strncmp(filename, "LC_MESSAGES", strlen("LC_MESSAGES")) == 0) { ++ for (cnt = mask; cnt >= 0; --cnt) ++ if ((cnt & ~mask) == 0) ++ { ++ retval->successor[entries++] ++ = _nl_make_l10nflist (l10nfile_list, langpack_dir, strlen (langpack_dir) + 1, cnt, ++ language, territory, codeset, ++ normalized_codeset, modifier, filename, 1); ++ } ++ } + retval->successor[entries] = NULL; + + return retval;
  16. Download patch debian/patches/ubuntu/local-disable-nscd-netgroup-caching.diff

    --- 2.28-1/debian/patches/ubuntu/local-disable-nscd-netgroup-caching.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/local-disable-nscd-netgroup-caching.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,13 @@ +--- eglibc-2.16.orig/nscd/nscd.conf ++++ eglibc-2.16/nscd/nscd.conf +@@ -80,7 +80,9 @@ + shared services yes + max-db-size services 33554432 + +- enable-cache netgroup yes ++# netgroup caching is known-broken, so disable it in the default config, ++# see: https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1068889 ++ enable-cache netgroup no + positive-time-to-live netgroup 28800 + negative-time-to-live netgroup 20 + suggested-size netgroup 211
  17. Download patch debian/patches/hurd-i386/git-msync.diff

    --- 2.28-1/debian/patches/hurd-i386/git-msync.diff 2018-11-28 22:39:39.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-msync.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,107 +0,0 @@ -commit 2e96e9808eb6e76304907123455668894147d836 -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Sat Nov 3 22:47:57 2018 +0100 - - hurd: Support msync - - * sysdeps/mach/hurd/msync.c: New file. - -diff --git a/sysdeps/mach/hurd/msync.c b/sysdeps/mach/hurd/msync.c -new file mode 100644 -index 0000000000..3e41503ece ---- /dev/null -+++ b/sysdeps/mach/hurd/msync.c -@@ -0,0 +1,93 @@ -+/* msync -- Synchronize mapped memory to external storage. Mach version. -+ Copyright (C) 2002-2018 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include <sys/types.h> -+#include <sys/mman.h> -+#include <errno.h> -+ -+#include <hurd/hurd.h> -+ -+/* Synchronize the region starting at ADDR and extending LEN bytes with the -+ file it maps. Filesystem operations on a file being mapped are -+ unpredictable before this is done. */ -+ -+int -+msync (void *addr, size_t length, int flags) -+{ -+ boolean_t should_flush = flags & MS_INVALIDATE ? 1 : 0; -+ boolean_t should_iosync = flags & MS_ASYNC ? 0 : 1; -+ -+ vm_address_t cur = (vm_address_t) addr; -+ vm_address_t target = cur + length; -+ -+ vm_size_t len; -+ vm_prot_t prot; -+ vm_prot_t max_prot; -+ vm_inherit_t inherit; -+ boolean_t shared; -+ memory_object_name_t obj; -+ vm_offset_t offset; -+ -+ kern_return_t err; -+ -+ if (flags & (MS_SYNC | MS_ASYNC) == (MS_SYNC | MS_ASYNC)) -+ return __hurd_fail (EINVAL); -+ -+ while (cur < target) -+ { -+ vm_address_t begin = cur; -+ -+ err = __vm_region (__mach_task_self (), -+ &begin, &len, &prot, &max_prot, &inherit, -+ &shared, &obj, &offset); -+ -+ if (err != KERN_SUCCESS) -+ return __hurd_fail (err); -+ -+ if (begin > cur) -+ /* We were given an address before the first region, -+ or we found a hole. */ -+ cur = begin; -+ -+ if (cur >= target) -+ /* We were given an ending address within a hole. */ -+ break; -+ -+ if (MACH_PORT_VALID (obj)) -+ { -+ vm_size_t sync_len; -+ -+ if (begin + len > target) -+ sync_len = target - begin; -+ else -+ sync_len = len; -+ -+ err = __vm_object_sync (obj, cur - begin + offset, sync_len, -+ should_flush, 1, should_iosync); -+ __mach_port_deallocate (__mach_task_self (), obj); -+ -+ if (err) -+ return __hurd_fail (err); -+ -+ } -+ -+ cur = begin + len; -+ } -+ -+ return 0; -+}
  18. Download patch debian/debhelper.in/locales.install

    --- 2.28-1/debian/debhelper.in/locales.install 2018-03-02 20:03:58.000000000 +0000 +++ 2.28-0ubuntu1/debian/debhelper.in/locales.install 2018-08-23 19:52:35.000000000 +0000 @@ -3,3 +3,5 @@ debian/tmp-libc/usr/share/i18n/* usr/sha debian/local/usr_sbin/locale-gen usr/sbin debian/local/usr_sbin/update-locale usr/sbin debian/local/usr_sbin/validlocale usr/sbin +debian/local/usr_share_locales/install-language-pack usr/share/locales +debian/local/usr_share_locales/remove-language-pack usr/share/locales
  19. Download patch debian/sysdeps/amd64.mk

    --- 2.28-1/debian/sysdeps/amd64.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/sysdeps/amd64.mk 2018-08-23 19:52:35.000000000 +0000 @@ -3,6 +3,7 @@ extra_config_options = --enable-multi-ar # main library libc_mvec = yes +libc_extra_cflags = -O3 libc_rtlddir = /lib64 # multilib flavours
  20. Download patch debian/testsuite-xfail-debian.mk
  21. Download patch debian/patches/hurd-i386/git-tst-preadvwritev2-common.c.diff

    --- 2.28-1/debian/patches/hurd-i386/git-tst-preadvwritev2-common.c.diff 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-tst-preadvwritev2-common.c.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -commit 18ad0de6513bf8a8e4ba757c069e6806d07920f8 -Author: Adhemerval Zanella <adhemerval.zanella@linaro.org> -Date: Tue Oct 23 14:53:12 2018 -0300 - - Fix tst-preadvwritev2 build failure on HURD - - Commit 7a16bdbb9ff41 uses IOV_MAX, which is not defined on hurd. - - Checked on a build for i686-gnu. - - * misc/tst-preadvwritev2-common.c (IOV_MAX): Define if not - defined. - -diff --git a/misc/tst-preadvwritev2-common.c b/misc/tst-preadvwritev2-common.c -index 50b9da3fea..3098b4ae0b 100644 ---- a/misc/tst-preadvwritev2-common.c -+++ b/misc/tst-preadvwritev2-common.c -@@ -37,6 +37,11 @@ - #define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT \ - | RWF_APPEND) - -+/* Generic uio_lim.h does not define IOV_MAX. */ -+#ifndef IOV_MAX -+# define IOV_MAX 1024 -+#endif -+ - static void - do_test_with_invalid_fd (void) - {
  22. Download patch debian/sysdeps/ppc64el.mk

    --- 2.28-1/debian/sysdeps/ppc64el.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/sysdeps/ppc64el.mk 2018-08-23 19:52:35.000000000 +0000 @@ -3,3 +3,4 @@ extra_config_options = --enable-multi-ar # main library libc_rtlddir = /lib64 +libc_extra_cflags = -O3 -fno-tree-vectorize
  23. Download patch debian/patches/ubuntu/localedata/eo_US.diff
  24. Download patch debian/debhelper.in/locales.config

    --- 2.28-1/debian/debhelper.in/locales.config 2018-03-02 20:03:58.000000000 +0000 +++ 2.28-0ubuntu1/debian/debhelper.in/locales.config 2018-08-23 19:52:35.000000000 +0000 @@ -34,12 +34,20 @@ if [ -e $LG ]; then GEN_LOCALES="$(convert_locale "$GEN_LOCALES")" fi +# This upgrades from Ubuntu << 16.04, where locale-gen wrote user locales +# to /var/lib/locales/supported.d/local, but we want them in /etc/locale.gen +if [ -f /var/lib/locales/supported.d/local ]; then + LOCAL_LOCALES="$(sed -e '/^[a-zA-Z]/!d' -e 's/ *$//g' /var/lib/locales/supported.d/local)" + LOCAL_LOCALES="$(convert_locale "$LOCAL_LOCALES")" + GEN_LOCALES=$(printf '%s\n' "$GEN_LOCALES" "$LOCAL_LOCALES") +fi + # List of supported locales (PROVIDED_LOCALES + USER_LOCALES + GEN_LOCALES) SUPPORTED_LOCALES="$(printf '%s\n' "$PROVIDED_LOCALES" "$USER_LOCALES" "$GEN_LOCALES" | grep -v "^$" | sort -u | tr '\n' ',' | sed -e 's/, */, /g' -e 's/, *$//g')" db_subst locales/locales_to_be_generated locales "$SUPPORTED_LOCALES" # Get the list of selected locales from /etc/locale.gen -if [ -e /etc/locale.gen ]; then +if [ -e /etc/locale.gen -o -f /var/lib/locales/supported.d/local ]; then if [ -L $LG ] && [ "$(readlink $LG)" = "/usr/share/i18n/SUPPORTED" ]; then SELECTED_LOCALES="All locales" else @@ -77,6 +85,13 @@ while [ "$STATE" -ge 0 ]; do RET=$SUPPORTED_LOCALES fi DEFAULT_LOCALES="$(echo $RET | sed -e 's/ [^ ]*,/,/g' -e 's/ [^ ]*$//')" + for langpack in /var/lib/locales/supported.d/*; do + if [ -f $langpack ]; then + while read locale charset; do + DEFAULT_LOCALES="$DEFAULT_LOCALES, $locale" + done < $langpack + fi + done if [ -n "$DEFAULT_LOCALES" ]; then db_subst locales/default_environment_locale locales $DEFAULT_LOCALES db_input medium locales/default_environment_locale || true
  25. Download patch debian/debhelper.in/libc.postinst

    --- 2.28-1/debian/debhelper.in/libc.postinst 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/debhelper.in/libc.postinst 2018-08-23 19:52:35.000000000 +0000 @@ -29,124 +29,95 @@ then if [ -n "$preversion" ] && [ -x "$(which ischroot)" ] && ! ischroot; then if dpkg --compare-versions "$preversion" lt GLIBC_VERSION; then - check="apache2.2-common apache apache-ssl apache-perl autofs at" - check="$check boa cucipop courier-authdaemon cron cups exim" - check="$check exim4-base dovecot-common cucipop incron lprng lpr" - check="$check lpr-ppd mysql-server nis openbsd-inetd" - check="$check openldapd postgresql-common proftpd postfix postfix-tls" - check="$check rsync samba sasl2-bin slapd smail sendmail snmpd ssh" - check="$check spamassassin vsftpd wu-ftpd wu-ftpd-academ wwwoffle" - check="$check webmin dropbear gdm" + check="" + [ -f /var/run/services.need_restart ] && check=$(cat /var/run/services.need_restart 2>/dev/null) + # Change service names back into package names, so that we can + # double-check package installation. + check=$(echo "$check" | \ + sed -e's/\bapache2\b/apache2.2-common/g' \ + -e's/\batd\b/at/g' \ + -e's/\bdovecot\b/dovecot-common/g' \ + -e's/\bexim4\b/exim4-base/g' \ + -e's/\blpd\b/lpr/g' \ + -e's/\blpd-ppd\b/lpr-ppd/g' \ + -e's/\bmysql\b/mysql-server/g' \ + -e's/\bsaslauthd\b/sasl2-bin/g' \ + ) + + # Check to see which of the services that were running at unpack + # time are still around + # the following substitution processes the check variable + # and returns results in the services variable # NSS services check: __NSS_CHECK__ + # If there are services that we *stopped* in the preinst, don't + # forget to restart them now + if [ -e /var/run/services.need_start ]; then + services="$(cat /var/run/services.need_start) $services" + fi if [ -n "$services" ]; then - - if [ -f /usr/share/debconf/confmodule ] ; then - db_version 2.0 - db_input critical libraries/restart-without-asking || true - db_go || true - db_get libraries/restart-without-asking - if [ "$RET" != true ]; then - db_reset glibc/restart-services - db_set glibc/restart-services "$services" - db_input critical glibc/restart-services || true - db_go || true - db_get glibc/restart-services - if [ "x$RET" != "x" ] - then - services="$RET" - else - services="" - fi - fi - else - echo - echo "Name Service Switch update in the C Library: post-installation question." - echo - echo "Running services and programs that are using NSS need to be restarted," - echo "otherwise they might not be able to do lookup or authentication any more" - echo "(for services such as ssh, this can affect your ability to login)." - echo "Note: restarting sshd/telnetd should not affect any existing connections." - echo - echo "The services detected are: " - echo " $services" - echo - echo "If other services have begun to fail mysteriously after this upgrade, it is" - echo "probably necessary to restart them too. We recommend that you reboot your" - echo "machine after the upgrade to avoid NSS-related troubles." - echo - frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'` - if [ "$frontend" = noninteractive ]; then - echo "Non-interactive mode, restarting services" - answer=yes + echo "Restarting services possibly affected by the upgrade:" + failed="" + for service in $services; do + case "$service" in + gdm) + idlopt="reload" + ;; + *) + idlopt="restart" + ;; + esac + echo -n " $service: restarting..." + if invoke-rc.d ${service} $idlopt > /dev/null 2>&1; then + echo "done." else - echo -n "Do you wish to restart services? [Y/n] " - read answer - case $answer in - N*|n*) services="" ;; - *) ;; - esac + echo "FAILED! ($?)" + failed="$service $failed" fi - fi + done + echo - if [ "$services" != "" ]; then - echo "Restarting services possibly affected by the upgrade:" - failed="" - for service in $services; do - case "$service" in - gdm) - echo -n " $service: reloading..." - if invoke-rc.d ${service} reload > /dev/null 2>&1; then - echo "done." - else - echo "FAILED! ($?)" - failed="$service $failed" - fi - ;; - *) - echo -n " $service: restarting..." - if invoke-rc.d ${service} restart > /dev/null 2>&1; then - echo "done." - else - echo "FAILED! ($?)" - failed="$service $failed" - fi - ;; - esac - done - echo - if [ -n "$failed" ]; then - if [ -f /usr/share/debconf/confmodule ] ; then - db_fset glibc/restart-failed seen false - db_subst glibc/restart-failed services "$failed" - db_input critical glibc/restart-failed || true - db_go || true + if [ -n "$failed" ]; then + if [ -f /usr/share/debconf/confmodule ] ; then + db_fset glibc/restart-failed seen false + db_subst glibc/restart-failed services "$failed" + if [ "$RELEASE_UPGRADE_MODE" = desktop ]; then + db_input medium glibc/restart-failed || true else - echo "The following services failed to start: $failed" - echo - echo "You will need to start these manually by running \`invoke-rc.d <service> start'" - echo "If the service still fails to start, you may need to file a bug on" - echo "${DPKG_MAINTSCRIPT_PACKAGE}:${DPKG_MAINTSCRIPT_ARCH} or the service involved." - frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'` - if [ "$frontend" != noninteractive ]; then - echo - echo -n "Press ENTER to continue: " - read foo - fi + db_input critical glibc/restart-failed || true fi + db_go || true else - echo "Services restarted successfully." - fi + echo "The following services failed to start: $failed" + echo + echo "You will need to start these manually by running \`invoke-rc.d <service> start'" + echo "If the service still fails to start, you may need to file a bug on" + echo "${DPKG_MAINTSCRIPT_PACKAGE}:${DPKG_MAINTSCRIPT_ARCH} or the service involved." + frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'` + if [ "$frontend" != noninteractive ]; then + echo + echo -n "Press ENTER to continue: " + read foo + fi + fi + else + echo "Services restarted successfully." + rm -f /var/run/services.need_start /var/run/services.need_restart fi - # Shut down the frontend, to make sure none of the + + # Shut down the frontend, to make sure none of the # restarted services keep a connection open to it - if [ -f /usr/share/debconf/confmodule ] ; then + if [ -f /usr/share/debconf/confmodule ] ; then db_stop fi else echo "Nothing to restart." fi fi # end upgrading and $preversion lt GLIBC_VERSION + # give a reboot notification on al upgrades (LP: #1546457) + if [ -x /usr/share/update-notifier/notify-reboot-required ]; then + /usr/share/update-notifier/notify-reboot-required + fi fi # Upgrading # Restart init. Currently handles chroots, systemd and upstart, and
  26. Download patch debian/patches/hurd-i386/unsubmitted-getaux_at_secure.diff

    --- 2.28-1/debian/patches/hurd-i386/unsubmitted-getaux_at_secure.diff 2018-10-28 09:51:26.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/unsubmitted-getaux_at_secure.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -FIXME: sysdeps/mach/hurd/i386/init-first.c should instead pass an auxv -to __libc_start_main - -Index: glibc-2.28/misc/getauxval.c -=================================================================== ---- glibc-2.28.orig/misc/getauxval.c -+++ glibc-2.28/misc/getauxval.c -@@ -18,6 +18,7 @@ - #include <sys/auxv.h> - #include <errno.h> - #include <ldsodefs.h> -+#include <unistd.h> - - - unsigned long int -@@ -27,6 +28,11 @@ __getauxval (unsigned long int type) - ElfW(auxv_t) *p; - #endif - -+#ifdef AT_SECURE -+ if (type == AT_SECURE) -+ return __libc_enable_secure; -+#endif -+ - #ifdef AT_HWCAP - if (type == AT_HWCAP) - return GLRO(dl_hwcap);
  27. Download patch debian/patches/hurd-i386/git-pci.diff

    --- 2.28-1/debian/patches/hurd-i386/git-pci.diff 2018-11-28 22:39:39.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-pci.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -commit fc783076ec496a55c029be14617ea16a24589f55 -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Wed Oct 31 22:43:44 2018 +0100 - - hurd: Add pci RPC stubs - - * hurd/Makefile (user-interfaces): Add pci. - -diff --git a/hurd/Makefile b/hurd/Makefile -index a41737f497..2605d62e56 100644 ---- a/hurd/Makefile -+++ b/hurd/Makefile -@@ -34,7 +34,7 @@ user-interfaces := $(addprefix hurd/,\ - exec exec_experimental exec_startup crash interrupt \ - fs fs_experimental fsys io io_reply io_request \ - term tioctl socket ifsock \ -- login password pfinet \ -+ login password pfinet pci \ - ) - server-interfaces := hurd/msg faultexc -
  28. Download patch debian/patches/git-updates.diff
  29. Download patch debian/local/sbin/ldconfig

    --- 2.28-1/debian/local/sbin/ldconfig 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/local/sbin/ldconfig 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,16 @@ +#!/bin/sh + +if test $# = 0 \ + && test x"$LDCONFIG_NOTRIGGER" = x \ + && test x"$DPKG_MAINTSCRIPT_PACKAGE" != x \ + && dpkg-trigger --check-supported 2>/dev/null +then + if dpkg-trigger --no-await ldconfig; then + if test x"$LDCONFIG_TRIGGER_DEBUG" != x; then + echo "ldconfig: wrapper deferring update (trigger activated)" + fi + exit 0 + fi +fi + +exec /sbin/ldconfig.real "$@"
  30. Download patch debian/debhelper.in/libc-bin.postinst

    --- 2.28-1/debian/debhelper.in/libc-bin.postinst 2018-03-02 20:03:58.000000000 +0000 +++ 2.28-0ubuntu1/debian/debhelper.in/libc-bin.postinst 2018-08-23 19:52:35.000000000 +0000 @@ -48,6 +48,8 @@ if [ "$1" = "configure" ] && [ "$2" != " fi if [ "$1" = "triggered" ] || [ "$1" = "configure" ]; then + LDCONFIG_NOTRIGGER=y + export LDCONFIG_NOTRIGGER ldconfig || ldconfig --verbose exit 0 fi
  31. Download patch debian/patches/series

    --- 2.28-1/debian/patches/series 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/series 2018-08-23 19:52:35.000000000 +0000 @@ -70,6 +70,8 @@ hurd-i386/unsubmitted-clock_t_centisecon hurd-i386/submitted-path_mounted.diff hurd-i386/tg-sigstate_thread_reference.diff hurd-i386/submitted-bind_umask2.diff +hurd-i386/tg-WRLCK-upgrade.diff +hurd-i386/libpthread_pthread_types.diff hurd-i386/tg-bootstrap.diff hurd-i386/local-mach_print.diff #hurd-i386/submitted-anon-mmap-shared.diff @@ -78,19 +80,10 @@ hurd-i386/tg-ONSTACK.diff hurd-i386/tg-libc_rwlock_recursive.diff hurd-i386/tg-magic-pid.diff hurd-i386/local-no_unsupported_ioctls.diff +hurd-i386/local-nocheck-installed-headers.diff hurd-i386/local-exec_filename.diff #hurd-i386/libpthread_sigs.diff hurd-i386/local-hurd_sigstate-PLT.diff -hurd-i386/git-interrupt_timeout_EIO.diff -hurd-i386/git-interrupt_timeout.diff -hurd-i386/git-intr-msg.diff -hurd-i386/git-pci.diff -hurd-i386/git-msync.diff -hurd-i386/git-spawn-open.diff -hurd-i386/git-tst-preadvwritev2-common.c.diff -hurd-i386/git-fcntl64.diff -hurd-i386/git-lockf-0.diff -hurd-i386/tg-WRLCK-upgrade.diff i386/local-biarch.diff i386/unsubmitted-quiet-ldconfig.diff @@ -154,3 +147,16 @@ any/local-libpic.diff any/local-bootstrap-headers.diff any/submitted-resolv-unaligned.diff any/local-cudacc-float128.diff + +# Ubuntu patches live in their own little world, to maintain sanity +ubuntu/local-altlocaledir.diff +ubuntu/local-disable-ld_audit.diff +ubuntu/local-disable-nscd-netgroup-caching.diff +ubuntu/submitted-no-sprintf-pre-truncate.diff +ubuntu/localedata/ckb_IQ-new_locale.diff +ubuntu/localedata/en_IE-am_pm.diff +ubuntu/localedata/eo_US.diff +ubuntu/localedata/es_DO-am_pm.diff +ubuntu/localedata/lv_LV-currency.diff +ubuntu/localedata/sd_PK.diff +ubuntu/localedata/ug_CN@latin.diff
  32. Download patch debian/debhelper.in/libc.preinst

    --- 2.28-1/debian/debhelper.in/libc.preinst 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/debhelper.in/libc.preinst 2018-08-23 19:52:35.000000000 +0000 @@ -298,6 +298,8 @@ then fi check="kdm postgresql xdm" + # the following substitution processes the check variable + # and returns results in the services variable # NSS services check: __NSS_CHECK__ if [ -n "$services" ]; then @@ -305,7 +307,11 @@ then db_version 2.0 db_reset glibc/upgrade db_subst glibc/upgrade services $services - db_input critical glibc/upgrade || true + if [ "$RELEASE_UPGRADE_MODE" = desktop ]; then + db_input medium glibc/upgrade || true + else + db_input critical glibc/upgrade || true + fi db_go || true db_get glibc/upgrade answer=$RET @@ -348,6 +354,118 @@ then exit 1 fi fi + + services="" + check="apache2.2-common apache apache-ssl apache-perl autofs at" + check="$check boa cucipop courier-authdaemon cron cups exim" + check="$check exim4-base dovecot-common cucipop incron lprng lpr" + check="$check lpr-ppd mysql-server nis openbsd-inetd" + check="$check openldapd postgresql-common proftpd postfix postfix-tls" + check="$check rsync samba sasl2-bin slapd smail sendmail snmpd ssh" + check="$check spamassassin vsftpd wu-ftpd wu-ftpd-academ wwwoffle" + check="$check webmin dropbear" + # the following substitution processes the check variable + # and returns results in the services variable + # NSS services check: NSS_CHECK + if [ -n "$services" ]; then + if [ -f /usr/share/debconf/confmodule ] ; then + db_version 2.0 + if [ "$RELEASE_UPGRADE_MODE" = desktop ]; then + db_input medium libraries/restart-without-asking || true + else + db_input critical libraries/restart-without-asking || true + fi + db_go || true + + db_get libraries/restart-without-asking + if [ "$RET" != true ]; then + db_reset glibc/restart-services + db_set glibc/restart-services "$services" + if [ "$RELEASE_UPGRADE_MODE" = desktop ]; then + db_input medium glibc/restart-services || true + else + db_input critical glibc/restart-services || true + fi + db_go || true + db_get glibc/restart-services + services="$RET" + fi + else + echo + echo "Name Service Switch update in the C Library: post-installation question." + echo + echo "Running services and programs that are using NSS need to be restarted," + echo "otherwise they might not be able to do lookup or authentication any more" + echo "(for services such as ssh, this can affect your ability to login)." + echo "Note: restarting sshd/telnetd should not affect any existing connections." + echo + echo "The services detected are: " + echo " $services" + echo + echo "If other services have begun to fail mysteriously after this upgrade, it is" + echo "probably necessary to restart them too. We recommend that you reboot your" + echo "machine after the upgrade to avoid NSS-related troubles." + echo + frontend=`echo "$DEBIAN_FRONTEND" | tr '[:upper:]' '[:lower:]'` + if [ "$frontend" = noninteractive ]; then + echo "Non-interactive mode, restarting services" + answer=yes + else + echo -n "Do you wish to restart services? [Y/n] " + read answer + case $answer in + N*|n*) services="" ;; + *) ;; + esac + fi + fi + + if [ -n "$services" ]; then + echo "Stopping some services possibly affected by the upgrade (will be restarted later):" + for service in $services; do + # We can't just use a generic rewrite here, as it was + # samba in wheezy and smbd in jessie, which confuses. + if [ "$service" = "samba" ]; then + if [ -x /etc/init.d/smbd ] || [ -f /etc/init/smbd ]; then + service="smbd" + fi + fi + if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + idl="invoke-rc.d ${service}" + idlopt="stop" + elif [ -f /usr/share/file-rc/rc ] || [ -f /usr/lib/file-rc/rc ] && [ -f /etc/runlevel.conf ]; then + idl=$(filerc $rl $service) + idlopt="stop" + else + idl=$(ls /etc/rc${rl}.d/S??${service} 2> /dev/null | head -1) + idlopt="stop" + fi + case "$service" in + cron) + # See bug (LP: #508083) + echo -n " $service: stopping..." + if $idl $idlopt > /dev/null 2>&1; then + echo "done." + echo "$service" >> /var/run/services.need_start + else + echo "FAILED! ($?)" + echo "$service" >> /var/run/services.need_restart + fi + ;; + + *) + # log service details to allow postinst to handle the + # restart. + echo "$service" >> /var/run/services.need_restart + ;; + esac + done + + fi + echo + else + echo "Nothing to restart." + fi fi # end upgrading and $preversion lt GLIBC_VERSION fi # Upgrading
  33. Download patch debian/local/usr_share_locales/remove-language-pack

    --- 2.28-1/debian/local/usr_share_locales/remove-language-pack 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/local/usr_share_locales/remove-language-pack 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,68 @@ +#!/bin/sh -e + +if [ -z "$1" ]; then + echo "Usage: $0 <language code> <class> [<version>]" + exit 0 +fi + +# Copied from locale-gen +normalize_locale() { + # Insert a leading x in case $1 begins with a dash + this_locale=x$1 + charset= + if echo $this_locale | LC_ALL=C grep '\.' > /dev/null 2>&1; then + charset=$(echo $this_locale | sed -e 's/^x//' -e 's/.*\(\.[^@]*\).*/\1/' | LC_ALL=C tr '[A-Z]' '[a-z]' | LC_ALL=C sed -e 's/[^a-z0-9.]//g') + fi + modifier= + if echo $this_locale | LC_ALL=C grep '@' > /dev/null 2>&1; then + modifier=$(echo $this_locale | sed -e 's/^x//' -e 's/.*\(@[^.]*\).*/\1/') + fi + main=$(echo $this_locale | sed -e 's/^x//' -e 's/[.@].*//') + echo $main$charset$modifier +} + +get_supported_local_normalized() { + [ -e /etc/locale.gen ] || return 0 + sort -u /etc/locale.gen | while read locale charset; do + case $locale in + \#*) continue ;; + "") continue ;; + esac + normalize_locale "$locale" + done +} + +remove_locale() { + this_locale=$(normalize_locale "$1") + if ! echo "$supported_local_normalized" | fgrep -qx "$this_locale"; then + if [ -e /usr/lib/locale/locale-archive ]; then + localedef --delete-from-archive "$this_locale" + fi + fi +} + +# remove binary locales +# do nothing for gnome/kde +if [ -z "$2" ]; then + # do not remove locales if we merely remove language-support-* without + # removing language-pack-* + if [ ! -e /var/lib/locales/supported.d/$1 ]; then + supported_local_normalized="$(get_supported_local_normalized)" + if [ "$1" = 'zh-hans' ]; then + remove_locale zh_CN.utf8 + remove_locale zh_SG.utf8 + elif [ "$1" = 'zh-hant' ]; then + remove_locale zh_HK.utf8 + remove_locale zh_TW.utf8 + else + if [ -e /usr/lib/locale/locale-archive ]; then + for l in $(localedef --list-archive|grep "^$1[._@]"); do + remove_locale "$l" + done + fi + fi + fi +fi + +# ensure that .desktop caches are up to date +dpkg-trigger gmenucache || true
  34. Download patch debian/patches/ubuntu/localedata/ug_CN@latin.diff

    --- 2.28-1/debian/patches/ubuntu/localedata/ug_CN@latin.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/localedata/ug_CN@latin.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,164 @@ +Bug: http://sourceware.org/bugzilla/show_bug.cgi?id=13865 + +Index: langpack-locales/locales/ug_CN@latin +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/localedata/locales/ug_CN@latin 2012-04-04 12:01:25.459348798 +0200 +@@ -0,0 +1,145 @@ ++escape_char / ++comment_char % ++% ++% Uyghur Latin locale ++% Source: http://en.wikipedia.org/wiki/Uyghur_language ++% Contact: Eagle Burkut ++% Email: eagle.burkut@gmail.com ++% Language: ug ++% Territory: CN ++% Revision: 1.00 ++% Date: 2012-03-17 ++% Users: general ++% Charset: UTF-8 ++% Distribution and use is free, ++% also for commercial purposes. ++ ++LC_IDENTIFICATION ++title "Uyghur Latin locale" ++source "http://en.wikipedia.org/wiki/Uyghur_language" ++address "" ++contact "Eagle Burkut" ++email "eagle.burkut@gmail.com" ++tel "" ++fax "" ++language "Uyghur" ++territory "China" ++revision "1.00" ++date "2012-03-17" ++ ++category "i18n:2012";LC_IDENTIFICATION ++category "i18n:2012";LC_CTYPE ++category "i18n:2012";LC_COLLATE ++category "i18n:2012";LC_TIME ++category "i18n:2012";LC_NUMERIC ++category "i18n:2012";LC_MONETARY ++category "i18n:2012";LC_MESSAGES ++category "i18n:2012";LC_PAPER ++category "i18n:2012";LC_NAME ++category "i18n:2012";LC_ADDRESS ++category "i18n:2012";LC_TELEPHONE ++category "i18n:2012";LC_MEASUREMENT ++ ++END LC_IDENTIFICATION ++ ++LC_COLLATE ++copy "iso14651_t1" ++END LC_COLLATE ++ ++LC_CTYPE ++copy "i18n" ++END LC_CTYPE ++ ++LC_MONETARY ++copy "ug_CN" ++END LC_MONETARY ++ ++LC_NUMERIC ++copy "ug_CN" ++END LC_NUMERIC ++ ++LC_TELEPHONE ++copy "ug_CN" ++END LC_TELEPHONE ++ ++LC_TIME ++ ++abday "<U0059><U0065>";/ ++ "<U0044><U00FC>";/ ++ "<U0053><U0065>";/ ++ "<U0043><U0068>";/ ++ "<U0050><U0065>";/ ++ "<U004A><U00FC>";/ ++ "<U0053><U0068>" ++day "<U0059><U0065><U006B><U0073><U0068><U0065><U006E><U0062><U0065>";/ ++ "<U0044><U00FC><U0073><U0068><U0065><U006E><U0062><U0065>";/ ++ "<U0053><U0065><U0079><U0073><U0068><U0065><U006E><U0062><U0065>";/ ++ "<U0043><U0068><U0061><U0072><U0073><U0068><U0065><U006E><U0062><U0065>";/ ++ "<U0050><U0065><U0079><U0073><U0068><U0065><U006E><U0062><U0065>";/ ++ "<U004A><U00FC><U006D><U0065>";/ ++ "<U0053><U0068><U0065><U006E><U0062><U0065>" ++abmon "<U0051><U0065>";/ ++ "<U0048><U0075>";/ ++ "<U004E><U006F>";/ ++ "<U00DC><U006D>";/ ++ "<U0042><U0061>";/ ++ "<U0053><U0065>";/ ++ "<U0043><U0068>";/ ++ "<U0054><U006F>";/ ++ "<U004D><U0069>";/ ++ "<U004F><U007A>";/ ++ "<U004F><U0071>";/ ++ "<U004B><U00F6>" ++mon "<U0051><U0065><U0068><U0072><U0069><U0074><U0061><U006E>";/ ++ "<U0048><U0075><U0074>";/ ++ "<U004E><U006F><U0072><U0075><U007A>";/ ++ "<U00DC><U006D><U0069><U0064>";/ ++ "<U0042><U0061><U0068><U0061><U0072>";/ ++ "<U0053><U0065><U0070><U0065><U0072>";/ ++ "<U0043><U0068><U0069><U006C><U006C><U0065>";/ ++ "<U0054><U006F><U006D><U0075><U007A>";/ ++ "<U004D><U0069><U007A><U0061><U006E>";/ ++ "<U004F><U0067><U0068><U0075><U007A>";/ ++ "<U004F><U0067><U0068><U006C><U0061><U0071>";/ ++ "<U004B><U00F6><U006E><U0065><U006B>" ++ ++% %a, %Y-%m-%d, %T (abday, YYYY-mm-dd, HH:MM:SS) (Ye, 2012-12-31, 23:08:59) ++d_t_fmt "<U0025><U0061><U002C><U0020><U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>/ ++<U002C><U0020><U0025><U0054>" ++ ++% %a, %Y-%m-%d (abday, YYYY-mm-dd) (Ye, 2012-12-31) ++d_fmt "<U0025><U0061><U002C><U0020><U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>" ++ ++% %T (HH:MM:SS) ++t_fmt "<U0025><U0054>" ++ ++am_pm "";"" ++ ++% %a, %Y-%m-%d, %T (abday, YYYY-mm-dd, HH:MM:SS) (Ye, 2012-12-31, 23:08:59) ++date_fmt "<U0025><U0061><U002C><U0020><U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>/ ++<U002C><U0020><U0025><U0054>" ++ ++END LC_TIME ++ ++LC_MESSAGES ++yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>" ++noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" ++yesstr "<U0059><U0065><U0073>" ++nostr "<U004E><U006F>" ++END LC_MESSAGES ++ ++LC_PAPER ++copy "ug_CN" ++END LC_PAPER ++ ++LC_MEASUREMENT ++copy "ug_CN" ++END LC_MEASUREMENT ++ ++LC_NAME % to be fixed ++copy "ug_CN" ++END LC_NAME ++ ++LC_ADDRESS % to be fixed ++copy "ug_CN" ++END LC_ADDRESS +Index: langpack-locales/SUPPORTED +=================================================================== +--- a/localedata/SUPPORTED 2012-04-04 12:00:54.671347626 +0200 ++++ b/localedata/SUPPORTED 2012-04-04 12:01:34.139349128 +0200 +@@ -420,6 +420,7 @@ + tt_RU/UTF-8 \ + tt_RU@iqtelif/UTF-8 \ + ug_CN/UTF-8 \ ++ug_CN@latin/UTF-8 \ + uk_UA.UTF-8/UTF-8 \ + uk_UA/KOI8-U \ + unm_US/UTF-8 \
  35. Download patch debian/rules.d/control.mk

    --- 2.28-1/debian/rules.d/control.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/rules.d/control.mk 2018-08-23 19:52:35.000000000 +0000 @@ -38,8 +38,8 @@ $(stamp)control: debian/rules.d/control. cat debian/control.in/mips32 >> $@T cat debian/control.in/mipsn32 >> $@T cat debian/control.in/mips64 >> $@T -# cat debian/control.in/armhf >> $@T -# cat debian/control.in/armel >> $@T + cat debian/control.in/armhf >> $@T + cat debian/control.in/armel >> $@T cat debian/control.in/kfreebsd-i386 >> $@T cat debian/control.in/x32 >> $@T cat debian/control.in/opt >> $@T
  36. Download patch debian/local/manpages/locale-gen.8

    --- 2.28-1/debian/local/manpages/locale-gen.8 2016-03-20 23:45:12.000000000 +0000 +++ 2.28-0ubuntu1/debian/local/manpages/locale-gen.8 2018-08-23 19:52:35.000000000 +0000 @@ -86,6 +86,13 @@ The main configuration file, which has a line that is not empty and does not begin with a # is treated as a locale definition that is to be built. +\fB/var/lib/locales/supported.d/\fP +.PP +A directory containing locale.gen snippets provided by language-pack +packages. Do not edit these manually, they will be overwritten on +package upgrades. +.PP + .SH "SEE ALSO" .PP localedef(1), locale(1), locale.gen(5).
  37. Download patch debian/source/options

    --- 2.28-1/debian/source/options 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/source/options 2016-01-27 14:17:05.000000000 +0000 @@ -0,0 +1 @@ +compression = "xz"
  38. Download patch debian/patches/hurd-i386/libpthread_pthread_types.diff

    --- 2.28-1/debian/patches/hurd-i386/libpthread_pthread_types.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/libpthread_pthread_types.diff 2016-01-27 14:17:05.000000000 +0000 @@ -0,0 +1,34 @@ +Index: glibc/libpthread/sysdeps/i386/bits/pthreadtypes.h +=================================================================== +--- /dev/null ++++ glibc/libpthread/sysdeps/i386/bits/pthreadtypes.h +@@ -0,0 +1,29 @@ ++/* ++ Copyright (C) 2000 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Library General Public License as ++ published by the Free Software Foundation; either version 2 of the ++ License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with the GNU C Library; see the file COPYING.LIB. If not, ++ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ Boston, MA 02111-1307, USA. */ ++ ++#if !defined _BITS_TYPES_H && !defined _PTHREAD_H ++# error "Never include <bits/pthreadtypes.h> directly; use <sys/types.h> instead." ++#endif ++ ++#ifndef _BITS_PTHREADTYPES_H ++#define _BITS_PTHREADTYPES_H 1 ++ ++#include <pthread/pthreadtypes.h> ++ ++#endif /* bits/pthreadtypes.h */
  39. Download patch debian/patches/hurd-i386/git-lockf-0.diff

    --- 2.28-1/debian/patches/hurd-i386/git-lockf-0.diff 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-lockf-0.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,41 +0,0 @@ -commit b15b1a959040fe8cdfbc51092a7b72032f6c9b86 -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Mon Nov 19 20:22:30 2018 +0100 - - hurd: Support lockf at offset 0 with size 0 or 1. - - * sysdeps/mach/hurd/f_setlk.c: Include <unistd.h>. - (__f_setlk): When whence is SEEK_CUR, use __lseek64 to convert it to - SEEK_SET. - -diff --git a/sysdeps/mach/hurd/f_setlk.c b/sysdeps/mach/hurd/f_setlk.c -index 718af67e32..edfb292dbf 100644 ---- a/sysdeps/mach/hurd/f_setlk.c -+++ b/sysdeps/mach/hurd/f_setlk.c -@@ -19,6 +19,7 @@ - #include <sys/types.h> - #include <sys/file.h> - #include <fcntl.h> -+#include <unistd.h> - #include <errno.h> - - /* XXX -@@ -45,6 +46,18 @@ __f_setlk (int fd, int type, int whence, __off64_t start, __off64_t len, int wai - if (cmd != LOCK_UN && wait == 0) - cmd |= LOCK_NB; - -+ if (whence == SEEK_CUR) -+ { -+ /* In case the target position is 0, we can support it below. */ -+ __off64_t cur = __lseek64 (fd, 0, SEEK_CUR); -+ -+ if (cur >= 0) -+ { -+ start = cur + start; -+ whence = SEEK_SET; -+ } -+ } -+ - switch (whence) - { - case SEEK_SET:
  40. Download patch debian/patches/hurd-i386/git-intr-msg.diff

    --- 2.28-1/debian/patches/hurd-i386/git-intr-msg.diff 2018-10-29 21:13:41.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-intr-msg.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,108 +0,0 @@ -commit 32ad5b3328e0ce53ca27e185a89ca44c1d0acd0c -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Tue Oct 9 23:40:09 2018 +0200 - - hurd: Fix race between calling RPC and handling a signal - - * sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Make - _hurd_intr_rpc_msg_about_to global point to start of controlled - assembly snippet. Make it check canceled flag again. - * hurd/hurdsig.c (_hurdsig_abort_rpcs): Only mutate thread if it passed the - _hurd_intr_rpc_msg_about_to point. - * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Remove comment on mutation - issue. - ---- - hurd/hurdsig.c | 4 +++- - hurd/intr-msg.c | 17 ++--------------- - sysdeps/mach/hurd/i386/intr-msg.h | 23 ++++++++++++++++------- - 3 files changed, 21 insertions(+), 23 deletions(-) - ---- a/hurd/hurdsig.c -+++ b/hurd/hurdsig.c -@@ -439,6 +439,7 @@ _hurdsig_abort_rpcs (struct hurd_sigstat - struct machine_thread_all_state *state, int *state_change, - void (*reply) (void)) - { -+ extern const void _hurd_intr_rpc_msg_about_to; - extern const void _hurd_intr_rpc_msg_in_trap; - mach_port_t rcv_port = MACH_PORT_NULL; - mach_port_t intr_port; -@@ -454,7 +455,8 @@ _hurdsig_abort_rpcs (struct hurd_sigstat - receive completes immediately or aborts. */ - abort_thread (ss, state, reply); - -- if (state->basic.PC < (natural_t) &_hurd_intr_rpc_msg_in_trap) -+ if (state->basic.PC >= (natural_t) &_hurd_intr_rpc_msg_about_to && -+ state->basic.PC < (natural_t) &_hurd_intr_rpc_msg_in_trap) - { - /* The thread is about to do the RPC, but hasn't yet entered - mach_msg. Mutate the thread's state so it knows not to try ---- a/hurd/intr-msg.c -+++ b/hurd/intr-msg.c -@@ -114,23 +114,10 @@ _hurd_intr_rpc_mach_msg (mach_msg_header - - message: - -- /* XXX -- At all points here (once SS->intr_port is set), the signal thread -- thinks we are "about to enter the syscall", and might mutate our -- return-value register. This is bogus. -- */ -- -- if (ss->cancel) -- { -- /* We have been cancelled. Don't do an RPC at all. */ -- ss->intr_port = MACH_PORT_NULL; -- ss->cancel = 0; -- return EINTR; -- } -- - /* Note that the signal trampoline code might modify our OPTION! */ - err = INTR_MSG_TRAP (msg, option, send_size, -- rcv_size, rcv_name, timeout, notify); -+ rcv_size, rcv_name, timeout, notify, -+ &ss->cancel, &ss->intr_port); - - switch (err) - { ---- a/sysdeps/mach/hurd/i386/intr-msg.h -+++ b/sysdeps/mach/hurd/i386/intr-msg.h -@@ -20,21 +20,30 @@ - /* Note that we must mark OPTION and TIMEOUT as outputs of this operation, - to indicate that the signal thread might mutate them as part - of sending us to a signal handler. */ --#define INTR_MSG_TRAP(msg, option, send_size, rcv_size, rcv_name, timeout, notify) \ -+ -+/* After _hurd_intr_rpc_msg_about_to we need to make a last check of cancel, in -+ case we got interrupted right before _hurd_intr_rpc_msg_about_to. */ -+#define INTR_MSG_TRAP(msg, option, send_size, rcv_size, rcv_name, timeout, notify, cancel_p, intr_port_p) \ - ({ \ - error_t err; \ -- asm (".globl _hurd_intr_rpc_msg_do_trap\n" \ -- ".globl _hurd_intr_rpc_msg_in_trap\n" \ -+ asm (".globl _hurd_intr_rpc_msg_about_to\n" \ - ".globl _hurd_intr_rpc_msg_cx_sp\n" \ -+ ".globl _hurd_intr_rpc_msg_do_trap\n" \ -+ ".globl _hurd_intr_rpc_msg_in_trap\n" \ - ".globl _hurd_intr_rpc_msg_sp_restored\n" \ -- " movl %%esp, %%ecx\n" \ -- " leal %3, %%esp\n" \ -+ "_hurd_intr_rpc_msg_about_to: cmpl $0, %5\n" \ -+ " jz _hurd_intr_rpc_msg_do\n" \ -+ " movl $0, %3\n" \ -+ " movl %6, %%eax\n" \ -+ " jmp _hurd_intr_rpc_msg_sp_restored\n" \ -+ "_hurd_intr_rpc_msg_do: movl %%esp, %%ecx\n" \ -+ " leal %4, %%esp\n" \ - "_hurd_intr_rpc_msg_cx_sp: movl $-25, %%eax\n" \ - "_hurd_intr_rpc_msg_do_trap: lcall $7, $0 # status in %0\n" \ - "_hurd_intr_rpc_msg_in_trap: movl %%ecx, %%esp\n" \ - "_hurd_intr_rpc_msg_sp_restored:" \ -- : "=a" (err), "+m" (option), "+m" (timeout) \ -- : "m" ((&msg)[-1]) \ -+ : "=a" (err), "+m" (option), "+m" (timeout), "=m" (*intr_port_p) \ -+ : "m" ((&msg)[-1]), "m" (*cancel_p), "i" (EINTR) \ - : "ecx"); \ - err; \ - })
  41. Download patch debian/patches/hurd-i386/local-nocheck-installed-headers.diff

    --- 2.28-1/debian/patches/hurd-i386/local-nocheck-installed-headers.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/local-nocheck-installed-headers.diff 2018-08-23 19:10:27.000000000 +0000 @@ -0,0 +1,19 @@ +TODO: Will be fixed in glibc 2.28 + +--- + scripts/check-installed-headers.sh | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/scripts/check-installed-headers.sh ++++ b/scripts/check-installed-headers.sh +@@ -84,6 +84,10 @@ + (sys/elf.h) + continue;; + ++ # These are completely not following standards ++ (hurd.h | hurd/* | faultexc_server.h | mach.h | mach_init.h | mach_error.h | mach-shortcuts.h | mach/* | device/* | lock-intern.h | spin-lock.h | machine-sp.h) ++ continue;; ++ + # sys/sysctl.h is unsupported for x32. + (sys/sysctl.h) + case "$is_x32" in
  42. Download patch debian/libc0.3.symbols.hurd-i386

    --- 2.28-1/debian/libc0.3.symbols.hurd-i386 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/libc0.3.symbols.hurd-i386 2018-08-23 19:10:27.000000000 +0000 @@ -255,11 +255,6 @@ libhurduser.so.0.3 #PACKAGE# #MINVER# __msg_sig_post_untraced_request@Base 2.11 __password_check_group@Base 2.11 __password_check_user@Base 2.11 - __pci_conf_read@Base 2.27-8+hurd.1 - __pci_conf_write@Base 2.27-8+hurd.1 - __pci_get_dev_regions@Base 2.27-8+hurd.1 - __pci_get_dev_rom@Base 2.27-8+hurd.1 - __pci_get_ndevs@Base 2.27-8+hurd.1 __pfinet_siocgifconf@Base 2.11 __proc_child@Base 2.11 __proc_child_request@Base 2.11 @@ -632,11 +627,6 @@ libhurduser.so.0.3 #PACKAGE# #MINVER# msg_sig_post_untraced_request@Base 2.11 password_check_group@Base 2.11 password_check_user@Base 2.11 - pci_conf_read@Base 2.27-8+hurd.1 - pci_conf_write@Base 2.27-8+hurd.1 - pci_get_dev_regions@Base 2.27-8+hurd.1 - pci_get_dev_rom@Base 2.27-8+hurd.1 - pci_get_ndevs@Base 2.27-8+hurd.1 pfinet_siocgifconf@Base 2.11 proc_child@Base 2.11 proc_child_request@Base 2.11 @@ -967,8 +957,6 @@ libmachuser.so.1 #PACKAGE# #MINVER# __vm_inherit@Base 2.11 __vm_machine_attribute@Base 2.11 __vm_map_rpc@Base 2.11 - __vm_msync@Base 2.27-9 - __vm_object_sync@Base 2.27-9 __vm_protect@Base 2.11 __vm_read@Base 2.11 __vm_region@Base 2.11 @@ -1126,8 +1114,6 @@ libmachuser.so.1 #PACKAGE# #MINVER# vm_inherit@Base 2.11 vm_machine_attribute@Base 2.11 vm_map_rpc@Base 2.11 - vm_msync@Base 2.27-9 - vm_object_sync@Base 2.27-9 vm_protect@Base 2.11 vm_read@Base 2.11 vm_region@Base 2.11
  43. Download patch debian/changelog.ubuntu
  44. Download patch debian/patches/ubuntu/localedata/en_IE-am_pm.diff

    --- 2.28-1/debian/patches/ubuntu/localedata/en_IE-am_pm.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/localedata/en_IE-am_pm.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,14 @@ +# Description: Add am_pm for en_IE. +# Ubuntu: https://launchpad.net/bugs/199899 +# Upstream: http://sourceware.org/bugzilla/show_bug.cgi?id=3236 +--- a/localedata/locales/en_IE ++++ b/localedata/locales/en_IE +@@ -110,7 +110,7 @@ mon "January";/ + d_t_fmt "%a %d %b %Y %T %Z" + d_fmt "%d//%m//%y" + t_fmt "%T" +-am_pm "";"" ++am_pm "AM";"PM" + t_fmt_ampm "" + week 7;19971130;4 + END LC_TIME
  45. Download patch debian/local/usr_share_locales/install-language-pack

    --- 2.28-1/debian/local/usr_share_locales/install-language-pack 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/local/usr_share_locales/install-language-pack 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,19 @@ +#!/bin/sh -e + +if [ -z "$1" ]; then + echo "Usage: $0 <language code> <class> [<version>]" + exit 0 +fi + +# install locales for base packages (not for gnome/kde) +if [ -z "$2" ]; then + # Update requested locales if locales-all is not installed + if dpkg-query -s locales-all >/dev/null 2>&1 ; then + echo "locales-all installed, skipping locales generation" + else + /usr/sbin/locale-gen --keep-existing "$1" + fi +fi + +# ensure that .desktop caches are up to date +dpkg-trigger gmenucache || true
  46. Download patch debian/patches/hurd-i386/local-no_unsupported_ioctls.diff

    --- 2.28-1/debian/patches/hurd-i386/local-no_unsupported_ioctls.diff 2018-10-29 20:55:51.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/local-no_unsupported_ioctls.diff 2018-02-22 09:46:35.000000000 +0000 @@ -4,8 +4,8 @@ them to application at the risk of them (e.g. xterm using TIOCLSET). --- - sysdeps/mach/hurd/bits/ioctls.h | 6 ++++++ - 1 file changed, 6 insertions(+) + sysdeps/mach/hurd/bits/ioctls.h | 8 ++++++++ + 1 file changed, 8 insertions(+) --- a/sysdeps/mach/hurd/bits/ioctls.h +++ b/sysdeps/mach/hurd/bits/ioctls.h @@ -33,7 +33,7 @@ them to application at the risk of them #define TIOCGETP _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */ #define TIOCSETP _IOW('t', 9,struct sgttyb)/* set parameters -- stty */ #define TIOCSETN _IOW('t',10,struct sgttyb)/* as above, but no flushtty*/ -@@ -389,6 +393,7 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_ +@@ -389,10 +393,12 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_ #define PENDIN 0x20000000 /* tp->t_rawq needs reread */ #define DECCTQ 0x40000000 /* only ^Q starts after ^S */ #define NOFLSH 0x80000000 /* no output flush on signal */ @@ -41,7 +41,19 @@ them to application at the risk of them #define TIOCLBIS _IOW('t', 127, int) /* bis local mode bits */ #define TIOCLBIC _IOW('t', 126, int) /* bic local mode bits */ #define TIOCLSET _IOW('t', 125, int) /* set entire local mode word */ -@@ -414,6 +419,7 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_ + #define TIOCLGET _IOR('t', 124, int) /* get local modes */ ++#endif + #define LCRTBS (CRTBS>>16) + #define LPRTERA (PRTERA>>16) + #define LCRTERA (CRTERA>>16) +@@ -408,12 +414,14 @@ enum __ioctl_datum { IOC_8, IOC_16, IOC_ + #define LPENDIN (PENDIN>>16) + #define LDECCTQ (DECCTQ>>16) + #define LNOFLSH (NOFLSH>>16) ++#if 0 + #define TIOCSLTC _IOW('t',117,struct ltchars)/* set local special chars*/ + #define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars*/ + #define OTIOCCONS _IO('t', 98) /* for hp300 -- sans int arg */ #define OTTYDISC 0 #define NETLDISC 1 #define NTTYDISC 2
  47. Download patch debian/debhelper.in/locales.postinst

    --- 2.28-1/debian/debhelper.in/locales.postinst 2018-03-02 20:03:58.000000000 +0000 +++ 2.28-0ubuntu1/debian/debhelper.in/locales.postinst 2018-08-23 19:52:35.000000000 +0000 @@ -73,6 +73,11 @@ EOF update-locale "LANG=$DEFAULT_ENVIRONMENT" fi fi + # Remove cruft from locales from Ubuntu << 16.04: + if dpkg --compare-versions "$2" lt 2.23; then + rm -f /var/lib/locales/supported.d/local + rm -rf /var/lib/belocs + fi fi #DEBHELPER#
  48. Download patch debian/patches/hurd-i386/tg-WRLCK-upgrade.diff

    --- 2.28-1/debian/patches/hurd-i386/tg-WRLCK-upgrade.diff 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/tg-WRLCK-upgrade.diff 2016-01-27 14:17:05.000000000 +0000 @@ -30,18 +30,18 @@ index 64e8764..a5892db 100644 #define LOCK_NB 4 /* Don't block when locking. */ diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c index 70180fa..8a8308f 100644 ---- a/sysdeps/mach/hurd/f_setlk.c -+++ b/sysdeps/mach/hurd/f_setlk.c +--- a/sysdeps/mach/hurd/fcntl.c ++++ b/sysdeps/mach/hurd/fcntl.c @@ -150,8 +150,8 @@ __libc_fcntl (int fd, int cmd, ...) - - switch (type) - { -- case F_RDLCK: cmd = LOCK_SH; break; -- case F_WRLCK: cmd = LOCK_EX; break; -+ case F_RDLCK: cmd = LOCK_SH | __LOCK_ATOMIC; break; -+ case F_WRLCK: cmd = LOCK_EX | __LOCK_ATOMIC; break; - case F_UNLCK: cmd = LOCK_UN; break; - default: - errno = EINVAL; + } + switch (fl->l_type) + { +- case F_RDLCK: cmd |= LOCK_SH; break; +- case F_WRLCK: cmd |= LOCK_EX; break; ++ case F_RDLCK: cmd |= LOCK_SH | __LOCK_ATOMIC; break; ++ case F_WRLCK: cmd |= LOCK_EX | __LOCK_ATOMIC; break; + case F_UNLCK: cmd |= LOCK_UN; break; + default: + errno = EINVAL; -- tg: (9a079e2..) t/WRLCK-upgrade (depends on: baseline)
  49. Download patch debian/patches/ubuntu/localedata/sd_PK.diff
  50. Download patch debian/patches/hurd-i386/git-fcntl64.diff
  51. Download patch debian/patches/ubuntu/local-disable-ld_audit.diff

    --- 2.28-1/debian/patches/ubuntu/local-disable-ld_audit.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/local-disable-ld_audit.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,20 @@ +Description: pro-actively disable LD_AUDIT for setuid binaries, regardless + of where the libraries are loaded from. This is to try to make sure that + CVE-2010-3856 cannot sneak back in. Upstream is unlikely to take this, + since it limits the functionality of LD_AUDIT. +Author: Kees Cook <kees@ubuntu.com> +Author: Adam Conrad <adconrad@0c3.net> + +Index: eglibc-2.15/elf/rtld.c +=================================================================== +--- eglibc-2.15.orig/elf/rtld.c 2012-05-09 10:05:29.456899131 -0700 ++++ eglibc-2.15/elf/rtld.c 2012-05-09 10:38:53.952009069 -0700 +@@ -2442,7 +2442,7 @@ + char *p; + + while ((p = (strsep) (&str, ":")) != NULL) +- if (dso_name_valid_for_suid (p)) ++ if (! __glibc_unlikely (__libc_enable_secure) && dso_name_valid_for_suid (p)) + { + /* This is using the local malloc, not the system malloc. The + memory can never be freed. */
  52. Download patch debian/patches/series.hurd-i386

    --- 2.28-1/debian/patches/series.hurd-i386 2018-11-28 22:40:57.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/series.hurd-i386 2018-08-23 19:10:27.000000000 +0000 @@ -8,4 +8,3 @@ hurd-i386/local-no-bootstrap-fs-access.d hurd-i386/local-versions-hack.diff hurd-i386/unsubmitted-prof-eintr.diff hurd-i386/tg-glibc-2.24-restore-malloc-hook.diff -hurd-i386/unsubmitted-getaux_at_secure.diff
  53. Download patch debian/patches/hurd-i386/git-interrupt_timeout.diff

    --- 2.28-1/debian/patches/hurd-i386/git-interrupt_timeout.diff 2018-10-29 20:55:51.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-interrupt_timeout.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,27 +0,0 @@ -commit 6849ff19657e8f7e6a83e9aaae07eb45269dc7d4 -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Tue Oct 9 22:27:59 2018 +0200 - - hurd: set interrupt timeout to 1 minute - - Seeing a server not able to get interrupted for 3s is not so surprising when - e.g. a lot of writes are happening. 1 minute allows to actually notice the - issue and be able to debug it. - - * hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): Set to 60000. - ---- - hurd/hurdsig.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/hurd/hurdsig.c -+++ b/hurd/hurdsig.c -@@ -56,7 +56,7 @@ struct hurd_sigstate *_hurd_sigstates; - struct hurd_sigstate *_hurd_global_sigstate; - - /* Timeout for RPC's after interrupt_operation. */ --mach_msg_timeout_t _hurd_interrupted_rpc_timeout = 3000; -+mach_msg_timeout_t _hurd_interrupted_rpc_timeout = 60000; - - static void - default_sigaction (struct sigaction actions[NSIG])
  54. Download patch debian/sysdeps/armhf.mk

    --- 2.28-1/debian/sysdeps/armhf.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/sysdeps/armhf.mk 2018-08-23 19:52:35.000000000 +0000 @@ -16,36 +16,36 @@ endef ifeq (,$(filter nobiarch, $(DEB_BUILD_PROFILES))) # build soft-float (armel) alternative library -#GLIBC_PASSES += armel -#DEB_ARCH_MULTILIB_PACKAGES += libc6-armel libc6-dev-armel -#armel_configure_target = arm-linux-gnueabi -#armel_CC = $(CC) -mfloat-abi=soft -#armel_CXX = $(CXX) -mfloat-abi=soft -#armel_slibdir = /lib/arm-linux-gnueabi -#armel_libdir = /usr/lib/arm-linux-gnueabi -# -#define libc6-dev-armel_extra_pkg_install -# -#mkdir -p debian/libc6-dev-armel/usr/include -#ln -sf arm-linux-gnueabihf/bits debian/libc6-dev-armel/usr/include/ -#ln -sf arm-linux-gnueabihf/gnu debian/libc6-dev-armel/usr/include/ -#ln -sf arm-linux-gnueabihf/fpu_control.h debian/libc6-dev-armel/usr/include/ -# -#mkdir -p debian/libc6-dev-armel/usr/include/arm-linux-gnueabihf/gnu -#cp -a debian/tmp-armel/usr/include/gnu/lib-names-soft.h \ -# debian/tmp-armel/usr/include/gnu/stubs-soft.h \ -# debian/libc6-dev-armel/usr/include/arm-linux-gnueabihf/gnu -# -#mkdir -p debian/libc6-dev-armel/usr/include/sys -#for i in `ls debian/tmp-libc/usr/include/arm-linux-gnueabihf/sys` ; do \ -# ln -sf ../arm-linux-gnueabihf/sys/$$i debian/libc6-dev-armel/usr/include/sys/$$i ; \ -#done -# -#endef -# -#define libc6-armel_extra_pkg_install -#mkdir -p debian/libc6-armel/lib -#ln -sf $(armel_slibdir)/ld-linux.so.3 debian/libc6-armel/lib -#endef +GLIBC_PASSES += armel +DEB_ARCH_MULTILIB_PACKAGES += libc6-armel libc6-dev-armel +armel_configure_target = arm-linux-gnueabi +armel_CC = $(CC) -mfloat-abi=soft +armel_CXX = $(CXX) -mfloat-abi=soft +armel_slibdir = /lib/arm-linux-gnueabi +armel_libdir = /usr/lib/arm-linux-gnueabi + +define libc6-dev-armel_extra_pkg_install + +mkdir -p debian/libc6-dev-armel/usr/include +ln -sf arm-linux-gnueabihf/bits debian/libc6-dev-armel/usr/include/ +ln -sf arm-linux-gnueabihf/gnu debian/libc6-dev-armel/usr/include/ +ln -sf arm-linux-gnueabihf/fpu_control.h debian/libc6-dev-armel/usr/include/ + +mkdir -p debian/libc6-dev-armel/usr/include/arm-linux-gnueabihf/gnu +cp -a debian/tmp-armel/usr/include/gnu/lib-names-soft.h \ + debian/tmp-armel/usr/include/gnu/stubs-soft.h \ + debian/libc6-dev-armel/usr/include/arm-linux-gnueabihf/gnu + +mkdir -p debian/libc6-dev-armel/usr/include/sys +for i in `ls debian/tmp-libc/usr/include/arm-linux-gnueabihf/sys` ; do \ + ln -sf ../arm-linux-gnueabihf/sys/$$i debian/libc6-dev-armel/usr/include/sys/$$i ; \ +done + +endef + +define libc6-armel_extra_pkg_install +mkdir -p debian/libc6-armel/lib +ln -sf $(armel_slibdir)/ld-linux.so.3 debian/libc6-armel/lib +endef endif # multilib
  55. Download patch debian/patches/ubuntu/localedata/lv_LV-currency.diff

    --- 2.28-1/debian/patches/ubuntu/localedata/lv_LV-currency.diff 1970-01-01 00:00:00.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/ubuntu/localedata/lv_LV-currency.diff 2018-08-23 19:52:35.000000000 +0000 @@ -0,0 +1,24 @@ +Description: Changed to currency EUR/‬€ +Bug-Ubuntu: https://launchpad.net/bugs/1264551 +Forwarded: https://sourceware.org/bugzilla/show_bug.cgi?id=16374 +Author: Gunnar Hjalmarsson <gunnarhj@ubuntu.com> + +--- a/localedata/locales/lv_LV 2012-03-06 10:10:19.000000000 +0100 ++++ b/localedata/locales/lv_LV 2014-09-28 22:37:43.021365004 +0200 +@@ -2131,12 +2133,12 @@ + negative_sign "-" + int_frac_digits 2 + frac_digits 2 +-p_cs_precedes 1 ++p_cs_precedes 0 + p_sep_by_space 1 +-n_cs_precedes 1 ++n_cs_precedes 0 + n_sep_by_space 1 +-p_sign_posn 3 +-n_sign_posn 3 ++p_sign_posn 1 ++n_sign_posn 1 + END LC_MONETARY + + LC_NUMERIC
  56. Download patch debian/patches/hurd-i386/git-interrupt_timeout_EIO.diff

    --- 2.28-1/debian/patches/hurd-i386/git-interrupt_timeout_EIO.diff 2018-10-29 21:13:41.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-interrupt_timeout_EIO.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,52 +0,0 @@ -commit 16d61b858ec0e802008d721e150e48d6083d3921 -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Tue Oct 9 22:25:19 2018 +0200 - - hurd: Return EIEIO on non-responding interrupted servers - - since we do not actually know whether the RPC was completed or not, - which makes a huge difference for e.g. write(), so better really error - out than letting caller think that the RPC did not happen. - - * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): When the server does not - answer to interrupt_operation, return EIEIO instead of EINTR. - -diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c -index 2f83ac6ce7..1f7724ee8b 100644 ---- a/hurd/intr-msg.c -+++ b/hurd/intr-msg.c -@@ -141,7 +141,7 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg, - else - /* The operation was supposedly interrupted, but still has - not returned. Declare it interrupted. */ -- goto interrupted; -+ goto dead; - - case MACH_SEND_INTERRUPTED: /* RPC didn't get out. */ - if (!(option & MACH_SEND_MSG)) -@@ -324,17 +324,21 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg, - timeout = user_timeout; - goto message; - } -- /* FALLTHROUGH */ -+ err = EINTR; -+ -+ /* The EINTR return indicates cancellation, so clear the flag. */ -+ ss->cancel = 0; -+ break; - - case MACH_RCV_PORT_DIED: - /* Server didn't respond to interrupt_operation, - so the signal thread destroyed the reply port. */ - /* FALLTHROUGH */ - -- interrupted: -- err = EINTR; -+ dead: -+ err = EIEIO; - -- /* The EINTR return indicates cancellation, so clear the flag. */ -+ /* The EIEIO return indicates cancellation, so clear the flag. */ - ss->cancel = 0; - break; -
  57. Download patch debian/sysdeps/linux.mk

    --- 2.28-1/debian/sysdeps/linux.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/sysdeps/linux.mk 2018-08-23 19:52:35.000000000 +0000 @@ -13,7 +13,7 @@ pldd = yes threads = yes ifeq ($(filter stage1 stage2,$(DEB_BUILD_PROFILES)),) - libc_extra_config_options = --with-selinux $(extra_config_options) + libc_extra_config_options = --with-selinux --enable-systemtap $(extra_config_options) endif ifndef LINUX_SOURCE @@ -46,6 +46,9 @@ $(stamp)mkincludedir: fi ; \ done + ln -s /usr/include/$(DEB_HOST_MULTIARCH)/sys/sdt.h debian/include/sys/sdt.h + ln -s /usr/include/$(DEB_HOST_MULTIARCH)/sys/sdt-config.h debian/include/sys/sdt-config.h + # To make configure happy if libc6-dev is not installed. touch debian/include/assert.h
  58. Download patch debian/patches/hurd-i386/git-spawn-open.diff

    --- 2.28-1/debian/patches/hurd-i386/git-spawn-open.diff 2018-11-28 22:39:39.000000000 +0000 +++ 2.28-0ubuntu1/debian/patches/hurd-i386/git-spawn-open.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,121 +0,0 @@ -commit 7fa495cdf750c257ed897eca189aabc3a62d5f2b -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Sat Nov 10 11:20:12 2018 +0000 - - Hurd: Fix ulinks in fd table reallocation - - * hurd/hurd/userlink.h (_hurd_userlink_move): New function. - * hurd/hurd/port.h (_hurd_port_move): New function. - * sysdeps/mach/hurd/spawni.c (NEW_ULINK_TABLE): New macro. - (EXPAND_DTABLE): Use NEW_ULINK_TABLE macro for ulink_dtable. - -commit 278fdabd8c45dc215222facd36febfc3f6f2a95d -Author: Samuel Thibault <samuel.thibault@ens-lyon.org> -Date: Sun Nov 11 20:08:29 2018 +0100 - - hurd: Fix spawni's user_link reallocation - - * hurd/hurd/userlink.h (_hurd_userlink_move): Make new_link's - predecessor point to new_link instead of link. - ---- - hurd/hurd/port.h | 25 +++++++++++++++++++++++++ - hurd/hurd/userlink.h | 24 ++++++++++++++++++++++++ - sysdeps/mach/hurd/spawni.c | 12 +++++++++++- - 3 files changed, 60 insertions(+), 1 deletion(-) - ---- a/hurd/hurd/port.h -+++ b/hurd/hurd/port.h -@@ -128,6 +128,31 @@ _hurd_port_get (struct hurd_port *port, - #endif - - -+/* Relocate LINK to NEW_LINK. -+ To be used when e.g. reallocating a link array. */ -+ -+extern void -+_hurd_port_move (struct hurd_port *port, -+ struct hurd_userlink *new_link, -+ struct hurd_userlink *link); -+ -+#if defined __USE_EXTERN_INLINES && defined _LIBC -+# if IS_IN (libc) -+_HURD_PORT_H_EXTERN_INLINE void -+_hurd_port_move (struct hurd_port *port, -+ struct hurd_userlink *new_link, -+ struct hurd_userlink *link) -+{ -+ HURD_CRITICAL_BEGIN; -+ __spin_lock (&port->lock); -+ _hurd_userlink_move (new_link, link); -+ __spin_unlock (&port->lock); -+ HURD_CRITICAL_END; -+} -+# endif -+#endif -+ -+ - /* Free a reference gotten with `USED_PORT = _hurd_port_get (PORT, LINK);' */ - - extern void ---- a/hurd/hurd/userlink.h -+++ b/hurd/hurd/userlink.h -@@ -138,6 +138,30 @@ _hurd_userlink_unlink (struct hurd_userl - # endif - #endif - -+/* Relocate LINK to NEW_LINK. -+ To be used when e.g. reallocating a link array. */ -+ -+extern void _hurd_userlink_move (struct hurd_userlink *new_link, -+ struct hurd_userlink *link); -+ -+#if defined __USE_EXTERN_INLINES && defined _LIBC -+# if IS_IN (libc) -+_HURD_USERLINK_H_EXTERN_INLINE void -+_hurd_userlink_move (struct hurd_userlink *new_link, -+ struct hurd_userlink *link) -+{ -+ *new_link = *link; -+ -+ if (new_link->resource.next != NULL) -+ new_link->resource.next->resource.prevp = &new_link->resource.next; -+ *new_link->resource.prevp = new_link; -+ -+ if (new_link->thread.next != NULL) -+ new_link->thread.next->thread.prevp = &new_link->thread.next; -+ *new_link->thread.prevp = new_link; -+} -+# endif -+#endif - - /* Clear all users from *CHAINP. Call this when the resource *CHAINP - protects is changing. If the return value is nonzero, no users are on ---- a/sysdeps/mach/hurd/spawni.c -+++ b/sysdeps/mach/hurd/spawni.c -@@ -406,7 +406,7 @@ __spawni (pid_t *pid, const char *file, - { \ - /* We need to expand the dtable for the child. */ \ - NEW_TABLE (dtable, newfd); \ -- NEW_TABLE (ulink_dtable, newfd); \ -+ NEW_ULINK_TABLE (ulink_dtable, newfd); \ - NEW_TABLE (dtable_cells, newfd); \ - dtablesize = newfd + 1; \ - } \ -@@ -417,6 +417,16 @@ __spawni (pid_t *pid, const char *file, - memcpy (new_##x, x, dtablesize * sizeof (x[0])); \ - memset (&new_##x[dtablesize], 0, (newfd + 1 - dtablesize) * sizeof (x[0])); \ - x = new_##x; } while (0) -+#define NEW_ULINK_TABLE(x, newfd) \ -+ do { __typeof (x) new_##x = __alloca ((newfd + 1) * sizeof (x[0])); \ -+ unsigned i; \ -+ for (i = 0; i < dtablesize; i++) \ -+ if (dtable_cells[i] != NULL) \ -+ _hurd_port_move (dtable_cells[i], &new_##x[i], &x[i]); \ -+ else \ -+ memset(&new_##x[i], 0, sizeof(new_##x[i])); \ -+ memset (&new_##x[dtablesize], 0, (newfd + 1 - dtablesize) * sizeof (x[0])); \ -+ x = new_##x; } while (0) - - struct __spawn_action *action = &file_actions->__actions[i]; -
  59. Download patch debian/rules.d/build.mk

    --- 2.28-1/debian/rules.d/build.mk 2018-08-22 16:59:07.000000000 +0000 +++ 2.28-0ubuntu1/debian/rules.d/build.mk 2018-08-23 19:52:35.000000000 +0000 @@ -89,8 +89,8 @@ $(stamp)configure_%: $(stamp)config_sub_ --enable-stack-protector=strong \ --enable-obsolete-rpc \ --enable-obsolete-nsl \ - --with-pkgversion="Debian GLIBC $(DEB_VERSION)" \ - --with-bugurl="http://www.debian.org/Bugs/" \ + --with-pkgversion="Ubuntu GLIBC $(DEB_VERSION)" \ + --with-bugurl="https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs" \ $(if $(filter $(pt_chown),yes),--enable-pt_chown) \ $(if $(filter $(threads),no),--disable-nscd) \ $(if $(filter $(call xx,mvec),no),--disable-mathvec) \

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: glibc-doc-reference

glibc-doc-reference (2.27-1ubuntu1) disco; urgency=medium * Revert "Revert: Remove inappropriate joke". -- Dimitri John Ledkov <xnox@ubuntu.com> Fri, 09 Nov 2018 17:11:54 +0000

Modifications :
  1. Download patch debian/control

    --- 2.27-1/debian/control 2018-02-03 14:37:14.000000000 +0000 +++ 2.27-1ubuntu1/debian/control 2018-11-09 17:11:54.000000000 +0000 @@ -3,7 +3,8 @@ Section: non-free/doc Priority: optional Build-Depends: debhelper (>= 10) Build-Depends-Indep: texinfo, gawk, texlive-binaries, texlive-latex-base -Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Uploaders: Clint Adams <schizo@debian.org>, Aurelien Jarno <aurel32@debian.org>, Adam Conrad <adconrad@0c3.net> Standards-Version: 4.1.3 Vcs-Browser: https://salsa.debian.org/glibc-team/glibc-doc-reference
  2. Download patch debian/patches/series

    --- 2.27-1/debian/patches/series 2018-03-03 12:55:45.000000000 +0000 +++ 2.27-1ubuntu1/debian/patches/series 2018-11-09 17:10:34.000000000 +0000 @@ -1,2 +1,3 @@ 01-build-system.diff 02-dont-clutter-main-info-directory.diff +Revert-Revert-Remove-inappropriate-joke.patch
  3. Download patch debian/patches/Revert-Revert-Remove-inappropriate-joke.patch

    --- 2.27-1/debian/patches/Revert-Revert-Remove-inappropriate-joke.patch 1970-01-01 00:00:00.000000000 +0000 +++ 2.27-1ubuntu1/debian/patches/Revert-Revert-Remove-inappropriate-joke.patch 2018-11-09 17:11:21.000000000 +0000 @@ -0,0 +1,34 @@ +From 41a9e27758f9ead95ca1c4f545cf24f1e95aa23e Mon Sep 17 00:00:00 2001 +From: Dimitri John Ledkov <xnox@ubuntu.com> +Date: Fri, 9 Nov 2018 17:05:16 +0000 +Subject: [PATCH] Revert "Revert: Remove inappropriate joke" + +This reverts commit ffa81c22a3ac0fb75ad9bf2b1c3cdbf9eafa0bc9. + +Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com> +--- + manual/startup.texi | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/manual/startup.texi b/manual/startup.texi +index 7395d32dd0..21c48cd037 100644 +--- a/manual/startup.texi ++++ b/manual/startup.texi +@@ -1005,14 +1005,6 @@ This function actually terminates the process by raising a + intercept this signal; see @ref{Signal Handling}. + @end deftypefun + +-@c Put in by rms. Don't remove. +-@cartouche +-@strong{Future Change Warning:} Proposed Federal censorship regulations +-may prohibit us from giving you information about the possibility of +-calling this function. We would be required to say that this is not an +-acceptable way of terminating a program. +-@end cartouche +- + @node Termination Internals + @subsection Termination Internals + +-- +2.19.1 +
  1. glibc
  2. glibc-doc-reference