From 5b1ff093b73e9814083c29447b7db77b11467f5263e0491627c09f197520313b Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Mon, 24 Jun 2024 13:35:54 +0200 Subject: [PATCH] Add Leap-GNOME experiment --- Leap-GNOME/_multibuild | 3 + Leap-GNOME/config.sh | 222 +++++++ Leap-GNOME/list-common.sh | 320 ++++++++++ Leap-GNOME/list-gnome.sh | 116 ++++ Leap-GNOME/list-installer.sh | 15 + Leap-GNOME/list-kde.sh | 82 +++ Leap-GNOME/list-x11.sh | 131 +++++ Leap-GNOME/list-xfce.sh | 54 ++ Leap-GNOME/pkg-diff.sh | 28 + Leap-GNOME/pre-checkin.sh | 66 +++ Leap-GNOME/selfinstall-leap-gnome-csb.kiwi | 651 +++++++++++++++++++++ 11 files changed, 1688 insertions(+) create mode 100644 Leap-GNOME/_multibuild create mode 100644 Leap-GNOME/config.sh create mode 100644 Leap-GNOME/list-common.sh create mode 100644 Leap-GNOME/list-gnome.sh create mode 100644 Leap-GNOME/list-installer.sh create mode 100644 Leap-GNOME/list-kde.sh create mode 100644 Leap-GNOME/list-x11.sh create mode 100644 Leap-GNOME/list-xfce.sh create mode 100644 Leap-GNOME/pkg-diff.sh create mode 100644 Leap-GNOME/pre-checkin.sh create mode 100644 Leap-GNOME/selfinstall-leap-gnome-csb.kiwi diff --git a/Leap-GNOME/_multibuild b/Leap-GNOME/_multibuild new file mode 100644 index 0000000..f9f0ea3 --- /dev/null +++ b/Leap-GNOME/_multibuild @@ -0,0 +1,3 @@ + + selfinstall-leap-gnome + diff --git a/Leap-GNOME/config.sh b/Leap-GNOME/config.sh new file mode 100644 index 0000000..75a819e --- /dev/null +++ b/Leap-GNOME/config.sh @@ -0,0 +1,222 @@ +#!/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 , Stephan Kulow , Fabian Vogt +# : +# LICENSE : BSD +#====================================== +# Functions... +#-------------------------------------- +test -f /.kconfig && . /.kconfig +test -f /.profile && . /.profile + +set -euxo pipefail + +#pl=$(rpmqpack | grep release-livecd-) + + +# Get the flavor from the installed (openSUSE|Leap)-release-livecd- RPM +# as kiwi does not make the flavor accessible +#desktop=$(echo "$pl" | awk -F- '{ print $4 }' | tr A-Z a-z) +desktop="gnome" # hardcode it as we don't have (release-livecd* package + +# Not needed, but required by suse-module-tools (bsc#1116665) +rpm -q binutils && rpm -e --nodeps binutils +# Not needed, but required by dracut-kiwi-live -> cdrkit-cdrtools-compat +rpm -q wodim && rpm -e --nodeps wodim +# Actually a hack: xrdb requires this, but on livecds it's not used +rpm -qa | grep "^cpp" | xargs -r rpm -e --nodeps +rpm -qa | grep "^libisl" | xargs -r rpm -e + +# GTK 3 hard-requires this for some reason. The only GTK3 application is Firefox, +# which has its own icons and we have breeze for the rest. +[ "$desktop" = "kde" ] && rpm -e --nodeps adwaita-icon-theme + +# Workaround until dropped from xfce4-branding-openSUSE +[ "$desktop" = "x11" -o "$desktop" = "xfce" ] && rpm -e --nodeps noto-coloremoji-fonts + +#-------------------------------------- +# enable and disable services + +for i in langset NetworkManager firewalld; do + systemctl -f enable $i +done + +for i in sshd cron wicked purge-kernels; do + systemctl -f disable $i +done + +echo '# multipath needs to be excluded from dracut as it breaks os-prober' > /etc/dracut.conf.d/no-multipath.conf +echo 'omit_dracutmodules+=" multipath "' >> /etc/dracut.conf.d/no-multipath.conf + +# Stronger compression for the initrd +echo 'compress="xz -4 --check=crc32 --memlimit-compress=50%"' >> /etc/dracut.conf.d/less-storage.conf + +if [ "$desktop" = "x11" ] || [ "$desktop" = "xfce" ]; then + # Forcibly exclude networking support + sed -i 's/echo network rootfs-block/echo rootfs-block/' /usr/lib/dracut/modules.d/90kiwi-live/module-setup.sh + echo 'omit_dracutmodules+=" network "' >> /etc/dracut.conf.d/no-network.conf + + # This only needs to be able to boot the live cd + echo 'omit_dracutmodules+=" bcache crypt lvm mdraid lunmask "' >> /etc/dracut.conf.d/less-storage.conf + + # Unnecessary modules in the initrd + echo 'omit_drivers+=" cifs ocfs2 "' >> /etc/dracut.conf.d/less-storage.conf + + # Work around https://github.com/OSInside/kiwi/issues/1751 + sed -i '/omit_dracutmodules=/d' /usr/bin/dracut +fi + +if [ "$desktop" = "x11" ]; then + # Only used for X11 acceleration on vmwgfx, saves ~47MiB + rpm -e --nodeps Mesa-gallium + + # Surely that specific font isn't necessary + rpm -e --nodeps google-poppins-fonts + + # Generated on boot if missing + rm /etc/udev/hwdb.bin +fi + +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 +EULA_DIR=/etc/YaST2/licenses/base +[ -d "${EULA_DIR}" ] || EULA_DIR=/usr/share/licenses/product/base +(cd "${EULA_DIR}"; tar -cvzf /license.tar.gz *) + +# Remove some large locales to save space +rm -rf /usr/{lib,share}/locale/{ca,cs,da,ja,fi,hu,id,ko,nl,pl,tr,ru,sk,sr,sv,uk,vi,cmn_TW,zh}* +rm -rf /usr/share/qt5/translations/*_{ca,cs,da,ja,fi,hu,id,ko,nl,pl,tr,ru,sk,sr,sv,uk,vi,cmn_TW,zh}* +zypper --non-interactive rm yast2-trans-{uk,sv,ru,ja,da,cs,sr,vi} || : + +# Some packages really exaggerate here +rm -rf /usr/share/doc/packages/* + +# 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} + +# The gems are unpackaged already, no need to store them twice +rm -rf /usr/lib*/ruby/gems/*/cache/ + +# Not needed, boo#1166406 +rm -f /boot/vmlinux*.[gx]z +rm -f /lib/modules/*/vmlinux*.[gx]z + +# Decompress kernel modules, better for squashfs (boo#1192457) +find /lib/modules/*/kernel -name '*.ko.xz' -exec xz -d {} + +find /lib/modules/*/kernel -name '*.ko.zst' -exec zstd --rm -d {} + +depmod $(basename /lib/modules/*) + +# Install README.BETA where expected by YaST +cp /usr/lib/skelcd/CD1/README.BETA / || : +zypper --non-interactive rm -u skelcd-openSUSE || : + +# Remove the zypper locks needed for a slimmer system +zypper rl $(seq 1 $(zypper ll | wc -l)) + +# Create fstab if it doesn't exist (Work around boo#1185815) +>>/etc/fstab + +chkstat --system --set + +ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target +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" + +[ "$desktop" = "gnome" ] && displaymanager=gdm +[ "$desktop" = "kde" ] && displaymanager=sddm +[ "$desktop" = "xfce" ] && displaymanager=lightdm +[ "$desktop" = "x11" ] && displaymanager=lightdm +baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER $displaymanager + +# boo#1039756 +[ "$desktop" = "gnome" ] && baseUpdateSysConfig /etc/sysconfig/windowmanager DEFAULT_WM gnome + +# Disable journal write to disk in live mode, bug 950999 +echo "Storage=volatile" >> /etc/systemd/journald.conf + +# Remove generated files (boo#1098535) +rm -rf /var/cache/zypp/* /var/lib/zypp/AnonymousUniqueId /var/lib/systemd/random-seed + +cat >/etc/systemd/system/fixupbootloader.service < /etc/systemd/system/selfinstallreboot.service <<-EOF + [Unit] + Description=SelfInstall Image Reboot after Firstboot (to ensure ignition and such runs) + After=systemd-machine-id-commit.service + Before=jeos-firstboot.service + + [Service] + Type=oneshot + ExecStart=rm /etc/systemd/system/selfinstallreboot.service + ExecStart=rm /etc/systemd/system/default.target.wants/selfinstallreboot.service + ExecStart=systemctl --no-block reboot + + [Install] + WantedBy=default.target + EOF + ln -s /etc/systemd/system/selfinstallreboot.service /etc/systemd/system/default.target.wants/selfinstallreboot.service +fi + +#====================================== +# gnome-initial-setup +#-------------------------------------- +if [[ "$kiwi_profiles" == *"SelfInstall"* ]]; then + cat > /etc/gdm/custom.conf <<-EOF + [daemon] + InitialSetupEnable=True + EOF + + # Allow newly created user to use sudo + + cat > /etc/sudoers <<-EOF + Defaults always_set_home + Defaults secure_path="/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin:/usr/local/sbin" + Defaults env_reset + Defaults env_keep = "LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS XDG_SESSION_COOKIE" + Defaults !insults + root ALL=(ALL:ALL) ALL + %wheel ALL=(ALL:ALL) ALL + @includedir /etc/sudoers.d + EOF +fi + diff --git a/Leap-GNOME/list-common.sh b/Leap-GNOME/list-common.sh new file mode 100644 index 0000000..66d39b0 --- /dev/null +++ b/Leap-GNOME/list-common.sh @@ -0,0 +1,320 @@ +buildignore poppler-data +buildignore tin +buildignore desktop-translations +buildignore ft2demos +buildignore gimp-help +buildignore gimp-lang +buildignore libreoffice-base +buildignore libreoffice-mailmerge +buildignore libreoffice-math +buildignore libreoffice-filters-optional +buildignore libreoffice-pyuno +buildignore readline-doc +buildignore graphviz +buildignore linux-kernel-headers +buildignore bash-doc +buildignore gimp-plugins-python +buildignore patterns-openSUSE-gnome_basis_opt +buildignore patterns-openSUSE-gnome_admin +buildignore patterns-openSUSE-gnome_multimedia_opt +buildignore patterns-openSUSE-gnome_imaging_opt +buildignore patterns-openSUSE-gnome_office_opt +buildignore patterns-openSUSE-apparmor_opt +buildignore patterns-openSUSE-enhanced_base_opt +buildignore patterns-openSUSE-fonts_opt +buildignore patterns-openSUSE-imaging_opt +buildignore patterns-openSUSE-kde_utilities_opt +buildignore patterns-openSUSE-multimedia_opt +buildignore patterns-openSUSE-non_oss_opt +buildignore patterns-openSUSE-office_opt +buildignore patterns-openSUSE-x11_opt +buildignore patterns-gnome-gnome_basis_opt +buildignore patterns-gmome-gnome_admin +buildignore patterns-gnome-gnome_multimedia_opt +buildignore patterns-gnome-gnome_imaging_opt +buildignore patterns-gnome-gnome_office_opt +buildignore patterns-base-apparmor_opt +buildignore patterns-base-enhanced_base_opt +buildignore patterns-fonts-fonts_opt +buildignore patterns-desktop-imaging_opt +buildignore patterns-kde-kde_utilities_opt +buildignore patterns-desktop-multimedia_opt +buildignore patterns-openSUSE-non_oss_opt +buildignore patterns-office-office_opt +buildignore patterns-base-x11_opt +buildignore patterns-base-x11_enhanced +buildignore make +buildignore netpbm +buildignore p7zip-full +buildignore busybox-static +buildignore inxi + +# Just too big +buildignore sane-backends + +install branding-openSUSE +install gfxboot i686 +install shim x86_64 + +# Don't pull in any -32bit libs +buildignore glibc-32bit + +buildignore libvdpau_r300 +buildignore libvdpau_radeonsi +buildignore libvdpau_r600 +buildignore pavucontrol +buildignore libqmi-tools + +buildignore 'python*-pip' + +buildignore multipath-tools-rbd + +buildignore acpica +buildignore xorg-x11-Xvnc +buildignore cabextract +buildignore sssd +buildignore db-utils +buildignore dnsmasq +buildignore fribidi +buildignore ipmitool +buildignore irda +buildignore lomoco +buildignore mksh + +# Ignore samba +buildignore cifs-utils +buildignore gvfs-backend-samba + +# Legacy packages - not actually used, but pull in quite a lot +buildignore xorg-x11 +buildignore xorg-x11-essentials +buildignore xorg-x11-server-extra +# config.sh enables autologin and configures the display-manager +install xdm +install sysvinit-tools +# We already have a different desktop +buildignore icewm +# We have enough fonts already +buildignore baekmuk-ttf-fonts +buildignore google-droid-fonts +# pcf fonts aren't really useful anymore +buildignore efont-unicode-bitmap-fonts +buildignore baekmuk-bitmap-fonts +buildignore intlfonts-chinese-big-bitmap-fonts +buildignore xorg-x11-fonts +buildignore xorg-x11-fonts-legacy + +buildignore strace +buildignore tcsh +buildignore usbmuxd + +# This would otherwise create a password prompt +# See also https://bugzilla.opensuse.org/show_bug.cgi?id=544314 and +# https://bugzilla.opensuse.org/show_bug.cgi?id=537343 +buildignore gnome-keyring-pam + +buildignore apparmor-docs +buildignore mutt-doc + +# Do not buildignore here. Needed by pidgin in Xfce Live CD. +# buildignore cyrus-sasl + +# Pulls in libgnustep +buildignore unar + +# Pulled in by python3-kiwi in the buildroot +buildignore jing + +# Won't work with current firefox anyway +buildignore icedtea-web + +# Recommended by base_x11 +buildignore tigervnc + +# Recommended by enhanced_base +buildignore autofs +buildignore expect +buildignore m4 +buildignore mutt +buildignore net-snmp +buildignore procmail +buildignore recode +buildignore spax + +# Recommended by rest_cd_core +buildignore awesfx +buildignore espeak +buildignore pam_mount + +# Recommended by man +buildignore groff-full + +# Pulls in various python2 modules +buildignore tuned + +# Printing support needs too much data (PPDs) to be useful +buildignore cups +buildignore cups-client +buildignore system-config-printer +buildignore ghostscript +buildignore ghostscript-fonts-std +buildignore ghostscript-fonts-other +buildignore manufacturer-PPDs +buildignore gutenprint +buildignore hplip-hpijs +buildignore hplip +buildignore system-config-printer-applet +buildignore udev-configure-printer + +# We don't need those +buildignore yast2-samba-client +buildignore yast2-vpn +buildignore yast2-journal +buildignore yast2-auth-client +buildignore yast2-sudo + +# systemd-coredump makes no sense on a live image: there are no debuginfo installed +buildignore systemd-coredump +buildignore systemd-doc +buildignore man-pages + +# VPNC is no longer +buildignore NetworkManager-vpnc-gnome +buildignore plasma-nm5-vpnc + +# smtp_daemon is recommended by mdadm +buildignore busybox-sendmail +buildignore exim +buildignore msmtp-mta +buildignore postfix +buildignore postfix-bdb +buildignore sendmail + +# Can't install this with the latest kernel due to boo#1095148 +# And virtualbox is build failed on i586 in TW - 20180617 maxlin +buildignore virtualbox-guest-tools +buildignore virtualbox-guest-x11 + +# bsc#1125156 +buildignore intel-gpu-tools + +# For certain features in VMs using the spice protocol +install spice-vdagent +# Same for VMware, but unfortunately too big (~15MiB!) +buildignore open-vm-tools + +# Pulls in tcl +buildignore usb_modeswitch + +# Of course it's too big +buildignore gstreamer-plugins-rs + +# Make vim smaller +buildignore vim-data +if [ "$distro" = "tumbleweed" ]; then + buildignore vim + install vim-small +fi + +# This was previously required by base +install patterns-yast-yast2_basis +installPattern yast2_basis + +# This was previously required by rest_cd_core +install kernel-default +# The compressed (-all) version results in a bigger .iso! +install kernel-firmware +install patterns-base-enhanced_base +installPattern enhanced_base +install patterns-base-x11 +installPattern x11 +installPattern sw_management +install yast2-bootloader +install yast2-country +install yast2-hardware-detection +install yast2-network +install yast2-proxy +install yast2-storage-ng + +# For working with filesystems +install bcache-tools +install btrfsprogs +install cryptsetup +install device-mapper +install dmraid +install dosfstools +install e2fsprogs +install exfatprogs +install fcoe-utils +install jfsutils +install mdadm +install multipath-tools +install ntfs-3g +install ntfsprogs +install nvme-cli +install quota +install xfsdump +install xfsprogs + +# This was previously recommended by rest_cd_core +install adaptec-firmware +install atmel-firmware +install b43-fwcutter +install bluez-firmware +install crda +install dmidecode +install efibootmgr +install gtk2-branding-openSUSE +install ipw-firmware +install iw +install libatm1 +install lsb-release +install lvm2 +install memtest86+ i686,x86_64 +install mpt-firmware +install nano +install pptp +install quota +install rsync +install smartmontools +install smbios-utils-python i686,x86_64 +install util-linux +install wireless-regdb +install wpa_supplicant +install xf86-video-ark +install xf86-video-ati +install xf86-video-chips +install xf86-video-fbdev +install xf86-video-i128 +install xf86-video-mga +install xf86-video-neomagic +install xf86-video-nouveau +install xf86-video-nv +install xf86-video-qxl +install xf86-video-r128 +install xf86-video-savage +install xf86-video-siliconmotion i686,x86_64 +install xf86-video-sis +install xf86-video-sisusb +install xf86-video-tdfx +install xf86-video-v4l +install xf86-video-vesa +install xf86-video-voodoo +install xz +install yast2-trans-de +if [ "$distro" = "leap" ]; then + install yast2-trans-cs + install yast2-trans-da + install yast2-trans-es + install yast2-trans-ja + install yast2-trans-pl + install yast2-trans-ru + install yast2-trans-sv + install yast2-trans-zh_CN + install yast2-trans-zh_TW +fi +install zd1211-firmware +install zip + +# Workaround for bsc#1131492 +buildignore ntp diff --git a/Leap-GNOME/list-gnome.sh b/Leap-GNOME/list-gnome.sh new file mode 100644 index 0000000..9fce61a --- /dev/null +++ b/Leap-GNOME/list-gnome.sh @@ -0,0 +1,116 @@ +buildignore libreoffice-calc +buildignore libreoffice-draw +buildignore libreoffice-impress +buildignore libreoffice-icon-theme-breeze +buildignore libreoffice-icon-theme-sifr +buildignore libreoffice-icon-theme-hicontrast +buildignore colord +buildignore apparmor-utils +buildignore java-11-openjdk-headless +install branding-openSUSE + +# adobe-sourcecodepro-fonts is the monospace font for openSUSE +install adobe-sourcecodepro-fonts + +buildignore google-carlito-fonts +buildignore noto-sans-fonts +buildignore noto-sans-cjk-fonts +buildignore noto-sans-sc-bold-fonts +buildignore noto-sans-sc-regular-fonts +buildignore noto-sans-tc-bold-fonts +buildignore noto-sans-tc-regular-fonts +buildignore noto-sans-jp-bold-fonts +buildignore noto-sans-jp-regular-fonts +buildignore noto-sans-kr-bold-fonts +buildignore noto-sans-kr-regular-fonts + +# Expected by openQA - But no more space on the CD +# install libreoffice-writer +buildignore libreoffice + +# Packages for the installer +source "$PWD/list-installer.sh" + +# Pulls in sane-backends +buildignore simple-scan + +buildignore ghostscript +buildignore myspell-en_US +buildignore orca + +# gnome-software is a nice software center, but on the live medium only of limited use +buildignore gnome-software + +# Pulls in color management tools +buildignore gnome-control-center-color + +# 17 MiB, really? +buildignore libgweather-lang +buildignore gnome-user-docs +buildignore gnome-user-docs-lang +buildignore eog-lang +buildignore evolution-lang +buildignore evolution-data-server-lang +buildignore zenity-lang + +# Pulls in clamav +buildignore amavisd-new + +# Too big +buildignore inkscape + +# Pulls in various python modules and duplicity +buildignore deja-dup +buildignore libpython2_7-1_0 + +buildignore gimp +buildignore noto-coloremoji-fonts +buildignore gnome-weather + +install gparted + +buildignore gparted-lang +buildignore vinagre-lang +buildignore gedit-lang +buildignore fwupd-lang + +# There's eog, enough for live +buildignore gnome-photos + +# Moved here from list-common.sh. cyrus-sasl is needed by Pidgin in Xfce Live CD +buildignore cyrus-sasl + +# Was part of the gnome pattern +install NetworkManager-applet + +# Moved here from list-common.sh, too big for x11 +install xf86-video-vmware i686,x86_64 + +# From rest_cd_core +install alsa-firmware + +# Previously required by rest_cd_gnome +installPattern apparmor +installPattern games +installPattern gnome +installPattern gnome_basis +installPattern gnome_imaging +installPattern gnome_internet +installPattern gnome_multimedia +installPattern gnome_office +installPattern gnome_utilities +installPattern gnome_yast +installPattern imaging +installPattern multimedia +installPattern office +installPattern sw_management_gnome +installPattern yast2_basis +installPattern yast2_install_wf + +# Previously recommended by rest_cd_gnome +install gnome-mines +install gnome-sudoku +install quadrapassel + +# Pulls in Qt WebEngine, too big +buildignore opensuse-welcome diff --git a/Leap-GNOME/list-installer.sh b/Leap-GNOME/list-installer.sh new file mode 100644 index 0000000..0cbaf8f --- /dev/null +++ b/Leap-GNOME/list-installer.sh @@ -0,0 +1,15 @@ +# Packages for the installer +install live-net-installer +install skelcd-openSUSE # Needed for README.BETA +install setxkbmap # Needed by yast2-keyboard +install skelcd-control-openSUSE # Just pulled in for deps +install cracklib-dict-full + +# Fonts for the installation (taken from installation-images) +install thai-fonts +install lklug-fonts +install indic-fonts +install arabic-kacst-fonts +# too big +# install un-fonts +# install ipa-gothic-fonts diff --git a/Leap-GNOME/list-kde.sh b/Leap-GNOME/list-kde.sh new file mode 100644 index 0000000..2e08f89 --- /dev/null +++ b/Leap-GNOME/list-kde.sh @@ -0,0 +1,82 @@ +buildignore gvfs +buildignore libreoffice-icon-theme-galaxy +buildignore libreoffice-icon-theme-hicontrast +buildignore libreoffice-icon-theme-tango +buildignore libreoffice-base-drivers-mysql +buildignore libreoffice-pyuno +buildignore cairomm +buildignore evolution-data-server +buildignore notification-daemon +buildignore gdm +buildignore akregator +buildignore ImageMagick +install patterns-kde-kde +installPattern kde +install plasma5-workspace-branding-openSUSE +install baloo5-tools +install NetworkManager +# Don't add libreoffice for now, too large +buildignore libreoffice +buildignore libreoffice-icon-themes +buildignore libreoffice-icon-theme-breeze +buildignore kdenetwork4-filesharing +buildignore gnome-keyring + +# Packages for the installer +source "$PWD/list-installer.sh" + +buildignore oxygen5-icon-theme-large +# Needs ibus data files and color emoji fonts, too big. +buildignore plasma5-desktop-emojier + +# Resolve have-choice +install plasma-nm5 +install phonon4qt5-backend-gstreamer +buildignore ispell + +# No fun allowed +buildignore patterns-kde-kde_games +# No PIM +buildignore patterns-kde-kde_pim +# Not really useful here, except for kcharselect. +buildignore patterns-kde-kde_utilities +install kcharselect +# Ignore +buildignore plasma-nm5-openconnect +buildignore plasma-nm5-openvpn + +# Pulls in docbook and friends, ~50MiB. +# Excludedocs is enabled, so documentation is broken anyway +buildignore kdoctools + +# Moved here from list-common.sh, too big for x11 +install xf86-video-vmware i686,x86_64 + +buildignore digikam +buildignore gdb +buildignore hugin +buildignore icewm +buildignore kmahjongg-lang +buildignore konversation-lang +buildignore libproxy1-pacrunner-webkit +buildignore vlc +buildignore vlc-noX +buildignore vlc-qt +buildignore vlc-lang +buildignore kipi-plugins + +# Upstream branding, not used by default and HUGE +if [ "$distro" != "leap" ]; then + buildignore breeze5-wallpapers +fi + +install partitionmanager + +# Moved here from list-common.sh. cyrus-sasl is needed by Pidgin in Xfce Live CD +buildignore cyrus-sasl + +# From rest_cd_core +install alsa-firmware + +# From x11_enhanced, but that pattern can't be installed +install opensuse-welcome diff --git a/Leap-GNOME/list-x11.sh b/Leap-GNOME/list-x11.sh new file mode 100644 index 0000000..0a1cc98 --- /dev/null +++ b/Leap-GNOME/list-x11.sh @@ -0,0 +1,131 @@ +buildignore NetworkManager-lang +buildignore NetworkManager-applet-lang +buildignore PackageKit +buildignore samba-libs +buildignore release-notes-openSUSE +buildignore gnome-themes-accessibility +buildignore xlockmore +buildignore unzip-doc +buildignore gtk2-immodule-inuktitut +buildignore gtk2-immodule-thai +buildignore gtk2-immodule-vietnamese +buildignore gtk2-lang +buildignore gtk3-immodule-inuktitut +buildignore gtk3-immodule-thai +buildignore gtk3-immodule-vietnamese +buildignore gtk3-lang +buildignore evince-lang +buildignore hexchat-lang +buildignore nano-lang +buildignore zenity-lang +buildignore gsettings-desktop-schema-lang +buildignore gvfs-lang +buildignore libstorage-ng-lang +buildignore joe +buildignore libgphoto2-6-lang +buildignore alsa +buildignore alsa-firmware +buildignore alsa-plugins +buildignore xscreensaver +buildignore PackageKit-gstreamer-plugin +buildignore ImageMagick +buildignore awesfx +buildignore sbl +buildignore gnome-online-accounts +buildignore snapper + +buildignore Mesa-libva + +# No python2 necessary +buildignore python-base +buildignore python38-pip + +# Pulls in libpython2_7 +buildignore libpeas-loader-python + +buildignore aspell-en +buildignore ModemManager +buildignore yast2-printer +buildignore avahi +buildignore fprintd +buildignore accountsservice +buildignore MozillaFirefox +buildignore tcpdump + +install gparted +install epiphany +# Really ran of out space +buildignore gparted-lang +buildignore epiaphy-lang +buildignore iso-codes-lang +buildignore glib2-lang +buildignore thunar-lang +buildignore xfce4-settings-lang +buildignore xfce4-panel-lang +buildignore xfce-terminal-lang +buildignore exo-lang +buildignore xfdesktop-lang +buildignore xfce4-power-manager-lang +buildignore noto-sans-cjk-fonts +buildignore man-pages-posix +buildignore libvulkan_radeon +buildignore man +buildignore groff +buildignore libqt5-qttranslations +buildignore plymouth +buildignore 7zip + +# tumbler -> libgepup uses libwebkit2gtk-4_0-37, while epiphany uses libwebkit2gtk-4_1-0. +# We can't have both, too big. +buildignore tumbler +# ristretto is not that useful without tumbler +buildignore ristretto + +# Moved here from list-common.sh. cyrus-sasl is needed by Pidgin in Xfce Live CD +buildignore cyrus-sasl + +# Moved here from list-common.sh. Needed by createrepo_c, which is needed for libzypp-plugin-appdata +buildignore deltarpm + +# Too big and not really useful here +buildignore Mesa-dri-nouveau +buildignore libvdpau_nouveau + +# Previously required by rest_cd_x11 +install patterns-xfce-xfce_basis +installPattern xfce_basis +install evince +install evince-plugin-pdfdocument +install file-roller +install gparted +install hexchat +install leafpad +install lightdm +install lightdm-gtk-greeter +install photorec +install thunar +install thunar-volman +install xfce4-appfinder +install xfce4-notifyd +install xfce4-panel +install xfce4-power-manager +install xfce4-session +install xfce4-settings +install xfconf +install xfdesktop +install xfwm4 + +# Previously recommended by rest_cd_x11 +install dbus-1-x11 +install desktop-file-utils +install libgnomesu +install libxfce4ui-tools +install libyui-qt-pkg +install pinentry-gtk2 +install shared-mime-info +install xdg-user-dirs-gtk +install xdg-utils +install NetworkManager-applet +install xfce4-panel-plugin-xkb +install xfce4-terminal +install yast2-control-center-qt diff --git a/Leap-GNOME/list-xfce.sh b/Leap-GNOME/list-xfce.sh new file mode 100644 index 0000000..6fd669d --- /dev/null +++ b/Leap-GNOME/list-xfce.sh @@ -0,0 +1,54 @@ +install branding-openSUSE +install yast2-trans-stats +install patterns-xfce-xfce +installPattern xfce +buildignore gnome-themes-accessibility +buildignore xlockmore +buildignore unzip-doc +buildignore gtk2-immodule-inuktitut +buildignore gtk2-immodule-thai +buildignore gtk2-immodule-vietnamese +buildignore gtk3-immodule-inuktitut +buildignore gtk3-immodule-thai +buildignore gtk3-immodule-vietnamese +buildignore awesfx +buildignore sbl +buildignore gnome-online-accounts + +# Packages for the installer +source "$PWD/list-installer.sh" + +buildignore aspell-en +install libxslt-tools + +# Remove useless xfce panel plugins +buildignore xfce4-panel-plugin-xkb +buildignore xfce4-panel-plugin-notes +buildignore engrampa-lang + +# Remove Libreoffice as it's too big +buildignore libreoffice + +# Save a bit of space +buildignore gdb + +buildignore gimp +buildignore pidgin + +# Pulls in sane-backends +buildignore simple-scan + +# Moved here from list-common.sh, too big for x11 +install xf86-video-vmware i686,x86_64 + +# make sure pdf support for evince is installed +install evince-plugin-pdfdocument + +# From rest_cd_core +install alsa-firmware + +# Not compatible with GNOME 41 (nothing provides typelib(Cheese) = 3.0) +buildignore mugshot + +# From x11_enhanced, but that pattern can't be installed +install opensuse-welcome diff --git a/Leap-GNOME/pkg-diff.sh b/Leap-GNOME/pkg-diff.sh new file mode 100644 index 0000000..b116275 --- /dev/null +++ b/Leap-GNOME/pkg-diff.sh @@ -0,0 +1,28 @@ +#!/bin/bash +if [ $# -ne 2 ]; then + printf "Show a diff of installed packages in the various flavors.\nUsage: $0 project arch\n" + exit 1 +fi + +project=$1 +arch=$2 + +fetch_pkglist() { + local project=$1 + local package=$2 + local repo=$3 + local arch=$4 + local binaryname=$(osc ls -b ${project} ${package} -a ${arch} -r ${repo} | grep .packages | xargs) + + osc api /build/${project}/${repo}/${arch}/${package}/${binaryname} | awk -F\| '{ printf "%s-%s-%s\n", $1, $3, $4 }' | sort -u +} + +tmpdir=$(mktemp -d) +trap 'rm -rf ${tmpdir}' EXIT + +for i in {x11,xfce,kde,gnome}; do + fetch_pkglist openSUSE:Factory:Live livecd-tumbleweed-$i images ${arch} > ${tmpdir}/list-old + fetch_pkglist ${project} livecd-tumbleweed-$i openSUSE_Tumbleweed ${arch} > ${tmpdir}/list-new + echo "$i" + diff -u ${tmpdir}/list-{old,new} +done diff --git a/Leap-GNOME/pre-checkin.sh b/Leap-GNOME/pre-checkin.sh new file mode 100644 index 0000000..d34858e --- /dev/null +++ b/Leap-GNOME/pre-checkin.sh @@ -0,0 +1,66 @@ +#!/bin/sh +set -u + +install() { + if [ -n "${2-}" ]; then + PACKAGES="$PACKAGES\n " + else + PACKAGES="$PACKAGES\n " + fi +} + +buildignore() { + # Normally, should work, + # but https://github.com/openSUSE/obs-build/issues/420 requires a workaround + ## Due to "--ignoreignore--" this has no effect either, so workaround the workaround + ## by using , which gets ignored by OBS completely... + if [ -n "${2-}" ]; then + PACKAGES="$PACKAGES\n " + PACKAGES="$PACKAGES\n " + else + PACKAGES="$PACKAGES\n " + PACKAGES="$PACKAGES\n " + fi +} + +installPattern() { + PACKAGES="$PACKAGES\n " +} + +archive() { + PACKAGES="$PACKAGES\n " +} + +for distro in leap tumbleweed; do + distroname="openSUSE Tumbleweed" + bootsplash="bgrt" + releaseprefix="openSUSE" + if [ "${distro}" = "leap" ]; then + distroname="openSUSE Leap %OS_VERSION_ID%" + # This changes every few weeks, apparently. + #releaseprefix="Leap" + fi + + for flavor in gnome kde xfce x11; do + uppercaseflavor="$(echo "${flavor}" | tr [:lower:] [:upper:])" + + if [ "${flavor}" = "x11" ]; then + name="${distroname} Rescue CD" + else + name="${distroname} ${uppercaseflavor} Live" + fi + + PACKAGES="\n " + . "$PWD/list-common.sh" + PACKAGES="$PACKAGES\n\n " + . "$PWD/list-${flavor}.sh" + + sed "s#@FLAVOR@#${flavor}#g;\ + s#@NAME@#${name// /-}#g;\ + s#@DISPLAYNAME@#${name}#g;\ + s#@VOLID@#${name// /_}#g;\ + s#@BOOTSPLASH@#${bootsplash}#g;\ + s#@RELEASEPREFIX@#${releaseprefix}#g;\ + s#@PACKAGES@#${PACKAGES}#g;" livecd.kiwi.in > livecd-${distro}-${flavor}.kiwi + done +done diff --git a/Leap-GNOME/selfinstall-leap-gnome-csb.kiwi b/Leap-GNOME/selfinstall-leap-gnome-csb.kiwi new file mode 100644 index 0000000..1f04ad5 --- /dev/null +++ b/Leap-GNOME/selfinstall-leap-gnome-csb.kiwi @@ -0,0 +1,651 @@ + + + + + + + openSUSE Project + opensuse@opensuse.org + openSUSE Live system + + + + + + + + 2.8.0 + openSUSE + bgrt + zypper + false + en_US + true + + + + 2.8.0 + openSUSE + bgrt + zypper + false + en_US + true + + + 16.0.0 + zypper + openSUSE + bgrt + true + en_US + + + + + + + + + + + + + + + + /dev/ram + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +