Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-branding-Aeon for
openSUSE:Factory checked in at 2024-05-24 19:51:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-branding-Aeon (Old)
and /work/SRC/openSUSE:Factory/.gnome-branding-Aeon.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-branding-Aeon"
Fri May 24 19:51:41 2024 rev:3 rq:1176548 version:20231005
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-branding-Aeon/gnome-branding-Aeon.changes
2024-01-03 12:30:03.406585293 +0100
+++
/work/SRC/openSUSE:Factory/.gnome-branding-Aeon.new.24587/gnome-branding-Aeon.changes
2024-05-24 19:51:58.031322937 +0200
@@ -1,0 +2,22 @@
+Thu May 23 20:00:38 UTC 2024 - Richard Brown <[email protected]>
+
+- Wait for network for all aeon-mig-firstboot tasks
+
+-------------------------------------------------------------------
+Thu May 23 16:05:53 UTC 2024 - Richard Brown <[email protected]>
+
+- Introduce aeon-mig-firstboot to help tuneup home directories
+ after migration
+
+-------------------------------------------------------------------
+Thu May 23 15:00:50 UTC 2024 - Richard Brown <[email protected]>
+
+- Minor locale bugfixes and cleanup
+
+-------------------------------------------------------------------
+Thu May 23 12:53:48 UTC 2024 - Richard Brown <[email protected]>
+
+- Rewrite aeon-firstboot to be multi-threaded and install locales
+ (boo#1224328, boo#1213055, boo#1208869, boo#1217466, boo#1223608)
+
+-------------------------------------------------------------------
New:
----
aeon-mig-firstboot
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-branding-Aeon.spec ++++++
--- /var/tmp/diff_new_pack.xfy8uy/_old 2024-05-24 19:51:58.759349568 +0200
+++ /var/tmp/diff_new_pack.xfy8uy/_new 2024-05-24 19:51:58.759349568 +0200
@@ -1,7 +1,7 @@
#
# spec file for package gnome-branding-Aeon
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2021 SUSE Software Solutions GmbH
#
# All modifications and additions to the file contributed by third parties
@@ -34,6 +34,7 @@
Source9: 50-aeon
Source10: wallpaper-branding-Aeon.xml
Source11: 49-aeon.rules
+Source12: aeon-mig-firstboot
BuildArch: noarch
BuildRequires: flatpak
BuildRequires: gio-branding-openSUSE
@@ -71,6 +72,7 @@
cp -a %{SOURCE9} 50-aeon
cp -a %{SOURCE10} wallpaper-branding-Aeon.xml
cp -a %{SOURCE11} 49-aeon.rules
+cp -a %{SOURCE12} aeon-mig-firstboot
%build
@@ -83,6 +85,7 @@
install -m0644 aeon-firstboot.desktop
%{buildroot}%{_sysconfdir}/skel/.config/autostart/aeon-firstboot.desktop
install -d %{buildroot}%{_bindir}
install -m0755 aeon-firstboot %{buildroot}%{_bindir}/aeon-firstboot
+install -m0755 aeon-mig-firstboot %{buildroot}%{_bindir}/aeon-mig-firstboot
install -d %{buildroot}%{_prefix}%{_sysconfdir}/transactional-update.conf.d
install -m644 50-desktop.conf
%{buildroot}%{_prefix}%{_sysconfdir}/transactional-update.conf.d/50-desktop.conf
install -d %{buildroot}%{_datadir}/wallpapers
@@ -120,6 +123,7 @@
%dir %{_sysconfdir}/skel/.config/autostart
%config(noreplace) %{_sysconfdir}/skel/.config/autostart/aeon-firstboot.desktop
%{_bindir}/aeon-firstboot
+%{_bindir}/aeon-mig-firstboot
%dir %{_prefix}%{_sysconfdir}/transactional-update.conf.d
%{_prefix}%{_sysconfdir}/transactional-update.conf.d/50-desktop.conf
%dir %{_datadir}/wallpapers
++++++ aeon-firstboot ++++++
--- /var/tmp/diff_new_pack.xfy8uy/_old 2024-05-24 19:51:58.867353519 +0200
+++ /var/tmp/diff_new_pack.xfy8uy/_new 2024-05-24 19:51:58.871353666 +0200
@@ -1,61 +1,147 @@
-#!/bin/sh
-(
-echo "# Waiting for Internet connection"
+#!/bin/bash
+
+# SPDX-License-Identifier: MIT
+# SPDX-FileCopyrightText: Copyright 2024 SUSE LLC
+# SPDX-FileCopyrightText: Copyright 2024 Richard Brown
+# SPDX-FileCopyrightText: Copyright 2024 Raymond Yip
+
+installFlatpakRepo(){
+ /usr/bin/flatpak remote-add --user --if-not-exists flathub
/usr/share/aeon/flathub.flatpakrepo
+ if [ "$?" != 0 ] ; then
+ zenity --error \
+ --text="Adding Flathub Repo Failed"
+ exit 1
+ fi
+}
+
+installFlatpakPackage(){
+ /usr/bin/flatpak install --user --noninteractive flathub $1
+ if [ "$?" != 0 ] ; then
+ zenity --error \
+ --text="Installing $1 Failed"
+ exit 1
+ fi
+}
+
+waitforNet(){
until /usr/bin/curl -s --max-time 5 https://flathub.org > /dev/null; do sleep
1; done
-echo "10"
+}
-echo "# Adding Flathub Repository"
-/usr/bin/flatpak remote-add --user --if-not-exists flathub
/usr/share/aeon/flathub.flatpakrepo
-if [ "$?" != 0 ] ; then
- zenity --error \
- --text="Adding Flathub Repo Failed"
- exit 1
-fi
-echo "20"
-
-echo "# Installing Firefox"
-/usr/bin/flatpak install --user --noninteractive flathub org.mozilla.firefox
-if [ "$?" != 0 ] ; then
- zenity --error \
- --text="Installing Firefox Failed"
- exit 1
-fi
-
-echo "40"
-echo "# Installing Calculator"
-/usr/bin/flatpak install --user --noninteractive flathub org.gnome.Calculator
-if [ "$?" != 0 ] ; then
- zenity --error \
- --text="Installing Calculator Failed"
- exit 1
-fi
-
-echo "60"
-echo "# Installing Text Editor"
-/usr/bin/flatpak install --user --noninteractive flathub org.gnome.TextEditor
-if [ "$?" != 0 ] ; then
- zenity --error \
- --text="Installing Text Editor Failed"
- exit 1
-fi
-
-echo "80"
-echo "# Installing Extension Manager"
-/usr/bin/flatpak install --user --noninteractive flathub
com.mattjakeman.ExtensionManager
-if [ "$?" != 0 ] ; then
- zenity --error \
- --text="Installing Extension Manager Failed"
- exit 1
-fi
-
-echo "100"
-echo "# Cleaning up"
-rm ~/.config/autostart/aeon-firstboot.desktop
-) |
- zenity --progress --title="Aeon Firstboot" --percentage=0 --auto-close
--no-cancel --width=300
-
-if [ "$?" != 0 ] ; then
- zenity --error \
- --text="Firstboot Configuration Error"
-fi
+defaultOptions() {
+ pkgs=("org.mozilla.firefox" "org.gnome.Calculator" "org.gnome.TextEditor")
+}
+
+customizeOptions() {
+ #User has decided to customize their installed flatpaks
+ selection=$(zenity --list --width=1000 --height=1025 --title="Choose
software to install" \
+ --text="Select which software you would like to install\nMore software can
be found in the <b>Software</b> App" \
+ --checklist --column="" --column="AppName" --column="Application"
--column="Description" \
+ --hide-column=2 \
+TRUE org.mozilla.firefox "Mozilla Firefox" "Default Web Browser" \
+TRUE org.gnome.Calculator "Calculator" "Basic Calculator" \
+TRUE org.gnome.TextEditor "Text Editor" "Basic Text Editor" \
+FALSE com.mattjakeman.ExtensionManager "Extension Manager" "Shell Extensions
Manager" \
+FALSE com.github.tchx84.Flatseal "Flatseal" "Application Permissions Manager" \
+FALSE com.valvesoftware.Steam "Steam" "Steam Games Launcher" \
+FALSE org.gnome.Loupe "Image Viewer" "Basic Image Viewer" \
+FALSE org.gnome.gThumb "gThumb" "Advanced Image Viewer" \
+FALSE io.github.celluloid_player.Celluloid "Celluloid" "Basic Video Player" \
+FALSE org.videolan.VLC "VLC" "Advanced Video Player" \
+FALSE org.mozilla.Thunderbird "Thunderbird" "Mail Client" \
+FALSE org.telegram.desktop "Telegram Desktop" "Telegram Messaging Client" \
+FALSE org.libreoffice.LibreOffice "LibreOffice" "LibreOffice Office Suite" \
+FALSE org.gimp.GIMP "GNU Image Manipulation Program" "Image Editor" \
+FALSE org.gnome.Builder "Builder" "Graphical IDE" \
+FALSE io.github.dvlv.boxbuddyrs "BoxBuddy" "Distrobox Container Manager" \
+FALSE org.gnome.Boxes "Boxes" "Virtualisation" \
+FALSE org.gnome.World.PikaBackup "Pika Backup" "Basic Backup Tool" \
+FALSE org.gnome.SimpleScan "Document Scanner" "Basic Document Scanner" \
+)
+ #the above command outputs pipe-delimeted lists of all the flathub app
names people chose..eg
+
#org.mozilla.firefox|org.gnome.Calculator|org.gnome.TextEditor|com.github.tchx84.Flatseal|com.valvesoftware.Steam|org.telegram.desktop
+ #So that could be parsed to figure out the number of apps chosen and fed
into flatpak âuser ânoninteractive flathub and allow people to pick what
they install on first boot
+ if [[ -z "${selection}" ]]; then
+ #if cancel is pressed, $custom variable is empty so we go back to use
the default options
+ defaultOptions
+ else
+ IFS='|' read -a pkgs <<< "$selection"
+ fi
+}
+
+firstMSG() {
+ #Insert Welcome message here
+ zenity --question --icon=distributor-logo-Aeon-symbolic --no-wrap --title
'Welcome to openSUSE Aeon' \
+ --text 'Almost done, there is one last step\n\nWe need to download some
applications to get you started\n\nYou can add more software later using the
<b>Software</b> App' \
+ --width 300 --height 300 \
+ --ok-label OK \
+ --cancel-label Customise
+ option=$?
+ if [ "$option" != 0 ]; then
+ #User wants to customize software
+ customizeOptions
+ else
+ #OK Button selected, running with defaults
+ defaultOptions
+ fi
+}
+
+lastMSG() {
+ #Insert Welcome message here
+ zenity --info --icon=distributor-logo-Aeon-symbolic --no-wrap --title
'Welcome to openSUSE Aeon' \
+ --text 'Congratulations!\n\nYour system is ready to be used\n\nWe hope
you enjoy using <b>openSUSE Aeon</b>' \
+ --width 300 --height 300
+ rm ~/.config/autostart/aeon-firstboot.desktop
+}
+
+detectLocale() {
+ if [[ ! "${LANG}" =~ ^en_ ]]; then
+ need_locale=${LANG}
+ fi
+
+}
+
+show_progress() {
+ (
+ sleep 1
+ echo "# Waiting for Internet connection"
+ waitforNet
+ while /usr/bin/pgrep -f
'/usr/bin/flatpak|/usr/sbin/transactional-update|/usr/bin/pkexec' >/dev/null; do
+ echo "# Installing Packages"
+ sleep 1
+ done
+ )| zenity --progress --title="Final Setup" --width=300 --pulsate
--auto-close --no-cancel
+}
+
+install_locale() {
+ pkexec sh -c "/usr/sbin/transactional-update -n run zypper -n aloc
${need_locale} && /usr/sbin/transactional-update -n apply"
+ if [ "$?" != 0 ] ; then
+ zenity --error \
+ --text="Installing Locales Failed"
+ exit 1
+ fi
+ for i in "$HOME/Desktop" "$HOME/Downloads" "$HOME/Templates"
"$HOME/Public" "$HOME/Documents" "$HOME/Music" "$HOME/Pictures" "$HOME/Videos"
+ do
+ rmdir $i
+ done
+ rm $HOME/.config/user-dirs.dirs
+ rm $HOME/.config/user-dirs.locale
+ xdg-user-dirs-update --force
+}
+
+run_tasks() {
+ waitforNet
+ if [[ -n "${need_locale}" ]]; then
+ install_locale &
+ fi
+ installFlatpakRepo
+ for pkg in "${pkgs[@]}"; do
+ installFlatpakPackage $pkg &
+ done
+}
+
+detectLocale
+firstMSG
+run_tasks &
+show_progress
+lastMSG
++++++ aeon-mig-firstboot ++++++
#!/bin/bash
firstMSG() {
#Insert Welcome message here
zenity --info --icon=distributor-logo-Aeon-symbolic --no-wrap --title
'Welcome to openSUSE Aeon' \
--text 'Almost done, there is one last step\n\nWe need perform some
checks to make\nsure your migration has gone smoothly\n\nPlease click <b>OK</b>
to Continue' \
--width 300 --height 300
}
show_progress() {
(
sleep 1
echo "# Waiting for Internet connection"
waitforNet
while /usr/bin/pgrep -f
'/usr/bin/flatpak|/usr/sbin/transactional-update|/usr/bin/pkexec' >/dev/null; do
echo "# Tuning Installation"
sleep 1
done
)| zenity --progress --title="Final Setup" --width=300 --pulsate
--auto-close --no-cancel
}
installFlatpakRepo(){
waitforNet
/usr/bin/flatpak remote-add --user --if-not-exists flathub
/usr/share/aeon/flathub.flatpakrepo
if [ "$?" != 0 ] ; then
zenity --error \
--text="Adding Flathub Repo Failed"
exit 1
fi
}
install_locale() {
waitforNet
pkexec sh -c "/usr/sbin/transactional-update -n run zypper -n aloc ${LANG}
&& /usr/sbin/transactional-update -n apply"
if [ "$?" != 0 ] ; then
zenity --error \
--text="Installing Locales Failed"
exit 1
fi
}
lastMSG() {
#Insert Welcome message here
zenity --info --icon=distributor-logo-Aeon-symbolic --no-wrap --title
'Welcome to openSUSE Aeon' \
--text 'Congratulations!\n\nYour system is ready to be used\n\nWe hope
you enjoy using <b>openSUSE Aeon</b>' \
--width 300 --height 300
rm ~/.config/autostart/aeon-mig-firstboot.desktop
}
waitforNet(){
until /usr/bin/curl -s --max-time 5 https://flathub.org > /dev/null; do sleep
1; done
}
firstMSG
installFlatpakRepo &
if [[ ! "${LANG}" =~ ^en_ ]]; then
install_locale &
fi
show_progress
lastMSG
(No newline at EOF)