installation-images/installation-images-openSUSE.spec

487 lines
13 KiB
RPMSpec

#
# spec file for package installation-images-openSUSE
#
# Copyright (c) 2014 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
%define theme openSUSE
%if %theme == SLES
%define base_theme SLE
%else
%define base_theme %theme
%endif
%define with_vbox 0
%define with_plymouth 1
%define with_shim 1
%bcond_without sbl
%bcond_without vnc
%ifarch %ix86
# FIXME: xen not working on i586
%bcond_without xen
%else
%bcond_without xen
%endif
%if %theme == SLES
BuildRequires: plymouth-theme-tribar
BuildRequires: sle12-desktop-migration
BuildRequires: sles-release
BuildRequires: sles-release-MINI
%else
BuildRequires: openSUSE-release
BuildRequires: openSUSE-release-mini
%endif
BuildRequires: Mesa
BuildRequires: Mesa-libEGL1
BuildRequires: SuSEfirewall2
BuildRequires: aaa_base
BuildRequires: aaa_base-extras
BuildRequires: adaptec-firmware
BuildRequires: alsa
BuildRequires: alsa-utils
BuildRequires: arabic-kacst-fonts
BuildRequires: audit-libs
BuildRequires: bc
BuildRequires: bind-libs
BuildRequires: bind-utils
BuildRequires: blueprint-cursor-theme
BuildRequires: btrfsprogs
BuildRequires: build-key
BuildRequires: busybox
BuildRequires: bzip2
BuildRequires: ca-certificates-mozilla
BuildRequires: cairo
BuildRequires: checkmedia
BuildRequires: cifs-utils
BuildRequires: cracklib
BuildRequires: cracklib-dict-small
BuildRequires: cron
BuildRequires: cryptsetup
BuildRequires: cups-libs
BuildRequires: curl
BuildRequires: dbus-1-x11
BuildRequires: dd_rescue
BuildRequires: dejavu-fonts
BuildRequires: dhcp-server
BuildRequires: dmapi
BuildRequires: dmraid
BuildRequires: dosfstools
BuildRequires: dracut-fips
BuildRequires: dump
BuildRequires: e2fsprogs
BuildRequires: ed
BuildRequires: efont-unicode-bitmap-fonts
BuildRequires: elfutils
BuildRequires: espeak
BuildRequires: ethtool
BuildRequires: fbiterm
BuildRequires: finger
BuildRequires: fonts-config
BuildRequires: gamin-server
BuildRequires: gdb
BuildRequires: gettext-runtime-mini
BuildRequires: glibc-i18ndata
BuildRequires: gpart
BuildRequires: gpg2
BuildRequires: gpm
BuildRequires: gptfdisk
BuildRequires: graphviz
BuildRequires: graphviz-gnome
BuildRequires: haveged
BuildRequires: hdparm
BuildRequires: hex
BuildRequires: hfsutils
BuildRequires: icewm-lite
BuildRequires: icmpinfo
BuildRequires: indic-fonts
BuildRequires: initviocons
BuildRequires: iproute2
BuildRequires: iputils
BuildRequires: iscsiuio
BuildRequires: jfsutils
BuildRequires: joe
BuildRequires: kbd
BuildRequires: kernel-default
BuildRequires: kernel-firmware
BuildRequires: khmeros-fonts
BuildRequires: libcryptsetup4-hmac
BuildRequires: libgcrypt20-hmac
BuildRequires: libopenssl1_0_0-hmac
BuildRequires: lklug-fonts
BuildRequires: nfs-kernel-server
BuildRequires: openssh-fips
BuildRequires: raleway-fonts
BuildRequires: samba
BuildRequires: sysvinit-tools
BuildRequires: thai-fonts
BuildRequires: vlan
BuildRequires: vsftpd
BuildRequires: kexec-tools
BuildRequires: kmod-compat
BuildRequires: krb5-devel
BuildRequires: less
BuildRequires: libpcsclite1
BuildRequires: libyui-ncurses-pkg
BuildRequires: libyui-qt
BuildRequires: libyui-qt-graph
BuildRequires: libyui-qt-pkg
BuildRequires: links
BuildRequires: linuxrc
BuildRequires: lsscsi
BuildRequires: lvm2
BuildRequires: mdadm
BuildRequires: mingetty
BuildRequires: mkfontdir
BuildRequires: mkfontscale
BuildRequires: mtools
BuildRequires: multipath-tools
BuildRequires: nasm
BuildRequires: ncurses-utils
BuildRequires: netcat-openbsd
BuildRequires: netpbm
BuildRequires: nfs-client
BuildRequires: nfs-utils
BuildRequires: ntfs-3g
BuildRequires: ntfsprogs
BuildRequires: open-iscsi
BuildRequires: openldap2-client
BuildRequires: openslp-server
BuildRequires: openssh
BuildRequires: pango
BuildRequires: parted
BuildRequires: pciutils
BuildRequires: pciutils-ids
BuildRequires: pcre-devel
BuildRequires: pcsc-lite
BuildRequires: perl-Config-Crontab
BuildRequires: perl-HTML-Parser
BuildRequires: perl-Switch
BuildRequires: perl-XML-Bare
BuildRequires: perl-XML-NamespaceSupport
BuildRequires: perl-XML-Parser
BuildRequires: perl-XML-Simple
BuildRequires: perl-solv
BuildRequires: pinentry
BuildRequires: suse-module-tools
BuildRequires: systemd
BuildRequires: systemd-presets-branding-%{base_theme}
BuildRequires: tunctl
BuildRequires: udev
%if %with_plymouth
BuildRequires: plymouth
BuildRequires: plymouth-branding-%{base_theme}
BuildRequires: plymouth-plugin-script
BuildRequires: plymouth-scripts
%endif
BuildRequires: nscd
BuildRequires: polkit
BuildRequires: popt-devel
BuildRequires: pothana2000
BuildRequires: procinfo
BuildRequires: procps
BuildRequires: psmisc
BuildRequires: python
BuildRequires: recode
BuildRequires: reiserfs
BuildRequires: rgb
BuildRequires: rpcbind
BuildRequires: rsh
BuildRequires: rsync
BuildRequires: screen
BuildRequires: sdparm
BuildRequires: setserial
BuildRequires: setxkbmap
BuildRequires: sg3_utils
BuildRequires: smartmontools
BuildRequires: smp_utils
BuildRequires: socat
BuildRequires: sqlite3
BuildRequires: squashfs
BuildRequires: strace
BuildRequires: syslogd
BuildRequires: systemd-sysvinit
BuildRequires: tcpd-devel
BuildRequires: telnet
BuildRequires: telnet-server
BuildRequires: termcap
BuildRequires: terminfo
BuildRequires: usbutils
BuildRequires: util-linux
BuildRequires: util-linux-systemd
BuildRequires: ltrace
BuildRequires: valgrind
BuildRequires: skelcd-control-%theme
BuildRequires: vim
BuildRequires: wget
BuildRequires: wicked
BuildRequires: wireless-tools
BuildRequires: wpa_supplicant
BuildRequires: xauth
BuildRequires: xdm
BuildRequires: xdpyinfo
BuildRequires: xfsdump
BuildRequires: xfsprogs
BuildRequires: xhost
BuildRequires: xkbcomp
BuildRequires: xkeyboard-config
BuildRequires: xmodmap
BuildRequires: xntp
BuildRequires: xorg-x11-fonts
BuildRequires: xorg-x11-server
BuildRequires: xrefresh
BuildRequires: xset
BuildRequires: xterm
BuildRequires: xz
BuildRequires: yast2-devtools
BuildRequires: yast2-trans-allpacks
%if %{with sbl}
BuildRequires: sbl
%endif
%if %{with vnc}
BuildRequires: xorg-x11-Xvnc
%endif
# kmps
%ifarch %ix86 x86_64
BuildRequires: atmel-firmware
BuildRequires: dos2unix
BuildRequires: ftp
BuildRequires: hyper-v
BuildRequires: ipw-firmware
BuildRequires: tftp
%if %{with xen}
BuildRequires: kernel-xen
%ifnarch %ix86
BuildRequires: xen-kmp-default
%endif
%else
##BuildIgnore: kernel-xen
%endif
%endif
%ifnarch s390 s390x
%ifnarch aarch64
BuildRequires: iprutils
%endif
BuildRequires: kbd
BuildRequires: xf86-input-evdev
BuildRequires: xf86-input-synaptics
%ifarch %ix86 x86_64
BuildRequires: xf86-input-vmmouse
BuildRequires: xf86-video-intel
BuildRequires: xf86-video-vmware
%endif
BuildRequires: xf86-input-void
BuildRequires: xf86-input-wacom
BuildRequires: xf86-video-ati
BuildRequires: xf86-video-cirrus
BuildRequires: xf86-video-fbdev
BuildRequires: xf86-video-modesetting
BuildRequires: xf86-video-nv
BuildRequires: xf86-video-r128
BuildRequires: xf86-video-sis
BuildRequires: xf86-video-vesa
%endif
%ifarch ppc ppc64 ppc64le
%ifnarch ppc64le
BuildRequires: pdisk
%endif
BuildRequires: grub2-powerpc-ieee1275
BuildRequires: powerpc-utils
%endif
%ifarch %ix86 x86_64
BuildRequires: acpica
BuildRequires: biosdevname
BuildRequires: dhcp-client
BuildRequires: dmidecode
BuildRequires: elilo
BuildRequires: firmwarekit
BuildRequires: grub2
BuildRequires: lilo
BuildRequires: memtest86+
BuildRequires: syslinux
%if %with_vbox
BuildRequires: virtualbox-guest-kmp-default
BuildRequires: virtualbox-guest-x11
%endif
%endif
%ifarch %ix86
BuildRequires: dos2unix
BuildRequires: ftp
BuildRequires: tftp
%endif
%ifarch x86_64
BuildRequires: grub2-x86_64-efi
%if %with_shim
BuildRequires: shim
%endif
BuildRequires: efibootmgr
BuildRequires: glibc-32bit
%endif
%ifarch ia64
BuildRequires: acpica
BuildRequires: dmidecode
BuildRequires: efibootmgr
BuildRequires: elilo
BuildRequires: fpswa
BuildRequires: ia32el
%endif
%ifarch s390x
BuildRequires: glibc-32bit
%endif
%ifarch %ix86 x86_64
BuildRequires: gfxboot-branding-%{base_theme}
BuildRequires: grub2-branding-%{base_theme}
%endif
%ifnarch s390 s390x
#BuildRequires: enic-kmp-default fnic-kmp-default ofed-kmp-default
%endif
BuildRequires: dmz-icon-theme-cursors
%ifarch aarch64
BuildRequires: grub2-arm64-efi
%endif
Name: installation-images-%theme
AutoReqProv: off
ExcludeArch: %arm
Summary: Installation Image Files for %theme
License: GPL-2.0+
Group: Metapackages
Version: 14.155
Release: 0
Provides: installation-images = %version-%release
Source: installation-images-%{version}.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define _binary_payload w.ufdio
%description
Files needed for %theme installation media.
%package -n install-initrd-%theme
Provides: install-initrd = %version-%release
Obsoletes: install-initrd < %version-%release
Obsoletes: install-initrd-branding-%theme < %version-%release
AutoReqProv: off
Summary: Create initrd for %theme installation
Group: System/Kernel
PreReq: /bin/ln
%description -n install-initrd-%theme
You can create an initrd for %theme installation. Useful, for example, to set
up a UML or XEN environment.
%package -n installation-images-debuginfodeps-%theme
Provides: installation-images-debuginfodeps = %version-%release
Summary: Debuginfo dependencies for %theme installation-images
Group: Metapackages
%description -n installation-images-debuginfodeps-%theme
Package that holds debuginfo dependencies for image files in installation-image.
%define __debuginfo_requires xargs grep build-id
%define __debuginfo_path ^/usr/share/debuginfodeps
%prep
%setup -n installation-images-%{version}
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
make THEMES=%theme
%ifarch %ix86 x86_64
%if %{with xen}
# build xen initrd & kernel
image=initrd-xen kernel=kernel-xen MOD_CFG=xen make initrd+modules THEMES=%theme
MOD_CFG=xen make kernel
%endif
%endif
%ifarch ppc ppc64
image=initrd-default kernel=kernel-default MOD_CFG=ppc64 make initrd+modules+gefrickel THEMES=%theme
%endif
%ifarch ppc64le
image=initrd-default kernel=kernel-default MOD_CFG=ppc64le make initrd+modules+gefrickel THEMES=%theme
%endif
%install
BUILD_DISTRIBUTION_NAME="%distribution"
export BUILD_DISTRIBUTION_NAME
test ! -z "$BUILD_DISTRIBUTION_NAME"
make install DESTDIR=%{buildroot} THEMES=%theme
# make debuginfo DESTDIR=%{buildroot}
make install-initrd DESTDIR=%{buildroot}/usr/lib/install-initrd THEMES=%theme
ln -s %theme %{buildroot}/usr/lib/install-initrd/branding
install -d -m 755 %{buildroot}/usr/sbin
install -m 755 etc/mkinstallinitrd %{buildroot}/usr/sbin
%ifarch %ix86
%if %{with 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 '%dir' /usr/lib/install-initrd >>install-initrd.files
echo /usr/sbin/mkinstallinitrd >>install-initrd.files
%post -n install-initrd-%theme
/bin/ln -snf %theme /usr/lib/install-initrd/branding 2>/dev/null || true
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
/CD1
/SuSE
%exclude /usr/share/debuginfodeps
/usr/share
%files -n install-initrd-%theme -f install-initrd.files
%files -n installation-images-debuginfodeps-%theme
%defattr(-,root,root)
/usr/share/debuginfodeps
%changelog