File ia32el.spec of Package ia32el

#
# spec file for package ia32el (Version 6687_6639)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#



Name:           ia32el
BuildRequires:  java2-devel-packages
%ifarch ia64
BuildRequires:  ia32el-x86
%endif
%ifarch %ix86
BuildRequires:  binutils-devel
%endif
Summary:        IA32 Execution Layer
Version:        6687_6639
Release:        2
Group:          System/Base
License:        LGPLv2.1+
Source:         ia32el_6687_6635.tar.gz
Source1:        ia32el.init
Source2:        cpuid.c
Source3:        baselibs.conf
Patch:          6635to6636.patch
Patch1:         6636to6639.patch
Patch42:        ia32el.diff
Patch43:        alsa-emu.diff
PreReq:         %insserv_prereq
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  ia64 %ix86

%description
IA32 Execution Layer

%prep
%setup -q -n ia32el_6687_6635/src
%patch -p1
%patch1 -p1
%patch42
%patch43

%build
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -fno-stack-protector -Wno-conversion -Wno-shadow -Wno-array-bounds"
export RPM_OPT_FLAGS
%ifarch ia64
make RELEASE=1
make -C MTL RELEASE=1
%else
make -C MTL/auxapp
gcc $RPM_OPT_FLAGS %{S:2} -o cpuid
%endif

%install
mkdir -p $RPM_BUILD_ROOT/usr/lib/ia32el
%ifarch ia64
install -m 755 /emul/ia32-linux/usr/lib/ia32el/{cpuid,auxapp} $RPM_BUILD_ROOT/usr/lib/ia32el
install -m 644 ../ia32exec.bin $RPM_BUILD_ROOT/usr/lib/ia32el
install -m 755 ia32x/bin.release/libia32x.so MTL/mme/bin.release/libmme.so $RPM_BUILD_ROOT/usr/lib/ia32el
install -m 755 loader/bin.release/ia32x_loader $RPM_BUILD_ROOT/usr/lib/ia32el
install -m 4755 loader/bin.release/suid_ia32x_loader $RPM_BUILD_ROOT/usr/lib/ia32el
mkdir -p $RPM_BUILD_ROOT/etc/init.d $RPM_BUILD_ROOT/usr/sbin
install -m 755 %{S:1} $RPM_BUILD_ROOT/etc/init.d/ia32el
ln -s /etc/init.d/ia32el $RPM_BUILD_ROOT/usr/sbin/rcia32el
# Avoid dependency on 32bit libraries
cat <<\EOF > %{_builddir}/find-requires
#!/bin/sh
grep -v -e /usr/lib/ia32el/cpuid -e /usr/lib/ia32el/auxapp | %__find_requires "$@"
EOF
chmod +x %{_builddir}/find-requires
%define __find_requires %{_builddir}/find-requires
%else
install -m 755 MTL/auxapp/auxapp cpuid $RPM_BUILD_ROOT/usr/lib/ia32el
%endif
%ifarch ia64

%preun
%stop_on_removal ia32el

%post
%insserv_force_if_yast ia32el
%run_permissions

%postun
%restart_on_update ia32el
%insserv_cleanup
%verifyscript
%verify_permissions -e /usr/lib/ia32el/suid_ia32x_loader
%endif

%clean
rm -fr $RPM_BUILD_ROOT %{_builddir}/find-requires

%files
%defattr(-, root, root)
%ifarch ia64
%config /etc/init.d/ia32el
/usr/sbin/rcia32el
%dir /usr/lib/ia32el
/usr/lib/ia32el/cpuid
/usr/lib/ia32el/auxapp
/usr/lib/ia32el/ia32exec.bin
/usr/lib/ia32el/libia32x.so
/usr/lib/ia32el/libmme.so
/usr/lib/ia32el/ia32x_loader
%verify(not mode) %attr(755, root, root) /usr/lib/ia32el/suid_ia32x_loader
%else
/usr/lib/ia32el
%endif

%changelog
openSUSE Build Service is sponsored by