File config.sh of Package gnustep-live-15.0

#!/bin/bash
#================
# FILE          : config.sh
#----------------
# PROJECT       : openSUSE KIWI Image System
# COPYRIGHT     : (c) 2006,2007,2008,2017 SUSE Linux GmbH. All rights reserved
#               :
# AUTHOR        : Marcus Schaefer <ms@suse.de>, Stephan Kulow <coolo@suse.de>, Fabian Vogt <fvogt@suse.com>
#               :
# LICENSE       : BSD
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile

set -euox pipefail

exec | tee /var/log/config.log
exec 2>&1

#pl=$(rpmqpack | grep package-lists-)
#test -z "$pl" || rpm -e $pl

# Get the flavor from the installed package-lists- RPM
# as <censored> kiwi does not make the flavor accessible
#desktop=$(echo "$pl" | awk -F- '{ print $4 }' | tr A-Z a-z)
desktop=x11

#--------------------------------------
# enable and disable services

for i in langset NetworkManager SuSEfirewall2; do
	systemctl -f enable $i
done
for i in sshd cron wicked purge-kernels; do
	systemctl -f disable $i
done

cd /

# Import keys for installation
touch /installkey.gpg
gpg --batch --homedir /root/.gnupg --no-default-keyring --ignore-time-conflict --ignore-valid-from --keyring /installkey.gpg --import /usr/lib/rpm/gnupg/keys/*
mkdir -p /pubkeys
for i in /usr/lib/rpm/gnupg/keys/*.asc ; do
	rpm --import $i || true
	ln -s "$i" "/pubkeys/${i##*/}.key"
done

# Craft license.tar.gz used by YaST
(cd /etc/YaST2/licenses/base; tar -cvzf /license.tar.gz *)

