Re: [PATCH] Run firstaidkit-qs script instead of the shell (shows rescue menu) (#508512)

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

 



The second bug which is fixed by this is also improvement of the user experience.. #440327
Martin

----- "Martin Sivak" <msivak@xxxxxxxxxx> wrote:

> ---
>  rescue.py            |   25 ++++++++++++++++++++++++-
>  scripts/upd-instroot |    4 +++-
>  2 files changed, 27 insertions(+), 2 deletions(-)
> 
> diff --git a/rescue.py b/rescue.py
> index 665c56c..ba8455c 100644
> --- a/rescue.py
> +++ b/rescue.py
> @@ -34,6 +34,7 @@ import iutil
>  import shutil
>  import time
>  import network
> +import subprocess
>  
>  import gettext
>  _ = lambda x: gettext.ldgettext("anaconda", x)
> @@ -128,6 +129,22 @@ def makeMtab(instPath, fsset):
>      finally:
>          f.close()
>  
> +def makeFStab(instPath = ""):
> +    if os.access("/etc/mtab", os.R_OK):
> +        f = open("/etc/mtab" %(instPath,), "r")
> +        buf = f.read()
> +        f.close()
> +    else:
> +        buf = ""
> +
> +    try:
> +        f = open(instPath + "/etc/fstab", "w+")
> +        if buf:
> +            f.write(buf)
> +        f.close()
> +    except IOError, e:
> +        log.info("failed to write /etc/fstab: %s" % e)
> +
>  # make sure they have a resolv.conf in the chroot
>  def makeResolvConf(instPath):
>      if not os.access("/etc/resolv.conf", os.R_OK):
> @@ -183,7 +200,10 @@ def runShell(screen = None, msg=""):
>              "system will reboot."))
>      print
>  
> -    if os.path.exists("/bin/bash"):
> +    if os.path.exists("/usr/bin/firstaidkit-qs") and
> os.path.exists("/usr/bin/dialog"):
> +        proc = subprocess.Popen(["/bin/firstaidkit-qs"])
> +        proc.wait() 
> +    elif os.path.exists("/bin/bash"):
>          iutil.execConsole()
>      else:
>          print(_("Unable to find /bin/sh to execute!  Not starting
> shell"))
> @@ -436,6 +456,9 @@ def runRescue(anaconda, instClass):
>              log.error("error making a resolv.conf: %s" %(e,))
>          msgStr = _("Your system is mounted under the %s directory.")
> % (anaconda.rootPath,)
>  
> +    #create /etc/fstab in ramdisk, so it is easier to work with RO
> mounted filesystems
> +    makeFStab()
> +
>      # run %post if we've mounted everything
>      if anaconda.isKickstart:
>          from kickstart import runPostScripts
> diff --git a/scripts/upd-instroot b/scripts/upd-instroot
> index 8a6ddca..31e5d89 100755
> --- a/scripts/upd-instroot
> +++ b/scripts/upd-instroot
> @@ -235,7 +235,7 @@ PACKAGESRESCUE="bzip2 bzip2-libs dump libidn
>                  modutils mtools mt-st mtr net-tools open
> smartmontools
>                  openssh openssh-clients pciutils rsh traceroute tar
> rsync
>                  device-mapper device-mapper-libs dmraid ntfsprogs
> samba-client
> -                firstaidkit-plugin-all"
> +		firstaidkit firstaidkit-plugin-all dialog"
>  
>  if [ $ARCH = i386 -o $ARCH = i586 -o $ARCH = x86_64 ]; then
>      PACKAGESRESCUE="$PACKAGESRESCUE gpart grub"
> @@ -815,6 +815,8 @@ usr/sbin/smartctl
>  usr/sbin/traceroute
>  usr/$LIBDIR/firstaidkit/plugins/
>  usr/lib/python?.?/site-packages/pyfirstaidkit/
> +usr/bin/dialog
> +usr/bin/firstaidkit-qs
>  EOF
>  
>  if [ $ARCH = i386 -o $ARCH = i586 -o $ARCH = x86_64 ]; then
> -- 
> 1.5.4.3

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux