Re: [orca-list] [CBLX] Slint 14.2.1rc2, last call for testing.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This is fixed locally. Changes:
The user can execute first either the target or the source step.
The installer refuses to execute twice one of these steps with a
warning, then go back to the main menu.
After execution of one of these steps, if the other one has already been
executed go to the installation step, else go back to the main menu.
What has not changed:
Installation is allowed only if both the source and target steps have
been executed.
Configuration is allowed only if the system has been installed, as per
your previous remark. As an aside, this does not preclude executing the
configuration step on a system installed long ago, if the root partition
has been mounted during the target step.

I attach the modified setup file.

Greetings,

Didier

PS I am still eager of feedback on RC2 and ideas about Aiyumi's issue of
no sound on the desktop

Le 20/11/2017 à 21:01, Didier Spaier a écrit :
> Hello,
> 
> Found a fix, will test it now, thanks Peter.
> 
> Greetings,
> 
> Didier 
> 
> Le 20/11/2017 à 16:27, Peter Vágner a écrit :
>> Hello,
>>
>> I have just found out yetanother installer veirdness.
>> Installer is designed in a way so steps should be executed in almost the
>> same order like the menu items are ordered on the initial screen.
>> Keyboard layout, partitioning, relaunching the setup, setting target device
>> including fstab, source media selection and finally the actual install.
>> I have just found when you execute source media selection before target
>> device selection the installer will force the source media selection step
>> eventhough it has already been passed. Subsequent executions of source
>> media selection will fail thus it is necessery to exit the setup and start
>> it again.
>>
>> I know it sounds as if I was too picky however frankly I don't care that
>> much, I just wish to make sure it's known eventhough this is a minor
>> cosmetic issue.
>>
>>
>> Greetings
>>
>> Peter
>>
>>
>> 2017-11-11 20:21 GMT+01:00 Didier Spaier <didier@xxxxxxxx>:
>>
>>> Le 11/11/2017 à 14:07, Didier Spaier a écrit :
>>>> Slint 14.2.1rc2, last call for testing.
>>>>
>>>> Last call means "all bug reports and comments posted before Monday 18
>>>> November 2017 will be looked at before the official release."
>>> Please read instead:
>>> "before Monday 20 November 2017"
>>>
>>> Didier
>>> _______________________________________________
>>> orca-list mailing list
>>> orca-list@xxxxxxxxx
>>> https://mail.gnome.org/mailman/listinfo/orca-list
>>> Orca wiki: https://wiki.gnome.org/Projects/Orca
>>> Orca documentation: https://help.gnome.org/users/orca/stable/
>>> GNOME Universal Access guide: https://help.gnome.org/users/
>>> gnome-help/stable/a11y.html
>>> Log bugs and feature requests at http://bugzilla.gnome.org
>>>
>>
> _______________________________________________
> orca-list mailing list
> orca-list@xxxxxxxxx
> https://mail.gnome.org/mailman/listinfo/orca-list
> Orca wiki: https://wiki.gnome.org/Projects/Orca
> Orca documentation: https://help.gnome.org/users/orca/stable/
> GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html
> Log bugs and feature requests at http://bugzilla.gnome.org
> 
#!/bin/sh
#
# Copyright 1993,1994,1999  Patrick Volkerding, Moorhead, Minnesota USA
# Copyright 2001, 2003, 2004  Slackware Linux, Inc., Concord, CA
# Copyright 2006, 2007  Patrick Volkerding, Sebeka, Minnesota USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is 
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Modified by Didier Spaier didier~at~slint~dot~fr for Slint.
#
export TEXTDOMAIN=slint

. gettext.sh
. /usr/lib/setup/SeTlocales
if [ -f /tmp/.SlintInstallationLANG ]; then
    LANG=$(</tmp/.SlintInstallationLANG)
    ll_TT=${LANG%.*}
    SeTFonts
    PutFonts
fi
TMP=/var/log/setup/tmp
if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
# Use /tmp on floppy for now:
/usr/lib/setup/unmigrate.sh
rm -f $TMP/SeT*
# If a keymap was set up, restore that data:
if [ -r $TMP/Pkeymap ]; then
  cp $TMP/Pkeymap $TMP/SeTkeymap
