File kiwi-config-openSUSE.spec of Package kiwi-config-openSUSE
#
# spec file for package kiwi-config-openSUSE
#
# 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/
#
Name: kiwi-config-openSUSE
BuildRequires: fdupes kiwi-desc-isoboot
BuildRequires: kiwi-desc-oemboot kiwi-doc kiwi-tools
BuildRequires: skelcd-control-openSUSE skelcd-openSUSE-CD
BuildRequires: libxslt
#opensuse-gnomequick_en-pdf opensuse-kdequick_en-pdf
BuildRequires: jing kiwi yast2-country
Summary: KDE live CD
Version: 12.1
Release: 1
Group: System/Boot
License: BSD3c(or similar)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source1: COPYING
Source2: config-hal.patch
Source3: config.sh
Source4: config.xml.in
Source8: ifcfg-eth0
Source10: README
Source11: correct_live_for_reboot
Source12: correct_live_install
Source16: langset.service
Source17: 99-ignore-live-usb.fdi
Source19: config-firstboot.patch
Source20: geturls.xsl
Source22: getcountrydata.ycp
Source23: langset.sh
Source26: xdm-liveinstall.patch
Source27: SoftLocks
Source28: clicfs.service
Source30: GPL-2.0.txt
Source31: gpl-3.0.txt
ExcludeArch: ia64 ppc64 s390x s390 ppc
%description
The package contains various kiwi configs for openSUSE live media
%prep
%setup -T -c
%build
kiwiversion=12.1
BASEDIR=$PWD
localedir=`mktemp -d`
OUTPUTDIR=$localedir/ /usr/lib/YaST2/bin/y2base %{SOURCE22} UI
pushd $localedir
for i in *.UTF-8; do
mv $i ${i/.UTF-8/}
done
popd
for config in livecd-kde livecd-gnome usb-kde usb-gnome livecd-x11 usb-x11; do
cd $BASEDIR
mkdir $config
cd $config
desktop=`echo $config | cut -d- -f2`
type=`echo $config | cut -d- -f1`
if test $type = usb; then
#sed -i -e "s,yast2-live-installer,yast2-firstboot," wanted.list
#sed -i -e "s,release-livecd,release-usb," wanted.list
othertype=livecd
else
othertype=usb
fi
install -m 755 %{SOURCE3} config.sh
if test $desktop = kde; then
echo 'baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER kdm4' >> config.sh
fi
if test $desktop = gnome; then
echo 'baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER gdm' >> config.sh
echo 'baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM gnome' >> config.sh
fi
if test $desktop = x11; then
echo 'baseUpdateSysConfig /etc/sysconfig/network/config NETWORKMANAGER no' >> config.sh
else
echo 'baseUpdateSysConfig /etc/sysconfig/network/config NETWORKMANAGER yes' >> config.sh
fi
if test $type = usb; then
echo 'baseUpdateSysConfig /etc/sysconfig/clock TIMEZONE UTC' >> config.sh
fi
grep -v " type:$othertype " %{SOURCE4} | \
xmllint --format - > config.xml
if test $type = usb; then
sed -i -e "s,yast2-live-installer,yast2-firstboot," config.xml
fi
if test $type = usb; then
sed -i -e 's,#USB ,,' config.sh
fi
sed -i -e "s,@CONFIG@,/usr/share/openSUSE-kiwi/$config," config.xml
sed -i -e "s,@VERSION@,$kiwiversion," config.xml
sed -i -e "s,@FLAVOR@,$config," config.xml
if test $desktop = gnome; then
sed -i -e "s,@PLIST@,GNOME-cd," config.xml
else
sed -i -e "s,@PLIST@,KDE-cd," config.xml
fi
%ifarch x86_64
sed -i -e "s,@BOOTKERNEL@,desktop," config.xml
%else
sed -i -e "s,@BOOTKERNEL@,std," config.xml
%endif
jing /usr/share/kiwi/modules/KIWISchema.rng config.xml
#test -z "$out" # jing is a great tool always exit 0
mkdir config-cdroot
cd config-cdroot
install -m 644 %{SOURCE30} GPLv2.txt
install -m 644 %{SOURCE31} GPLv3.txt
tar czf ../config-cdroot.tgz *
cd ..
rm -rf config-cdroot
mkdir -p root/var/lib/livecd
cd root
install -m 644 /CD1/license.tar.gz .
mkdir rpmkeys
cp /CD1/gpg-pubkey* rpmkeys
install -m 644 -D /CD1/control.xml etc/YaST2/control.xml
/usr/bin/xsltproc %{SOURCE20} /CD1/control.xml > var/lib/livecd/geturls.sh
mkdir -p var/lib/zypp
install -m 644 %{SOURCE27} var/lib/zypp/SoftLocks
echo 0123456-7890-$desktop-$type-0123456 > var/lib/zypp/AnonymousUniqueId
mkdir -p etc/smolt
echo 0123456-7890-$desktop-$type-0123456 > etc/smolt/uuid
if test $type = usb; then
cp %{SOURCE19} var/lib/livecd/config-firstboot.patch
mkdir -p var/lib/YaST2
touch var/lib/YaST2/reconfig_system
# still needed due to a bug in yast2-installation
touch etc/reconfig_system
touch etc/dmidecode.md5
fi
install -D -m 644 %{SOURCE8} etc/sysconfig/network/ifcfg-eth0
cp -a $localedir etc/langset
install -m 755 %{SOURCE23} etc/langset.sh
install -D -m 755 %{SOURCE16} lib/systemd/system/langset.service
install -D -m 755 %{SOURCE11} usr/bin/correct_live_for_reboot
install -D -m 755 %{SOURCE12} usr/bin/correct_live_install
install -D -m 644 %{SOURCE2} etc/YaST2/policy.patch
install -D -m 644 %{SOURCE28} etc/systemd/system/clicfs.service
install -m 644 %{SOURCE26} etc/YaST2/liveinstall.patch
mkdir -p var/lib/zypp/
echo livecd-$desktop > var/lib/zypp/LastDistributionFlavor
if false; then
if test $type != usb; then
if test $desktop = kde; then
install -m 644 /usr/share/doc/manual/opensuse-kdequick_en-pdf/opensuse-kdequick_en.pdf var/lib/livecd/
else
install -m 644 /usr/share/doc/manual/opensuse-gnomequick_en-pdf/opensuse-gnomequick_en.pdf var/lib/livecd/
fi
fi
fi
arch=%{_target_cpu}
plfile=/usr/share/suse/packages/$config-$arch
if test -f $plfile; then
mkdir -p var/cache/preload
gzip -c $plfile > var/cache/preload/trace.gz
fi
done
%install
mkdir -p %{buildroot}/usr/share/openSUSE-kiwi
mv * %{buildroot}/usr/share/openSUSE-kiwi
install -m 644 -D %{SOURCE1} %{buildroot}/%_docdir/%name/COPYING
install -m 644 -D %{SOURCE10} %{buildroot}/%_docdir/%name/README
%fdupes %{buildroot}/usr/share/openSUSE-kiwi
%files
%defattr(-, root, root)
%doc %_docdir/%name
/usr/share/openSUSE-kiwi
%changelog