[rhel7/f20/master 1/2] No longer install anaconda user documentation (#831512)
by Anne Mulhern
Related: rhbz#831512
The current anaconda install puts some user documentation files in
/usr/share/doc/anaconda-<version>. The documents are now omitted from
the installation, because anaconda isn't your typical user program.
It seems more appropriate
to make that documentation available in the official docs and not
dependent on the install for users who are in the process of installing.
The ultimate goal is to make all user documents available externally
in the most official documentation that it is sensible to put it and use
the docs directory for developer documents.
Previously command-line.txt was
downloaded from the wiki as part of the build process,
but the page has moved so instead of a useful
document you get a 301 html page. Now, nothing is downloaded.
boot-options.html can be generated from boot-options.txt using asciidoc.
This is not made part of the build process because the ultimate goal is
to no longer maintain boot-options.txt and to have all that information
incorporated in the install guide instead.
Since command-line.txt will not be downloaded any more, it is removed from
cleans and ignores as appropriate.
install-methods.txt has been obsoleted and is removed.
Signed-off-by: mulhern <amulhern(a)redhat.com>
---
anaconda.spec.in | 3 --
docs/.gitignore | 1 -
docs/Makefile.am | 9 ++--
docs/install-methods.txt | 137 -----------------------------------------------
4 files changed, 3 insertions(+), 147 deletions(-)
delete mode 100644 docs/install-methods.txt
diff --git a/anaconda.spec.in b/anaconda.spec.in
index 1f67680..ccb4826 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -212,9 +212,6 @@ update-desktop-database &> /dev/null || :
%files -f %{name}.lang
%doc COPYING
-%doc docs/command-line.txt
-%doc docs/install-methods.txt
-%doc docs/mediacheck.txt
%{_unitdir}/*
%{_prefix}/lib/systemd/system-generators/*
%{_bindir}/instperf
diff --git a/docs/.gitignore b/docs/.gitignore
index 6374628..278bdab 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1,3 +1,2 @@
api
-command-line.*
kickstart-docs.*
diff --git a/docs/Makefile.am b/docs/Makefile.am
index aef2d5d..cbf244a 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -17,13 +17,10 @@
#
# Author: David Cantrell <dcantrell(a)redhat.com>
-EXTRA_DIST = install-methods.txt mediacheck.txt \
+EXTRA_DIST = boot-options.txt mediacheck.txt \
lvm_sanity_checks.txt rescue-mode api.cfg making-screenshots \
- threads.txt command-line.txt gettext.txt transifex.txt
+ threads.txt gettext.txt transifex.txt
CLEANFILES = api *.xml
-MAINTAINERCLEANFILES = Makefile.in command-line.txt
-
-command-line.txt:
- curl -4 -A "anaconda-build" -o command-line.txt "http://fedoraproject.org/w/index.php?title=Anaconda_Boot_Options&action=raw"
+MAINTAINERCLEANFILES = Makefile.in
diff --git a/docs/install-methods.txt b/docs/install-methods.txt
deleted file mode 100644
index b630946..0000000
--- a/docs/install-methods.txt
+++ /dev/null
@@ -1,137 +0,0 @@
-11-07-2006
-----------
-
-Contents
---------
-
- 1) Description of install methods
- 2) Extra notes on install methods
-
-1)Description of Anaconda Install Methods (and ways of updating it)
--------------------------------------------------------------------
-
-Notes:
-------------
-
- - "fully exploded tree" - this is a tree which in the root has every
- directory with .rpm files from every CD image merged into one directory
- with the same name.
- (So everything from cd's Client directories goes to Client directory and
- likewise for Server, VT, Workstation ... dirs)
-
- - "ISO" - the ISO image for a CD image.
-
- - "anaconda updates" - patches for anaconda to fix bugs/etc.
-
- - "anaconda updates=[http://url|ftp://url]" - patches for anaconda to fix
- bugs/etc. that can be downloaded from the specified remote location.
- The image is the same format as an updates.img as specified below.
-
- - all paths without a leading '/' are relative to directory specified
- to installer containing install source.
-
- - 'updates.img' is a ext2 filesystem containing the updated python
- sources and modules for anaconda.
-
-Current Installation Methods:
------------------------------
-
-- CDROM / DVD
--------------
-
- Summary:
- This is pretty self-explanatory. Mounts the disc and installs packages,
- prompts user to switch discs when the next disc is required.
-
- Update Options:
- - floppy or USB key drive.
- - 'updates.img' file in 'images/' directory of disc #1 image.
- - remote updates.img downloaded via FTP or HTTP.
-
-- NFS (from a fully exploded tree)
-----------------------------------
-
- Summary:
- Mounts directory from NFS server.
-
- Update Options:
- - floppy or USB key drive.
- - 'updates.img' file in 'images/' directory.
- - remote updates.img downloaded via FTP or HTTP.
-
-- NFS (from a directory of ISOs)
---------------------------------
-
- Summary:
- Loopback mounts ISO images from NFS server.
-
- Update Options:
- - floppy or USB key drive.
- - 'updates.img' file in 'images/' directory.
- - remote updates.img downloaded via FTP or HTTP.
-
-- FTP/HTTP (from a fully exploded tree)
----------------------------------------
-
- Summary:
- Pulls files from tree via FTP or HTTP.
-
- Update Options:
- - floppy or USB key drive.
- - 'updates.img' file in 'images/' directory.
- - remote updates.img downloaded via FTP or HTTP.
-
-- FTP/HTTP (from a directory of loopback-mounted ISOs)
-------------------------------------------------------
-
- Summary:
- Pulls files from tree via FTP or HTTP. Looks in 'disc1/' directory
- to contain files from disc #1, 'disc2/' for disc #2, etc. These can be
- created on the server by loopback mounting the ISO images into these
- directories under the directory made available to ftp.
-
- Update Options:
- - floppy or USB key drive.
- - 'updates.img' file in 'images/' directory in ISO image for disc #1.
- - remote updates.img downloaded via FTP or HTTP.
-
-Hard Drive from ISOs
---------------------
-
- Summary:
- Similar to NFS ISO-based method - loopback mounts ISOs in directory
- specified by user. The ISOs must be on an ext2 or vfat partition,
- not a logical volume.
-
- Update Options:
- - floppy or USB key drive.
- - 'updates.img' file in 'images/' directory of ISO image for CD #1.
- - remote updates.img downloaded via FTP or HTTP.
-
-
-2)Extra Notes:
---------------
-
- By default NFS, harddrive, and CDROM/DVD-based installs are graphical,
-unless the 'text' option is passed on the boot command line.
-
- FTP and HTTP are text-based, unless 'graphical' is passed on the command
-line. For a graphical FTP or HTTP install to occur, one of the following
-must be true:
-
- - the file 'RedHat/base/stage2.img' must exist on the install server. In
- this case this file is downloaded int RAM, taking about 64MB to store.
- It is recommended to only use this option on machines with more than
- 192MB of RAM.
-
- or:
-
- - the rescue CD is in the CD drive, in which case the stage2.img file
- will be mounted from the rescue CD. The packages will still be
- downloaded from the FTP/HTTP server. No additional memory is required
- because the second stage of the installer is mounted from the CD.
-
- You can also specify 'graphical' or 'text' as kickstart directives in
-the kickstart config file you use, and this has the same affect as if you
-put the directive on the boot command line.
-
--
1.8.3.1
10 years, 6 months
[PATCH] network gui: add apply tooltip to Configure button (#1018471)
by Radek Vykydal
I hope the tooltip_text says it, and I'm open to better wordings.
See https://bugzilla.redhat.com/show_bug.cgi?id=1018471#c3 for more info.
---
pyanaconda/ui/gui/spokes/network.glade | 1 +
1 file changed, 1 insertion(+)
diff --git a/pyanaconda/ui/gui/spokes/network.glade b/pyanaconda/ui/gui/spokes/network.glade
index f0a945d..5e69d55 100644
--- a/pyanaconda/ui/gui/spokes/network.glade
+++ b/pyanaconda/ui/gui/spokes/network.glade
@@ -806,6 +806,7 @@ updates available for you.</property>
<property name="label" translatable="yes">C_onfigure...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">To apply the configuration in installer turn the device off and on.</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
<property name="valign">end</property>
--
1.7.11.7
10 years, 6 months
[PATCH master] Pass biosdevname boot option to installed system (#1023609)
by Radek Vykydal
I'd like to have it in F20, perhaps post Beta, we'll see.
---
pyanaconda/bootloader.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
index 70c8c40..51f7f24 100644
--- a/pyanaconda/bootloader.py
+++ b/pyanaconda/bootloader.py
@@ -246,7 +246,7 @@ class BootLoader(object):
global_preserve_args = ["speakup_synth", "apic", "noapic", "apm", "ide",
"noht", "acpi", "video", "pci", "nodmraid",
"nompath", "nomodeset", "noiswmd", "fips",
- "selinux"]
+ "selinux", "biosdevname"]
preserve_args = []
_trusted_boot = False
--
1.7.11.7
10 years, 6 months
[master/rhel7] Show last 4 bytes of wwid (#1024966)
by Brian C. Lane
From: Jan Stodola <jstodola(a)redhat.com>
It was dropping the lsb, which may be the unique part of the wwid.
Resolves: rhbz#1024966
Signed-off-by: Brian C. Lane <bcl(a)redhat.com>
---
pyanaconda/ui/gui/spokes/storage.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py
index fc5a7aa..b70331f 100644
--- a/pyanaconda/ui/gui/spokes/storage.py
+++ b/pyanaconda/ui/gui/spokes/storage.py
@@ -629,7 +629,7 @@ class StorageSpoke(NormalSpoke, StorageChecker):
# That makes the DO way too wide.
if isinstance(disk, MultipathDevice):
desc = disk.wwid.split(":")
- description = ":".join(desc[0:3]) + "..." + ":".join(desc[-5:-1])
+ description = ":".join(desc[0:3]) + "..." + ":".join(desc[-4:])
else:
description = disk.description
--
1.8.3.1
10 years, 6 months
[rhel7-branch] Display a EULA-related warning on the progress hub at the end of installation. Related: rhbz#909309
by Chris Lumens
---
pyanaconda/ui/gui/hubs/progress.glade | 2 ++
pyanaconda/ui/gui/hubs/progress.py | 18 ++++++++++--------
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/pyanaconda/ui/gui/hubs/progress.glade b/pyanaconda/ui/gui/hubs/progress.glade
index cb52685..e22f7cb 100644
--- a/pyanaconda/ui/gui/hubs/progress.glade
+++ b/pyanaconda/ui/gui/hubs/progress.glade
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.0 on Mon Nov 4 15:14:27 2013 -->
<interface>
<!-- interface-requires gtk+ 3.0 -->
<!-- interface-requires AnacondaWidgets 1.0 -->
@@ -67,6 +68,7 @@
<object class="GtkSpinner" id="progressSpinner">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="no_show_all">True</property>
<property name="active">True</property>
</object>
<packing>
diff --git a/pyanaconda/ui/gui/hubs/progress.py b/pyanaconda/ui/gui/hubs/progress.py
index 3dbed22..f627d71 100644
--- a/pyanaconda/ui/gui/hubs/progress.py
+++ b/pyanaconda/ui/gui/hubs/progress.py
@@ -117,7 +117,6 @@ class ProgressHub(Hub):
return True
-
def _configuration_done(self):
# Configuration done, remove ransom notes timer
# and switch to the Reboot page
@@ -125,11 +124,13 @@ class ProgressHub(Hub):
GLib.source_remove(self._rnotes_id)
self._progressNotebook.set_current_page(1)
+ self.set_warning(_("Use of this product is subject to the license agreement found at /usr/share/doc/redhat-release/EULA"))
+ self.window.show_all()
+
# kickstart install, continue automatically if reboot or shutdown selected
if flags.automatedInstall and self.data.reboot.action in [KS_REBOOT, KS_SHUTDOWN]:
self.continueButton.emit("clicked")
-
def _install_done(self):
# package installation done, check personalization spokes
# and start the configuration step if all is ready
@@ -204,6 +205,9 @@ class ProgressHub(Hub):
self._progressLabel = self.builder.get_object("progressLabel")
self._progressNotebook = self.builder.get_object("progressNotebook")
+ self._spinner = self.builder.get_object("progressSpinner")
+ self._spinner.show()
+
lbl = self.builder.get_object("configurationLabel")
lbl.set_text(lbl.get_text() % productName)
@@ -270,15 +274,13 @@ class ProgressHub(Hub):
@gtk_action_nowait
def _restart_spinner(self):
- spinner = self.builder.get_object("progressSpinner")
- spinner.show()
- spinner.start()
+ self._spinner.show()
+ self._spinner.start()
@gtk_action_nowait
def _progress_bar_complete(self):
self._progressBar.set_fraction(1.0)
self._progressLabel.set_text(_("Complete!"))
- spinner = self.builder.get_object("progressSpinner")
- spinner.stop()
- spinner.hide()
+ self._spinner.stop()
+ self._spinner.hide()
--
1.8.3.1
10 years, 6 months
[rhel7] Install subscription-manager (#1026304)
by Brian C. Lane
From: "Brian C. Lane" <bcl(a)redhat.com>
Only use the product-id plugin.
Resolves: rhbz#1026304
---
share/runtime-cleanup.tmpl | 4 ++++
share/runtime-install.tmpl | 3 +++
2 files changed, 7 insertions(+)
diff --git a/share/runtime-cleanup.tmpl b/share/runtime-cleanup.tmpl
index 52230ef..5e4043a 100644
--- a/share/runtime-cleanup.tmpl
+++ b/share/runtime-cleanup.tmpl
@@ -337,6 +337,10 @@ removefrom ${product.name}-logos /etc/*
removefrom ${product.name}-logos /usr/share/icons/{Bluecurve,oxygen}/*
removefrom ${product.name}-logos /usr/share/{firstboot,gnome-screensaver,kde4,pixmaps}/*
+## RHEL cleanups
+removefrom subscription-manager --allbut /etc/rhsm/* /usr/share/rhsm/* /var/log/rhsm/* \
+ /etc/yum/pluginconf.d/product-id.conf /usr/lib/yum-plugins/product-id.py
+
## cleanup_python_files()
runcmd find ${root} -name "*.pyo" -type f -delete
runcmd find ${root} -name "*.pyc" -type f -exec ln -sf /dev/null {} \;
diff --git a/share/runtime-install.tmpl b/share/runtime-install.tmpl
index 3458cdc..4d9fb43 100644
--- a/share/runtime-install.tmpl
+++ b/share/runtime-install.tmpl
@@ -141,5 +141,8 @@ installpkg gdisk
## yum plugins
installpkg yum-langpacks
+## RHEL packages
+installpkg subscription-manager
+
## actually install all the requested packages
run_pkg_transaction
--
1.8.3.1
10 years, 6 months
[PATCH] Fix the password error for when nothing's in the confirm entry.
by Chris Lumens
---
pyanaconda/ui/gui/spokes/password.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/password.py b/pyanaconda/ui/gui/spokes/password.py
index fa5ef85..5c63e80 100644
--- a/pyanaconda/ui/gui/spokes/password.py
+++ b/pyanaconda/ui/gui/spokes/password.py
@@ -75,8 +75,6 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke):
# click Done twice check.
self._pwStrengthCheck = self.add_check(self.pw, self._checkPasswordStrength)
- self.add_check(self.confirm, self._checkPasswordEmpty)
-
# Counter for the click Done twice check override
self._waivePasswordClicks = 0
@@ -170,7 +168,7 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke):
# Skip the check if no password is required
if (not pw and not confirm) and self._kickstarted:
result = GUICheck.CHECK_OK
- elif confirm and (pw != confirm):
+ elif not confirm or (confirm and pw != confirm):
result = _(PASSWORD_CONFIRM_ERROR_GUI)
else:
result = GUICheck.CHECK_OK
--
1.8.3.1
10 years, 6 months
[master/rhel7-branch] A bit controversial one for the MountpointSelectors' usage
by Vratislav Podzimek
The following patch fixes the bug #975838 by moving the focus changes handling
from the MountpointSelector widget to the Page and spoke it appears in,
respectively. The controversy lies in making the MountpointSelector's behaviour
relying on the widget it is placed into. The MounpointSelector widget per se no
longer handles focus changes correctly and it looks like being selected/chosen
even if it loses focus. However, this is what we want -- to keep it look like
that when user clicks to the right part of the screen to change parameters of
the mount point being chosen. And since I doubt anybody will reuse the
MountpointSelector as a standalone widget without the Page and the Accordion I
think this change could be done.
I've recorded a video preview [1] showing the functionality with this patch
applied.
[1] http://vpodzime.fedorapeople.org/MountpointSelector_focus.webm
Let me know if I should add more comments to some places.
Vratislav Podzimek (1):
Handle focus changes of MountpointSelectors from outside (#975838)
pyanaconda/ui/gui/spokes/custom.py | 2 ++
pyanaconda/ui/gui/spokes/lib/accordion.py | 6 ++++++
widgets/src/MountpointSelector.c | 31 ++++++++-----------------------
3 files changed, 16 insertions(+), 23 deletions(-)
--
1.7.11.7
10 years, 6 months
[master/rhel7-branch][PATCH] Make network-fetcheddriver disk .iso files work (#1003595)
by Vratislav Podzimek
If a URL to an .iso file is specified as a driverdisk, we should fetch it and
then consider it a driverdisk device. That way it is mounted and searched
through as any other driverdisk device.
Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
---
dracut/driver-updates | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dracut/driver-updates b/dracut/driver-updates
index 1800087..685012d 100755
--- a/dracut/driver-updates
+++ b/dracut/driver-updates
@@ -41,6 +41,7 @@ import sys
import os
import subprocess
import time
+import glob
log = logging.getLogger("DD")
@@ -529,6 +530,10 @@ def network_driver(dd_path):
skip_dds = set(oemdrv_list())
log.info("Processing Network Drivers from %s" % dd_path)
+ isos = glob.glob(dd_path + "*.iso")
+ for iso in isos:
+ select_dd(iso)
+
process_dd(dd_path)
# TODO: May need to add new drivers to /tmp/dd_modules to prevent them from being unloaded
--
1.7.11.7
10 years, 6 months
[PATCH master] network: do not crash when device for network --device is not found (#1023829)
by Radek Vykydal
Resolves: rhbz#1023829
---
pyanaconda/network.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
index 2026ce2..0cb9dcb 100644
--- a/pyanaconda/network.py
+++ b/pyanaconda/network.py
@@ -1082,7 +1082,7 @@ def setOnboot(ksdata):
else:
devname = get_device_name(network_data.device)
if not devname:
- log.warning("Kickstart: The provided network interface %s does not exist" % network_data.device)
+ log.warning("network: set ONBOOT: --device %s does not exist" % network_data.device)
continue
updated_devices.append(devname)
@@ -1103,8 +1103,11 @@ def apply_kickstart_from_pre_section(ksdata):
# get device name for device specified by MAC, link, bootif, etc...
dev_name = ks_spec_to_device_name(network_data.device)
- if not dev_name:
- log.error("Kickstart: The provided network interface %s does not exist" % network_data.device)
+ if (not dev_name
+ or (dev_name not in nm.nm_devices()
+ and not network_data.vlanid
+ and not network_data.bondslaves)):
+ log.error("network: pre kickstart: --device %s does not exist" % network_data.device)
continue
if network_data.vlanid:
--
1.7.11.7
10 years, 6 months