File kiwi-image-livecd-kde3.spec of Package kiwi-image-livecd-kde3

# spec file for package kiwi-image-livecd-kde3 (Version 11.1)
# Copyright (c) 2008 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

# needsrootforbuild
# needsbinariesforbuild

Name:           kiwi-image-livecd-kde3
BuildRequires:  createrepo kiwi kiwi-desc-isoboot package-lists-openSUSE-KDE3-cd
BuildRequires:  checkmedia fdupes kiwi-desc-oemboot kiwi-desc-usbboot kiwi-tools squashfs
BuildRequires:  lzma pm-utils yast2-live-installer libcdio-utils
BuildRequires:  bootsplash bootsplash-branding-openSUSE cromfs gfxboot-devel
BuildRequires:  yast2-firstboot kiwi-config-openSUSE yast2-live-installer
BuildRequires:  openSUSE-release-livecd-kde3
BuildRequires:	kdeaddons3-konqueror kdebase3-session kdegraphics3-pdf kdegraphics3-postscript
BuildRequires:	kdemultimedia3-CD kdemultimedia3-mixer kdenetwork3 kdenetwork3-InstantMessenger kdeutils3
#!BuildIgnore: openSUSE-release-ftp
#USB #!BuildIgnore:  openSUSE-release-livecd-kde
#USB #!BuildIgnore:  openSUSE-release-livecd-gnome
# the following are listed as needed without a way for me to track it
# without solving and I have no idea how to do that automatically.
# simply remove them and try to build - kiwi/zypper will then complain
BuildRequires:  aufs
BuildRequires:  aufs-kmp-default
BuildRequires:  fribidi
BuildRequires:  boo gfxboot
BuildRequires:  ghostscript-fonts-std ghostscript-library
Source0:	kupdater_rename.diff
Summary:        KDE3 live CD
Version:        11.1
Release:        1
Group:          System/Boot
License:        BSD 3-Clause
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExcludeArch:    ia64 ppc64 s390x s390 ppc
%ifarch %ix86
BuildArch:      i686  
%define build_usb 0
# do not compress the ISO - takes ages 
%define _binary_payload w.ufdio

The package contains a huge ISO

%package promo
Group:          System/Boot
License:        BSD 3-Clause
Summary:        KDE3 live CD

%description promo
The package contains a huge ISO

%setup -T -c

desktop=`echo %name | cut -d- -f4`
type=`echo %name | cut -d- -f3`

rm -rf tmp out
mkdir tmp out
rm -rf /home/rpmdir
mkdir -p /home/rpmdir/rpms
createrepo /.build.binaries/
mount -obind /.build.binaries/ /home/rpmdir/rpms
kiwi --logfile terminal --root $PWD/tmp --prepare /usr/share/openSUSE-kiwi/$config --ignore-repos --add-repo /home/rpmdir/rpms --add-repotype rpm-md
patch -p0 -d $PWD/tmp -i %{SOURCE0}
grep '<package ' /usr/share/openSUSE-kiwi/$config/config.xml  | cut '-d"' -f2 | sort -u > wanted.list
rpm -r $PWD/tmp -qa | grep -v gpg-pubkey | sed -e 's,-[^-]*-[^-]*$,,' | sort -u > installed.list
diff -u wanted.list installed.list
cat tmp/var/log/config.log
if grep -q FAILED tmp/var/log/config.log; then
   exit 1

if test $type = livecd; then
  kiwi --logfile terminal --create $PWD/tmp -d $PWD/out --isocheck  --ignore-repos --add-repo /home/rpmdir/rpms --add-repotype rpm-md
  kiwi --logfile terminal --create $PWD/tmp -d $PWD/out --type oem  --ignore-repos --add-repo /home/rpmdir/rpms --add-repotype rpm-md

umount -f /home/rpmdir/rpms
umount -f tmp/base-system/home/rpmdir || true

desktop=`echo %name | cut -d- -f4`
type=`echo %name | cut -d- -f3`

mkdir -p %{buildroot}/usr/share/kiwi/output
cd out
if test $desktop = gnome; then
elif test $desktop = kde3; then

if test "$arch" = i386; then

if test $type = livecd; then
  file=`ls -1 *.iso`
  size=`stat -c %s $file`
  if test $size -gt 734003200; then
    echo "TOO LARGE"
    exit 1
  filelist=`iso-info  --no-header -f $file | grep " /" | cut -b11- | LC_ALL=C sort -r `
  mkdir %{buildroot}/CD1
  for i in $filelist; do
    mkdir -p %{buildroot}/CD1/`dirname $i` || true
    iso-read -i $file -e $i -o %{buildroot}/CD1/"$i" || true

  sed -e "s,;openSUSE-%{version},;openSUSE-$desktop-%{version},"  %{buildroot}/CD1/config.isoclient > %{buildroot}/CD1/config.$desktop.isoclient
  rm %{buildroot}/CD1/config.isoclient
  ln -s config.$desktop.isoclient %{buildroot}/CD1/config.isoclient
  pushd %{buildroot}/CD1/
  #sed -i -e "s,\(ramdisk_blocksize=[^ ]*\),\1 livecd_config=/cdrom/config.$desktop.isoclient," boot/*/loader/isolinux.cfg
  #sed -i -e "s,\(mediacheck=1\),\1 livecd_config=/cdrom/config.$desktop.isoclient," boot/*/loader/isolinux.cfg
  sed -i -e "s,label openSUSE.*,label $label," boot/*/loader/isolinux.cfg
  sed -i -e "s,label Failsafe.*,label Failsafe_Settings," boot/*/loader/isolinux.cfg
  sed -i -e "s,label Hard-Disk,label harddisk," boot/*/loader/isolinux.cfg
  sed -i -e "s,default open.*,default $label," boot/*/loader/isolinux.cfg
  file=`ls -1 openSUSE-%{version}-read-only*`
  mv $file ${file/openSUSE-/openSUSE-$desktop-}
  echo /CD1 > ../fileslist
  file=`ls -1 *.raw`
  gzip -c $file > %{buildroot}/usr/share/kiwi/output/openSUSE-%version-%release-$string-USB-$arch.raw.gz
  echo /usr/share/kiwi > ../fileslist

%files -f fileslist
%defattr(-, root, root)

%if "%name" == "kiwi-image-livecd-gnome"
%files promo
%defattr(-, root, root)
%dir /CD1