rm -rf /var/cache/zypp/raw/*

# Add repos from /etc/YaST2/control.xml
releasever="15.0"
eval $(xsltproc /geturls.xsl /etc/YaST2/control.xml)
rm /geturls.xsl
zypper ar -f -n "XFCE4-Leap-15.0" http://download.opensuse.org/repositories/home:/AndnoVember:/XFCE/openSUSE_Leap_15.0/ xfce4
zypper ar -f -n "GNUstep-Leap-15.0" http://download.opensuse.org/repositories/home:/AndnoVember:/GNUstep/openSUSE_Leap_15.0/ gnustep
zypper ar -f -n "Packman-Leap-15.0" http://packman.inode.at/suse/openSUSE_Leap_15.0/ packman
zypper ar -f -n "libdvdcss-Leap-15.0" http://opensuse-guide.org/repo/openSUSE_Leap_15.0/ libdvdcss

#======================================
# /etc/sudoers hack to fix #297695 
# (Installation Live CD: no need to ask for password of root)
#--------------------------------------
#sed -i -e "s/ALL\tALL=(ALL) ALL/ALL ALL=(ALL) NOPASSWD: ALL/" /etc/sudoers 
#chmod 0440 /etc/sudoers

#/usr/sbin/useradd -m -u 1000 linux -c "Live-CD User" -p ""
/usr/sbin/useradd -m -u 1000 linux -c "Live-CD User" -p '$6$HnhRgXpb85os1xnv$/q9lyggzwlfNtm4rNPvTXBmMqxgisXLA1RaV.MBMoghv318itvttO7F2rg3A1P/Gs1g5pmhAFTGhke1Fp66v.0'
/usr/sbin/usermod -p '$6$lN2kEqjPYu9JF0wW$E1rOwqyQR3D9kcOAMAv6QO6sLPsMbaH5fqnkEuZKPUNR.AQ/tsJMiUs0MDSdI.w5wHcl2s.iJPIDXpsG.t7W/.' root

# delete passwords
#passwd -d root
#passwd -d linux
# empty password is ok
#pam-config -a --nullok

: > /var/log/zypper.log

if [ "$desktop" = "kde" ]; then
    # bug 989897, avoid creating desktop directory on KDE so that the default items are added on first login
    cp /usr/share/applications/installation.desktop /usr/share/kio_desktop/DesktopLinks/
    # Set the application as being "trusted"
    chmod a+x /usr/share/kio_desktop/DesktopLinks/installation.desktop
# else case disabled: 'x11' (rescue) does not contain the installer, GNOME Shell has no concept of 'desktop'
else
    # Add Installation icon to desktop folder
    mkdir -p /home/linux/.config /home/linux/Desktop
    echo 'XDG_DESKTOP_DIR="$HOME/Desktop"' > /home/linux/.config/user-dirs.dirs
    ln -s /usr/share/applications/installation.desktop /home/linux/Desktop/
    # Set the application as being "trusted"
    chmod a+x /home/linux/Desktop/installation.desktop
fi

chown -R linux /home/linux

chkstat --system --set

rm -rf /var/cache/zypp/packages

# bug 544314, we only want to disable the bit in common-auth-pc
sed -i -e 's,^\(.*pam_gnome_keyring.so.*\),#\1,'  /etc/pam.d/common-auth-pc

ln -s /usr/lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER_AUTOLOGIN linux
baseUpdateSysConfig /etc/sysconfig/keyboard KEYTABLE us.map.gz
baseUpdateSysConfig /etc/sysconfig/keyboard YAST_KEYBOARD "english-us,pc104"
baseUpdateSysConfig /etc/sysconfig/keyboard COMPOSETABLE "clear latin1.add"

baseUpdateSysConfig /etc/sysconfig/language RC_LANG ""

baseUpdateSysConfig /etc/sysconfig/console CONSOLE_FONT "eurlatgr.psfu"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_SCREENMAP trivial
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_MAGIC "(K"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_ENCODING "UTF-8"

baseUpdateSysConfig /etc/sysconfig/windowmanager X_MOUSE_CURSOR Adwaita
echo -e '\nXCURSOR_THEME=Adwaita' >> /etc/environment

[ "$desktop" = "x11" ] && displaymanager=lightdm
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER $displaymanager

[ "$desktop" = "x11" ] && windowmanager=WindowMaker
baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM $windowmanager
update-alternatives --install /usr/share/xsessions/default.desktop default-xsession.desktop \
    /usr/share/xsessions/WindowMaker.desktop 25

#Disable journal write to disk in live mode, bug 950999
echo "Storage=volatile" >> /etc/systemd/journald.conf

#======================================>%
_USER="linux"
_HOME="/home/linux"
_ICON_THEME="Faenza-Mint"
_GTK_THEME="Greybird"
_WM_THEME="Greybird"
_WALLPAPER="/usr/share/wallpapers/xfce/xfce-blue.jpg"

_e1='<?xml version="1.0" encoding="UTF-8"?>'
_e2='<channel name="xfce4-desktop" version="1.0">'
_e3='  <property name="backdrop" type="empty">'
_e4='    <property name="screen0" type="empty">'
_e5='      <property name="monitor0" type="empty">'
_e6='        <property name="workspace0" type="empty"/>'
_e7="        <property name=\"image-path\" type=\"string\" value=\"$_WALLPAPER\"/>"
_e8="        <property name=\"last-image\" type=\"string\" value=\"$_WALLPAPER\"/>"
_e9='  </property>'
_e0='</channel>'
echo -e "$_e1\n\n$_e2\n$_e3\n$_e4\n$_e5\n$_e6\n$_e7\n$_e8\n    $_e9\n  $_e9\n$_e9\n$_e0\n" > \
    /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml

_a1='<?xml version="1.0" encoding="UTF-8"?>'
_a2='<channel name="xfwm4" version="1.0">'
_a3='  <property name="general" type="empty">'
_a4="    <property name=\"theme\" type=\"string\" value=\"$_WM_THEME\"/>"
_a5='    <property name="workspace_count" type="int" value="2"/>'
_a6='    <property name="placement_mode" type="string" value="center"/>'
_a7='    <property name="placement_ratio" type="int" value="50"/>'
_a8='  </property>'
_a9='</channel>'
echo -e "$_a1\n\n$_a2\n$_a3\n$_a4\n$_a5\n$_a8\n$_a9\n" > /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml

_b1='[Configuration]'
_b2='FontName=Monospace 10'
_b3='BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT'
_b4='BackgroundDarkness=0.930000'
mkdir -p /etc/xdg/xfce4/terminal
echo -e "$_b1\n$_b2\n$_b3\n$_b4\n" > /etc/xdg/xfce4/terminal/terminalrc

if [ -d "/usr/share/icons/$_ICON_THEME" ] && [ -d "/usr/share/themes/$_GTK_THEME" ]; then
    xsettings="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml"
    sed -i "5c\    <property name=\"ThemeName\" type=\"string\" value=\"$_GTK_THEME\"/>" ${xsettings}
    sed -i "6c\    <property name=\"IconThemeName\" type=\"string\" value=\"$_ICON_THEME\"/>" ${xsettings}
    sed -i '16a\    <property name="ButtonImages" type="bool" value="true"/>' ${xsettings}
    sed -i '17a\    <property name="MenuImages" type="bool" value="true"/>' ${xsettings}

    sed -i "s/\(gtk-icon-theme-name = \).*/\1\"$_ICON_THEME\"/" /etc/gtk-2.0/gtkrc
    sed -i "s/\(gtk-icon-theme-name = \).*/\1$_ICON_THEME/" /etc/gtk-3.0/settings.ini
    sed -i "s/\(gtk-theme-name = \).*/\1\"$_GTK_THEME\"/" /etc/gtk-2.0/gtkrc
    sed -i "s/\(gtk-theme-name = \).*/\1$_GTK_THEME/" /etc/gtk-3.0/settings.ini

    sed -i 's/^\(theme-name=\).*/\1Adwaita/' /etc/lightdm/lightdm-gtk-greeter.conf
    sed -i "s|^\(background=\).*|\1$_WALLPAPER|" /etc/lightdm/lightdm-gtk-greeter.conf
