File config.sh of Package Lietukas_T_mini

#!/bin/bash
#================
# FILE          : config.sh
#----------------
# PROJECT       : OpenSuSE KIWI Image System
# COPYRIGHT     : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
#               :
# AUTHOR        : Marcus Schaefer <ms@suse.de>
#               :
# BELONGS TO    : Operating System images
#               :
# DESCRIPTION   : configuration script for SUSE based
#               : operating systems
#               :
#               :
# STATUS        : BETA
#----------------

#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile

#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$name]..."

echo "** Running ldconfig..."
/sbin/ldconfig

#======================================
# Setup default runlevel
#--------------------------------------
#baseSetRunlevel 5
ln -sf "/usr/lib/systemd/system/graphical.target" "/etc/systemd/system/default.target"

#======================================
# Add missing gpg keys to rpm
#--------------------------------------
function suseImportBuildKey {
    # /.../
    # Add missing gpg keys to rpm database
    # ----
    local KEY
    local TDIR
    local KFN
    local dumpsigs=/usr/lib/rpm/gnupg/dumpsigs
    TDIR=$(mktemp -d)
    if [ ! -d "${TDIR}" ]; then
        echo "suseImportBuildKey: Failed to create temp dir"
        return
    fi
    if [ -d "/usr/lib/rpm/gnupg/keys" ];then
        pushd "/usr/lib/rpm/gnupg/keys" || return
    else
        pushd "${TDIR}" || return
        if [ -x "${dumpsigs}" ];then
            ${dumpsigs} /usr/lib/rpm/gnupg/suse-build-key.gpg
        fi
    fi
    for KFN in gpg-pubkey-*.asc; do
        if [ ! -e "${KFN}" ];then
            #
            # check if file exists because if the glob match did
            # not find files bash will use the glob string as
            # result and we just continue in this case
            #
            continue
        fi
        KEY=$(basename "${KFN}" .asc)
        if rpm -q "${KEY}" >/dev/null; then
            continue
        fi
        echo "Importing ${KEY} to rpm database"
        rpm --import "${KFN}"
    done
    popd || return
    rm -rf "${TDIR}"
}
suseImportBuildKey

sed --in-place -e 's/# solver.onlyRequires.*/solver.onlyRequires = true/' /etc/zypp/zypp.conf

#======================================
# Sysconfig Update
#--------------------------------------
function baseUpdateSysConfig {
    # /.../
    # Update the contents of a sysconfig variable
    # ----
    local FILE=$1
    local VAR
    local VAL
    if [ -f "${FILE}" ];then
        VAR=$2
        VAL=$3
        eval sed -i "s'@^\($VAR=\).*\$@\1\\\"$VAL\\\"@'" "${FILE}"
    else
        echo "warning: config file $FILE not found"
    fi
}
echo '** Update sysconfig entries...'
baseUpdateSysConfig /etc/sysconfig/keyboard KEYTABLE lt.map.gz
baseUpdateSysConfig /etc/sysconfig/network/config FIREWALL yes
baseUpdateSysConfig /etc/init.d/suse_studio_firstboot NETWORKMANAGER yes
#baseUpdateSysConfig /etc/sysconfig/SuSEfirewall2 FW_SERVICES_EXT_TCP 22

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/displaymanager DISPLAYMANAGER_AUTOLOGIN naudotojas
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER sddm
baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM plasma5


cat <<EOF > /etc/vconsole.conf
KEYMAP=lt
FONT=eurlatgr.psfu
FONT_MAP=none
FONT_UNIMAP=
EOF

#test -d /studio || mkdir /studio
#cp /image/.profile /studio/profile
#cp /image/config.xml /studio/config.xml

# This script is executed at the end of appliance creation.  Here you can do
# one-time actions to modify your appliance before it is ever used, like
# removing files and directories to make it smaller, creating symlinks,
# generating indexes, etc.
#
# The 'kiwi_type' variable will contain the format of the appliance
# (oem = disk image, vmx = VMware, iso = CD/DVD, xen = Xen).
#

