[PATCH] installclass: Look for product.img in /run/product, not /tmp
by Colin Walters
TL;DR: Unpacking updates content into /tmp cannot have worked since
systemd switched to tmp-on-tmpfs by default. Use /run instead.
As far as I can tell, the /tmp/product bit was introduced with
https://git.fedorahosted.org/cgit/anaconda.git/commit/?id=459119c94529602...
Maybe something was actually using it at the time? Hard to know.
Even then, I suspect all uses of product.img didn't modify
installclasses.
But currently with Atomic, I need a standalone ISO with different
partitioning defaults. Thererefore, let's fix this and look in
/run/product, and I'll adjust my product.img to drop installclass data
there.
(But why am I not changing /tmp/updates in this patch too? Well,
there are other places that refer to /tmp/{updates,product}, and
I really don't want to touch all of them just to fix the bug
that's biting me badly right at this second.)
---
pyanaconda/installclass.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
9 years, 5 months
[PATCH] rpmostreepayload: Avoid shutil.copytree in favor of cp -r to fix symlinks
by Colin Walters
shutil.copytree() follows symlinks by default which I didn't realize,
and this actively breaks things as grubenv is a symlink.
Since we're shelling out to 'cp' in a case above, might as well do it
here.
This also means that if we hit e.g. ENOSPC we'll enter the error
handling codepath instead of an uncaught traceback.
(Yes, this code is crappy, should probably live in bootloader.py,
except I'm going through gyrations here to avoid requiring
any changes in how mainline bootloaders work)
---
pyanaconda/packaging/rpmostreepayload.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py
index ade664c..f96a316 100644
--- a/pyanaconda/packaging/rpmostreepayload.py
+++ b/pyanaconda/packaging/rpmostreepayload.py
@@ -119,7 +119,7 @@ class RPMOSTreePayload(ArchivePayload):
self._safeExecWithRedirect('cp', ['-r', '-p', sub_srcpath, sub_destpath])
else:
log.info("Copying bootloader data: " + fname)
- shutil.copytree(srcpath, destpath)
+ self._safeExecWithRedirect('cp', ['-r', '-p', srcpath, destpath])
def install(self):
mainctx = GLib.MainContext.new()
--
1.8.3.1
9 years, 5 months
[lorax-rhel7/master] Drop 32 bit for loop from ppc64 grub2 config (#1169878)
by Brian C. Lane
Older versions of petitboot don't understand the for loop and won't
boot. We also don't shipt 32 bit media anymore so there is no reason
for this to remain.
---
share/config_files/ppc/grub.cfg.in | 28 ++++++++++++----------------
1 file changed, 12 insertions(+), 16 deletions(-)
diff --git a/share/config_files/ppc/grub.cfg.in b/share/config_files/ppc/grub.cfg.in
index b156ede..417856e 100644
--- a/share/config_files/ppc/grub.cfg.in
+++ b/share/config_files/ppc/grub.cfg.in
@@ -3,24 +3,20 @@ set timeout=5
echo -e "\nWelcome to the @PRODUCT@ @VERSION@ installer!\n\n"
-for BITS in 32 64; do
- if [ -d "/ppc/ppc${BITS}" ]; then
- menuentry "Install @PRODUCT@ @VERSION@ (${BITS}-bit kernel)" $BITS --class fedora --class gnu-linux --class gnu --class os {
- linux /ppc/ppc${2}/vmlinuz @ROOT@ ro
- initrd /ppc/ppc${2}/initrd.img
- }
+menuentry "Install @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
+ linux /ppc/ppc64/vmlinuz @ROOT@ ro
+ initrd /ppc/ppc64/initrd.img
+}
- menuentry "Test this media & install @PRODUCT@ @VERSION@ (${BITS}-bit kernel)" $BITS --class fedora --class gnu-linux --class gnu --class os {
- linux /ppc/ppc${2}/vmlinuz @ROOT@ rd.live.check ro
- initrd /ppc/ppc${2}/initrd.img
- }
+menuentry "Test this media & install @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
+ linux /ppc/ppc64/vmlinuz @ROOT@ rd.live.check ro
+ initrd /ppc/ppc64/initrd.img
+}
- menuentry "Rescue a @PRODUCT@ system (${BITS}-bit kernel)" $BITS --class fedora --class gnu-linux --class gnu --class os {
- linux /ppc/ppc${2}/vmlinuz @ROOT@ rescue ro
- initrd /ppc/ppc${2}/initrd.img
- }
- fi
-done
+menuentry "Rescue a @PRODUCT@ system (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
+ linux /ppc/ppc64/vmlinuz @ROOT@ rescue ro
+ initrd /ppc/ppc64/initrd.img
+}
submenu 'Other options...' {
menuentry 'Reboot' {
--
1.9.3
9 years, 5 months
rhel7-branch multipath iscsi GUI related patches
by Radek Vykydal
1/1 for blivet is improved logging
1/2 for anaconda is the fix
2/2 for anaconda is adding address:port info into GUI (node list),
it is only for master as we are past string freeze
9 years, 5 months
[master/f21-branch][PATCH] Make Python's default encoding detection work on Live installations (#1169019)
by Vratislav Podzimek
If LC_ALL is not defined, Python's detection of default encoding gives us
'ascii' as the default codec on Live installations. Setting LC_ALL to $LANG
makes it work better and give us 'utf-8'.
Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
---
data/liveinst/liveinst | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/data/liveinst/liveinst b/data/liveinst/liveinst
index 9d47a19..0a68596 100755
--- a/data/liveinst/liveinst
+++ b/data/liveinst/liveinst
@@ -173,6 +173,12 @@ if [ ! -z "$UPDATES" ]; then
export PATH=/tmp/updates:$PATH
fi
+if [ -z $LC_ALL ]; then
+ # LC_ALL not set, set it to $LANG to make Python's default encoding
+ # detection work
+ export LC_ALL=$LANG
+fi
+
if [ -x /usr/bin/udisks ]; then
/usr/bin/udisks --inhibit -- $ANACONDA $*
else
--
1.9.3
9 years, 5 months
[blivet:master 00/11] A bunch of small changes and a new set of tests
by Anne Mulhern
I'ld like to add these tests to repo now, so that I have some regressions
I can use to check my ongoing development in separate branch.
The rest of the changes are things that allow a quick fix. The basic
idea is that if they are fixed, the tests won't have to be written to
accomodate these little bugs, and that will make things simpler later.
Most are pretty obvious, but
* Check resizable...
* Change "Aggregate..."
* Set NTFS._formattable...,
* Add another check...
were judgement calls and probably need a closer look.
Set NTFS._formattable... is significant, because if _formattable is false
it is not possible to create an NTFS filesystem.
The simple tests have a bunch of FIXME's and CHECKME's in them.
FIXME's are things I'm pretty confident are wrong, but that are kind of
hard to fix. CHECKME's are things I'm not super sure about, but that
look dubious.
mulhern (11):
Make default exists value a boolean in DeviceFormat.__init__.
Check resizable when assigning a new target size.
Simplify _getSize() and currentSize().
Split informaton from infofs program for size on whitespace.
Change "Aggregate block size:" to "Physical block size:" for JFS.
Make an early exit if self._existingSizeFields is []
Simplify FS.free().
Set NTFS._formattable to True.
Add another check for resizable in FS.doResize()
Get rid of long() related code.
Add a bunch of simple tests for filesystem formats.
blivet/formats/__init__.py | 2 +-
blivet/formats/fs.py | 46 +++---
tests/formats_test/fs_test.py | 105 +++++++++++++
tests/formats_test/fstesting.py | 334 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 462 insertions(+), 25 deletions(-)
create mode 100755 tests/formats_test/fs_test.py
create mode 100644 tests/formats_test/fstesting.py
--
1.9.3
9 years, 5 months
[rhel7 0/4] clean up gtk messages on the console
by David Shea
Gtk sure has a funny idea of what "critical" means
David Shea (3):
Remove the "other" tab in the network spoke.
Remove the spacing properties from GtkLevelBar
Update the nav_box internal child for datetime_spoke.
Vratislav Podzimek (1):
Put the cityCompletion back on the list of widgets
pyanaconda/ui/gui/spokes/datetime_spoke.glade | 9 +++++++--
pyanaconda/ui/gui/spokes/datetime_spoke.py | 3 ++-
pyanaconda/ui/gui/spokes/network.glade | 14 --------------
pyanaconda/ui/gui/spokes/password.glade | 1 -
pyanaconda/ui/gui/spokes/user.glade | 1 -
5 files changed, 9 insertions(+), 19 deletions(-)
--
1.9.3
9 years, 5 months
[f21-branch][PATCH] Search for a valid stage1 device on disks with stage1 mount points (#1168118)
by Vratislav Podzimek
From: Adam Williamson <awilliam(a)redhat.com>
Otherwise we try the first disk which may not contain a valid stage1 device and
then give up (because the first disk is used to boot from, right?).
Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
---
pyanaconda/kickstart.py | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index 72d77f3..d44b349 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -379,9 +379,20 @@ class Bootloader(commands.bootloader.F21_Bootloader):
if self.timeout is not None:
storage.bootloader.timeout = self.timeout
+ # try to reduce the set of possible 'boot disks' to the disks containing
+ # a valid stage1 mount point, if there are any, because those disks
+ # should be searched for a stage1_valid device
+ disks = storage.disks
+ if platform.bootStage1ConstraintDict["mountpoints"]:
+ disks = [p.disk for p in storage.devices if getattr(p.format, "mountpoint", None) in platform.bootStage1ConstraintDict["mountpoints"]]
+ if not disks:
+ # but if not, just go ahead and use the set of all disks or
+ # else we'll error out later
+ disks = storage.disks
+
# Throw out drives specified that don't exist or cannot be used (iSCSI
# device on an s390 machine)
- disk_names = [d.name for d in storage.disks
+ disk_names = [d.name for d in disks
if not d.format.hidden and not d.protected and
(not blivet.arch.isS390() or not isinstance(d, blivet.devices.iScsiDiskDevice))]
diskSet = set(disk_names)
--
1.9.3
9 years, 5 months
[master/f21-branch] [PATCH] Force translation files download instead of skipping them (#1169023)
by Vratislav Podzimek
It seems that 'tx pull' by default skips "already downloaded" files without
checking them in any way. Thus it easily happens that totally wrong translation
files (even from a different branch) are used instead of the new proper ones.
We don't pull translations that often so that we would need to avoid unnecessary
downloads for the price of easily getting wrong translations in builds and we
should thus force translations file downloads.
Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 3edfa49..dcc6eed 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -44,7 +44,7 @@ dist_sbin_SCRIPTS = anaconda
ARCHIVE_TAG = $(PACKAGE_NAME)-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)
-TX_PULL_ARGS = -a --disable-overwrite
+TX_PULL_ARGS = -a -f
TX_PUSH_ARGS = -s
INSTALLATION_GUIDE_REPO_URL = git://git.fedorahosted.org/git/docs/install-guide.git
--
1.9.3
9 years, 5 months