fi

if test -x /usr/bin/xfce4-popup-whiskermenu; then
#   sed -i 's/applicationsmenu/whiskermenu/' /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
#   sed -i 's/applicationsmenu/whiskermenu/' /etc/xdg/xfce4/panel/default.xml
    mkdir -p /etc/xdg/xfce4/whiskermenu
    cat > /etc/xdg/xfce4/whiskermenu/defaults.rc <<-EOF
button-title=\ openSUSE
button-icon=xfce4-opensuse-light
#button-icon=start-here-opensuse
show-button-title=true
show-button-icon=true
hover-switch-category=true
position-search-alternate=true
position-commands-alternate=true
position-categories-alternate=true
favorites=midori.desktop,thunar.desktop,ristretto.desktop,xfce-settings-manager.desktop,\
mousepad.desktop,xfce4-terminal.desktop,xfce4-run.desktop
EOF
fi

if rpmqpack | grep -q xfce4-panel-branding-openSUSE; then
xfce4panel="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml"
    sed -i '/type=\"int\" value=\"6\"/s/6/77/' ${xfce4panel}
    sed -i '/type=\"int\" value=\"7\"/s/7/6/' ${xfce4panel}
    sed -i 's/77/7/' ${xfce4panel}
    sed -i '/\"position\"/s/p=10/p=6/' ${xfce4panel}
    sed -i '/appearance/s/\(value=\)\".*\"/\1\"0\"/' ${xfce4panel}
    sed -i 's/+/-/;s/-\(logout\"\)/+\1/' ${xfce4panel}
  if rpmqpack | grep -q xfce4-panel-plugin-xkb; then
_c1='    <property name="plugin-14" type="string" value="xkb">'
_c2='      <property name="display-type" type="uint" value="2"/>'
_c3='      <property name="display-name" type="uint" value="1"/>'
_c4='    </property>'
    sed -i "40a\\$_c1\n$_c2\n$_c3\n$_c4" ${xfce4panel}
    sed -i '20a\        <value type="int" value="14"/>' ${xfce4panel}
  fi
fi

sed -i '/\"notify-location\"/s/\(value=\)\".*\"/\1\"2\"/' \
    /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml

# "Autostart"
mkdir -p $_HOME/GNUstep/Library/WindowMaker
# "SUSE Menu" MENU
echo -e "xdg_menu --format WindowMaker --charset UTF-8 > ~/GNUstep/Library/WindowMaker/SuSE\ Menu &" >>\
    $_HOME/GNUstep/Library/WindowMaker/autostart
