File installation-images.spec of Package installation-images

#
# spec file for package installation-images
#
# Copyright (c) 2011 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/
#

# needsrootforbuild
# needsbinariesforbuild


Name:           installation-images
%define has_sles 0
%define build_xen 1
%define has_vnc 1
BuildRequires:  PolicyKit adaptec-firmware autoyast2-installation bc blueprint-cursor-theme cifs-utils cron cups-libs dd_rescue dhcp-server dhcpcd dmraid dump ed efont-unicode eject fbiterm finger fonts-config gdb glibc-i18ndata hex icmpinfo initviocons iputils joe krb5-devel libidn libiterm libjpeg-devel libpng-devel links linuxrc lklug lvm2 mdadm mingetty mtools multipath-tools nasm netcat-openbsd netpbm nfs-utils ntfsprogs openslp-server openssh pcmciautils pcre-devel popt-devel pothana2000 recode rsh rsync sbl screen setserial sg3_utils smartmontools socat sysconfig syslogd tcpd-devel telnet telnet-server termcap terminfo usbutils wget xfsdump
BuildRequires:  e2fsprogs ncurses-utils yast2-add-on yast2-kdump yast2-mouse yast2-ncurses-pkg yast2-network yast2-nfs-client yast2-ntp-client yast2-qt yast2-qt-pkg yast2-runlevel yast2-slp yast2-trans-allpacks yast2-trans-stats yast2-tune yast2-update yast2-users
BuildRequires:  aaa_base aaa_base-extras audit-libs busybox checkmedia cryptsetup dejavu dmapi dosfstools ethtool fvwm2 gpm hfsutils icewm-lite libcares2 libelf0 libpcsclite1 libzypp open-iscsi openct pciutils pciutils-ids pcsc-lite perl-HTML-Parser sqlite3 util-linux
BuildRequires:  build-key gpg2 jfsutils kexec-tools limal limal-perl perl-Switch perl-XML-Bare perl-XML-NamespaceSupport perl-XML-Parser perl-XML-Simple yast2-iscsi-client yast2-ncurses
BuildRequires:  Mesa libXi6 xkeyboard-config xorg-x11 xorg-x11-Xnest xorg-x11-Xvfb xorg-x11-fonts xorg-x11-fonts-core xorg-x11-libICE xorg-x11-libSM xorg-x11-libX11 xorg-x11-libXau xorg-x11-libXdmcp xorg-x11-libXext xorg-x11-libXfixes xorg-x11-libXmu xorg-x11-libXp xorg-x11-libXpm xorg-x11-libXrender xorg-x11-libXt xorg-x11-libfontenc xorg-x11-libs xorg-x11-libxcb xorg-x11-libxkbfile xorg-x11-server xterm
BuildRequires:  bzip2 cracklib cracklib-dict-full curl gpart iproute2 libexpat1 libfuse2 libreiserfs libreiserfs-devel module-init-tools nfs-client ntfs-3g parted procinfo procps psmisc reiserfs squashfs strace vim xntp xz yast2-devtools
BuildRequires:  alsa alsa-utils bind-libs bind-utils chkrootkit espeak lsscsi openldap2-client portaudio portmap python rpcbind sdparm smp_utils uuid-runtime xorg-x11-xauth yast2-multipath
BuildRequires:  btrfsprogs cairo graphviz graphviz-gnome kernel-default kernel-firmware libiw30 pango sax2-tools unscd valgrind wireless-tools wpa_supplicant yast2-qt-graph
BuildRequires:  hdparm
BuildRequires:  sysvinit sysvinit-init
%if %has_vnc
BuildRequires:  xorg-x11-Xvnc
%endif
# kmps
%ifarch %ix86 x86_64
BuildRequires:  atmel-firmware dos2unix ftp ipw-firmware ncpfs tftp
%if %{build_xen}
BuildRequires:  kernel-xen
%else
##BuildIgnore: kernel-xen
%endif
%endif
BuildRequires:  ltrace
%ifnarch s390 s390x
BuildRequires:  fbset iprutils kbd libxslt xorg-x11-driver-input xorg-x11-driver-video xorg-x11-driver-video-unichrome
%if %has_vnc
BuildRequires:  tightvnc
%endif
%endif
%ifarch %ix86 x86_64
# mirror ExclusiveArch of xorg-x11-driver-video-radeonhd.
BuildRequires:  xorg-x11-driver-video-radeonhd
%endif
%ifarch ppc ppc64
BuildRequires:  lilo
BuildRequires:  pdisk
BuildRequires:  powerpc-utils
BuildRequires:  kernel-ppc64
%endif
%ifarch %ix86 x86_64
BuildRequires:  acpica dhcp-client dmidecode elilo firmwarekit grub libsmbios2 libunwind lilo memtest86+ syslinux virtualbox-guest-kmp-default virtualbox-guest-tools virtualbox-guest-x11 yast2-vm
%endif
%ifarch %ix86
BuildRequires:  dos2unix ftp ncpfs tftp
%endif
%ifarch x86_64
BuildRequires:  efibootmgr glibc-32bit libncurses5-32bit
%endif
%ifarch ia64
BuildRequires:  acpica dmidecode efibootmgr elilo fpswa ia32el
%endif
%ifarch s390 s390x
BuildRequires:  kernel-installation-tapeipl yast2-reipl
%endif
%ifarch s390x
BuildRequires:  glibc-32bit
%endif
%ifarch %ix86 x86_64
BuildRequires:  bootsplash gfxboot-branding-openSUSE
BuildRequires:  yast2-qt-branding-openSUSE
BuildRequires:  bootsplash-branding-openSUSE
%if %has_sles
BuildRequires:  gfxboot-branding-SLED gfxboot-branding-SLES
BuildRequires:  bootsplash-branding-SLED bootsplash-branding-SLES
%endif
%endif
%ifnarch s390 s390x
#BuildRequires:  enic-kmp-default fnic-kmp-default ofed-kmp-default
%endif
%ifarch %ix86 x86_64 ia64
#BuildRequires:  brocade-bfa-kmp-default
%endif
%if %has_sles
BuildRequires:  yast2-theme-SLE
%endif
BuildRequires:  desktop-data-openSUSE dmz-icon-theme-cursors yast2-theme-openSUSE yast2-theme-openSUSE-Oxygen
%ifnarch s390
# BuildRequires:  blocxx-debuginfo boost-debuginfo bzip2-debuginfo curl-debuginfo dbus-1-debuginfo dbus-1-glib-debuginfo e2fsprogs-debuginfo expat-debuginfo fontconfig-debuginfo gcc44-debuginfo glib2-debuginfo glibc-debuginfo hwinfo-debuginfo icu-debuginfo jpeg-debuginfo libidn-debuginfo libpng12-0-debuginfo libqt4-debuginfo libxcrypt-debuginfo libxml2-debuginfo libzypp-debuginfo openssl-debuginfo pcre-debuginfo perl-debuginfo perl-gettext-debuginfo qt3-debuginfo rpm-debuginfo sysfsutils-debuginfo wireless-tools-debuginfo xorg-x11-libICE-debuginfo xorg-x11-libSM-debuginfo xorg-x11-libX11-debuginfo xorg-x11-libXau-debuginfo xorg-x11-libXdmcp-debuginfo xorg-x11-libXext-debuginfo xorg-x11-libXfixes-debuginfo xorg-x11-libXmu-debuginfo xorg-x11-libXrender-debuginfo xorg-x11-libfontenc-debuginfo xorg-x11-libs-debuginfo xorg-x11-libxcb-debuginfo xorg-x11-server-debuginfo yast2-core-debuginfo yast2-hardware-detection-debuginfo yast2-perl-bindings-debuginfo yast2-pkg-bindings-debuginfo yast2-qt-debuginfo yast2-xml-debuginfo zlib-debuginfo
%endif
#
License:        GPLv2+
Group:          Metapackages
Provides:       y2image
Obsoletes:      y2image
AutoReqProv:    off
Summary:        Installation Image Files
Version:        13.20
Release:        4
Source:         installation-images-13.20.tar.bz2
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%define _binary_payload w.ufdio