fi
echo "on" > $TMP/SeTcolor # turn on color menus
PATH="$PATH:/usr/lib/setup"
export PATH;
export COLOR=on
#echo
#echo
#echo "Probing disk partitions.  (Hint: if your ATAPI CD-ROM causes timeouts"
#echo "during the probe process, try hitting the eject button)"
#echo
#sleep 5
#
# Before probing, activate any LVM partitions
# that may exist from before the boot:
vgchange -ay 1> /dev/null 2> /dev/null
if probe -l 2> /dev/null | grep -E 'Linux$' 1> /dev/null 2> /dev/null ; then
 probe -l 2> /dev/null | grep -E 'Linux$' | sort 1> $TMP/SeTplist 2> /dev/null
else
 dialog --title "`gettext "NO LINUX PARTITIONS DETECTED"`" \
 --msgbox "`gettext "There don't seem to be any partitions on this \
machine of type Linux.  You'll need to make at least one of these to \
install Linux. To do this, you'll need to leave 'setup', and make the \
partitions using 'cfdisk' (MBR partitions) or 'cgdisk' (GPT partitions). \
For more information, read the 'setup' help file from the next menu."`" 10 80

fi
if [ -d /sys/firmware/efi ]; then
  if ! probe -l 2> /dev/null | grep "EFI System Partition" 1> /dev/null 2> /dev/null ; then
     dialog --title "`gettext "NO EFI SYSTEM PARTITION DETECTED"`" \
 --msgbox "`gettext "This machine appears to be using EFI/UEFI, but no EFI System \
Partition was found.  You'll need to make an EFI System Partition in order \
to boot from the hard drive.  To do this, leave 'setup', and \
use 'cgdisk' to make a 100MB partition of type EF00.  For more information, \
read the 'setup' help file from the next menu."`" 10 80
  fi
fi
T_PX="/mnt"
echo "$T_PX" > $TMP/SeTT_PX
ROOT_DEVICE="`mount | grep "on / " | cut -f 1 -d ' '`"
echo "$ROOT_DEVICE" > $TMP/SeTrootdev
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then # clear source
 umount /var/log/mount                                           # location
fi
# Anything mounted on /var/log/mount now is a fatal error:
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then
  gettext "Can't umount /var/log/mount.  Reboot machine and run setup again."
  echo
  exit
fi
# If the mount table is corrupt, the above might not do it, so we will
# try to detect Linux and FAT32 partitions that have slipped by:
if [ -d /var/log/mount/lost+found -o -d /var/log/mount/recycled \
     -o -r /var/log/mount/io.sys ]; then
  gettext "Mount table corrupt.  Reboot machine and run setup again."
  echo
  exit
fi
rm -f /var/log/mount 2> /dev/null
rmdir /var/log/mount 2> /dev/null
mkdir /var/log/mount 2> /dev/null

while [ 0 ]; do
  if [ -r $TMP/Pkeymap ]; then
    DefaultKeyMap="`cat $TMP/Pkeymap`"
  fi
  Version=14.2
   dialog --visit-items --title "`eval_gettext "Slint Linux Setup (version \\\${Version})"`" \
--menu \
"`gettext "Welcome to Slint Linux Setup.
Select an option below using the UP/DOWN keys and SPACE or ENTER.
Alternate keys may also be used: '+', '-', and TAB."`" 0 0 0 \
"HELP" "`gettext "Read the Slint Setup HELP file"`" \
"KEYMAP" "`eval_gettext "Remap your keyboard  (other than \\\$DefaultKeyMap)"`" \
"ADDSWAP" "`gettext "Set up your swap partition(s)"`" \
"TARGET" "`gettext "Set up your target partitions"`" \
"SOURCE" "`gettext "Select source media"`" \
"INSTALL" "`gettext "Install selected software"`" \
"CONFIGURE" "`gettext "Reconfigure your Linux system"`" \
"EXIT" "`gettext "Exit Slint Linux Setup"`" 2> $TMP/hdset
  if [ ! $? = 0 ]; then
    rm -f $TMP/hdset $TMP/SeT*
    exit
  fi
  MAINSELECT="`cat $TMP/hdset`"
  rm $TMP/hdset

 # Start checking what to do. Some modules may reset MAINSELECT to run the
 # next item in line.

  if [ "$MAINSELECT" = "HELP" ]; then
    SeTfdHELP
  fi

  if [ "$MAINSELECT" = "KEYMAP" ]; then
    SeTkeymap
    if [ -r $TMP/SeTkeymap ]; then
     MAINSELECT="ADDSWAP" 
    fi
  fi
 
  if [ "$MAINSELECT" = "ADDSWAP" ]; then
    SeTswap
    if [ -r $TMP/SeTswap ]; then
      MAINSELECT="TARGET"
    elif [ -r $TMP/SeTswapskip ]; then
      # Go ahead to TARGET without swap space:
      MAINSELECT="TARGET"
    fi
  fi

  if [ "$MAINSELECT" = "TARGET" ]; then
    if [ -r $TMP/SeTnative ]; then