# "SUSE Menu" END
# "GNUstep" MENU
if [ "$(arch)" == "x86_64" ]; then
    GNUSTEP_ROOT="/usr/lib64/GNUstep/"
        else
    GNUSTEP_ROOT="/usr/lib/GNUstep/"
fi
if [ -f /etc/skel/.bashrc ]; then
    cp /etc/skel/.bashrc $_HOME/
    cat >> $_HOME/.bashrc <<- EOF

GNUSTEP_ROOT="${GNUSTEP_ROOT}"
export GNUSTEP_ROOT
EOF
fi
if [ -f /usr/bin/AppsMenu.sh ]; then
    chmod a+x /usr/bin/AppsMenu.sh
fi
echo -e "AppsMenu.sh > ~/GNUstep/Library/WindowMaker/GNUstep &" >>\
    $_HOME/GNUstep/Library/WindowMaker/autostart
# "GNUstep" END
echo -e "xautolock -time 10 -locker 'xlock -allowroot -usefirst -mode matrix' &" >>\
    $_HOME/GNUstep/Library/WindowMaker/autostart
#echo -e "wmsetbg ~/GNUstep/Library/WindowMaker/Backgrounds/2560x1440.jpg &" >>\
#    $_HOME/GNUstep/Library/WindowMaker/autostart
#echo -e "setstyle /usr/share/WindowMaker/Styles/Purple.style &" >>\
#    $_HOME/GNUstep/Library/WindowMaker/autostart
chmod 0755 $_HOME/GNUstep/Library/WindowMaker/autostart
# "Autostart" END

if [ ! -f $_HOME/GNUstep/Defaults/WMRootMenu ]; then
  mkdir -p $_HOME/GNUstep/Defaults/
  wmrootmenu="$_HOME/GNUstep/Defaults/WMRootMenu"
  wmgenmenu > ${wmrootmenu}
  sed -i 's/-fn 10x20 //' ${wmrootmenu}
  sed -i '/Run.../s|),|),\n  \(\"SuSE Menu\", OPEN_MENU, \"\\\"~/GNUstep/Library/WindowMaker/SuSE Menu\\\"\"\),|' ${wmrootmenu}
  sed -i '/SuSE Menu/s|),|),\n  \(GNUstep, OPEN_MENU, \"~/GNUstep/Library/WindowMaker/GNUstep\"\),|' ${wmrootmenu}
  sed -i '/GNUstep,/s|),|),\n  \(\"WindowMaker Applets\", OPEN_MENU, \"/etc/X11/WindowMaker/SuSE_wmapps\"\),|' ${wmrootmenu}
  sed -i "s/EXIT)/EXIT),\n  \(\"Reboot System\", EXEC, \"xterm -geom 57x5 -e systemctl reboot\"\),\n  \(\"Shutdown System\", EXEC, \"xterm -geom 60x5 -e systemctl poweroff\"\)/" \
    $_HOME/GNUstep/Defaults/WMRootMenu
fi

if [ "$(arch)" == "x86_64" ]; then
    find /usr/lib64/GNUstep/ -name '*.desktop' -exec sed -i 's|usr/local|usr|' {} \;
    find /usr/lib64/GNUstep/ -name '*.desktop' -exec cp -n {} /usr/share/applications/ \;
  else
    find /usr/lib/GNUstep/ -name '*.desktop' -exec sed -i 's|usr/local|usr|' {} \;
    find /usr/lib/GNUstep/ -name '*.desktop' -exec cp -n {} /usr/share/applications/ \;
fi

if [ -f $_HOME/GNUstep/Defaults/NSGlobalDomain.plist ]; then
  sed -i 's/Nesedah/Narcissus/' $_HOME/GNUstep/Defaults/NSGlobalDomain.plist
fi

# Install theme
su -l $_USER -c "install -Dm 0644 /etc/X11/WindowMaker/WindowMaker $_HOME/GNUstep/Defaults/WindowMaker"
su -l $_USER -c "setstyle --no-fonts /usr/share/WindowMaker/Themes/Intrigue.themed"

chown -R $_USER:users $_HOME

chkstat --system --set

mkdir -p /etc/zypp/vendors.d
cat > /etc/zypp/vendors.d/packman <<-EOF
[main]
vendors = openSUSE,http://packman.links2linux.de
EOF
#======================================>%
openSUSE Build Service is sponsored by