%description
Installation image files (boot and module disks, root image, and
suse/inst-sys directory).



%package -n     install-initrd
License:        GPLv2+
Group:          System/Kernel
Recommends:     install-initrd-branding
AutoReqProv:    off
Summary:        Create initrd for Installation
PreReq:         /bin/ln

%description -n install-initrd
You can create an initrd for installation. Useful, for example, to set
up a UML or XEN environment.



%package -n     install-initrd-branding-openSUSE
License:        GPLv2+
Supplements:    packageand(install-initrd:branding-openSUSE)
Provides:       install-initrd-branding
Requires:       install-initrd
Summary:        openSUSE theme for install-initrd
AutoReqProv:    on
Group:          System/Kernel
PreReq:         /bin/ln

%description -n install-initrd-branding-openSUSE
openSUSE theme for install-initrd package.



%package -n     install-initrd-branding-SLED
License:        GPLv2+
Supplements:    packageand(install-initrd:branding-SLED)
Provides:       install-initrd-branding
Requires:       install-initrd
Summary:        SLED theme for install-initrd
AutoReqProv:    on
Group:          System/Kernel
PreReq:         /bin/ln

%description -n install-initrd-branding-SLED
SLED theme for install-initrd package.



%package -n     install-initrd-branding-SLES
License:        GPLv2+
Supplements:    packageand(install-initrd:branding-SLES)
Provides:       install-initrd-branding
Requires:       install-initrd
Summary:        SLES theme for install-initrd
AutoReqProv:    on
Group:          System/Kernel