dialog --title "`gettext "TARGET PARTITIONS ALREADY CONFIGURED"`" --msgbox "`gettext "
You have already configured the target partitions, where the system will be installed.

Press ENTER to return to the main menu."`" 0 0
      continue
    fi      
    SeTpartitions
    SeTEFI
    SeTDOS
    if [ -r $TMP/SeTnative ]; then
      if [ ! -r $TMP/SeTsource ]; then
        MAINSELECT="SOURCE"
      else
        MAINSELECT="INSTALL"
      fi
    fi
  fi

  if [ "$MAINSELECT" = "SOURCE" ]; then
    if [ -r $TMP/SeTsource ]; then
dialog --title "`gettext "SOURCE OF PACKAGES ALREADY CHOSEN"`" --msgbox "`gettext "
You have already chosen the source of packages.

Press ENTER to return to the main menu."`" 0 0
      continue
    fi      
    SeTmedia
    if [ -r $TMP/SeTsource ]; then
      INSTALL_PATH=$(<$TMP/SeTDS)
      SLINTVERSION=$(sed -n "s/Slint version: //p" /.target)
      SFX=$(sed -n "s/System: //p" /.target)
      if [ ! -f $INSTALL_PATH/slint/DONOTREMOVEME.TXT ]  || \
      ! grep "^Slint version: ${SLINTVERSION}$" $INSTALL_PATH/slint/DONOTREMOVEME.TXT 1>/dev/null || \
      ! grep "^System: ${SFX}$" $INSTALL_PATH/slint/DONOTREMOVEME.TXT 1>/dev/null; then
        dialog --title "`gettext "SOURCE PACKAGES INAPPROPRIATE"`" \
         --msgbox "`eval_gettext "Either the source packages are inappropriate for the target system:
Slint version \\\$SLINTVERSION (\\\${SFX}-bit)
or the file \\\$INSTALL_PATH/slint/DONOTREMOVEME.TXT is missing.
Please try again to set the source of packages"`" 0 0
      fi
    fi
    if [ -r $TMP/SeTnative ]; then
      MAINSELECT="INSTALL"
    fi
  fi

  if [ "$MAINSELECT" = "INSTALL" ]; then
    if [ ! -r $TMP/SeTsource -o ! -r $TMP/SeTnative ]; then
      dialog --title "`gettext "CANNOT INSTALL SOFTWARE YET"`" --msgbox "`gettext "
Before you can install software, complete the following tasks:

1. Select your source media.
2. Set up your target Linux partition(s).

You may also optionally remap your keyboard and set up your \
swap partition(s).

Press ENTER to return to the main menu."`" 0 0
      continue
    fi
    dialog --title "`gettext "READY TO INSTALL THE PACKAGES?"`" \
    --yesno "`gettext "Please confirm that you want to install \
the packages."`" 0 0
    if [ $? = 0 ]; then
      dialog --title "`gettext "INSTALL KDE PACKAGES?"`" \
       --yesno "`gettext "Do you want to install the KDE packages?"`" 0 0
       export installkde="$?"
       MAINSELECT="INSTALL"
    else
      continue
    fi
    SOURCE_DEVICE="`cat $TMP/SeTsource`"
    setterm -background blue -foreground white -blank 0
    clear
    echo
    gettext "A one-line description will be displayed as each package is installed."
    echo
    INSTALL_PATH=$(<$TMP/SeTDS)
    if [ -r $TMP/SeTCDdev ]; then # only try to remount media if it's a CD/DVD
      slackinstall --device `cat $TMP/SeTCDdev` --srcpath $INSTALL_PATH --mountpoint /var/log/mount --target $T_PX
    else
      slackinstall --device noremount --srcpath $INSTALL_PATH --mountpoint /var/log/mount --target $T_PX
    fi
    # we make some adjustments after all packages but the locales
    # have been installed, mostly setting which daemons should be
    # started by default in the installed system.  
    zzz-settings
    # Let's pause a moment and then restore the terminal settings
    sleep 1
    setterm -background default -foreground default -blank 0 
    if grep -q "brltty=" /proc/cmdline ; then
      # If a Braille display was set up in the command line, lets'
      # convey these settings in the installed system.
      sh /usr/lib/setup/bp2cf -u -p "$brltty" -f $T_PX/etc/brltty.conf
    fi
    # We will start brltty by default on the installed system.
    # TODO: find a way to know if a Braille device was used during
    # installation and only then start it by default.
    chmod 0755 $T_PX/etc/rc.d/rc.brltty
    MAINSELECT="CONFIGURE"
  fi
  # end of INSTALL
  if [ "$MAINSELECT" = "CONFIGURE" ]; then
    if ! grep -q aaa_base $T_PX/var/log/packages/* ; then
       dialog --title "`gettext "SYSTEM NOT YET INSTALLED"`" \
       --msgbox "`gettext "You need to install the packages before configuring \
the system.

Please press ENTER to return to the main menu."`" 0 0
       continue
    fi
    SeTconfig
    REPLACE_FSTAB=Y
    if [ -r $TMP/SeTnative ]; then
      if [ -r $T_PX/etc/fstab ]; then
        dialog --title "`gettext "REPLACE /etc/fstab?"`" --yesno "`gettext "You already have an \
/etc/fstab on your install partition.  If you were just adding software, \
you should probably keep your old /etc/fstab.  If you've changed your \
partitioning scheme, you should use the new /etc/fstab.  Do you want \
to replace your old /etc/fstab with the new one?"`" 10 80
        if [ ! $? = 0 ]; then
          REPLACE_FSTAB=N
        fi
      fi
      if [ "$REPLACE_FSTAB" = "Y" ]; then
        cat /dev/null > $T_PX/etc/fstab
        if [ -r $TMP/SeTswap ]; then
          cat $TMP/SeTswap > $T_PX/etc/fstab
        fi
        cat $TMP/SeTnative >> $T_PX/etc/fstab
        if [ -r $TMP/SeTDOS ]; then
          cat $TMP/SeTDOS >> $T_PX/etc/fstab
        fi
        printf "%-16s %-16s %-11s %-16s %-3s %s\n" "#/dev/cdrom" "/mnt/cdrom" "auto" "noauto,owner,ro,comment=x-gvfs-show" "0" "0" >> $T_PX/etc/fstab
        printf "%-16s %-16s %-11s %-16s %-3s %s\n" "/dev/fd0" "/mnt/floppy" "auto" "noauto,owner" "0" "0" >> $T_PX/etc/fstab
        printf "%-16s %-16s %-11s %-16s %-3s %s\n" "devpts" "/dev/pts" "devpts" "gid=5,mode=620" "0" "0" >> $T_PX/etc/fstab
        printf "%-16s %-16s %-11s %-16s %-3s %s\n" "proc" "/proc" "proc" "defaults" "0" "0" >> $T_PX/etc/fstab
        printf "%-16s %-16s %-11s %-16s %-3s %s\n" "tmpfs" "/dev/shm" "tmpfs" "defaults" "0" "0" >> $T_PX/etc/fstab
      fi
    fi
    # We now set the locale that will be set in the installed system,
    # then install the packages and make the settings that depend on it.
    if echo $LOCALES|grep -q " $LANG " && [ "$LANG" != "en_US.utf8" ]; then
      chroot $T_PX /usr/sbin/localesetup $LANG 1>/dev/null
    else
      chroot $T_PX /usr/sbin/localesetup
    fi
    InstalledLang=$(sed -n "/^export LANG=/s/.*=\(.*\)/\1/p" $T_PX/etc/profile.d/lang.sh)
    ll_TT=${InstalledLang%.*}
    SeTlocales
    # Now let's install the packages that fit the locale used during
    # installation.
    # The locale is $lANG if one of those for which a translation is
    # shipped in the installler is used, else the one chosen through the
    # localsetup utility.
    # lo, kde, cgr, asp are set in SeTlocales
    # We won't attempt to install packages if INSTALL_PATH is not set as
    # that would mean that the installer was run without setting the
    # source of packages, maybe to reinstall a boot loader, whatever.
    if [ "$INSTALL_PATH" != "" ]; then
      dialog --infobox "`gettext "Installing translations..."`" 0 0
      package=$(find $INSTALL_PATH -name libreoffice-l10n-${lo}-*t?z)
      if [ "$package" != "" ]; then
        spkg -i --root=$T_PX -qq --no-ldconfig --no-gtk-update-icon-cache $package
      fi
      package=$(find $INSTALL_PATH -name libreoffice-help-${lo}-*t?z)
      if [ "$package" != "" ]; then
        spkg -i --root=$T_PX -qq --no-ldconfig --no-gtk-update-icon-cache $package
      fi
      package=$(find $INSTALL_PATH -name kde-l10n-${kde}-*t?z)
      if [ "$package" != "" ]  && [ "$installkde" = "0" ]; then
        spkg -i --root=$T_PX -qq --no-ldconfig --no-gtk-update-icon-cache $package
      fi
      package=$(find $INSTALL_PATH -name calligra-l10n-${cgr}-*t?z)
      if [ "$package" != "" ]  && [ "$installkde" = "0" ]; then
        spkg -i --root=$T_PX -qq --no-ldconfig --no-gtk-update-icon-cache $package
      fi
      package=$(find $INSTALL_PATH -name aspell-${asp}-*t?z)
      if [ "$package" != "" ]; then
        spkg -i --root=$T_PX -qq --no-ldconfig --no-gtk-update-icon-cache $package
      fi
    fi
	chroot $T_PX /usr/sbin/update-all
    MAINSELECT=EXIT
  fi
  # End of CONFIGURE
  if [ "$MAINSELECT" = "EXIT" ]; then
    break
  fi
done # end of main loop
sync

chmod 755 $T_PX
if [ -d $T_PX/tmp ]; then
 chmod 1777 $T_PX/tmp
fi
if mount | grep /var/log/mntiso 1> /dev/null 2> /dev/null ; then
 umount -f /var/log/mntiso
fi
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then
 umount /var/log/mount
fi
# Anything mounted on /var/log/mount now is a fatal error:
if mount | grep /var/log/mount 1> /dev/null 2> /dev/null ; then
  exit
fi
# If the mount table is corrupt, the above might not do it, so we will
# try to detect Linux and FAT32 partitions that have slipped by:
if [ -d /var/log/mount/lost+found -o -d /var/log/mount/recycled \
     -o -r /var/log/mount/io.sys ]; then
  exit
fi
rm -f /var/log/mount 2> /dev/null
rmdir /var/log/mount 2> /dev/null
mkdir /var/log/mount 2> /dev/null
chmod 755 /var/log/mount

# An fstab file is indicative of an OS installation, rather than
# just loading the "setup" script and selecting "EXIT"
if [ -f /mnt/etc/fstab ]; then
  # umount CD:
  if [ -r $TMP/SeTCDdev ]; then
    if mount | grep iso9660 > /dev/null 2> /dev/null ; then
      umount `mount | grep iso9660 | cut -f 1 -d ' '`
    fi
    eject -s `cat $TMP/SeTCDdev`
    # Tell the user to remove the disc, if one had previously been mounted
    # (it should now be ejected):
    dialog \
     --clear \
     --title "`gettext "Slint Linux Setup is complete"`" $@ \
     --msgbox "`gettext "
 Please remove the installation disc.
 "`" 0 0
  fi
  # Offer to reboot or drop to shell:
  dialog \
     --title "`gettext "Slint Linux Setup is complete"`" $@ \
     --yesno \
     "`gettext "
Would you like to reboot your system?

If you choose \"No\", you will be dropped to a shell.
"`" 0 0
  retval=$?
  if [ $retval = 1 ]; then
    clear
    echo
    gettext "You may now reboot your system once you are ready.
You can issue the 'reboot' command; or if your system has
a keyboard attached, you can use the key combination: control+alt+delete
"
    echo
  else
    touch /reboot
  fi
fi


# Fix the date:
/sbin/fixdate

# final cleanup
rm -f $TMP/SeT* $TMP/tar-error $TMP/PKGTOOL_REMOVED
rm -f /var/log/mount/treecache
rmdir /var/log/mntiso 2>/dev/null
rm -rf $TMP/treecache
rm -rf $TMP/pkgcache
rmdir /mnt/tmp/orbit-root 2> /dev/null

# If the OS had been installed and the user elected to reboot:
if [ -f /reboot ]; then
   clear
   gettext "** Starting reboot **"
   echo
   sleep 1
   reboot
fi

# end Slint setup script
_______________________________________________
Blinux-list mailing list
Blinux-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/blinux-list

[Index of Archives]     [Linux Speakup]     [Fedora]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]