# Naudoti KDE5 su sddm
sed -re "s/DEFAULT_WM=.*$/DEFAULT_WM=\"plasma5\"/" -i /etc/sysconfig/windowmanager || true
#sed -re "s/DISPLAYMANAGER=.*$/DISPLAYMANAGER=\"kdm\"/" -i /etc/sysconfig/displaymanager || true
#sed -re "s/DISPLAYMANAGER=.*$/DISPLAYMANAGER=\"sddm\"/" -i /etc/sysconfig/displaymanager || true
sed -re "s/Current=.*$/Current=Lietukas/" -i /etc/sddm.conf || true ;
sed -re 's/^CursorTheme=.*$/CursorTheme=DMZ/' -i /etc/sddm.conf || true ;
#echo "Session=plasma5" >> /etc/sddm.conf ;
echo "[Desktop]" > "/etc/skel/.dmrc" ;
echo "Session=plasma5" >> "/etc/skel/.dmrc" ;

[ -d  /usr/share/icons/DMZ-White ] && ln -s -r -T  /usr/share/icons/DMZ-White/ /usr/share/icons/default || true

rm -f -r /root || true
rm -f -r /home/naudotojas || true ;
rm -f /usr/share/doc/Lietukas/Dokumentacija/*.pdf || true
#rm -f /etc/skel/.config/autostart/kmix_tikrinimas.desktop || true ;
rm -f /etc/skel/.config/autostart/*.desktop || true
mv -f /etc/skel/.local/share/applications/LibreOffice.desktop /etc/skel/.local/share/applications/.LibreOffice.desktop || true
mv -f /usr/share/applications/LibreOffice.desktop /usr/share/applications/.LibreOffice.desktop || true
for desktop_file in LibreOffice transcribe-mbrola-lt goldendict skype vlc ; do
   [ -f /etc/skel/Darbalaukis/${desktop_file}.desktop ] && mv -f /etc/skel/Darbalaukis/${desktop_file}.desktop /etc/skel/Darbalaukis/.${desktop_file}.desktop || true
done
#mv -f /etc/skel/Darbalaukis/MozillaFirefox.desktop /etc/skel/Darbalaukis/.MozillaFirefox.desktop || true
rm -f -r /etc/skel/Dokumentai/*.ott || true
cp -f -R /etc/skel/ /home/naudotojas || true ;
cp -f -R /etc/skel/ /root            || true ;
if [ -d /root2/.config ] ; then
  cp -f -R /root2/.config /root/ || true
  rm -f -r /root2 || true
fi
rm -f /etc/skel/Darbalaukis/live-installer.desktop        || true ;
sed -re "s/\/sbin\/yast2 live-installer/xdg-su -c \/usr\/bin\/calamares/" -i /home/naudotojas/Darbalaukis/live-installer.desktop || true;
sed -re "s/X-KDE-SubstituteUID=true/X-KDE-SubstituteUID=false/" -i /home/naudotojas/Darbalaukis/live-installer.desktop || true;

chown -R root:root  /root            || true ; 
chown -R root:root  /etc/skel        || true ; 
chown -R 1000:users /home/naudotojas || true ; 

chmod -R u+rwX,go+rX,go-w /etc/skel || true ;
chmod -R u+rwX,go+rX,go-w /home/naudotojas || true ;
chmod -R u+rwX,go+rX,go-w /root || true ;

rm -f /root/.directory        || true ;
if [ -d /etc/skel/public_html/ ] ; then 
   rm -f /etc/skel/public_html/.directory        || true ;
   rmdir /etc/skel/public_html        || true ;
fi
if [ -d /home/naudotojas/public_html/ ] ; then
   rm -f /home/naudotojas/public_html/.directory || true ;
   rmdir /home/naudotojas/public_html || true ;
fi
if [ -d /etc/skel/bin/ ] ; then
   rm -f /etc/skel/bin/.directory        || true ;
   rmdir /etc/skel/bin        || true ;
fi
if [ -d /home/naudotojas/bin/ ] ; then
   rm -f /home/naudotojas/bin/.directory || true ;
   rmdir /home/naudotojas/bin || true ; 
fi

find /root            -maxdepth 1 -type d -exec chmod 700 {} + || true ; 
find /root            -maxdepth 1 -type f -exec chmod 600 {} + || true ; 
find /etc/skel        -maxdepth 1 -type d -exec chmod 700 {} + || true ; 
find /etc/skel        -maxdepth 1 -type f -exec chmod 600 {} + || true ; 
find /home/naudotojas -maxdepth 1 -type d -exec chmod 700 {} + || true ; 
find /home/naudotojas -maxdepth 1 -type f -exec chmod 600 {} + || true ; 

#chmod u+rwX,go+rx,go-w /root/.xinitrc.template            || true ;  
#chmod u+rwX,go+rx,go-w /etc/skel/.xinitrc.template        || true ; 
#chmod u+rwX,go+rx,go-w /home/naudotojas/.xinitrc.template || true ; 

#chmod 755 /etc/skel/.config/autostart/Pasisveikinimas.desktop         || true ; 
#chmod 755 /home/naudotojas/.config/autostart/Pasisveikinimas.desktop  || true ; 

#rm -f /etc/skel/.config/autostart/Pasisveikinimas.desktop         || true ; 
#rm -f /home/naudotojas/.config/autostart/Pasisveikinimas.desktop  || true ; 

# Numatyta failų sistema EXT4
#sed "s/DEFAULT_FS=\"btrfs\"/DEFAULT_FS=\"ext4\"/" -i /etc/sysconfig/storage

# Konsolės klaviatūros šriftas
 sed -re "s/CONSOLE_FONT=.*$/CONSOLE_FONT=\"eurlatgr\"/" -i /etc/sysconfig/console
# sed "s/CONSOLE_FONT=\"lat9w-16.psfu\"/CONSOLE_FONT=\"LatArCyrHeb-14\"/" -i /etc/sysconfig/console

VERSION_ID="Tumbleweed"

#Pašalinkime saugyklas: 
#rm /etc/zypp/repos.d/*.repo || true

# Pridėkime saugyklas
zypper ar --no-check --refresh http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ "PackMAN"  || true ;
# zypper ar --no-check --refresh http://packman.inode.at/suse/openSUSE_Tumbleweed/ "PackMAN"  || true ;
zypper ar --no-check --refresh http://download.opensuse.org/repositories/home:/embar-:/Lietukas/openSUSE_Tumbleweed/ "obs:Lietukas"  || true ;
#zypper ar --no-check --refresh http://download.vikis.lt/lietukas/repo/ "vikis:Lietukas" || true ;
zypper ar --no-check --refresh http://lietukas.lt/repo/ "lietukas.lt" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/tumbleweed/repo/oss/ "atviro kodo paketai" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/tumbleweed/repo/non-oss/ "nuosavybiniai paketai" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/update/tumbleweed/ "atviri atnaujinimai" || true ;
zypper ar --no-check --refresh http://download.opensuse.org/tumbleweed/repo/debug/ "derinimo -debuginfo" || true ;
zypper ar --no-check --refresh -d https://download.nvidia.com/opensuse/tumbleweed/ "Nvidia_${VERSION_ID}"  || true ;
if [ "$kiwi_type" != "iso" ] ; then
   zypper -n rm calamares calamares-libs3 calamares-branding-Lietukas yast2-live-installer kernel-firmware-all || true
fi
# suseRemovePackagesMarkedForDeletion || true

for f in /etc/pki/rpm-gpg/*.key ; do [ -f "${f}" ] && rpm --import "${f}" || true ; done ;

# Sistemos paslaugos
for i in sshd ; do # cron vboxadd vboxadd-service wicked
	systemctl -f disable $i || true
done
for i in gpm NetworkManager firewalld firstboot-correct_live_install; do # langset pcscd
	systemctl -f enable $i || true
done

# GRUB2 paveikslai
/usr/share/grub2/themes/Lietukas/activate-theme || true ;
if test -e /boot/grub2/grub.cfg ; then
  /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg || true
fi ;


# Neprašyti slaptažodžio
sed -re "s/^root:[^:]+/root:/" /etc/shadow | sed -re "s/^naudotojas:[^:]+/naudotojas:/" > /etc/shadow_tmp
mv -f /etc/shadow_tmp /etc/shadow
chmod 0640 /etc/shadow
pam-config -a --nullok

## START Some hacks from livecd-openSUSE to make the .iso smaller
# Source: https://build.opensuse.org/package/view_file/KDE:Medias/openSUSE-Krypton/config.sh
# Save more than 200 MiB by removing this, not very useful for lives
#rm -rf /lib/firmware/{liquidio,netronome,qed,mrvl,mellanox,qcom,cypress,dpaa2,bnx2x,cxgb4}

# Not needed, boo#1166406
rm -f /boot/vmlinux*.[gx]z || true
rm -f /lib/modules/*/vmlinux*.[gx]z || true

