Hello community, here is the log from the commit of package glibc for openSUSE:Factory checked in at 2012-05-21 07:55:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/glibc (Old) and /work/SRC/openSUSE:Factory/.glibc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc", Maintainer is "j...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/glibc/glibc.changes 2012-05-09 07:25:05.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.glibc.new/glibc.changes 2012-05-21 07:55:22.000000000 +0200 @@ -1,0 +2,6 @@ +Wed May 9 07:30:36 UTC 2012 - a...@suse.de + +- Split out glibc-armhf-compat.patch from armhf-ld-so.patch. +- Run nscd in the foreground with systemd (glibc-nscd-foreground-patch) + +------------------------------------------------------------------- New: ---- glibc-armhf-compat.patch glibc-nscd-foreground.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ glibc.spec ++++++ --- /var/tmp/diff_new_pack.8Jr50L/_old 2012-05-21 07:55:26.000000000 +0200 +++ /var/tmp/diff_new_pack.8Jr50L/_new 2012-05-21 07:55:26.000000000 +0200 @@ -205,6 +205,8 @@ # According the the Debian bug report, this is fixed in valgrind now, so disable # this patch. Patch19: x86-cpuid-level2.patch +# PATCH-FIX-OPENSUSE Allow ARM binaries with old linker path to run - a...@suse.de +Patch20: glibc-armhf-compat.patch ### Locale related patches # PATCH-FIX-OPENSUSE Add additional locales @@ -275,14 +277,16 @@ Patch1009: glibc-uio-cell.diff # PATCH-FIX-UPSTREAM - do not use initfini anymore Patch1010: glibc-2.16-powerpc-initfini.patch +# PATCH-FIX-UPSTREAM Use new common path for ARMv7 hardware float linker - a...@suse.de +Patch1011: armhf-ld-so.patch +# PATCH-FIX-UPSTREAM Add --foreground for nscd (from Fedora) - a...@suse.de +Patch1012: glibc-nscd-foreground.patch ### # Patches awaiting upstream approval ### # PATCH-FIX-UPSTREAM Fix assertion error in res_query.c (bso#13013) Patch2001: glibc-resolv-assert.diff -# PATCH-FIX-UPSTREAM Use new common path for ARMv7 hardware float linker - a...@suse.de -Patch2002: armhf-ld-so.patch # PATCH-FIX-UPSTREAM Fix crash when nscd is not running (bso#135949) - a...@suse.de Patch2003: glibc-nscd-crash-bso13594.patch # PATCH-FIX-OPENSUSE Fix crash (access-after-free) in dl_lookup_x bnc#703140, bso#13579 m...@suse.de @@ -546,11 +550,13 @@ # to support further architectures, some more changes are needed %patch1010 -p1 %endif - -%patch2001 -p1 %ifarch armv7l armv7hl -%patch2002 -p1 +%patch1011 -p1 +%patch20 -p1 %endif +%patch1012 -p1 + +%patch2001 -p1 %patch2003 -p1 %patch2004 -p1 # XXX: Does not pass testsuite, still there's no better solution yet ++++++ armhf-ld-so.patch ++++++ --- /var/tmp/diff_new_pack.8Jr50L/_old 2012-05-21 07:55:26.000000000 +0200 +++ /var/tmp/diff_new_pack.8Jr50L/_new 2012-05-21 07:55:26.000000000 +0200 @@ -1,9 +1,3 @@ -For backward compatibility with armhf binaries built with the -old linker SONAME, we need to fake out the linker to believe -the new is the old, until such a point as everything is rebuilt. - -Patch for elf/dl-load.c taken from Debian. - diff --git a/sysdeps/arm/shlib-versions b/sysdeps/arm/shlib-versions index 491dd0a..5464959 100644 --- a/glibc-ports-2.15/sysdeps/arm/shlib-versions @@ -15,20 +9,3 @@ +arm.*-.*-linux-gnueabi.* ld=ld-linux-armhf.so.3 arm.*-.*-linux.* ld=ld-linux.so.2 ---- glibc-2.15/elf/dl-load.c.~1~ 2011-12-30 23:13:56.000000000 +0100 -+++ glibc-2.15/elf/dl-load.c 2012-04-18 15:05:33.203485389 +0200 -@@ -2082,10 +2082,13 @@ - soname = ((const char *) D_PTR (l, l_info[DT_STRTAB]) - + l->l_info[DT_SONAME]->d_un.d_val); - if (strcmp (name, soname) != 0) -+#ifdef __arm__ -+ if (strcmp(name, "ld-linux.so.3") || strcmp(soname, "ld-linux-armhf.so.3")) -+#endif - continue; - - /* We have a match on a new name -- cache it. */ -- add_name_to_object (l, soname); -+ add_name_to_object (l, name); - l->l_soname_added = 1; - } - ++++++ glibc-armhf-compat.patch ++++++ Patch for elf/dl-load.c taken from Debian: For backward compatibility with armhf binaries built with the old linker SONAME, we need to fake out the linker to believe the new is the old, until such a point as everything is rebuilt. --- glibc-2.15/elf/dl-load.c.~1~ 2011-12-30 23:13:56.000000000 +0100 +++ glibc-2.15/elf/dl-load.c 2012-04-18 15:05:33.203485389 +0200 @@ -2082,10 +2082,13 @@ soname = ((const char *) D_PTR (l, l_info[DT_STRTAB]) + l->l_info[DT_SONAME]->d_un.d_val); if (strcmp (name, soname) != 0) +#ifdef __arm__ + if (strcmp(name, "ld-linux.so.3") || strcmp(soname, "ld-linux-armhf.so.3")) +#endif continue; /* We have a match on a new name -- cache it. */ - add_name_to_object (l, soname); + add_name_to_object (l, name); l->l_soname_added = 1; } ++++++ glibc-nscd-foreground.patch ++++++ diff -rup a/nscd/nscd.c b/nscd/nscd.c --- a/nscd/nscd.c 2012-01-01 05:16:32.000000000 -0700 +++ b/nscd/nscd.c 2012-02-03 13:07:50.509740586 -0700 @@ -72,7 +72,12 @@ thread_info_t thread_info; int do_shutdown; int disabled_passwd; int disabled_group; -int go_background = 1; + +/* Default is to daemonize. Set to 1 to run in foreground in + debugging mode, or negative to run in foreground but otherwise + behave like a daemon, i.e., detach from terminal and use + syslog. */ +static int run_in_foreground = 0; static const char *conffile = _PATH_NSCDCONF; @@ -104,6 +109,8 @@ static const struct argp_option options[ N_("Read configuration data from NAME") }, { "debug", 'd', NULL, 0, N_("Do not fork and display messages on the current tty") }, + { "foreground", 'F', NULL, 0, + N_("Do not fork, but otherwise behave like a deamon") }, { "nthreads", 't', N_("NUMBER"), 0, N_("Start NUMBER threads") }, { "shutdown", 'K', NULL, 0, N_("Shut the server down") }, { "statistics", 'g', NULL, 0, N_("Print current configuration statistics") }, @@ -174,16 +181,22 @@ main (int argc, char **argv) /* Determine page size. */ pagesize_m1 = getpagesize () - 1; - /* Behave like a daemon. */ - if (go_background) + if (run_in_foreground <= 0) { int i; + pid_t pid; - pid_t pid = fork (); - if (pid == -1) - error (EXIT_FAILURE, errno, _("cannot fork")); - if (pid != 0) - exit (0); + /* Behave like a daemon. */ + if (!run_in_foreground) + { + pid = fork (); + if (pid == -1) + error (EXIT_FAILURE, errno, _("cannot fork")); + if (pid != 0) + exit (0); + } + else + fprintf (stderr, _("further output sent to syslog\n")); int nullfd = open (_PATH_DEVNULL, O_RDWR); if (nullfd != -1) @@ -234,11 +247,14 @@ main (int argc, char **argv) for (i = min_close_fd; i < getdtablesize (); i++) close (i); - pid = fork (); - if (pid == -1) - error (EXIT_FAILURE, errno, _("cannot fork")); - if (pid != 0) - exit (0); + if (!run_in_foreground) + { + pid = fork (); + if (pid == -1) + error (EXIT_FAILURE, errno, _("cannot fork")); + if (pid != 0) + exit (0); + } setsid (); @@ -260,7 +276,7 @@ main (int argc, char **argv) signal (SIGTSTP, SIG_IGN); } else - /* In foreground mode we are not paranoid. */ + /* In debug mode we are not paranoid. */ paranoia = 0; signal (SIGINT, termination_handler); @@ -309,7 +325,11 @@ parse_opt (int key, char *arg, struct ar { case 'd': ++debug_level; - go_background = 0; + run_in_foreground = 1; + break; + + case 'F': + run_in_foreground = -1; break; case 'f': ++++++ nscd.service ++++++ --- /var/tmp/diff_new_pack.8Jr50L/_old 2012-05-21 07:55:26.000000000 +0200 +++ /var/tmp/diff_new_pack.8Jr50L/_new 2012-05-21 07:55:26.000000000 +0200 @@ -3,11 +3,14 @@ After=syslog.target [Service] -Type=forking -ExecStart=/usr/sbin/nscd +ExecStart=/usr/sbin/nscd --foreground ExecStop=/usr/sbin/nscd --shutdown +ExecReload=/usr/sbin/nscd -i passwd +ExecReload=/usr/sbin/nscd -i group +ExecReload=/usr/sbin/nscd -i hosts +ExecReload=/usr/sbin/nscd -i services +ExecReload=/usr/sbin/nscd -i netgroup Restart=always -PIDFile=/var/run/nscd/nscd.pid [Install] WantedBy=multi-user.target -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org