diff --git a/system/base/glibc/actions.py b/system/base/glibc/actions.py index 48f93c2a..89399394 100644 --- a/system/base/glibc/actions.py +++ b/system/base/glibc/actions.py @@ -11,7 +11,7 @@ from pisi.actionsapi import get import os -WorkDir = "glibc-2.24" +WorkDir = "glibc-2.27" arch = "x86-64" if get.ARCH() == "x86_64" and not get.buildTYPE() == "emul32" else "i686" defaultflags = "-O3 -g -fasynchronous-unwind-tables -mtune=generic -march=%s" % arch @@ -111,7 +111,7 @@ def install(): autotools.rawInstall("install_root=%s localedata/install-locales" % get.installDIR()) # Remove our options section from crt stuff - removePisiLinuxSection("%s/usr/lib/" % get.installDIR()) + #removePisiLinuxSection("%s/usr/lib/" % get.installDIR()) if get.buildTYPE() == "emul32": @@ -120,7 +120,7 @@ def install(): shelltools.echo("%s/etc/ld.so.conf.d/60-glibc-32bit.conf" % get.installDIR(), ldconf32bit) # Remove our options section from crt stuff - removePisiLinuxSection("%s/usr/lib32/" % get.installDIR()) + #removePisiLinuxSection("%s/usr/lib32/" % get.installDIR()) pisitools.removeDir("/tmp32") @@ -148,5 +148,5 @@ def install(): #pisitools.remove("/usr/sbin/%s" % i) shelltools.cd("..") - pisitools.dodoc("BUGS", "ChangeLog*", "CONFORMANCE", "NAMESPACE", "NEWS", "PROJECTS", "README*", "LICENSES") + pisitools.dodoc("ChangeLog", "NEWS", "README*", "LICENSES") diff --git a/system/base/glibc/files/bz20338.patch b/system/base/glibc/files/bz20338.patch new file mode 100644 index 00000000..d223e9f0 --- /dev/null +++ b/system/base/glibc/files/bz20338.patch @@ -0,0 +1,114 @@ +From 74250a7cdf106d4ca7d9506e6d5dc7c448dc3434 Mon Sep 17 00:00:00 2001 +From: David Michael +Date: Thu, 15 Dec 2016 15:22:57 -0800 +Subject: [PATCH] gshadow: Sync fgetsgent_r.c with grp/fgetgrent_r.c + + [BZ #20338] + * gshadow/fgetsgent_r.c: Include . + (flockfile): New macro. + (funlockfile): Likewise. + (__fgetsgent_r): Sync with __fgetgrent_r. + * nss/nss_files/files-sgrp.c: Fix "fgetsgent_r.c" typo. +--- + gshadow/fgetsgent_r.c | 35 ++++++++++++++++++++++++----------- + nss/nss_files/files-sgrp.c | 2 +- + 2 files changed, 25 insertions(+), 12 deletions(-) + +diff --git a/gshadow/fgetsgent_r.c b/gshadow/fgetsgent_r.c +index b70f6fa..02cd33a 100644 +--- a/gshadow/fgetsgent_r.c ++++ b/gshadow/fgetsgent_r.c +@@ -20,39 +20,44 @@ + #include + #include + ++#include ++#define flockfile(s) _IO_flockfile (s) ++#define funlockfile(s) _IO_funlockfile (s) ++ + /* Define a line parsing function using the common code + used in the nss_files module. */ + + #define STRUCTURE sgrp + #define ENTNAME sgent +-#define EXTERN_PARSER 1 ++#define EXTERN_PARSER 1 + struct sgent_data {}; + + #include + + +-/* Read one shadow entry from the given stream. */ ++/* Read one entry from the given stream. */ + int + __fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer, size_t buflen, + struct sgrp **result) + { + char *p; ++ int parse_result; + +- _IO_flockfile (stream); ++ flockfile (stream); + do + { + buffer[buflen - 1] = '\xff'; + p = fgets_unlocked (buffer, buflen, stream); +- if (p == NULL && feof_unlocked (stream)) ++ if (__builtin_expect (p == NULL, 0) && feof_unlocked (stream)) + { +- _IO_funlockfile (stream); ++ funlockfile (stream); + *result = NULL; + __set_errno (ENOENT); + return errno; + } +- if (p == NULL || buffer[buflen - 1] != '\xff') ++ if (__builtin_expect (p == NULL, 0) || buffer[buflen - 1] != '\xff') + { +- _IO_funlockfile (stream); ++ funlockfile (stream); + *result = NULL; + __set_errno (ERANGE); + return errno; +@@ -61,13 +66,21 @@ __fgetsgent_r (FILE *stream, struct sgrp *resbuf, char *buffer, size_t buflen, + /* Skip leading blanks. */ + while (isspace (*p)) + ++p; +- } while (*p == '\0' || *p == '#' || /* Ignore empty and comment lines. */ ++ } while (*p == '\0' || *p == '#' /* Ignore empty and comment lines. */ + /* Parse the line. If it is invalid, loop to + get the next line of the file to parse. */ +- ! parse_line (buffer, (void *) resbuf, (void *) buffer, buflen, +- &errno)); ++ || ! (parse_result = parse_line (p, resbuf, ++ (void *) buffer, buflen, ++ &errno))); ++ ++ funlockfile (stream); + +- _IO_funlockfile (stream); ++ if (__builtin_expect (parse_result, 0) == -1) ++ { ++ /* The parser ran out of space. */ ++ *result = NULL; ++ return errno; ++ } + + *result = resbuf; + return 0; +diff --git a/nss/nss_files/files-sgrp.c b/nss/nss_files/files-sgrp.c +index 15dc659..05c3805 100644 +--- a/nss/nss_files/files-sgrp.c ++++ b/nss/nss_files/files-sgrp.c +@@ -23,7 +23,7 @@ + #define DATABASE "gshadow" + struct sgent_data {}; + +-/* Our parser function is already defined in sgetspent_r.c, so use that ++/* Our parser function is already defined in sgetsgent_r.c, so use that + to parse lines from the database file. */ + #define EXTERN_PARSER + #include "files-parse.c" +-- +2.7.4 + diff --git a/system/base/glibc/files/locale-gen b/system/base/glibc/files/locale-gen new file mode 100755 index 00000000..5aff344c --- /dev/null +++ b/system/base/glibc/files/locale-gen @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." diff --git a/system/base/glibc/files/locale-gen.txt b/system/base/glibc/files/locale-gen.txt new file mode 100644 index 00000000..481dc570 --- /dev/null +++ b/system/base/glibc/files/locale-gen.txt @@ -0,0 +1,24 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# +# +# where is one of the locales given in /usr/share/i18n/locales +# and is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# +tr_TR.UTF-8 UTF-8 diff --git a/system/base/glibc/pspec.xml b/system/base/glibc/pspec.xml index 16597643..37867135 100644 --- a/system/base/glibc/pspec.xml +++ b/system/base/glibc/pspec.xml @@ -13,19 +13,15 @@ library GNU libc6 (also called glibc2) C library The GNU C library is used as the C library in the GNU system and most systems with the Linux kernel. It defines the system calls and other basic C programming language facilities. - http://ftp.gnu.org/gnu/libc/glibc-2.24.tar.xz + http://ftp.gnu.org/gnu/libc/glibc-2.27.tar.xz kernel-headers gettext binutils - - - - - + locale-no-archive.patch + bz20338.patch @@ -62,6 +58,8 @@ host.conf nsswitch.conf nscd.conf + locale-gen.txt + locale-gen System.Package @@ -1953,6 +1951,13 @@ + + 2018-07-14 + 2.27 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2017-01-01 2.24 diff --git a/system/devel/binutils/pspec.xml b/system/devel/binutils/pspec.xml index 05ca90a1..efc8b93b 100644 --- a/system/devel/binutils/pspec.xml +++ b/system/devel/binutils/pspec.xml @@ -11,21 +11,8 @@ app:console Assembler and linker tools Contains commands like as, ld, nm, objdump, ar, ranlib for compiling assembly code to the machine language, and for linking and manipulating the binary object files. - http://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2 + http://ftp.gnu.org/gnu/binutils/binutils-2.30.tar.bz2 - @@ -44,6 +31,13 @@ + + 2018-07-14 + 2.30 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2017-01-02 2.27 diff --git a/system/devel/gcc/pspec.xml b/system/devel/gcc/pspec.xml index e886f208..c149d69b 100755 --- a/system/devel/gcc/pspec.xml +++ b/system/devel/gcc/pspec.xml @@ -14,9 +14,9 @@ library The GNU Compiler Collection, includes C, C++, Objective-C and Fortran compilers The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, as well as libraries for these languages - https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2 + http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz - binutils + binutils bison gettext ncurses @@ -146,6 +146,13 @@ + + 2018-07-14 + 7.3.0 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + 2018-04-14 6.3.0