LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File kiwi-config-openSUSE.spec of Package kiwi-config-openSUSE (Project openSUSE:Factory:Live)

#
# spec file for package kiwi-config-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/
#


Name:           kiwi-config-openSUSE
BuildRequires:  fdupes
BuildRequires:  jing
BuildRequires:  kiwi
BuildRequires:  kiwi-desc-isoboot
BuildRequires:  kiwi-desc-oemboot
BuildRequires:  kiwi-doc
BuildRequires:  kiwi-tools
BuildRequires:  libxml2-tools
BuildRequires:  libxslt
BuildRequires:  skelcd-control-openSUSE
BuildRequires:  skelcd-openSUSE-CD
BuildRequires:  xdm
BuildRequires:  yast2-country
BuildRequires:  yast2-installation
Summary:        KDE live CD
License:        BSD-3-Clause
Group:          System/Boot
Version:        13.2
Release:        0
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Source1:        COPYING
Source2:        config-hal.patch
Source3:        config.sh
Source4:        config.xml.in
Source8:        ifcfg-eth0
Source9:        isopatch.sh.in
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
testdir=$(mktemp -d)
install -D /usr/lib/YaST2/startup/YaST2.call $testdir/usr/lib/YaST2/startup/YaST2.call
install -D /usr/lib/X11/display-manager $testdir/usr/lib/X11/display-manager
cd $testdir
patch -p0 < %{SOURCE26}

%build
kiwiversion=13.2
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/displaymanager DISPLAYMANAGER lightdm' >> config.sh
    echo 'baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM xfce' >> config.sh 
  fi

  if test $type = usb; then
      echo 'baseUpdateSysConfig /etc/sysconfig/clock TIMEZONE UTC' >> config.sh
  fi

  echo '/usr/bin/systemctl -f enable NetworkManager.service' >> config.sh

  grep -v " type:$othertype " %{SOURCE4} | \
    xmllint --format - > config.xml
  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
  volid="openSUSE %{version} Live"
  case $desktop in
    gnome)
      sed -i -e "s,@PLIST@,GNOME-cd," config.xml
      volid="openSUSE %{version} GNOME Live"
      ;;
    kde)
      sed -i -e "s,@PLIST@,KDE-cd," config.xml
      volid="openSUSE %{version} KDE Live"
      ;;
    x11)
      sed -i -e "s,@PLIST@,X11-cd," config.xml
      sed -i -e '/yast2-live-installer/d' config.xml
      ;;
  esac
  label=`echo "$volid" | sed -e 's, ,_,g'`
  if test $type = usb; then
     sed -i -e "s,yast2-live-installer,yast2-firstboot," config.xml
  fi
  sed -i -e "s,@VOLID@,$volid,; s,@LABEL@,$label," config.xml
  %ifarch x86_64
    sed -i -e "s,@BOOTKERNEL@,desktop," config.xml
  %else
    sed -i -e "s,@BOOTKERNEL@,std," config.xml
    sed -i -e 's,firmware="uefi",,' config.xml
  %endif
  jing /usr/share/kiwi/modules/KIWISchema.rng config.xml

  sed -e "s,^desktop=,desktop=$desktop," %{SOURCE9} > isopatch.sh
 #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
  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} usr/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
  if test $desktop != x11; then
    install -m 644 %{SOURCE26} etc/YaST2/liveinstall.patch
  fi
  mkdir -p var/lib/zypp/
  echo livecd-$desktop > var/lib/zypp/LastDistributionFlavor

  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