From 0b732559972e6e674f33a035f92901ac7808fdb0 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 14 Dec 2010 22:22:36 +0100 Subject: [PATCH] glibc: update to 2.12.2. --- ...bc-2.12.1-fix-IPTOS_CLASS-definition.patch | 34 --- ...glibc-2.12.1-make-3.82-compatibility.patch | 29 --- .../glibc-2.12.1-require-suid-on-audit.patch | 218 ------------------ srcpkgs/glibc/template | 4 +- 4 files changed, 2 insertions(+), 283 deletions(-) delete mode 100644 srcpkgs/glibc/patches/glibc-2.12.1-fix-IPTOS_CLASS-definition.patch delete mode 100644 srcpkgs/glibc/patches/glibc-2.12.1-make-3.82-compatibility.patch delete mode 100644 srcpkgs/glibc/patches/glibc-2.12.1-require-suid-on-audit.patch diff --git a/srcpkgs/glibc/patches/glibc-2.12.1-fix-IPTOS_CLASS-definition.patch b/srcpkgs/glibc/patches/glibc-2.12.1-fix-IPTOS_CLASS-definition.patch deleted file mode 100644 index caddbf210b..0000000000 --- a/srcpkgs/glibc/patches/glibc-2.12.1-fix-IPTOS_CLASS-definition.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 15bac72bac03faeb3b725b1d208c62160f0c3ad7 Mon Sep 17 00:00:00 2001 -From: Ulrich Drepper -Date: Wed, 11 Aug 2010 07:44:03 -0700 -Subject: [PATCH] Fix IPTOS_CLASS definition. - ---- - ChangeLog | 4 ++++ - NEWS | 4 ++-- - sysdeps/generic/netinet/ip.h | 5 ++--- - 3 files changed, 8 insertions(+), 5 deletions(-) - -diff --git a/sysdeps/generic/netinet/ip.h b/sysdeps/generic/netinet/ip.h -index a837b98..4955fee 100644 ---- sysdeps/generic/netinet/ip.h.orig -+++ sysdeps/generic/netinet/ip.h -@@ -1,5 +1,4 @@ --/* Copyright (C) 1991,92,93,95,96,97,98,99,2000,2009 Free Software -- Foundation, Inc. -+/* Copyright (C) 1991-1993,1995-2000,2009,2010 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 -@@ -194,7 +193,7 @@ struct ip_timestamp - */ - - #define IPTOS_CLASS_MASK 0xe0 --#define IPTOS_CLASS(class) ((tos) & IPTOS_CLASS_MASK) -+#define IPTOS_CLASS(class) ((class) & IPTOS_CLASS_MASK) - #define IPTOS_CLASS_CS0 0x00 - #define IPTOS_CLASS_CS1 0x20 - #define IPTOS_CLASS_CS2 0x40 --- -1.7.2 - diff --git a/srcpkgs/glibc/patches/glibc-2.12.1-make-3.82-compatibility.patch b/srcpkgs/glibc/patches/glibc-2.12.1-make-3.82-compatibility.patch deleted file mode 100644 index fb150aa10b..0000000000 --- a/srcpkgs/glibc/patches/glibc-2.12.1-make-3.82-compatibility.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 32cf40699346d37fabfa887bbd95e95004799ae1 Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Mon, 6 Sep 2010 14:55:59 +0200 -Subject: [PATCH 1/1] Don't mix pattern rules with normal rules - ---- - ChangeLog | 4 ++++ - manual/Makefile | 5 ++++- - 2 files changed, 8 insertions(+), 1 deletions(-) - -diff --git a/manual/Makefile b/manual/Makefile -index c5866eb..b1f5fa7 100644 ---- manual/Makefile -+++ manual/Makefile -@@ -232,7 +232,10 @@ ifdef objpfx - .PHONY: stubs - stubs: $(objpfx)stubs - endif --$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: -+$(objpfx)stubs ../po/manual.pot: -+ $(make-target-directory) -+ touch $@ -+$(objpfx)stamp%: - $(make-target-directory) - touch $@ - --- -1.7.2 - diff --git a/srcpkgs/glibc/patches/glibc-2.12.1-require-suid-on-audit.patch b/srcpkgs/glibc/patches/glibc-2.12.1-require-suid-on-audit.patch deleted file mode 100644 index 47b54c8cd9..0000000000 --- a/srcpkgs/glibc/patches/glibc-2.12.1-require-suid-on-audit.patch +++ /dev/null @@ -1,218 +0,0 @@ -From 8e9f92e9d5d7737afdacf79b76d98c4c42980508 Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Sun, 24 Oct 2010 21:43:15 -0400 -Subject: [PATCH 1/1] Require suid bit on audit objects in privileged programs - ---- - ChangeLog | 15 +++++++++++++++ - elf/dl-deps.c | 2 +- - elf/dl-load.c | 20 +++++++++++--------- - elf/dl-open.c | 2 +- - elf/rtld.c | 16 +++++++--------- - include/dlfcn.h | 1 + - sysdeps/generic/ldsodefs.h | 6 ++---- - 7 files changed, 38 insertions(+), 24 deletions(-) - -diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index a58de5c..a51fb6e 100644 ---- elf/dl-deps.c -+++ elf/dl-deps.c -@@ -62,7 +62,7 @@ openaux (void *a) - { - struct openaux_args *args = (struct openaux_args *) a; - -- args->aux = _dl_map_object (args->map, args->name, 0, -+ args->aux = _dl_map_object (args->map, args->name, - (args->map->l_type == lt_executable - ? lt_library : args->map->l_type), - args->trace_mode, args->open_mode, -diff --git a/elf/dl-load.c b/elf/dl-load.c -index a7162eb..aa8738f 100644 ---- elf/dl-load.c -+++ elf/dl-load.c -@@ -1812,7 +1812,7 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader, - if MAY_FREE_DIRS is true. */ - - static int --open_path (const char *name, size_t namelen, int preloaded, -+open_path (const char *name, size_t namelen, int secure, - struct r_search_path_struct *sps, char **realname, - struct filebuf *fbp, struct link_map *loader, int whatcode, - bool *found_other_class) -@@ -1894,7 +1894,7 @@ open_path (const char *name, size_t namelen, int preloaded, - /* Remember whether we found any existing directory. */ - here_any |= this_dir->status[cnt] != nonexisting; - -- if (fd != -1 && __builtin_expect (preloaded, 0) -+ if (fd != -1 && __builtin_expect (secure, 0) - && INTUSE(__libc_enable_secure)) - { - /* This is an extra security effort to make sure nobody can -@@ -1963,7 +1963,7 @@ open_path (const char *name, size_t namelen, int preloaded, - - struct link_map * - internal_function --_dl_map_object (struct link_map *loader, const char *name, int preloaded, -+_dl_map_object (struct link_map *loader, const char *name, - int type, int trace_mode, int mode, Lmid_t nsid) - { - int fd; -@@ -2067,7 +2067,8 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - for (l = loader; l; l = l->l_loader) - if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH")) - { -- fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, -+ &l->l_rpath_dirs, - &realname, &fb, loader, LA_SER_RUNPATH, - &found_other_class); - if (fd != -1) -@@ -2082,14 +2083,15 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - && main_map != NULL && main_map->l_type != lt_loaded - && cache_rpath (main_map, &main_map->l_rpath_dirs, DT_RPATH, - "RPATH")) -- fd = open_path (name, namelen, preloaded, &main_map->l_rpath_dirs, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, -+ &main_map->l_rpath_dirs, - &realname, &fb, loader ?: main_map, LA_SER_RUNPATH, - &found_other_class); - } - - /* Try the LD_LIBRARY_PATH environment variable. */ - if (fd == -1 && env_path_list.dirs != (void *) -1) -- fd = open_path (name, namelen, preloaded, &env_path_list, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &env_path_list, - &realname, &fb, - loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded, - LA_SER_LIBPATH, &found_other_class); -@@ -2098,12 +2100,12 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - if (fd == -1 && loader != NULL - && cache_rpath (loader, &loader->l_runpath_dirs, - DT_RUNPATH, "RUNPATH")) -- fd = open_path (name, namelen, preloaded, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, - &loader->l_runpath_dirs, &realname, &fb, loader, - LA_SER_RUNPATH, &found_other_class); - - if (fd == -1 -- && (__builtin_expect (! preloaded, 1) -+ && (__builtin_expect (! (mode & __RTLD_SECURE), 1) - || ! INTUSE(__libc_enable_secure))) - { - /* Check the list of libraries in the file /etc/ld.so.cache, -@@ -2169,7 +2171,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL - || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) - && rtld_search_dirs.dirs != (void *) -1) -- fd = open_path (name, namelen, preloaded, &rtld_search_dirs, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs, - &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); - - /* Add another newline when we are tracing the library loading. */ -diff --git a/elf/dl-open.c b/elf/dl-open.c -index c394b3f..cf8e8cc 100644 ---- elf/dl-open.c -+++ elf/dl-open.c -@@ -223,7 +223,7 @@ dl_open_worker (void *a) - - /* Load the named object. */ - struct link_map *new; -- args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0, -+ args->map = new = _dl_map_object (call_map, file, lt_loaded, 0, - mode | __RTLD_CALLMAP, args->nsid); - - /* If the pointer returned is NULL this means the RTLD_NOLOAD flag is -diff --git a/elf/rtld.c b/elf/rtld.c -index 5ecc4fe..06b534a 100644 ---- elf/rtld.c -+++ elf/rtld.c -@@ -589,7 +589,6 @@ struct map_args - /* Argument to map_doit. */ - char *str; - struct link_map *loader; -- int is_preloaded; - int mode; - /* Return value of map_doit. */ - struct link_map *map; -@@ -627,16 +626,17 @@ static void - map_doit (void *a) - { - struct map_args *args = (struct map_args *) a; -- args->map = _dl_map_object (args->loader, args->str, -- args->is_preloaded, lt_library, 0, args->mode, -- LM_ID_BASE); -+ args->map = _dl_map_object (args->loader, args->str, lt_library, 0, -+ args->mode, LM_ID_BASE); - } - - static void - dlmopen_doit (void *a) - { - struct dlmopen_args *args = (struct dlmopen_args *) a; -- args->map = _dl_open (args->fname, RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT, -+ args->map = _dl_open (args->fname, -+ (RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT -+ | __RTLD_SECURE), - dl_main, LM_ID_NEWLM, _dl_argc, INTUSE(_dl_argv), - __environ); - } -@@ -806,8 +806,7 @@ do_preload (char *fname, struct link_map *main_map, const char *where) - - args.str = fname; - args.loader = main_map; -- args.is_preloaded = 1; -- args.mode = 0; -+ args.mode = __RTLD_SECURE; - - unsigned int old_nloaded = GL(dl_ns)[LM_ID_BASE]._ns_nloaded; - -@@ -1054,7 +1053,6 @@ of this helper program; chances are you did not intend to run this program.\n\ - - args.str = rtld_progname; - args.loader = NULL; -- args.is_preloaded = 0; - args.mode = __RTLD_OPENEXEC; - (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit, - &args); -@@ -1066,7 +1064,7 @@ of this helper program; chances are you did not intend to run this program.\n\ - else - { - HP_TIMING_NOW (start); -- _dl_map_object (NULL, rtld_progname, 0, lt_library, 0, -+ _dl_map_object (NULL, rtld_progname, lt_library, 0, - __RTLD_OPENEXEC, LM_ID_BASE); - HP_TIMING_NOW (stop); - -diff --git a/include/dlfcn.h b/include/dlfcn.h -index a67426d..af92483 100644 ---- include/dlfcn.h -+++ include/dlfcn.h -@@ -9,6 +9,7 @@ - #define __RTLD_OPENEXEC 0x20000000 - #define __RTLD_CALLMAP 0x10000000 - #define __RTLD_AUDIT 0x08000000 -+#define __RTLD_SECURE 0x04000000 /* Apply additional security checks. */ - - #define __LM_ID_CALLER -2 - -diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h -index fcc943b..fa4b6b2 100644 ---- sysdeps/generic/ldsodefs.h -+++ sysdeps/generic/ldsodefs.h -@@ -824,11 +824,9 @@ extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *), - - /* Open the shared object NAME and map in its segments. - LOADER's DT_RPATH is used in searching for NAME. -- If the object is already opened, returns its existing map. -- For preloaded shared objects PRELOADED is set to a non-zero -- value to allow additional security checks. */ -+ If the object is already opened, returns its existing map. */ - extern struct link_map *_dl_map_object (struct link_map *loader, -- const char *name, int preloaded, -+ const char *name, - int type, int trace_mode, int mode, - Lmid_t nsid) - internal_function attribute_hidden; --- -1.7.2 - diff --git a/srcpkgs/glibc/template b/srcpkgs/glibc/template index aee5e7cd50..6d047c7546 100644 --- a/srcpkgs/glibc/template +++ b/srcpkgs/glibc/template @@ -1,6 +1,6 @@ # Template file for 'glibc' pkgname=glibc -version=2.12.1 +version=2.12.2 distfiles="http://ftp.gnu.org/gnu/glibc/glibc-${version}.tar.bz2" build_style=gnu_configure build_wrksrc="build" @@ -12,7 +12,7 @@ make_install_target="SHELL=/bin/bash install_root=$XBPS_DESTDIR/$pkgname-$version install" short_desc="The GNU C library" maintainer="Juan RP " -checksum=759f115c52bc12c5bb453af559dcd456d32138250b7cc96e47804e3d0ec97407 +checksum=22f8eb3c49b9eb5e88fc249daf8670899adef24eb1f74708fb150a6502fa1216 long_desc=" The GNU C Library is the standard system C library for all GNU systems, and is an important part of what makes up a GNU system. It provides the