%description -n install-initrd-branding-SLES
SLES theme for install-initrd package.



%prep
%setup
rm -f /usr/lib/build/checks/04-check-filelist

%build
unset MALLOC_CHECK_
BUILD_DISTRIBUTION_NAME="%distribution"
export BUILD_DISTRIBUTION_NAME
test ! -z "$BUILD_DISTRIBUTION_NAME"
# build id (for linuxrc to start the correct instsys)
export instsys_build_id=`bin/build_id`
# beta only: warn testers about wrong instsys
export instsys_complain=1
# careful: will make all non-matching initrds fail hard
# export instsys_complain_root=2
# beta only: ignore non-critical errors
# export debug=ignore
%if %has_sles
make
%else
make THEMES=openSUSE
%endif
%ifarch %ix86 x86_64
%if %{build_xen}
# build xen initrd & kernel
%if %has_sles
image=initrd-xen kernel=kernel-xen MOD_CFG=xen make initrd+modules
%else
image=initrd-xen kernel=kernel-xen MOD_CFG=xen make initrd+modules THEMES=openSUSE
%endif
MOD_CFG=xen make kernel
%endif
%endif
%ifarch ppc ppc64
%if %has_sles
image=initrd-ppc64 kernel=kernel-ppc64 MOD_CFG=ppc64 make initrd+modules+gefrickel
%else
image=initrd-ppc64 kernel=kernel-ppc64 MOD_CFG=ppc64 make initrd+modules+gefrickel THEMES=openSUSE
%endif
%endif

%install
BUILD_DISTRIBUTION_NAME="%distribution"
export BUILD_DISTRIBUTION_NAME
test ! -z "$BUILD_DISTRIBUTION_NAME"
%if %has_sles
make install DESTDIR=%{buildroot}
%else
make install DESTDIR=%{buildroot} THEMES=openSUSE
%endif
# make debuginfo DESTDIR=%{buildroot}
%if %has_sles
make install-initrd DESTDIR=%{buildroot}/usr/lib/install-initrd
%else
make install-initrd DESTDIR=%{buildroot}/usr/lib/install-initrd THEMES=openSUSE
%endif
ln -s openSUSE %{buildroot}/usr/lib/install-initrd/branding
install -d -m 755 %{buildroot}/usr/sbin
install -m 755 etc/mkinstallinitrd %{buildroot}/usr/sbin
%ifarch %ix86
%if %{build_xen}
# xenpae compat gefrickel (bnc #397065)
for i in %{buildroot}/branding/*/CD1/boot/i386/initrd-xen ; do
  [ -f "$i" ] && ln -s initrd-xen ${i}pae
done
for i in %{buildroot}/CD1/boot/i386/vmlinuz-xen ; do    
  [ -f "$i" ] && ln -s vmlinuz-xen ${i}pae
done
%endif
%endif
# get rid of /usr/lib/rpm/brp-strip-debug 
# strip kills the zImage.chrp-rs6k 
export NO_BRP_STRIP_DEBUG=true
export NO_DEBUGINFO_STRIP_DEBUG=true
# for compatibility
mv %{buildroot}/branding %{buildroot}/SuSE
# file list for install-initrd
echo '%defattr(-,root,root)' >install-initrd.files
( cd %{buildroot}/usr/lib/install-initrd ; find -maxdepth 1 | sed -e '/\.$/d ; /\.\/branding/d ; s#\.#/usr/lib/install-initrd#' ) >>install-initrd.files
echo '%ghost' /usr/lib/install-initrd/branding >>install-initrd.files
echo /usr/sbin/mkinstallinitrd >>install-initrd.files

%post -n install-initrd
/bin/ln -sn openSUSE /usr/lib/install-initrd/branding 2>/dev/null || true

%post -n install-initrd-branding-openSUSE
/bin/ln -snf openSUSE /usr/lib/install-initrd/branding

%post -n install-initrd-branding-SLED
/bin/ln -snf SLED /usr/lib/install-initrd/branding

%post -n install-initrd-branding-SLES
/bin/ln -snf SLES /usr/lib/install-initrd/branding

%clean 
rm -rf %{buildroot}

%files
%defattr(-,root,root)
/CD1
/SuSE
/usr/share

%files -n install-initrd -f install-initrd.files

%files -n install-initrd-branding-openSUSE
%defattr(-,root,root)
%ghost /usr/lib/install-initrd/branding

%files -n install-initrd-branding-SLED
%defattr(-,root,root)
%ghost /usr/lib/install-initrd/branding

%files -n install-initrd-branding-SLES
%defattr(-,root,root)
%ghost /usr/lib/install-initrd/branding

%changelog
openSUSE Build Service is sponsored by