From a72524f516651e0f3ee48e38db56985f62dae3e5c208fb4d616a2107408251dd Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 20 Jun 2011 11:19:35 +0000 Subject: [PATCH] Accepting request 74183 from home:a_jaeger:branches:openSUSE:Factory Remove prereq on permissions as discussed with Coolo as hot-fix for M2 OBS-URL: https://build.opensuse.org/request/show/74183 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=66 --- glibc-x86-bits-sigcontext.patch | 113 ++++++++++++++++++++++++++++++++ glibc.changes | 7 ++ glibc.spec | 5 +- 3 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 glibc-x86-bits-sigcontext.patch diff --git a/glibc-x86-bits-sigcontext.patch b/glibc-x86-bits-sigcontext.patch new file mode 100644 index 0000000..c1eca5c --- /dev/null +++ b/glibc-x86-bits-sigcontext.patch @@ -0,0 +1,113 @@ +2011-06-20 Andreas Jaeger + + * sysdeps/unix/sysv/linux/i386/bits/sigcontext.h: New file. + +============================================================ +Index: ./sysdeps/unix/sysv/linux/i386/bits/sigcontext.h +--- ./sysdeps/unix/sysv/linux/i386/bits/sigcontext.h created ++++ ./sysdeps/unix/sysv/linux/i386/bits/sigcontext.h 2011-06-20 12:14:48.528411362 +0200 1.1 +@@ -0,0 +1,104 @@ ++/* Copyright (C) 2011 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, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#ifndef _BITS_SIGCONTEXT_H ++#define _BITS_SIGCONTEXT_H 1 ++ ++#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H ++# error "Never use directly; include instead." ++#endif ++ ++struct _fpreg ++{ ++ unsigned short significand[4]; ++ unsigned short exponent; ++}; ++ ++struct _fpxreg ++{ ++ unsigned short significand[4]; ++ unsigned short exponent; ++ unsigned short padding[3]; ++}; ++ ++struct _xmmreg ++{ ++ __uint32_t element[4]; ++}; ++ ++ ++ ++struct _fpstate ++{ ++ /* Regular FPU environment. */ ++ __uint32_t cw; ++ __uint32_t sw; ++ __uint32_t tag; ++ __uint32_t ipoff; ++ __uint32_t cssel; ++ __uint32_t dataoff; ++ __uint32_t datasel; ++ struct _fpreg _st[8]; ++ unsigned short status; ++ unsigned short magic; ++ ++ /* FXSR FPU environment. */ ++ __uint32_t _fxsr_env[6]; ++ __uint32_t mxcsr; ++ __uint32_t reserved; ++ struct _fpxreg _fxsr_st[8]; ++ struct _xmmreg _xmm[8]; ++ __uint32_t padding[56]; ++}; ++ ++#ifndef sigcontext_struct ++/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but ++ we need sigcontext. Some packages have come to rely on ++ sigcontext_struct being defined on 32-bit x86, so define this for ++ their benefit. */ ++# define sigcontext_struct sigcontext ++#endif ++ ++struct sigcontext ++{ ++ unsigned short gs, __gsh; ++ unsigned short fs, __fsh; ++ unsigned short es, __esh; ++ unsigned short ds, __dsh; ++ unsigned long edi; ++ unsigned long esi; ++ unsigned long ebp; ++ unsigned long esp; ++ unsigned long ebx; ++ unsigned long edx; ++ unsigned long ecx; ++ unsigned long eax; ++ unsigned long trapno; ++ unsigned long err; ++ unsigned long eip; ++ unsigned short cs, __csh; ++ unsigned long eflags; ++ unsigned long esp_at_signal; ++ unsigned short ss, __ssh; ++ struct _fpstate * fpstate; ++ unsigned long oldmask; ++ unsigned long cr2; ++}; ++ ++ ++#endif /* _BITS_SIGCONTEXT_H */ diff --git a/glibc.changes b/glibc.changes index 553c370..1dd1303 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Jun 20 11:02:01 UTC 2011 - aj@suse.de + +- Remove PreReq on permissions to avoid a cycle that gives leads to + an uninstallable system (bnc#700925). +- Fix on x86 - fixes scpm compilation. + ------------------------------------------------------------------- Fri Jun 17 09:50:19 UTC 2011 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index 6d26f74..db16f58 100644 --- a/glibc.spec +++ b/glibc.spec @@ -85,7 +85,6 @@ Source12: glibc_post_upgrade.c Source15: glibc.rpmlintrc Source16: baselibs.conf PreReq: filesystem -PreReq: permissions Provides: rtld(GNU_HASH) BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %_target_cpu == "i686" @@ -198,6 +197,8 @@ Patch56: glibc-static-memcpy.diff Patch58: glibc-strict-aliasing.diff # PATCH-FIX-UPSTREAM fix preloading of shared libs aj@suse.de Patch59: glibc-2.13-dl-load.patch +# PATCH-FIX-UPSTREAM fix x86