- multiarch conflicts (#342391)

- -static subpkg
This commit is contained in:
Rex Dieter 2008-02-22 20:12:19 +00:00
parent d8254d03d3
commit aff24b6706
2 changed files with 52 additions and 4 deletions

View File

@ -1,15 +1,19 @@
%define multilib_arches i386 x86_64 ppc ppc64 s390 s390x sparc sparc64
Summary: Library for handling page faults in user mode
Name: libsigsegv
Version: 2.4
Release: 5%{?dist}
Release: 6%{?dist}
License: GPLv2+
URL: http://libsigsegv.sourceforge.net/
Source: http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-%{version}.tar.gz
Source0: http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-%{version}.tar.gz
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source1: sigsegv-wrapper.h
%description
This is a library for handling page faults in user mode. A page fault
occurs when a program tries to access to a region of memory that is
@ -28,6 +32,13 @@ Requires: %{name} = %{version}-%{release}
%description devel
%{summary}.
%package static
Summary: Static libraries for %{name}
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
%{summary}.
%prep
%setup -q
@ -46,6 +57,13 @@ rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%ifarch %{multilib_arches}
# hack to allow parallel installation on 32-bit and 64-bit
mv %{buildroot}%{_includedir}/sigsegv.h \
%{buildroot}%{_includedir}/sigsegv-%{_arch}.h
install -p -m644 %{SOURCE1} %{buildroot}%{_includedir}/sigsegv.h
%endif
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
@ -70,12 +88,18 @@ rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(-,root,root,-)
%{_libdir}/lib*.so
# TODO: package static lib separately
%{_includedir}/*.h
%files static
%defattr(-,root,root,-)
%{_libdir}/lib*.a
%{_includedir}/*
%changelog
* Fri Feb 22 2008 Rex Dieter <rdieter@fedoraproject.org> 2.4-6
- multiarch conflicts (#342391)
- -static subpkg
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.4-5
- Autorebuild for GCC 4.3

24
sigsegv-wrapper.h Normal file
View File

@ -0,0 +1,24 @@
/* This file is here to prevent a file conflict on multiarch systems. A
* conflict will occur because sigsegv.h has arch-specific definitions.
*
* DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */
#if defined(__x86_64__)
#include "sigsegv-x86_64.h"
#elif defined(__i386__)
#include "sigsegv-i386.h"
#elif defined(__powerpc64__)
#include "sigsegv-ppc64.h"
#elif defined(__powerpc__)
#include "sigsegv-ppc.h"
#elif defined(__s390x__)
#include "sigsegv-s390x.h"
#elif defined(__s390__)
#include "sigsegv-s390.h"
#elif defined(__sparc64__)
#include "sigsegv-sparc64.h"
#elif defined(__sparc__)
#include "sigsegv-sparc.h"
#else
#error "This libsigsegv-devel package does not work your architecture?"
#endif