# Decompress kernel modules, better for squashfs (boo#1192457)
find /lib/modules/*/kernel -name '*.ko.xz' -exec xz -d {} + || true
find /lib/modules/*/kernel -name '*.ko.zst' -exec zstd --rm -d {} + || true
echo "basename /lib/modules/ = \"$(basename /lib/modules/*)\""
depmod $(basename /lib/modules/*)
## END

# Šriftai
/usr/sbin/fonts-config || fc-cache -fv  || true ;

# workaround AppArmor bugs: 
# https://bugzilla.opensuse.org/show_bug.cgi?id=984330
sed "s/\/usr\/sbin\/nscd {/\/usr\/sbin\/nscd flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.nscd || true;
# https://bugzilla.opensuse.org/show_bug.cgi?id=984329
sed "s/\/usr\/sbin\/avahi-daemon {/\/usr\/sbin\/avahi-daemon flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.avahi-daemon || true;
sed "s/\/{usr\/,}bin\/ping {/\/{usr\/,}bin\/ping flags=(attach_disconnected) {/" -i /etc/apparmor.d/bin.ping || true;
sed "s/\/{usr\/,}sbin\/klogd {/\/{usr\/,}sbin\/klogd flags=(attach_disconnected) {/" -i /etc/apparmor.d/sbin.klogd || true;
sed "s/\/{usr\/,}sbin\/syslog-ng {/\/{usr\/,}sbin\/syslog-ng flags=(attach_disconnected) {/" -i /etc/apparmor.d/sbin.syslog-ng || true;
sed "s/\/{usr\/,}sbin\/syslogd {/\/{usr\/,}sbin\/syslogd flags=(attach_disconnected) {/" -i /etc/apparmor.d/sbin.syslogd || true;
sed "s/\/usr\/bin\/lessopen.sh {/\/usr\/bin\/lessopen.sh flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.bin.lessopen.sh || true;
sed "s/\/usr\/sbin\/smbd {/\/usr\/sbin\/smbd flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.smbd || true;
sed "s/\/usr\/sbin\/winbindd {/\/usr\/sbin\/winbindd flags=(attach_disconnected) {/" -i /etc/apparmor.d/usr.sbin.winbindd || true;

# Remove generated files (boo#1098535)
rm -f /var/lib/zypp/AnonymousUniqueId || true
rm -f /var/lib/systemd/random-seed || true
rm -f -r /var/cache/zypp/*
rm -f -r /var/tmp/*
rm -f -r /tmp/*

# https://bugzilla.redhat.com/show_bug.cgi?id=1195998
#ldconfig || true
#systemctl --no-reload disable ldconfig.service || true
#systemctl stop ldconfig.service || true
touch /etc/.updated || true
touch /var/.updated || true

rm -f /.readahead  || true ;


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


#======================================
# SSL Certificates Configuration
#--------------------------------------
echo '** Rehashing SSL Certificates...'
c_rehash || true

openSUSE Build Service is sponsored by