Hello community, here is the log from the commit of package jeos-firstboot for openSUSE:Factory checked in at 2018-06-22 13:36:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jeos-firstboot (Old) and /work/SRC/openSUSE:Factory/.jeos-firstboot.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jeos-firstboot" Fri Jun 22 13:36:00 2018 rev:14 rq:618346 version:0.0+git20180615.258b566 Changes: -------- --- /work/SRC/openSUSE:Factory/jeos-firstboot/jeos-firstboot.changes 2018-05-25 21:39:55.118311925 +0200 +++ /work/SRC/openSUSE:Factory/.jeos-firstboot.new/jeos-firstboot.changes 2018-06-22 13:36:02.577187254 +0200 @@ -1,0 +2,8 @@ +Fri Jun 15 08:38:37 UTC 2018 - [email protected] + +- Update to version 0.0+git20180615.258b566: + * make jeos-firstboot.service closer to YaST2-Firstboot.service + * Use own canary file instead of ConditionFirstBoot to allow reconfiguration (bsc#1097630) + * Use live-langset-data to setup locale settings during runtime (bsc#1096556) + +------------------------------------------------------------------- Old: ---- jeos-firstboot-0.0+git20180525.280836a.tar.xz New: ---- jeos-firstboot-0.0+git20180615.258b566.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jeos-firstboot.spec ++++++ --- /var/tmp/diff_new_pack.7BaUjA/_old 2018-06-22 13:36:03.645147774 +0200 +++ /var/tmp/diff_new_pack.7BaUjA/_new 2018-06-22 13:36:03.649147626 +0200 @@ -17,7 +17,7 @@ Name: jeos-firstboot -Version: 0.0+git20180525.280836a +Version: 0.0+git20180615.258b566 Release: 0 Summary: Simple text based JeOS first boot wizard License: MIT @@ -29,6 +29,7 @@ BuildRequires: udev #only needed as directory owners Requires: distribution-release +Requires: live-langset-data Requires: systemd Requires: udev %if 0%{?is_opensuse} ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.7BaUjA/_old 2018-06-22 13:36:03.693146000 +0200 +++ /var/tmp/diff_new_pack.7BaUjA/_new 2018-06-22 13:36:03.693146000 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/openSUSE/jeos-firstboot.git</param> - <param name="changesrevision">280836ac14732c09f83084e073b77684ca3254e0</param></service></servicedata> + <param name="changesrevision">3d5d163ddbb89737791dc3e712e15fb7898c871e</param></service></servicedata> \ No newline at end of file ++++++ jeos-firstboot-0.0+git20180525.280836a.tar.xz -> jeos-firstboot-0.0+git20180615.258b566.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20180525.280836a/files/usr/lib/jeos-firstboot new/jeos-firstboot-0.0+git20180615.258b566/files/usr/lib/jeos-firstboot --- old/jeos-firstboot-0.0+git20180525.280836a/files/usr/lib/jeos-firstboot 2018-05-25 15:25:11.000000000 +0200 +++ new/jeos-firstboot-0.0+git20180615.258b566/files/usr/lib/jeos-firstboot 2018-06-15 09:58:44.000000000 +0200 @@ -82,16 +82,6 @@ locale='' password='' -# Console fonts mapping to locales -# this need to be reworked, check bsc#1094346 -declare -A consolefonts -consolefonts["el_GR.UTF-8"]="iso07u-16.psfu" -consolefonts["ru_RU.UTF-8"]="UniCyr_8x16.psf" -consolefonts["sr_RS.UTF-8"]="UniCyr_8x16.psf" -consolefonts["uk_UA.UTF-8"]="UniCyr_8x16.psf" -consolefonts["tg_TJ.UTF-8"]="UniCyr_8x16.psf" -consolefonts["bg_BG.UTF-8"]="UniCyr_8x16.psf" - let dh_menu=LINES-15 let dh_text=LINES-5 @@ -104,6 +94,10 @@ fi } +warn(){ + d --title $"Warning" --msgbox "$1" 6 40 +} + menulist() { list=() @@ -137,17 +131,19 @@ [ -n "$list" ] } -if findlocales && d --default-item "en_US" --menu $"Select System Locale" 0 0 $dh_menu "${list[@]}"; then +default="en_US" +[ -f /etc/locale.conf ] && locale_lang="$(awk -F= '$1 == "LANG" { split($2,fs,"."); print fs[1]; exit }' /etc/locale.conf)" +[ -n "$locale_lang" ] && default="$locale_lang" + +if findlocales && d --default-item "$default" --menu $"Select System Locale" 0 0 $dh_menu "${list[@]}"; then if [ -n "$result" ]; then locale="${result}.UTF-8" systemd_firstboot_args+=("--locale=$locale") LANG="$locale" export LANG - if [ ${consolefonts[$locale]+_} ]; then - run sed -i -e "s/^FONT=.*/FONT=${consolefonts[$locale]}/" /etc/vconsole.conf - run sed -i -e "s/^CONSOLE_FONT=.*/CONSOLE_FONT=i\"${consolefonts[$locale]}\"/" /etc/vconsole.conf - run /usr/lib/systemd/systemd-vconsole-setup || true # true for nspawn - fi + + # Run langset to get consolefont and keymap set up + run langset.sh $locale || warn $"Setting the locale failed" fi else d --msgbox $"Error setting locale" 0 0 @@ -177,21 +173,31 @@ done fi +default="us" +[ -f /etc/vconsole.conf ] && vconsole_keymap="$(awk -F= '$1 == "KEYMAP" { split($2,fs,"."); print fs[1]; exit }' /etc/vconsole.conf)" +[ -n "$vconsole-keymap" ] && default="$vconsole_keymap" + if findkeymaps \ - && d --menu $"Select Keyboard Layout" 0 0 $dh_menu "${list[@]}"; then + && d --default-item "$default" --menu $"Select Keyboard Layout" 0 0 $dh_menu "${list[@]}"; then if [ -n "$result" ]; then keytable="$result" + + # Activate the selected keyboard layout + run langset.sh "$locale" "$keytable" || warn $"Setting the keyboard layout failed" fi else d --msgbox $"Error setting keyboard" 0 0 fi +default="$(readlink /etc/localtime)" +default="${default##/usr/share/zoneinfo/}" + # timedatectl doesn't work as dbus is not up yet # menulist timedatectl --no-pager list-timezones if menulist awk \ 'BEGIN{print "UTC"; sort="sort"}/^#/{next;}{print $3|sort}END{close(sort)}' \ /usr/share/zoneinfo/zone.tab \ - && d --menu $"Select Time Zone" 0 0 $dh_menu "${list[@]}"; then + && d --default-item "$default" --menu $"Select Time Zone" 0 0 $dh_menu "${list[@]}"; then if [ -n "$result" ]; then systemd_firstboot_args+=("--timezone=$result") fi @@ -199,19 +205,9 @@ d --msgbox $"error setting timezone" 0 0 fi -# we need to adjust the keyboard and locale before the password is typed, in -# case umlauts are used -if [ -n "$keytable" ]; then - echo "KEYMAP=$keytable" | run tee -a /etc/vconsole.conf - run sed -i -e "s/^KEYTABLE=.*/KEYTABLE=\"$keytable\"/" /etc/sysconfig/keyboard -fi -# FIXME: systemd sets /etc/locale.conf which is ignored -if [ -n "$locale" ]; then - run sed -i -e "s/^RC_LANG=.*/RC_LANG=\"$locale\"/" /etc/sysconfig/language - export LANG="$locale" -fi +# systemd-firstboot does not set the timezone if it exists, langset.sh created it +run rm -f /etc/localtime run systemd-firstboot "${systemd_firstboot_args[@]}" -run /usr/lib/systemd/systemd-vconsole-setup || true # true for nspawn # NOTE: must be last as dialog file is used to set the password while true; do @@ -228,7 +224,7 @@ fi fi if [ -z "$password" ]; then - d --msgbox $"Warning: No root password set. + warn $"Warning: No root password set. You cannot log in that way. A debug shell will be started on tty9 just this time. Use it to e.g. import your ssh key." 0 0 || true run systemctl start debug-shell.service @@ -291,7 +287,7 @@ done # Run snapper to setup quota for btrfs -/usr/bin/snapper --no-dbus setup-quota +/usr/bin/snapper --no-dbus setup-quota || warn $"Could not setup quota for btrfs" #d --infobox "Creating snapshot ..." 3 40 || true #run snapper --no-dbus -v create -d "Initial Status" --userdata "important=yes" || d --msgbox "snapper failed" 0 0 || true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20180525.280836a/files/usr/lib/systemd/system/jeos-firstboot.service new/jeos-firstboot-0.0+git20180615.258b566/files/usr/lib/systemd/system/jeos-firstboot.service --- old/jeos-firstboot-0.0+git20180525.280836a/files/usr/lib/systemd/system/jeos-firstboot.service 2018-05-25 15:25:11.000000000 +0200 +++ new/jeos-firstboot-0.0+git20180615.258b566/files/usr/lib/systemd/system/jeos-firstboot.service 2018-06-15 09:58:44.000000000 +0200 @@ -7,19 +7,25 @@ [Unit] Description=SUSE JeOS First Boot Wizard -DefaultDependencies=no -Conflicts=shutdown.target -After=systemd-remount-fs.service -Before=systemd-tmpfiles-setup.service sysinit.target shutdown.target -ConditionPathIsReadWrite=/etc -RequiresMountsFor=/.snapshots -ConditionFirstBoot=yes + +# Same as YaST2-Firstboot.service here +After=apparmor.service local-fs.target plymouth-start.service YaST2-Second-Stage.service +Conflicts=plymouth-start.service [email protected] [email protected] [email protected] [email protected] +Before=display-manager.service +ConditionPathExists=/var/lib/YaST2/reconfig_system +OnFailure=poweroff.target + +# jeos-firstboot starts before network and login though +Before=network.service systemd-user-sessions.service [Service] -Environment=SYSTEMCTL_OPTIONS=--ignore-dependencies TERM=linux Type=oneshot +Environment=SYSTEMCTL_OPTIONS=--ignore-dependencies TERM=linux RemainAfterExit=yes +ExecStartPre=-/usr/bin/plymouth quit ExecStart=/usr/lib/jeos-firstboot +ExecStartPost=/usr/bin/rm -f /var/lib/YaST2/reconfig_system StandardOutput=tty StandardInput=tty #StandardError=tty
