So this patch adds help texts to the remaining Anaconda options. Again the help texts mostly come from the Wiki with various fixes but there also some based on independent research such as the help text for mpathfriendlynames.
All in all before I started cleaning up and documenting the options, there were 57 of them. Now after the cleanup there are 45 options and all of them have a proper help text. :)
Next on the line is grouping the options to common, CLI-only and boot only Argparse groups and figuring out what is the best way to generate the Wiki (and a man page) from the boot option texts.
Martin Kolman (1): Add help texts for the remaining Anaconda options
anaconda | 32 ++++++++++++++++++++------------ data/anaconda_options.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 12 deletions(-)
--cmdline, --graphical, --text, --proxy, --debug, --kickstart, --rescue, --armplatform, --multilib, --geoloc and --mpathfriendlynames now have help texts.
Signed-off-by: Martin Kolman mkolman@redhat.com --- anaconda | 32 ++++++++++++++++++++------------ data/anaconda_options.txt | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 12 deletions(-)
diff --git a/anaconda b/anaconda index a725e09..b07f43b 100755 --- a/anaconda +++ b/anaconda @@ -263,20 +263,27 @@ def parseArguments(argv=None, boot_cmdline=None):
# Interface ap.add_argument("-C", "--cmdline", dest="display_mode", action="store_const", const="c", - default="g") - ap.add_argument("-G", "--graphical", dest="display_mode", action="store_const", const="g") - ap.add_argument("-T", "--text", dest="display_mode", action="store_const", const="t") + default="g", help=help_parser.help_text("cmdline")) + ap.add_argument("-G", "--graphical", dest="display_mode", action="store_const", const="g", + help=help_parser.help_text("graphical")) + ap.add_argument("-T", "--text", dest="display_mode", action="store_const", const="t", + help=help_parser.help_text("text"))
# Network - ap.add_argument("--proxy") + ap.add_argument("--proxy", metavar='PROXY_URL', help=help_parser.help_text("proxy"))
# Method of operation - ap.add_argument("-d", "--debug", dest="debug", action="store_true", default=False) - ap.add_argument("--ks", dest="ksfile", action="store_const", const="/run/install/ks.cfg") - ap.add_argument("--kickstart", dest="ksfile") - ap.add_argument("--rescue", dest="rescue", action="store_true", default=False) - ap.add_argument("--armplatform", dest="armPlatform", type=str) - ap.add_argument("--multilib", dest="multiLib", action="store_true", default=False) + ap.add_argument("-d", "--debug", dest="debug", action="store_true", + default=False, help=help_parser.help_text("debug")) + ap.add_argument("--ks", "--kickstart", dest="ksfile", action="store_const", + metavar="KICKSTART_URL", const="/run/install/ks.cfg", + help=help_parser.help_text("kickstart")) + ap.add_argument("--rescue", dest="rescue", action="store_true", default=False, + help=help_parser.help_text("rescue")) + ap.add_argument("--armplatform", dest="armPlatform", type=str, metavar="PLATFORM_ID", + help=help_parser.help_text("armplatform")) + ap.add_argument("--multilib", dest="multiLib", action="store_true", default=False, + help=help_parser.help_text("multilib"))
ap.add_argument("-m", "--method", dest="method", default=None, metavar="METHOD", help=help_parser.help_text("method")) @@ -329,7 +336,7 @@ def parseArguments(argv=None, boot_cmdline=None): ap.add_argument("--ibft", action="store_true", help=help_parser.help_text("ibft"))
# Geolocation - ap.add_argument("--geoloc") + ap.add_argument("--geoloc", metavar="PROVIDER_ID", help=help_parser.help_text("geoloc"))
# Miscellaneous ap.add_argument("--nomount", dest="rescue_nomount", action="store_true", default=False, @@ -352,7 +359,8 @@ def parseArguments(argv=None, boot_cmdline=None): help=help_parser.help_text("extlinux")) ap.add_argument("--dnf", action="store_true", default=False, help=help_parser.help_text("dnf")) - ap.add_argument("--mpathfriendlynames", action="store_true", default=True) + ap.add_argument("--mpathfriendlynames", action="store_true", default=True, + help=help_parser.help_text("mpathfriendlynames"))
# some defaults change based on cmdline flags if boot_cmdline is not None: diff --git a/data/anaconda_options.txt b/data/anaconda_options.txt index b2c83b8..3476341 100644 --- a/data/anaconda_options.txt +++ b/data/anaconda_options.txt @@ -1,3 +1,39 @@ +cmdline +Force command line installation mode. This mode simply prints out text and does not allow any interactivity. +All options must be specified either in a kickstart file or on the command line. + +graphical +Force graphical installation. A graphical installation implies that the installed system will +boot up into graphical.target, using whichever display manager is in use by the default desktop +(gdm for GNOME, kdm for KDE). + +text +Force text mode installation. This will install only base packages for a minimal system and implies +that the installed system will boot up in text mode instead of to the graphical login screen. + +proxy +Use the given proxy settings when performing an installation from a HTTP/HTTPS/FTP source. +The PROXY_URL can be specified like this: [PROTOCOL://][USERNAME[:PASSWORD]@]HOST[:PORT] + +debug +Show debug level messages in the log watching consoles. +This basically a shortcut for for loglevel=debug. + +kickstart +Gives the location of the kickstart file to be used for installation. The KICKSTART_URL +supports fetching kickstarts from HTTP/S, FTP, NFS, from a local file, from a local +harddrive, from an optical disk and from BIOS RAID sets. For details on the KICKSTART_URL +syntax see the Anaconda options wiki page: http://fedoraproject.org/wiki/Anaconda_Boot_Options + +rescue +Start the rescue environment instead of installation. + +armplatform +Can be used to specify the ARM platform for the installation by passing the appropriate PLATFORM_ID. + +multilib +Enable yum's multlib_policy of "all" instead of the default of "best". + method This option is deprecated in favor of the repo option. For now, it does the same thing as repo, but will be removed in the future. @@ -110,6 +146,11 @@ Disable iBFT usage during the installation. ibft Enable iBFT (iSCSI Boot Firmware Table) usage during the installation (default).
+geoloc +Configure geolocation usage in Anaconda. Geolocation is used to pre-set language and time zone. +The following values for PROVIDER_ID are supported: 0 - disable geolocation, "provider_fedora_geoip" +- use the Fedora GeoIP API (default) and "provider_hostip" - use the Hostip.info GeoIP API. + nomount Don't automatically mount any installed Linux partitions in rescue mode.
@@ -171,3 +212,7 @@ dnf Use the experimental DNF package management backend instead of the YUM backend that is used by default. For more information about the DNF project see: http://dnf.baseurl.org + +mpathfriendlynames +Tell multipathd to use user friendly names when naming devices during the installation. +See the multipathd documentation for more info.
On Wed, Jun 25, 2014 at 04:22:55PM +0200, Martin Kolman wrote:
diff --git a/data/anaconda_options.txt b/data/anaconda_options.txt index b2c83b8..3476341 100644 --- a/data/anaconda_options.txt +++ b/data/anaconda_options.txt @@ -1,3 +1,39 @@ +cmdline +Force command line installation mode. This mode simply prints out text and does not allow any interactivity. +All options must be specified either in a kickstart file or on the command line.
It should also include that in text mode it will raise a CmdlineError if there are incomplete spokes.
+graphical +Force graphical installation. A graphical installation implies that the installed system will +boot up into graphical.target, using whichever display manager is in use by the default desktop +(gdm for GNOME, kdm for KDE).
+text +Force text mode installation. This will install only base packages for a minimal system and implies +that the installed system will boot up in text mode instead of to the graphical login screen.
text doesn't force a minimal install when used with a kickstart so we may want to make that distinction.
Looks good other than that, thanks for doing all this!
On Wed, 2014-06-25 at 10:05 -0700, Brian C. Lane wrote:
On Wed, Jun 25, 2014 at 04:22:55PM +0200, Martin Kolman wrote:
diff --git a/data/anaconda_options.txt b/data/anaconda_options.txt index b2c83b8..3476341 100644 --- a/data/anaconda_options.txt +++ b/data/anaconda_options.txt @@ -1,3 +1,39 @@ +cmdline +Force command line installation mode. This mode simply prints out text and does not allow any interactivity. +All options must be specified either in a kickstart file or on the command line.
It should also include that in text mode it will raise a CmdlineError if there are incomplete spokes.
+graphical +Force graphical installation. A graphical installation implies that the installed system will +boot up into graphical.target, using whichever display manager is in use by the default desktop +(gdm for GNOME, kdm for KDE).
+text +Force text mode installation. This will install only base packages for a minimal system and implies +that the installed system will boot up in text mode instead of to the graphical login screen.
text doesn't force a minimal install when used with a kickstart so we may want to make that distinction.
text doesn't force minimal install at all. One can e.g. install GNOME Environment with it. So I'd drop that sentence all together.
Otherwise this patch looks good to me. Thanks!
On Wed, 2014-06-25 at 10:05 -0700, Brian C. Lane wrote:
On Wed, Jun 25, 2014 at 04:22:55PM +0200, Martin Kolman wrote:
diff --git a/data/anaconda_options.txt b/data/anaconda_options.txt index b2c83b8..3476341 100644 --- a/data/anaconda_options.txt +++ b/data/anaconda_options.txt @@ -1,3 +1,39 @@ +cmdline +Force command line installation mode. This mode simply prints out text and does not allow any interactivity. +All options must be specified either in a kickstart file or on the command line.
It should also include that in text mode it will raise a CmdlineError if there are incomplete spokes.
OK, fixing locally.
If you specify just cmdline and nothing else TUI will start and either proceed or end with the "you forgot to configure something that is required error".
I have also tried to specify both "cmdline" and "graphical" to see what happens and it looks like there is some room for improvement (all these examples have nokill in the boot options):
With kickstart * if you specify first "graphical" and then "cmdline" the command line installation will start in TUI * if you specify first "cmdline" and then "graphical" the command line installation will proceed in the GUI.
Without kickstart * "graphical cmdline" -> command line install in TUI * "cmdline graphical" -> command line install in GUI that freezes on the Welcome spoke if something is not set :)
So basically it looks like the classical "last one in wins" ordered boot option parsing issue is showing up when both cmdline and graphical are used in the same boot command line.
As for the GUI freezing - Anaconda is probably doing the same thing as in TUI, which means printing an error message on TTY1 and then killing itself, leaving user unable to actually switch to TTY1 and see the error.
+graphical +Force graphical installation. A graphical installation implies that the installed system will +boot up into graphical.target, using whichever display manager is in use by the default desktop +(gdm for GNOME, kdm for KDE).
+text +Force text mode installation. This will install only base packages for a minimal system and implies +that the installed system will boot up in text mode instead of to the graphical login screen.
text doesn't force a minimal install when used with a kickstart so we may want to make that distinction.
Oh right, we now have the environment selector - fixing locally.
Looks good other than that, thanks for doing all this!
Thanks! :)
anaconda-patches@lists.fedorahosted.org