[anaconda][master][PATCH] Remove the headless Anaconda option
by Martin Kolman
Looks like the headless option might be another dead option (pun intended).
On the wiki it is described as:
"Specify that the machine being installed onto does not have any display hardware, and that anaconda should not probe for it."
But as far as I can tell it does not prevent any display hardware probing and basically works
like yet another "use textmode" switch.
So I would say we can just drop it to simplify the displayMode configuration a bit.
Another option would to make it do the same thing the "text" option does
and document that it is just an alternative name for the "text" option.
Martin Kolman (1):
Remove the headless Anaconda option
anaconda | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
--
1.9.3
9 years, 11 months
[anaconda][master][PATCH 0/3] Use bools for flags and replace some redundant ifs
by Martin Kolman
Misc patches related to how we assign values to flags and the anaconda variables
from options. The main aim is to get rid of using integers in place of booleans and
to dump redundant ifs in favor of direct assignment.
Martin Kolman (3):
Use True/False instead of 1/0 for flags
Replace ifs when assigning option values to flags where possible
Replace redundant ifs with direct assignments to the anaconda
variables
anaconda | 61 +++++++++++++++++------------------------------------
pyanaconda/flags.py | 8 +++----
2 files changed, 23 insertions(+), 46 deletions(-)
--
1.9.3
9 years, 11 months
[blivet:master 00/11] #1109195 related patches
by Anne Mulhern
The first three are utterly trivial.
The fourth is just a tidy up now that I know that all subclasses inherit
skipUnless.
The next three are improvements to testing infrastructure, which I think
should be non-controversial.
Then come the actual fixes. "Fall back to accepting defaults" may be the
right decision or maybe create() should give up after first try.
"Move DevicelibsTestCase" gets it out of the way in case the contents of
our devicelibs subdirectory go away or suffer changes, also, the class
really belongs at the tests top level.
mulhern (11):
Remove some extra imports.
Update BTRFS initializer comments for level type.
Explicitly accept a string as well as a RAIDLevel object.
Move skipUnless decorator to the top level class of skipped classes.
Add num_blocks parameter to makeLoopDev().
Use correct parameters in __init__() in subclasses of
unittest.TestCase.
Make DevicelibsTestCase devices configurable.
Add a test for a btrfs error associated with small devices (#1109195)
Accept None for btrfs raid levels (#1109195)
Fall back to accepting defaults if btrfs creation fails (#1109195)
Move DevicelibsTestCase up to the top level of the testing directory.
blivet/devicelibs/btrfs.py | 12 +++--
blivet/devices.py | 49 ++++++++---------
tests/devicelibs_test/baseclass.py | 77 --------------------------
tests/devicelibs_test/btrfs_test.py | 52 +++++++++++-------
tests/devicelibs_test/crypto_test.py | 29 +++++-----
tests/devicelibs_test/lvm_test.py | 24 ++++-----
tests/devicelibs_test/mdraid_test.py | 21 +++-----
tests/devicelibs_test/swap_test.py | 10 ++--
tests/devices_test.py | 4 --
tests/devicetree_test.py | 2 -
tests/formats_test/fslabeling.py | 46 +++++-----------
tests/formats_test/labeling_test.py | 18 ++-----
tests/formats_test/selinux_test.py | 17 +++---
tests/imagebackedtestcase.py | 1 +
tests/loopbacktestcase.py | 102 +++++++++++++++++++++++++++++++++++
tests/partitioning_test.py | 2 -
16 files changed, 229 insertions(+), 237 deletions(-)
delete mode 100644 tests/devicelibs_test/baseclass.py
create mode 100644 tests/loopbacktestcase.py
--
1.9.3
9 years, 11 months
[PATCH] Allow NFS addon repos (#985080)
by David Shea
Also un-translatable the other instance of "nfs" in the glade file
because it's not, really.
---
pyanaconda/ui/gui/spokes/source.glade | 6 ++++--
pyanaconda/ui/gui/spokes/source.py | 23 +++++++++++++++++++++--
2 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/pyanaconda/ui/gui/spokes/source.glade b/pyanaconda/ui/gui/spokes/source.glade
index 38e4d16..3d803e4 100644
--- a/pyanaconda/ui/gui/spokes/source.glade
+++ b/pyanaconda/ui/gui/spokes/source.glade
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.1 -->
+<!-- Generated with glade 3.18.3 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<requires lib="AnacondaWidgets" version="1.0"/>
@@ -739,7 +739,7 @@
<item id="http">http://</item>
<item id="https">https://</item>
<item id="ftp">ftp://</item>
- <item id="nfs" translatable="yes">nfs</item>
+ <item id="nfs">nfs</item>
<item id="Closest mirror" translatable="yes">Closest mirror</item>
</items>
<signal name="changed" handler="on_protocol_changed" swapped="no"/>
@@ -1178,7 +1178,9 @@
<item id="http">http://</item>
<item id="https">https://</item>
<item id="ftp">ftp://</item>
+ <item id="nfs">nfs</item>
</items>
+ <signal name="changed" handler="on_repoProtocolComboBox_changed" swapped="no"/>
<signal name="changed" handler="on_repoUrl_changed" swapped="no"/>
</object>
<packing>
diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py
index f2e4d07..17fcec8 100644
--- a/pyanaconda/ui/gui/spokes/source.py
+++ b/pyanaconda/ui/gui/spokes/source.py
@@ -40,7 +40,7 @@ from pyanaconda.ui.gui.spokes import NormalSpoke
from pyanaconda.ui.categories.software import SoftwareCategory
from pyanaconda.ui.gui.utils import enlightbox, fire_gtk_action
from pyanaconda.iutil import ProxyString, ProxyStringError, cmp_obj_attrs
-from pyanaconda.ui.gui.utils import gtk_call_once, really_hide, really_show
+from pyanaconda.ui.gui.utils import gtk_call_once, really_hide, really_show, fancy_set_sensitive
from pyanaconda.threads import threadMgr, AnacondaThread
from pyanaconda.packaging import PayloadError, MetadataError, PackagePayload
from pyanaconda.regexes import REPO_NAME_VALID, URL_PARSE, HOSTNAME_PATTERN_WITHOUT_ANCHORS
@@ -68,7 +68,8 @@ REPO_OBJ = 2
REPO_PROTO = {PROTOCOL_HTTP: "http://",
PROTOCOL_HTTPS: "https://",
- PROTOCOL_FTP: "ftp://"
+ PROTOCOL_FTP: "ftp://",
+ PROTOCOL_NFS: "nfs://"
}
def _validateProxy(proxy_string, username_set, password_set):
@@ -976,6 +977,10 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler):
return InputCheck.CHECK_OK
def _checkRepoProxy(self, inputcheck):
+ # If nfs is selected as the protocol, skip the proxy check
+ if self._repoProtocolComboBox.get_active_id() == PROTOCOL_NFS:
+ return InputCheck.CHECK_OK
+
# Empty proxies are OK, as long as the username and password are empty too
proxy_string = self.get_input(inputcheck.input_obj).strip()
username_set = self._repoProxyUsernameEntry.is_sensitive() and self._repoProxyUsernameEntry.get_text().strip()
@@ -1393,3 +1398,17 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler):
self._repoNameChecks[repo] = InputCheckHandler.add_check(self, self._repoNameEntry, self._checkRepoName, Gtk.TreeRowReference.new(model, path))
self._repoURLChecks[repo] = InputCheckHandler.add_check(self, self._repoUrlEntry, self._checkRepoURL, Gtk.TreeRowReference.new(model, path))
self._repoProxyChecks[repo] = InputCheckHandler.add_check(self, self._repoProxyUrlEntry, self._checkRepoProxy, Gtk.TreeRowReference.new(model, path))
+
+ def on_repoProtocolComboBox_changed(self, combobox, user_data=None):
+ # Set the mirrorlist and proxy fields sensitivity depending on whether NFS was selected
+ sensitive = not(self._repoProtocolComboBox.get_active_id() == PROTOCOL_NFS)
+ fancy_set_sensitive(self._repoMirrorlistCheckbox, sensitive)
+ fancy_set_sensitive(self._repoProxyUrlEntry, sensitive)
+ fancy_set_sensitive(self._repoProxyUsernameEntry, sensitive)
+ fancy_set_sensitive(self._repoProxyPasswordEntry, sensitive)
+
+ # Re-run the proxy check
+ itr = self._repoSelection.get_selected()[1]
+ if itr:
+ repo = self._repoStore[itr][REPO_OBJ]
+ self._repoProxyChecks[repo].update_check_status()
--
2.0.0
9 years, 11 months
[rhel6-branch] Add BuildRequires: gdk-pixbuf2 (#1109298)
by Samantha N. Bueno
gtk is being rebased, and gdk-pixbuf2 is being split out into its own
packages as a result. We rely on a few things that are moving to
gdk-pixbuf2, so add it as a BuildReq.
Resolves: rhbz#1109298
---
anaconda.spec.in | 1 +
1 file changed, 1 insertion(+)
diff --git a/anaconda.spec.in b/anaconda.spec.in
index fd4dae8..5bcbfcd 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -55,6 +55,7 @@ BuildRequires: e2fsprogs-devel >= %{e2fsver}
BuildRequires: elfutils-devel
BuildRequires: gettext >= %{gettextver}
BuildRequires: gtk2-devel
+BuildRequires: gdk-pixbuf2
BuildRequires: intltool >= %{intltoolver}
BuildRequires: isomd5sum-devel >= %{isomd5sumver}
BuildRequires: libarchive-devel
--
1.8.3.1
9 years, 11 months
[PATCH] Store auto gui results in the same directory as the test itself.
by Chris Lumens
Jenkins cannot archive anything outside the workspace, so we need to make
sure the results are stored there.
---
tests/gui/runtest.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/gui/runtest.sh b/tests/gui/runtest.sh
index 33fcc9a..fd82ef7 100755
--- a/tests/gui/runtest.sh
+++ b/tests/gui/runtest.sh
@@ -22,7 +22,7 @@ function doit() {
ARGS="-s \
-v \
--nologcapture \
- --tc=resultsdir:$(mktemp -d --tmpdir=/var/tmp autogui-results-XXXXXX) \
+ --tc=resultsdir:$(mktemp -d --tmpdir=$(pwd) autogui-results-XXXXXX) \
--tc=liveImage:$1"
if [ -z "$2" ]; then
--
1.9.0
9 years, 11 months
[rhel6-branch] Close yum objects before running post scripts (#1110148)
by Brian C. Lane
yum changed to using an exclusive lock on the history database file,
causing use of yum in %post to fail because anaconda wasn't closing out
access to yum before running the kickstart %post scripts.
complete now closes the ts objects, the ayum object and deletes the rpm
database.
Note that running yum from %post is not encouraged, it is better to
include the repositories and packages in the kickstart.
---
yuminstall.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/yuminstall.py b/yuminstall.py
index 82923ae..9e3c24f 100644
--- a/yuminstall.py
+++ b/yuminstall.py
@@ -1324,6 +1324,12 @@ debuglevel=6
if not anaconda.mediaDevice and os.path.ismount(self.ayum.tree):
isys.umount(self.ayum.tree)
+ # Attempt to clean up Yum so that running yum in post will work (#1110148)
+ self.ayum.closeRpmDB()
+ del self.ayum.tsInfo
+ del self.ayum.ts
+ self.ayum.close()
+
# clean up rpmdb locks so that kickstart %post scripts aren't
# unhappy (#496961)
iutil.resetRpmDb(anaconda.rootPath)
--
1.9.3
9 years, 11 months
[rhel6-branch] If kernel-kdump is installed, don't set it as the default kernel. (#734121)
by Samantha N. Bueno
Patch supplied by Masahiro Matsuya <mmatsuya(a)redhat.com>
Resolves: rhbz#734121
---
bootloader.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/bootloader.py b/bootloader.py
index 6d850b8..e4d9ab3 100644
--- a/bootloader.py
+++ b/bootloader.py
@@ -210,7 +210,8 @@ def writeBootloader(anaconda):
for (version, arch, nick) in \
anaconda.backend.kernelVersionList(anaconda.rootPath):
if nick != 'base':
- defkern = "kernel-%s" %(nick,)
+ if nick != 'kdump':
+ defkern = "kernel-%s" %(nick,)
kernelList.append(("%s-%s" %(kernelLabel, nick),
"%s-%s" %(kernelLongLabel, nick),
version))
--
1.8.3.1
9 years, 11 months
[PATCH 0/5] Improve interactions with window managers
by David Shea
This is the first set of changes to try to make using anaconda a little bit
nicer outside of the regular boot.iso environment. Live and --image installs
have to live inside a window manager that might allow users to do things to
anaconda that we don't expect (unmaximize, move around, close windows). These
changes place all anaconda hubs and spokes into the same window, managed by a
GtkStack (so we might could add some transitions animations if we get
ambitious), and they do something sensible if the user hits the close button
they weren't supposed to have.
>From the downstream point of view, spoke usage is unchanged, so addons are
unchanged. On hubs, the quit-button and continue-button properties moved from
Python to C. All that will need to be done in most cases is to connect the
properties to buttons in glade and remove the obsolete properties from python
files. I haven't yet tested this with initial-setup. Users deriving widgets
from anaconda-widgets are going to be in for a rough time, but that's 99%
likely no one. Everything still says "window" in a bunch of places that
aren't really windows anymore, which I guess will teach us to make a public
API that people actually use.
For the class that's now between HubWindow+StandaloneWindow and BaseWindow, I
went with the name BaseStandalone, which isn't great since we sometimes use
"Standalone" to specifically refer to standalone spokes (for example,
StandaloneWindow), but I thought that might be the best way to indicate a
window that isn't entered from a hub. "MainLineable" came up on IRC back when
I still thought that this could be interface, and I guess AnacondaMainLine
could work and also sounds less like a drug reference than mainlineable. I
dunno, none of it's real great. Thoughts welcome.
One biggish thing I didn't get done is what to do with the window when it's
unmaximized, since, for example, in gnome shell if you pull anaconda down
from the top bar then you end up with this borderless unresizable thing that
you can't easily move back. But messing with the decorated property breaks
GNOME, and setting hide-titlebar-when-maximized doesn't work in metacity, so
that'll take some more work and frustration yet. I also suspect that using a
single window to manage things means we can dump the lightbox, but it works
as-is with all these changes so I'm not in a hurry to change it.
If you want to test the widget changes I recommend leaving out the version
number patch, or at least the part that changes the soversion, since that'll
make making an updates.img way less of a pain.
David Shea (5):
Remove the custom accelerators from custom storage.
Increased the version of anaconda-widgets to 3.0
Add a class BaseStandalone.
Add a window to manage Anaconda screen transitions.
Add a delete-event handler for the main window
pyanaconda/ui/gui/__init__.py | 129 ++++++-
pyanaconda/ui/gui/hubs/__init__.py | 83 ++---
pyanaconda/ui/gui/hubs/progress.glade | 5 +-
pyanaconda/ui/gui/hubs/progress.py | 11 +-
pyanaconda/ui/gui/hubs/summary.glade | 6 +-
pyanaconda/ui/gui/hubs/summary.py | 8 -
pyanaconda/ui/gui/spokes/__init__.py | 19 +-
pyanaconda/ui/gui/spokes/custom.glade | 3 +-
.../ui/gui/spokes/lib/custom_storage_helpers.glade | 1 -
pyanaconda/ui/gui/spokes/network.py | 4 +-
pyanaconda/ui/gui/spokes/welcome.py | 4 +-
pyanaconda/ui/gui/tools/run-spoke.py | 7 +-
pyanaconda/ui/gui/utils.py | 2 +-
widgets/configure.ac | 2 +-
widgets/doc/AnacondaWidgets-docs.xml | 1 +
widgets/glade/AnacondaWidgets.xml | 13 +-
widgets/src/BaseStandalone.c | 377 +++++++++++++++++++++
widgets/src/BaseStandalone.h | 81 +++++
widgets/src/BaseWindow.c | 14 +-
widgets/src/BaseWindow.h | 6 +-
widgets/src/HubWindow.c | 92 +----
widgets/src/HubWindow.h | 6 +-
widgets/src/Makefile.am | 4 +-
widgets/src/SpokeWindow.c | 29 +-
widgets/src/StandaloneWindow.c | 242 +++----------
widgets/src/StandaloneWindow.h | 15 +-
26 files changed, 721 insertions(+), 443 deletions(-)
create mode 100644 widgets/src/BaseStandalone.c
create mode 100644 widgets/src/BaseStandalone.h
--
2.0.0
9 years, 11 months
[anaconda][rhel6-branch][PATCH] Add major release number to the boot menu entries
by Martin Kolman
While the relevant bugreport (#1001960) seems to expect a full major.minor release
number in the boot entry, after discussing this a bit with Vratislav I don't think
it would be a good idea, as minor version upgrades currently don't change existing
boot entries. This would mean that if you installed 6.6, then upgraded it to 6.7, 6.8,
etc. the boot menu entry would still report "Red Hat Enterprise Linux 6.6",
which would be rather confusing.
Also it looks like there is some code for working with the boot entries that
works with the boot entries and tries to match them to the current product name.
This code could be confused by entries containing major version but at the same
time still needs to handle the "old" entries that don't contain the version number.
The productName variable is used in many places so I hope I haven't missed to
fix any important piece of code using it.
Martin Kolman (1):
The boot menu entry should contain the RHEL major release number
(#1001960)
booty/bootloaderInfo.py | 18 +++++++++++++-----
booty/x86.py | 5 ++---
product.py | 4 ++++
3 files changed, 19 insertions(+), 8 deletions(-)
--
1.9.3
9 years, 11 months