From b45ed79212b9b18d3dd845ecd0c8e28daecff51d Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 19 2017 17:42:15 +0000 Subject: import anaconda-21.48.22.121-3.rhelah.0.el7 --- diff --git a/.anaconda.metadata b/.anaconda.metadata index bf113e8..7464f76 100644 --- a/.anaconda.metadata +++ b/.anaconda.metadata @@ -1 +1 @@ -0ef452c663f8d60cd4fc94d2986acb86b8086258 SOURCES/anaconda-19.31.79.tar.bz2 +47c05f5047f1e90223fd51b10305aabbe83b9edc SOURCES/anaconda-21.48.22.121.tar.bz2 diff --git a/.gitignore b/.gitignore index 3f036a5..3962a4b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/anaconda-19.31.79.tar.bz2 +SOURCES/anaconda-21.48.22.121.tar.bz2 diff --git a/DEPRECATED b/DEPRECATED deleted file mode 100644 index 6b8c81c..0000000 --- a/DEPRECATED +++ /dev/null @@ -1,5 +0,0 @@ -* 2016-01-14 Karanbir Singh : -- anaconda's c7-atomic/ branch is now deprecated, the CentOS atomic host as of 7.1511 - has now rebased over to using the distro anaconda sources, with patches ported forward. - -- Refer to https://git.centos.org/log/rpms!anaconda/refs!heads!c7 moving forward diff --git a/SOURCES/0001-gui-spokes-software-Enable-iff-payload-is-PackagePay.patch b/SOURCES/0001-gui-spokes-software-Enable-iff-payload-is-PackagePay.patch deleted file mode 100644 index 587e773..0000000 --- a/SOURCES/0001-gui-spokes-software-Enable-iff-payload-is-PackagePay.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 81bc3c3495c5ada22ac43aac5773888dda27c7b6 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Fri, 4 Apr 2014 23:49:51 +0000 -Subject: [PATCH 01/20] gui/spokes/software: Enable iff payload is - PackagePayload - -This should be the equivalent of the livecd test. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 63e5d9cb577428519d61a279c3b53442877f9c51 ---- - pyanaconda/ui/gui/spokes/software.py | 4 ++-- - pyanaconda/ui/gui/spokes/source.py | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/pyanaconda/ui/gui/spokes/software.py b/pyanaconda/ui/gui/spokes/software.py -index b21866b..fe711b5 100644 ---- a/pyanaconda/ui/gui/spokes/software.py -+++ b/pyanaconda/ui/gui/spokes/software.py -@@ -24,7 +24,7 @@ from gi.repository import Gdk, Gtk - - from pyanaconda.flags import flags - from pyanaconda.i18n import _, N_ --from pyanaconda.packaging import MetadataError -+from pyanaconda.packaging import MetadataError, PackagePayload - from pyanaconda.threads import threadMgr, AnacondaThread - from pyanaconda import constants - -@@ -164,7 +164,7 @@ class SoftwareSelectionSpoke(NormalSpoke): - - @property - def showable(self): -- return not flags.livecdInstall and not self.data.method.method == "liveimg" -+ return isinstance(self.payload, PackagePayload) - - @property - def status(self): -diff --git a/pyanaconda/ui/gui/spokes/source.py b/pyanaconda/ui/gui/spokes/source.py -index 3fa3234..e399d85 100644 ---- a/pyanaconda/ui/gui/spokes/source.py -+++ b/pyanaconda/ui/gui/spokes/source.py -@@ -41,7 +41,7 @@ from pyanaconda.ui.gui.utils import enlightbox, gtk_action_wait - from pyanaconda.iutil import ProxyString, ProxyStringError, cmp_obj_attrs - from pyanaconda.ui.gui.utils import gtk_call_once, really_hide, really_show - from pyanaconda.threads import threadMgr, AnacondaThread --from pyanaconda.packaging import PayloadError, MetadataError -+from pyanaconda.packaging import PayloadError, MetadataError, PackagePayload - from pyanaconda import constants - - from blivet.util import get_mount_paths -@@ -765,7 +765,7 @@ class SourceSpoke(NormalSpoke): - - @property - def showable(self): -- return not flags.livecdInstall and not self.data.method.method == "liveimg" -+ return isinstance(self.payload, PackagePayload) - - def _mirror_active(self): - return self._protocolComboBox.get_active() == PROTOCOL_MIRROR --- -1.9.3 - diff --git a/SOURCES/0001-installclasses-rhelah-Bump-default-to-15GB-max.patch b/SOURCES/0001-installclasses-rhelah-Bump-default-to-15GB-max.patch new file mode 100644 index 0000000..fb46644 --- /dev/null +++ b/SOURCES/0001-installclasses-rhelah-Bump-default-to-15GB-max.patch @@ -0,0 +1,31 @@ +From b32f9ffaa3ad0cfccb645d0b2c61f00c2f7dae5a Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 27 Jul 2017 12:52:41 -0400 +Subject: [PATCH] installclasses/rhelah: Bump default / to 15GB max + +This is a backport of some of the logic from . +We're effectively only changing non-cloud (usually physical) +installs to allocate more disk for /. This is an incremental +step towards backporting the overlayfs-by-default logic. + +Resolves: rhbz#1481768 +--- + pyanaconda/installclasses/rhel.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py +index 0747379e4..6e6e786cc 100644 +--- a/pyanaconda/installclasses/rhel.py ++++ b/pyanaconda/installclasses/rhel.py +@@ -83,7 +83,7 @@ class RHELAtomicInstallClass(RHELBaseInstallClass): + + def setDefaultPartitioning(self, storage): + autorequests = [PartSpec(mountpoint="/", fstype=storage.defaultFSType, +- size=Size("1GiB"), maxSize=Size("3GiB"), grow=True, lv=True)] ++ size=Size("3GiB"), maxSize=Size("15GiB"), grow=True, lv=True)] + + bootreqs = platform.setDefaultPartitioning() + if bootreqs: +-- +2.13.5 + diff --git a/SOURCES/0001-rpmostreepayload-Rollup-backport-of-Fedora-patches.patch b/SOURCES/0001-rpmostreepayload-Rollup-backport-of-Fedora-patches.patch new file mode 100644 index 0000000..ad0e905 --- /dev/null +++ b/SOURCES/0001-rpmostreepayload-Rollup-backport-of-Fedora-patches.patch @@ -0,0 +1,226 @@ +From 13acd1e7439fe6e587b0f01843755a493a83c88e Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 27 Jul 2017 10:43:24 -0400 +Subject: [PATCH] rpmostreepayload: Rollup backport of Fedora patches + +This rolls up all of which +is basically mount handling, plus the pull-local optimization for kickstarts. + +We need to change the implementation for the mount setup, since +things work differently in RHEL7 vs Fedora since commit +664ef7b43f9102aa9332d0db5b7d13f8ece436f0. + +The code that changed in `pyanaconda/install.py` only applied to ostree-based +payloads (where we introduced the physical vs sysroot distinction), so should be +safe for backporting. + +Resolves: rhbz#1459623 +--- + pyanaconda/install.py | 17 +--- + pyanaconda/packaging/rpmostreepayload.py | 129 ++++++++++++++++++++++++++----- + 2 files changed, 111 insertions(+), 35 deletions(-) + +diff --git a/pyanaconda/install.py b/pyanaconda/install.py +index 26e1b2680..a711813af 100644 +--- a/pyanaconda/install.py ++++ b/pyanaconda/install.py +@@ -253,24 +253,9 @@ def doInstall(storage, payload, ksdata, instClass): + if iutil.getSysroot() != iutil.getTargetPhysicalRoot(): + blivet.setSysroot(iutil.getTargetPhysicalRoot(), + iutil.getSysroot()) +- +- # Now that we have the FS layout in the target, umount +- # things that were in the legacy sysroot, and put them in +- # the target root, except for the physical /. First, +- # unmount all target filesystems. +- storage.umountFilesystems() +- +- # Explicitly mount the root on the physical sysroot +- rootmnt = storage.mountpoints.get('/') +- rootmnt.setup() +- rootmnt.format.setup(options=rootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) +- ++ # Note this changed for RHEL 7.5; see comments in rpmostreepayload.py. + payload.prepareMountTargets(storage) + +- # Everything else goes in the target root, including /boot +- # since the bootloader code will expect to find /boot +- # inside the chroot. +- storage.mountFilesystems(skipRoot=True) + storage.write() + + # Do bootloader. +diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py +index da7650d3b..a472fa0bc 100644 +--- a/pyanaconda/packaging/rpmostreepayload.py ++++ b/pyanaconda/packaging/rpmostreepayload.py +@@ -48,7 +48,7 @@ class RPMOSTreePayload(ArchivePayload): + super(RPMOSTreePayload, self).__init__(data) + + self._base_remote_args = None +- self._binds = [] ++ self._internal_mounts = [] + self._sysroot_path = None + + @property +@@ -166,8 +166,21 @@ class RPMOSTreePayload(ArchivePayload): + progress = OSTree.AsyncProgress.new() + progress.connect('changed', self._pullProgressCb) + ++ pull_opts = {'refs': GLib.Variant('as', [ostreesetup.ref])} ++ # If we're doing a kickstart, we can at least use the content as a reference: ++ # See ++ # The first path here is used by ++ # and the second by ++ if OSTree.check_version(2017, 8): ++ for path in ['/ostree/repo', '/install/ostree/repo']: ++ if os.path.isdir(path + '/objects'): ++ pull_opts['localcache-repos'] = GLib.Variant('as', [path]) ++ break ++ + try: +- repo.pull(ostreesetup.remote, [ostreesetup.ref], 0, progress, cancellable) ++ repo.pull_with_options(ostreesetup.remote, ++ GLib.Variant('a{sv}', pull_opts), ++ progress, cancellable) + except GLib.GError as e: + exn = PayloadInstallError("Failed to pull from repository: %s" % e) + log.error(str(exn)) +@@ -176,6 +189,7 @@ class RPMOSTreePayload(ArchivePayload): + iutil.ipmi_abort(scripts=self.data.scripts) + sys.exit(1) + ++ log.info("ostree pull: " + (progress.get_status() or "")) + progressQ.send_message(_("Preparing deployment of %s") % (ostreesetup.ref, )) + + self._safeExecWithRedirect("ostree", +@@ -213,25 +227,102 @@ class RPMOSTreePayload(ArchivePayload): + + mainctx.pop_thread_default() + ++ def _setupInternalBindmount(self, src, dest=None, ++ src_physical=True, ++ bind_ro=False, ++ recurse=True): ++ """Internal API for setting up bind mounts between the physical root and ++ sysroot, also ensures we track them in self._internal_mounts so we can ++ cleanly unmount them. ++ ++ :param src: Source path, will be prefixed with physical or sysroot ++ :param dest: Destination, will be prefixed with sysroot (defaults to same as src) ++ :param src_physical: Prefix src with physical root ++ :param bind_ro: Make mount read-only ++ :param recurse: Use --rbind to recurse, otherwise plain --bind ++ """ ++ # Default to the same basename ++ if dest is None: ++ dest = src ++ # Almost all of our mounts go from physical to sysroot ++ if src_physical: ++ src = iutil.getTargetPhysicalRoot() + src ++ else: ++ src = iutil.getSysroot() + src ++ # Canonicalize dest to the full path ++ dest = iutil.getSysroot() + dest ++ if bind_ro: ++ self._safeExecWithRedirect("mount", ++ ["--bind", src, src]) ++ self._safeExecWithRedirect("mount", ++ ["--bind", "-o", "remount,ro", src, src]) ++ else: ++ # Recurse for non-ro binds so we pick up sub-mounts ++ # like /sys/firmware/efi/efivars. ++ if recurse: ++ bindopt = '--rbind' ++ else: ++ bindopt = '--bind' ++ self._safeExecWithRedirect("mount", ++ [bindopt, src, dest]) ++ self._internal_mounts.append(src if bind_ro else dest) ++ + def prepareMountTargets(self, storage): + ostreesetup = self.data.ostreesetup + +- varroot = iutil.getTargetPhysicalRoot() + '/ostree/deploy/' + ostreesetup.osname + '/var' +- +- # Set up bind mounts as if we've booted the target system, so +- # that %post script work inside the target. +- self._binds = [(iutil.getTargetPhysicalRoot(), iutil.getSysroot() + '/sysroot'), +- (iutil.getSysroot() + '/usr', None)] +- # https://github.com/ostreedev/ostree/issues/855 ++ # NOTE: This is different from Fedora. There, since since ++ # 664ef7b43f9102aa9332d0db5b7d13f8ece436f0 blivet now only sets up ++ # mounts in the physical root, and we set up bind mounts. But in RHEL7 ++ # we tear down and set up the mounts in the sysroot, so this code ++ # doesn't need to do as much. ++ ++ # Now that we have the FS layout in the target, umount ++ # things that were in the physical sysroot, and put them in ++ # the target root, *except* for the physical /. ++ storage.umountFilesystems() ++ ++ # Explicitly mount the root on the physical sysroot, since that's ++ # how ostree works. ++ rootmnt = storage.mountpoints.get('/') ++ rootmnt.setup() ++ rootmnt.format.setup(options=rootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) ++ ++ # Everything else goes in the target root, including /boot ++ # since the bootloader code will expect to find /boot ++ # inside the chroot. ++ storage.mountFilesystems(skipRoot=True) ++ ++ # We're done with blivet mounts; now set up binds as ostree does it at ++ # runtime. We start with /usr being read-only. ++ self._setupInternalBindmount('/usr', bind_ro=True, src_physical=False) ++ ++ # Handle /var; if the admin didn't specify a mount for /var, we need to ++ # do the default ostree one. See also ++ # . ++ varroot = '/ostree/deploy/' + ostreesetup.osname + '/var' + if storage.mountpoints.get("/var") is None: +- self._binds.append((varroot, iutil.getSysroot() + '/var')) +- +- for (src, dest) in self._binds: +- self._safeExecWithRedirect("mount", +- ["--bind", src, dest if dest else src]) +- if dest is None: +- self._safeExecWithRedirect("mount", +- ["--bind", "-o", "ro", src, src]) ++ self._setupInternalBindmount(varroot, dest='/var', recurse=False) ++ ++ self._setupInternalBindmount("/", dest="/sysroot", recurse=False) ++ ++ # Now that we have /var, start filling in any directories that may be ++ # required later there. We explicitly make /var/lib, since ++ # systemd-tmpfiles doesn't have a --prefix-only=/var/lib. We rely on ++ # 80-setfilecons.ks to set the label correctly. ++ iutil.mkdirChain(iutil.getSysroot() + '/var/lib') ++ # Next, run tmpfiles to make subdirectories of /var. We need this for ++ # both mounts like /home (really /var/home) and %post scripts might ++ # want to write to e.g. `/srv`, `/root`, `/usr/local`, etc. The ++ # /var/lib/rpm symlink is also critical for having e.g. `rpm -qa` work ++ # in %post. We don't iterate *all* tmpfiles because we don't have the ++ # matching NSS configuration inside Anaconda, and we can't "chroot" to ++ # get it because that would require mounting the API filesystems in the ++ # target. ++ for varsubdir in ('home', 'roothome', 'lib/rpm', 'opt', 'srv', ++ 'usrlocal', 'mnt', 'media', 'spool', 'spool/mail'): ++ self._safeExecWithRedirect("systemd-tmpfiles", ++ ["--create", "--boot", "--root=" + iutil.getSysroot(), ++ "--prefix=/var/" + varsubdir]) + + def recreateInitrds(self, force=False): + # For rpmostree payloads, we're replicating an initramfs from +@@ -312,6 +403,6 @@ class RPMOSTreePayload(ArchivePayload): + # on inside either blivet (or systemd?) that's causing mounts inside + # /mnt/sysimage/ostree/deploy/$x/sysroot/ostree/deploy + # which is not what we want. +- for (src, dest) in reversed(self._binds): ++ for path in reversed(self._internal_mounts): + # Also intentionally ignore errors here +- iutil.execWithRedirect("umount", ['-R', dest if dest else src]) ++ iutil.execWithRedirect("umount", ['-R', path]) +-- +2.13.5 + diff --git a/SOURCES/0002-Override-ROOT_PATH-with-environmental-variable.patch b/SOURCES/0002-Override-ROOT_PATH-with-environmental-variable.patch deleted file mode 100644 index 5b71c67..0000000 --- a/SOURCES/0002-Override-ROOT_PATH-with-environmental-variable.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 5741fc05e8c65537acbd220418574ad041a3f8fe Mon Sep 17 00:00:00 2001 -From: "Brian C. Lane" -Date: Tue, 11 Mar 2014 14:04:13 -0700 -Subject: [PATCH 02/20] Override ROOT_PATH with environmental variable - -Normally ROOT_PATH is "/mnt/sysimage", but with dirinstall it would be -nice to be able to install to arbitrary directories. This lets the path -be overridden by the ANACONDA_ROOT_PATH environmental variable. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 2e3d576ee643a676d1ca3f4c194c5fbc59b9d295 ---- - data/anaconda_options.txt | 4 +++- - pyanaconda/constants.py | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/data/anaconda_options.txt b/data/anaconda_options.txt -index 6dc90c4..753609a 100644 ---- a/data/anaconda_options.txt -+++ b/data/anaconda_options.txt -@@ -1,7 +1,9 @@ - dirinstall - Use the device mounted at /mnt/sysimage as the installation - destination. The --dirinstall and --image options are mutually --exclusive. -+exclusive. The /mnt/sysimage directory can be overridden by -+setting the ANACONDA_ROOT_PATH environmental variable before -+starting anaconda. - - image - Specification of disk image file to be used as installation -diff --git a/pyanaconda/constants.py b/pyanaconda/constants.py -index 266eb53..e864630 100644 ---- a/pyanaconda/constants.py -+++ b/pyanaconda/constants.py -@@ -23,6 +23,8 @@ from pyanaconda.i18n import _, N_ - - import re - -+import os -+ - SELINUX_DEFAULT = 1 - - DISPATCH_BACK = -1 -@@ -78,7 +80,7 @@ DD_RPMS = "/tmp/DD-*" - TRANSLATIONS_UPDATE_DIR="/tmp/updates/po" - - ANACONDA_CLEANUP = "anaconda-cleanup" --ROOT_PATH = "/mnt/sysimage" -+ROOT_PATH = os.environ.get("ANACONDA_ROOT_PATH", "/mnt/sysimage") - MOUNT_DIR = "/mnt/install" - DRACUT_REPODIR = "/run/install/repo" - DRACUT_ISODIR = "/run/install/source" --- -1.9.3 - diff --git a/SOURCES/0003-Use-ROOT_PATH-not-mnt-sysimage.patch b/SOURCES/0003-Use-ROOT_PATH-not-mnt-sysimage.patch deleted file mode 100644 index fc13653..0000000 --- a/SOURCES/0003-Use-ROOT_PATH-not-mnt-sysimage.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 7c4f34a595372b752c8140d25bf503af1222153c Mon Sep 17 00:00:00 2001 -From: "Brian C. Lane" -Date: Tue, 11 Mar 2014 14:34:12 -0700 -Subject: [PATCH 03/20] Use ROOT_PATH not /mnt/sysimage - -Cleanup a couple places that were using /mnt/sysimage instead of -ROOT_PATH from constants. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 1ea3a19565d92d3a1077a7beeb2f369c76ed8b8d ---- - pyanaconda/exception.py | 8 ++++---- - pyanaconda/users.py | 6 +++--- - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/pyanaconda/exception.py b/pyanaconda/exception.py -index ed434a7..861425f 100644 ---- a/pyanaconda/exception.py -+++ b/pyanaconda/exception.py -@@ -158,13 +158,13 @@ class AnacondaExceptionHandler(ExceptionHandler): - def postWriteHook(self, dump_info): - anaconda = dump_info.object - -- # See if /mnt/sysimage is present and put exception there as well -- if os.access("/mnt/sysimage/root", os.X_OK): -+ # See if there is a /root present in the root path and put exception there as well -+ if os.access(ROOT_PATH + "/root", os.X_OK): - try: -- dest = "/mnt/sysimage/root/%s" % os.path.basename(self.exnFile) -+ dest = ROOT_PATH + "/root/%s" % os.path.basename(self.exnFile) - shutil.copyfile(self.exnFile, dest) - except: -- log.error("Failed to copy %s to /mnt/sysimage/root" % self.exnFile) -+ log.error("Failed to copy %s to %s/root" % (self.exnFile, ROOT_PATH)) - pass - - # run kickstart traceback scripts (if necessary) -diff --git a/pyanaconda/users.py b/pyanaconda/users.py -index d43ad29..9e09be0 100644 ---- a/pyanaconda/users.py -+++ b/pyanaconda/users.py -@@ -192,7 +192,7 @@ class Users: - """ - - childpid = os.fork() -- root = kwargs.get("root", "/mnt/sysimage") -+ root = kwargs.get("root", ROOT_PATH) - - if not childpid: - if not root in ["","/"]: -@@ -258,7 +258,7 @@ class Users: - available one is used. - """ - childpid = os.fork() -- root = kwargs.get("root", "/mnt/sysimage") -+ root = kwargs.get("root", ROOT_PATH) - - if not childpid: - if not root in ["","/"]: -@@ -358,7 +358,7 @@ class Users: - else: - return False - -- def checkUserExists(self, username, root="/mnt/sysimage"): -+ def checkUserExists(self, username, root=ROOT_PATH): - childpid = os.fork() - - if not childpid: --- -1.9.3 - diff --git a/SOURCES/0004-iutil-Introduce-getSysroot-getTargetPhysicalRoot-use.patch b/SOURCES/0004-iutil-Introduce-getSysroot-getTargetPhysicalRoot-use.patch deleted file mode 100644 index c78bbe6..0000000 --- a/SOURCES/0004-iutil-Introduce-getSysroot-getTargetPhysicalRoot-use.patch +++ /dev/null @@ -1,1222 +0,0 @@ -From 74d70fcd113ca0622959e272cb78cedc6509fbef Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Tue, 22 Apr 2014 14:39:26 -0400 -Subject: [PATCH 04/20] iutil: Introduce getSysroot()/getTargetPhysicalRoot(), - use instead of ROOT_PATH - -For OSTree, the OS lives in a chroot, thus creating a distinction -between the "physical" root and the "deployment" root. The physical -root as mounted by anaconda remains as /mnt/sysimage of course, but -*nearly* everything needs to reference the deployment, as that's where -the binaries, config files, etc live. - -The deployment root is dynamic - we only know it after we do an -initial installation what the path will be. This dynamic nature means -that the API is best as a function call. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 1b260c0c3ca70b53d44b543babe1a5ab06fb5fb5 ---- - pyanaconda/__init__.py | 6 +-- - pyanaconda/bootloader.py | 96 +++++++++++++++++-------------------- - pyanaconda/constants.py | 2 + - pyanaconda/desktop.py | 10 ++-- - pyanaconda/exception.py | 10 ++-- - pyanaconda/install.py | 6 +-- - pyanaconda/installclasses/fedora.py | 8 ++-- - pyanaconda/installclasses/rhel.py | 3 +- - pyanaconda/iutil.py | 48 ++++++++++++++++++- - pyanaconda/kickstart.py | 51 ++++++++++---------- - pyanaconda/packaging/__init__.py | 40 ++++++++-------- - pyanaconda/packaging/livepayload.py | 25 +++++----- - pyanaconda/packaging/tarpayload.py | 2 +- - pyanaconda/packaging/yumpayload.py | 12 ++--- - pyanaconda/rescue.py | 16 +++---- - pyanaconda/users.py | 7 ++- - 16 files changed, 187 insertions(+), 155 deletions(-) - -diff --git a/pyanaconda/__init__.py b/pyanaconda/__init__.py -index 9b58f92..fad7a90 100644 ---- a/pyanaconda/__init__.py -+++ b/pyanaconda/__init__.py -@@ -30,11 +30,11 @@ - - import os, time, string - import sys --from constants import ROOT_PATH - from tempfile import mkstemp - - from pyanaconda.bootloader import get_bootloader - from pyanaconda import constants -+from pyanaconda import iutil - from pyanaconda import addons - from pyanaconda.i18n import _ - -@@ -228,7 +228,7 @@ class Anaconda(object): - if self.xdriver is None: - return - if root is None: -- root = ROOT_PATH -+ root = iutil.getSysroot() - if not os.path.isdir("%s/etc/X11" %(root,)): - os.makedirs("%s/etc/X11" %(root,), mode=0755) - f = open("%s/etc/X11/xorg.conf" %(root,), 'w') -@@ -241,7 +241,7 @@ class Anaconda(object): - - network.write_sysconfig_network() - network.disableIPV6() -- network.copyConfigToPath(ROOT_PATH) -+ network.copyConfigToPath(iutil.getSysroot()) - if not self.ksdata: - self.instClass.setNetworkOnbootDefault() - self.desktop.write() -diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py -index 2fc1d49..90aec61 100644 ---- a/pyanaconda/bootloader.py -+++ b/pyanaconda/bootloader.py -@@ -34,7 +34,6 @@ from blivet.devicelibs import mdraid - from pyanaconda.isys import sync - from pyanaconda.product import productName - from pyanaconda.flags import flags --from pyanaconda.constants import * - from blivet.errors import StorageError - from blivet.fcoe import fcoe - import pyanaconda.network -@@ -929,19 +928,19 @@ class BootLoader(object): - - def write_config_post(self): - try: -- os.chmod(ROOT_PATH + self.config_file, self.config_file_mode) -+ os.chmod(iutil.getSysroot() + self.config_file, self.config_file_mode) - except OSError as e: - log.error("failed to set config file permissions: %s" % e) - - def add_crash_args(self): - buf = "" -- if os.access("%s%s" % (ROOT_PATH, "/usr/sbin/rhcrashkernel-param"), \ -+ if os.access("%s%s" % (iutil.getSysroot(), "/usr/sbin/rhcrashkernel-param"), \ - os.X_OK): - (pread, pwrite) = os.pipe() - os.close(pwrite) - buf = iutil.execWithCapture("/usr/sbin/rhcrashkernel-param", [], - stdin=pread, -- root=ROOT_PATH) -+ root=iutil.getSysroot()) - os.close(pread) - self.boot_args.add(buf.replace('\n', ' ')) - -@@ -952,7 +951,7 @@ class BootLoader(object): - - self.add_crash_args() - -- config_path = os.path.normpath(ROOT_PATH + self.config_file) -+ config_path = os.path.normpath(iutil.getSysroot() + self.config_file) - if os.access(config_path, os.R_OK): - os.rename(config_path, config_path + ".anacbak") - -@@ -988,7 +987,7 @@ class BootLoader(object): - - self.write_config() - sync() -- self.stage2_device.format.sync(root=ROOT_PATH) -+ self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot()) - self.install() - - def install(self): -@@ -1180,7 +1179,7 @@ class GRUB(BootLoader): - - if iutil.isConsoleOnVirtualTerminal(self.console): - splash = "splash.xpm.gz" -- splash_path = os.path.normpath("%s/boot/%s/%s" % (ROOT_PATH, -+ splash_path = os.path.normpath("%s/boot/%s/%s" % (iutil.getSysroot(), - self.splash_dir, - splash)) - if os.access(splash_path, os.R_OK): -@@ -1233,7 +1232,7 @@ class GRUB(BootLoader): - - def write_device_map(self): - """ Write out a device map containing all supported devices. """ -- map_path = os.path.normpath(ROOT_PATH + self.device_map_file) -+ map_path = os.path.normpath(iutil.getSysroot() + self.device_map_file) - if os.access(map_path, os.R_OK): - os.rename(map_path, map_path + ".anacbak") - -@@ -1249,7 +1248,7 @@ class GRUB(BootLoader): - super(GRUB, self).write_config_post() - - # make symlink for menu.lst (grub's default config file name) -- menu_lst = "%s%s/menu.lst" % (ROOT_PATH, self.config_dir) -+ menu_lst = "%s%s/menu.lst" % (iutil.getSysroot(), self.config_dir) - if os.access(menu_lst, os.R_OK): - try: - os.rename(menu_lst, menu_lst + '.anacbak') -@@ -1262,7 +1261,7 @@ class GRUB(BootLoader): - log.error("failed to create grub menu.lst symlink: %s" % e) - - # make symlink to grub.conf in /etc since that's where configs belong -- etc_grub = "%s/etc/%s" % (ROOT_PATH, self._config_file) -+ etc_grub = "%s/etc/%s" % (iutil.getSysroot(), self._config_file) - if os.access(etc_grub, os.R_OK): - try: - os.unlink(etc_grub) -@@ -1320,9 +1319,8 @@ class GRUB(BootLoader): - - return targets - -- def install(self): -- rc = iutil.execWithRedirect("grub-install", ["--just-copy"], -- root=ROOT_PATH) -+ def install(self, args=None): -+ rc = iutil.execInSysroot("grub-install", ["--just-copy"]) - if rc: - raise BootLoaderError("bootloader install failed") - -@@ -1342,8 +1340,7 @@ class GRUB(BootLoader): - os.close(pwrite) - args = ["--batch", "--no-floppy", - "--device-map=%s" % self.device_map_file] -- rc = iutil.execWithRedirect("grub", args, -- stdin=pread, root=ROOT_PATH) -+ rc = iutil.execInSysroot("grub", args, stdin=pread) - os.close(pread) - if rc: - raise BootLoaderError("bootloader install failed") -@@ -1452,7 +1449,7 @@ class GRUB2(GRUB): - - def write_device_map(self): - """ Write out a device map containing all supported devices. """ -- map_path = os.path.normpath(ROOT_PATH + self.device_map_file) -+ map_path = os.path.normpath(iutil.getSysroot() + self.device_map_file) - if os.access(map_path, os.R_OK): - os.rename(map_path, map_path + ".anacbak") - -@@ -1477,7 +1474,7 @@ class GRUB2(GRUB): - dev_map.close() - - def write_defaults(self): -- defaults_file = "%s%s" % (ROOT_PATH, self.defaults_file) -+ defaults_file = "%s%s" % (iutil.getSysroot(), self.defaults_file) - defaults = open(defaults_file, "w+") - defaults.write("GRUB_TIMEOUT=%d\n" % self.timeout) - defaults.write("GRUB_DISTRIBUTOR=\"$(sed 's, release .*$,,g' /etc/system-release)\"\n") -@@ -1511,7 +1508,7 @@ class GRUB2(GRUB): - os.close(pwrite) - buf = iutil.execWithCapture("grub2-mkpasswd-pbkdf2", [], - stdin=pread, -- root=ROOT_PATH) -+ root=iutil.getSysroot()) - os.close(pread) - self.encrypted_password = buf.split()[-1].strip() - if not self.encrypted_password.startswith("grub.pbkdf2."): -@@ -1521,7 +1518,7 @@ class GRUB2(GRUB): - if not self.password and not self.encrypted_password: - return - -- users_file = ROOT_PATH + "/etc/grub.d/01_users" -+ users_file = iutil.getSysroot() + "/etc/grub.d/01_users" - header = open(users_file, "w") - header.write("#!/bin/sh -e\n\n") - header.write("cat << \"EOF\"\n") -@@ -1555,16 +1552,13 @@ class GRUB2(GRUB): - # make sure the default entry is the OS we are installing - entry_title = "%s Linux, with Linux %s" % (productName, - self.default.version) -- rc = iutil.execWithRedirect("grub2-set-default", -- [entry_title], -- root=ROOT_PATH) -+ rc = iutil.execInSysroot("grub2-set-default", [entry_title]) - if rc: - log.error("failed to set default menu entry to %s" % productName) - - # now tell grub2 to generate the main configuration file -- rc = iutil.execWithRedirect("grub2-mkconfig", -- ["-o", self.config_file], -- root=ROOT_PATH) -+ rc = iutil.execInSysroot("grub2-mkconfig", -+ ["-o", self.config_file]) - if rc: - raise BootLoaderError("failed to write bootloader configuration") - -@@ -1585,7 +1579,7 @@ class GRUB2(GRUB): - grub_args.insert(0, '--force') - - rc = iutil.execWithRedirect("grub2-install", grub_args, -- root=ROOT_PATH, -+ root=iutil.getSysroot(), - env_prune=['MALLOC_PERTURB_']) - if rc: - raise BootLoaderError("bootloader install failed") -@@ -1600,14 +1594,14 @@ class GRUB2(GRUB): - return - - self.write_device_map() -- self.stage2_device.format.sync(root=ROOT_PATH) -+ self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot()) - sync() - self.install() - sync() -- self.stage2_device.format.sync(root=ROOT_PATH) -+ self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot()) - self.write_config() - sync() -- self.stage2_device.format.sync(root=ROOT_PATH) -+ self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot()) - - def check(self): - """ When installing to the mbr of a disk grub2 needs enough space -@@ -1676,7 +1670,7 @@ class EFIGRUB(GRUB2): - else: - exec_func = iutil.execWithRedirect - if "root" not in kwargs: -- kwargs["root"] = ROOT_PATH -+ kwargs["root"] = iutil.getSysroot() - - return exec_func("efibootmgr", list(args), **kwargs) - -@@ -1722,7 +1716,8 @@ class EFIGRUB(GRUB2): - rc = self.efibootmgr("-c", "-w", "-L", productName, - "-d", boot_disk.path, "-p", boot_part_num, - "-l", -- self.efi_dir_as_efifs_dir + self._efi_binary) -+ self.efi_dir_as_efifs_dir + self._efi_binary, -+ root=iutil.getSysroot()) - if rc: - raise BootLoaderError("failed to set new efi boot target") - -@@ -1747,7 +1742,7 @@ class EFIGRUB(GRUB2): - return - - sync() -- self.stage2_device.format.sync(root=ROOT_PATH) -+ self.stage2_device.format.sync(root=iutil.getTargetPhysicalRoot()) - self.install() - self.write_config() - -@@ -1765,9 +1760,8 @@ class Aarch64EFIGRUB(EFIGRUB): - - class MacEFIGRUB(EFIGRUB): - def mactel_config(self): -- if os.path.exists(ROOT_PATH + "/usr/libexec/mactel-boot-setup"): -- rc = iutil.execWithRedirect("/usr/libexec/mactel-boot-setup", [], -- root=ROOT_PATH) -+ if os.path.exists(iutil.getSysroot() + "/usr/libexec/mactel-boot-setup"): -+ rc = iutil.execInSysroot("/usr/libexec/mactel-boot-setup", []) - if rc: - log.error("failed to configure Mac bootloader") - -@@ -1881,7 +1875,7 @@ class Yaboot(YabootBase): - super(Yaboot, self).write_config_post() - - # make symlink in /etc to yaboot.conf if config is in /boot/etc -- etc_yaboot_conf = ROOT_PATH + "/etc/yaboot.conf" -+ etc_yaboot_conf = iutil.getSysroot() + "/etc/yaboot.conf" - if not os.access(etc_yaboot_conf, os.R_OK): - try: - os.symlink("../boot/etc/yaboot.conf", etc_yaboot_conf) -@@ -1889,8 +1883,8 @@ class Yaboot(YabootBase): - log.error("failed to create /etc/yaboot.conf symlink: %s" % e) - - def write_config(self): -- if not os.path.isdir(ROOT_PATH + self.config_dir): -- os.mkdir(ROOT_PATH + self.config_dir) -+ if not os.path.isdir(iutil.getSysroot() + self.config_dir): -+ os.mkdir(iutil.getSysroot() + self.config_dir) - - # this writes the config - super(Yaboot, self).write_config() -@@ -1901,8 +1895,7 @@ class Yaboot(YabootBase): - - def install(self): - args = ["-f", "-C", self.config_file] -- rc = iutil.execWithRedirect(self.prog, args, -- root=ROOT_PATH) -+ rc = iutil.execInSysroot(self.prog, args) - if rc: - raise BootLoaderError("bootloader installation failed") - -@@ -2027,7 +2020,7 @@ class IPSeriesGRUB2(GRUB2): - def write_defaults(self): - super(IPSeriesGRUB2, self).write_defaults() - -- defaults_file = "%s%s" % (ROOT_PATH, self.defaults_file) -+ defaults_file = "%s%s" % (iutil.getSysroot(), self.defaults_file) - defaults = open(defaults_file, "a+") - # The terminfo's X and Y size, and output location could change in the future - defaults.write("GRUB_TERMINFO=\"terminfo -g 80x24 console\"\n") -@@ -2142,10 +2135,8 @@ class ZIPL(BootLoader): - # installation - # - -- def install(self): -- buf = iutil.execWithCapture("zipl", [], -- root=ROOT_PATH, -- fatal=True) -+ def install(self, args=None): -+ buf = iutil.execWithCapture("zipl", [], root=iutil.getSysroot(), fatal=True) - for line in buf.splitlines(): - if line.startswith("Preparing boot device: "): - # Output here may look like: -@@ -2192,7 +2183,7 @@ class UBOOT(BootLoader): - def install(self): - # a-b-c is a tool that generates a generic boor.scr that works in most situations. - # not perfect but is better than doing nothing -- rc = iutil.execWithRedirect("a-b-c", [], root=ROOT_PATH) -+ rc = iutil.execWithRedirect("a-b-c", [], root=iutil.getSysroot()) - - if rc: - raise BootLoaderError("bootloader install failed") -@@ -2274,7 +2265,7 @@ class EXTLINUX(BootLoader): - config.write("menu notabmsg Press [Tab] and enter the password to edit options") - - def write_config_post(self): -- etc_extlinux = os.path.normpath(ROOT_PATH + "/etc/" + self._config_file) -+ etc_extlinux = os.path.normpath(iutil.getSysroot() + "/etc/" + self._config_file) - if not os.access(etc_extlinux, os.R_OK): - try: - os.symlink("../boot/%s" % self._config_file, etc_extlinux) -@@ -2291,8 +2282,7 @@ class EXTLINUX(BootLoader): - def install(self): - backup = "%s/backup.b" % self._config_dir - args = ["--install", self._config_dir] -- rc = iutil.execWithRedirect("extlinux", args, -- root=ROOT_PATH) -+ rc = iutil.execInSysroot("extlinux", args) - - if rc: - raise BootLoaderError("bootloader install failed") -@@ -2326,9 +2316,9 @@ def writeSysconfigKernel(storage, version): - # get the name of the default kernel package based on the version - kernel_basename = "vmlinuz-" + version - kernel_file = "/boot/%s" % kernel_basename -- if not os.path.isfile(ROOT_PATH + kernel_file): -+ if not os.path.isfile(iutil.getSysroot() + kernel_file): - kernel_file = "/boot/efi/EFI/redhat/%s" % kernel_basename -- if not os.path.isfile(ROOT_PATH + kernel_file): -+ if not os.path.isfile(iutil.getSysroot() + kernel_file): - log.error("failed to recreate path to default kernel image") - return - -@@ -2338,7 +2328,7 @@ def writeSysconfigKernel(storage, version): - log.error("failed to import rpm python module") - return - -- ts = rpm.TransactionSet(ROOT_PATH) -+ ts = rpm.TransactionSet(iutil.getSysroot()) - mi = ts.dbMatch('basenames', kernel_file) - try: - h = mi.next() -@@ -2348,7 +2338,7 @@ def writeSysconfigKernel(storage, version): - - kernel = h.name - -- f = open(ROOT_PATH + "/etc/sysconfig/kernel", "w+") -+ f = open(iutil.getSysroot() + "/etc/sysconfig/kernel", "w+") - f.write("# UPDATEDEFAULT specifies if new-kernel-pkg should make\n" - "# new kernels the default\n") - # only update the default if we're setting the default to linux (#156678) -diff --git a/pyanaconda/constants.py b/pyanaconda/constants.py -index e864630..1d523c0 100644 ---- a/pyanaconda/constants.py -+++ b/pyanaconda/constants.py -@@ -80,6 +80,8 @@ DD_RPMS = "/tmp/DD-*" - TRANSLATIONS_UPDATE_DIR="/tmp/updates/po" - - ANACONDA_CLEANUP = "anaconda-cleanup" -+# This is a legacy variable; new code should use iutil.getSysroot() -+# or iutil.getTargetPhysicalRoot(). - ROOT_PATH = os.environ.get("ANACONDA_ROOT_PATH", "/mnt/sysimage") - MOUNT_DIR = "/mnt/install" - DRACUT_REPODIR = "/run/install/repo" -diff --git a/pyanaconda/desktop.py b/pyanaconda/desktop.py -index fde1dc7..c4edf2f 100644 ---- a/pyanaconda/desktop.py -+++ b/pyanaconda/desktop.py -@@ -21,7 +21,8 @@ - - import os - from simpleconfig import SimpleConfigFile --from pyanaconda.constants import ROOT_PATH, RUNLEVELS -+from pyanaconda.constants import RUNLEVELS -+from pyanaconda import iutil - - import logging - log = logging.getLogger("anaconda") -@@ -51,14 +52,15 @@ class Desktop(SimpleConfigFile): - - def write(self): - if self.getDefaultDesktop(): -- f = open(ROOT_PATH + "/etc/sysconfig/desktop", "w") -+ f = open(iutil.getSysroot() + "/etc/sysconfig/desktop", "w") - f.write(str(self)) - f.close() - -- if not os.path.isdir(ROOT_PATH + '/etc/systemd/system'): -+ if not os.path.isdir(iutil.getSysroot() + '/etc/systemd/system'): - log.warning("there is no /etc/systemd/system directory, cannot update default.target!") - return -- default_target = ROOT_PATH + '/etc/systemd/system/default.target' -+ -+ default_target = iutil.getSysroot() + '/etc/systemd/system/default.target' - if os.path.islink(default_target): - os.unlink(default_target) - os.symlink('/lib/systemd/system/%s' % RUNLEVELS[self.runlevel], -diff --git a/pyanaconda/exception.py b/pyanaconda/exception.py -index 861425f..fe2bb8d 100644 ---- a/pyanaconda/exception.py -+++ b/pyanaconda/exception.py -@@ -34,7 +34,7 @@ import kickstart - import blivet.errors - from pyanaconda.errors import CmdlineError - from pyanaconda.ui.communication import hubQ --from pyanaconda.constants import ROOT_PATH, THREAD_EXCEPTION_HANDLING_TEST -+from pyanaconda.constants import THREAD_EXCEPTION_HANDLING_TEST - from pyanaconda.threads import threadMgr - from pyanaconda.i18n import _ - from pyanaconda import flags -@@ -159,12 +159,12 @@ class AnacondaExceptionHandler(ExceptionHandler): - anaconda = dump_info.object - - # See if there is a /root present in the root path and put exception there as well -- if os.access(ROOT_PATH + "/root", os.X_OK): -+ if os.access(iutil.getSysroot() + "/root", os.X_OK): - try: -- dest = ROOT_PATH + "/root/%s" % os.path.basename(self.exnFile) -+ dest = iutil.getSysroot() + "/root/%s" % os.path.basename(self.exnFile) - shutil.copyfile(self.exnFile, dest) - except: -- log.error("Failed to copy %s to %s/root" % (self.exnFile, ROOT_PATH)) -+ log.error("Failed to copy %s to %s/root" % (self.exnFile, iutil.getSysroot())) - pass - - # run kickstart traceback scripts (if necessary) -@@ -213,7 +213,7 @@ class AnacondaExceptionHandler(ExceptionHandler): - def initExceptionHandling(anaconda): - fileList = [ "/tmp/anaconda.log", "/tmp/packaging.log", - "/tmp/program.log", "/tmp/storage.log", "/tmp/ifcfg.log", -- "/tmp/yum.log", ROOT_PATH + "/root/install.log", -+ "/tmp/yum.log", iutil.getSysroot() + "/root/install.log", - "/proc/cmdline" ] - if flags.flags.livecdInstall: - fileList.extend(["/var/log/messages"]) -diff --git a/pyanaconda/install.py b/pyanaconda/install.py -index 5796086..db66e78 100644 ---- a/pyanaconda/install.py -+++ b/pyanaconda/install.py -@@ -20,12 +20,12 @@ - # Red Hat Author(s): Chris Lumens - # - --from pyanaconda.constants import ROOT_PATH, THREAD_PAYLOAD - from blivet import turnOnFilesystems - from pyanaconda.bootloader import writeBootLoader - from pyanaconda.progress import progress_report, progressQ - from pyanaconda.users import createLuserConf, getPassAlgo, Users - from pyanaconda import flags -+from pyanaconda import iutil - from pyanaconda import timezone - from pyanaconda.i18n import _ - from pyanaconda.threads import threadMgr -@@ -35,7 +35,7 @@ log = logging.getLogger("anaconda") - def _writeKS(ksdata): - import os - -- path = ROOT_PATH + "/root/anaconda-ks.cfg" -+ path = iutil.getSysroot() + "/root/anaconda-ks.cfg" - - # Clear out certain sensitive information that kickstart doesn't have a - # way of representing encrypted. -@@ -80,7 +80,7 @@ def doConfiguration(storage, payload, ksdata, instClass): - - # Creating users and groups requires some pre-configuration. - with progress_report(_("Creating users")): -- createLuserConf(ROOT_PATH, algoname=getPassAlgo(ksdata.authconfig.authconfig)) -+ createLuserConf(iutil.getSysroot(), algoname=getPassAlgo(ksdata.authconfig.authconfig)) - u = Users() - ksdata.rootpw.execute(storage, ksdata, instClass, u) - ksdata.group.execute(storage, ksdata, instClass, u) -diff --git a/pyanaconda/installclasses/fedora.py b/pyanaconda/installclasses/fedora.py -index 98e922f..3e0a5f2 100644 ---- a/pyanaconda/installclasses/fedora.py -+++ b/pyanaconda/installclasses/fedora.py -@@ -18,11 +18,11 @@ - # - - from pyanaconda.installclass import BaseInstallClass --from pyanaconda.constants import * --from pyanaconda.product import * -+from pyanaconda.product import productName - from pyanaconda import network -+from pyanaconda import iutil - from pyanaconda import nm --from pyanaconda.i18n import _ -+from pyanaconda.i18n import _, N_ - - import os, types - -@@ -68,7 +68,7 @@ class InstallClass(BaseInstallClass): - except ValueError as e: - continue - if link_up: -- ifcfg_path = network.find_ifcfg_file_of_device(devName, root_path=ROOT_PATH) -+ ifcfg_path = network.find_ifcfg_file_of_device(devName, root_path=iutil.getSysroot()) - if not ifcfg_path: - continue - ifcfg = network.IfcfgFile(ifcfg_path) -diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py -index f3e5a99..74052fd 100644 ---- a/pyanaconda/installclasses/rhel.py -+++ b/pyanaconda/installclasses/rhel.py -@@ -22,6 +22,7 @@ from pyanaconda.constants import * - from pyanaconda.product import * - from pyanaconda import network - from pyanaconda import nm -+from pyanaconda import iutil - import types - - class InstallClass(BaseInstallClass): -@@ -71,7 +72,7 @@ class InstallClass(BaseInstallClass): - return - if nm.nm_device_type_is_wifi(devName): - return -- ifcfg_path = network.find_ifcfg_file_of_device(devName, root_path=ROOT_PATH) -+ ifcfg_path = network.find_ifcfg_file_of_device(devName, root_path=iutil.getSysroot()) - if not ifcfg_path: - return - ifcfg = network.IfcfgFile(ifcfg_path) -diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py -index 8d6b31b..46f8079 100644 ---- a/pyanaconda/iutil.py -+++ b/pyanaconda/iutil.py -@@ -44,10 +44,44 @@ from anaconda_log import program_log_lock - def augmentEnv(): - env = os.environ.copy() - env.update({"LC_ALL": "C", -- "ANA_INSTALL_PATH": ROOT_PATH -+ "ANA_INSTALL_PATH": getSysroot() - }) - return env - -+def getTargetPhysicalRoot(): -+ """Returns the path to the "physical" storage root, traditionally /mnt/sysimage. -+ -+ This may be distinct from the sysroot, which could be a -+ chroot-type subdirectory of the physical root. This is used for -+ example by all OSTree-based installations. -+ """ -+ -+ # We always use the traditional /mnt/sysimage - the physical OS -+ # target is never mounted anywhere else. This API call just -+ # allows us to have a clean "git grep ROOT_PATH" in other parts of -+ # the code. -+ return ROOT_PATH -+ -+_sysroot = ROOT_PATH -+ -+def getSysroot(): -+ """Returns the path to the target OS installation. -+ -+ For ordinary package-based installations, this is the same as the -+ target root. -+ """ -+ return _sysroot -+ -+def setSysroot(path): -+ """Change the OS root path. -+ :param path: The new OS root path -+ -+ This should only be used by Payload subclasses which install operating -+ systems to non-default roots. -+ """ -+ global _sysroot -+ _sysroot = path -+ - def _run_program(argv, root='/', stdin=None, stdout=None, env_prune=None, log_output=True, binary_output=False): - """ Run an external program, log the output and return it to the caller - @param argv The command to run and argument -@@ -105,6 +139,16 @@ def _run_program(argv, root='/', stdin=None, stdout=None, env_prune=None, log_ou - - return (proc.returncode, output_string) - -+def execInSysroot(command, argv, stdin=None): -+ """ Run an external program in the target root. -+ :param command: The command to run -+ :param argv: The argument list -+ :param stdin: The file object to read stdin from. -+ :return: The return code of the command -+ """ -+ -+ return execWithRedirect(command, argv, stdin=stdin, root=getSysroot()) -+ - def execWithRedirect(command, argv, stdin=None, stdout=None, - stderr=None, root='/', env_prune=[], log_output=True, binary_output=False): - """ Run an external program and redirect the output to a file. -@@ -323,7 +367,7 @@ def reIPL(ipldev): - log.info("reIPL configuration successful") - - def resetRpmDb(): -- for rpmfile in glob.glob("%s/var/lib/rpm/__db.*" % ROOT_PATH): -+ for rpmfile in glob.glob("%s/var/lib/rpm/__db.*" % getSysroot()): - try: - os.unlink(rpmfile) - except OSError as e: -diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py -index df7b5e6..92a406a 100644 ---- a/pyanaconda/kickstart.py -+++ b/pyanaconda/kickstart.py -@@ -40,7 +40,7 @@ import tempfile - import subprocess - import flags as flags_module - from flags import flags --from constants import * -+from constants import ADDON_PATHS - import shlex - import sys - import urlgrabber -@@ -227,14 +227,14 @@ class Authconfig(commands.authconfig.FC3_Authconfig): - args = ["--update", "--nostart"] + shlex.split(self.authconfig) - - if not flags.automatedInstall and \ -- (os.path.exists(ROOT_PATH + "/lib64/security/pam_fprintd.so") or \ -- os.path.exists(ROOT_PATH + "/lib/security/pam_fprintd.so")): -+ (os.path.exists(iutil.getSysroot() + "/lib64/security/pam_fprintd.so") or \ -+ os.path.exists(iutil.getSysroot() + "/lib/security/pam_fprintd.so")): - args += ["--enablefingerprint"] - - try: -- iutil.execWithRedirect("/usr/sbin/authconfig", args, root=ROOT_PATH) -+ iutil.execInSysroot("/usr/sbin/authconfig", args) - except OSError as msg: -- log.error("Error running /usr/sbin/authconfig %s: %s", args, msg) -+ log.error("Error running /usr/sbin/authconfig %s: %s" % (args, msg)) - - class AutoPart(commands.autopart.F20_AutoPart): - def execute(self, storage, ksdata, instClass): -@@ -470,7 +470,7 @@ class Realm(commands.realm.F19_Realm): - # no explicit password arg using implicit --no-password - pw_args = ["--no-password"] - -- argv = ["realm", "join", "--install", ROOT_PATH, "--verbose"] + \ -+ argv = ["realm", "join", "--install", iutil.getSysroot(), "--verbose"] + \ - pw_args + self.join_args - rc = -1 - try: -@@ -581,11 +581,11 @@ class Firewall(commands.firewall.F20_Firewall): - args += [ "--service=%s" % (service,) ] - - cmd = "/usr/bin/firewall-offline-cmd" -- if not os.path.exists(ROOT_PATH+cmd): -+ if not os.path.exists(iutil.getSysroot()+cmd): - msg = _("%s is missing. Cannot setup firewall.") % (cmd,) - raise KickstartError(msg) - else: -- iutil.execWithRedirect(cmd, args, root=ROOT_PATH) -+ iutil.execInSysroot(cmd, args) - - class Firstboot(commands.firstboot.FC3_Firstboot): - def setup(self, *args): -@@ -598,7 +598,7 @@ class Firstboot(commands.firstboot.FC3_Firstboot): - "/lib/systemd/system/initial-setup-graphical.service", - "/lib/systemd/system/initial-setup-text.service") - -- if not any(os.path.exists(ROOT_PATH + path) for path in service_paths): -+ if not any(os.path.exists(iutil.getSysroot() + path) for path in service_paths): - # none of the first boot utilities installed, nothing to do here - return - -@@ -607,13 +607,12 @@ class Firstboot(commands.firstboot.FC3_Firstboot): - if self.firstboot == FIRSTBOOT_SKIP: - action = "disable" - elif self.firstboot == FIRSTBOOT_RECONFIG: -- f = open(ROOT_PATH + "/etc/reconfigSys", "w+") -+ f = open(iutil.getSysroot() + "/etc/reconfigSys", "w+") - f.close() - -- iutil.execWithRedirect("systemctl", [action, "firstboot-graphical.service", -+ iutil.execInSysroot("systemctl", [action, "firstboot-graphical.service", - "initial-setup-graphical.service", -- "initial-setup-text.service"], -- root=ROOT_PATH) -+ "initial-setup-text.service"]) - - class Group(commands.group.F12_Group): - def execute(self, storage, ksdata, instClass, users): -@@ -621,7 +620,7 @@ class Group(commands.group.F12_Group): - - for grp in self.groupList: - kwargs = grp.__dict__ -- kwargs.update({"root": ROOT_PATH}) -+ kwargs.update({"root": iutil.getSysroot()}) - if not users.createGroup(grp.name, **kwargs): - log.error("Group %s already exists, not creating." % grp.name) - -@@ -692,7 +691,7 @@ class IscsiName(commands.iscsiname.FC6_IscsiName): - - class Lang(commands.lang.F19_Lang): - def execute(self, *args, **kwargs): -- localization.write_language_configuration(self, ROOT_PATH) -+ localization.write_language_configuration(self, iutil.getSysroot()) - - # no overrides needed here - Eula = commands.eula.F20_Eula -@@ -902,7 +901,7 @@ class Logging(commands.logging.FC6_Logging): - - class Network(commands.network.RHEL7_Network): - def execute(self, storage, ksdata, instClass): -- network.write_network_config(storage, ksdata, instClass, ROOT_PATH) -+ network.write_network_config(storage, ksdata, instClass, iutil.getSysroot()) - - class MultiPath(commands.multipath.FC6_MultiPath): - def parse(self, args): -@@ -1326,7 +1325,7 @@ class SELinux(commands.selinux.FC3_SELinux): - return - - try: -- selinux_cfg = SimpleConfigFile(ROOT_PATH+"/etc/selinux/config") -+ selinux_cfg = SimpleConfigFile(iutil.getSysroot()+"/etc/selinux/config") - selinux_cfg.read() - selinux_cfg.set(("SELINUX", selinux_states[self.selinux])) - selinux_cfg.write() -@@ -1339,12 +1338,10 @@ class Services(commands.services.FC6_Services): - enabled = map(lambda s: s + ".service", self.enabled) - - if disabled: -- iutil.execWithRedirect("systemctl", ["disable"] + disabled, -- root=ROOT_PATH) -+ iutil.execInSysroot("systemctl", ["disable"] + disabled) - - if enabled: -- iutil.execWithRedirect("systemctl", ["enable"] + enabled, -- root=ROOT_PATH) -+ iutil.execInSysroot("systemctl", ["enable"] + enabled) - - class Timezone(commands.timezone.F18_Timezone): - def __init__(self, *args): -@@ -1393,11 +1390,11 @@ class Timezone(commands.timezone.F18_Timezone): - "back to default (America/New_York)." % (self.timezone,)) - self.timezone = "America/New_York" - -- timezone.write_timezone_config(self, ROOT_PATH) -+ timezone.write_timezone_config(self, iutil.getSysroot()) - - # write out NTP configuration (if set) - if not self.nontp and self.ntpservers: -- chronyd_conf_path = os.path.normpath(ROOT_PATH + ntp.NTP_CONFIG_FILE) -+ chronyd_conf_path = os.path.normpath(iutil.getSysroot() + ntp.NTP_CONFIG_FILE) - try: - ntp.save_servers_to_config(self.ntpservers, - conf_file_path=chronyd_conf_path) -@@ -1410,7 +1407,7 @@ class User(commands.user.F12_User): - - for usr in self.userList: - kwargs = usr.__dict__ -- kwargs.update({"algo": algo, "root": ROOT_PATH}) -+ kwargs.update({"algo": algo, "root": iutil.getSysroot()}) - - # If the user password came from a kickstart and it is blank we - # need to make sure the account is locked, not created with an -@@ -1515,7 +1512,7 @@ class ZFCP(commands.zfcp.F14_ZFCP): - - class Keyboard(commands.keyboard.F18_Keyboard): - def execute(self, *args): -- keyboard.write_keyboard_config(self, ROOT_PATH) -+ keyboard.write_keyboard_config(self, iutil.getSysroot()) - - def dracutSetupArgs(self, *args): - return keyboard.dracut_setup_args(self) -@@ -1542,7 +1539,7 @@ class SpokeRegistry(dict): - - # pylint: disable-msg=C0103 - def execute(self, storage, ksdata, instClass, users): -- path = os.path.join(ROOT_PATH, "var", "lib", "inital-setup") -+ path = os.path.join(iutil.getSysroot(), "var", "lib", "inital-setup") - try: - os.makedirs(path, 0755) - except OSError: -@@ -1748,7 +1745,7 @@ def runPostScripts(scripts): - del(os.environ[var]) - - log.info("Running kickstart %%post script(s)") -- map (lambda s: s.run(ROOT_PATH), postScripts) -+ map (lambda s: s.run(iutil.getSysroot()), postScripts) - log.info("All kickstart %%post script(s) have been run") - - def runPreScripts(scripts): -diff --git a/pyanaconda/packaging/__init__.py b/pyanaconda/packaging/__init__.py -index 47bb895..9b97149 100644 ---- a/pyanaconda/packaging/__init__.py -+++ b/pyanaconda/packaging/__init__.py -@@ -377,8 +377,8 @@ class Payload(object): - else: - cmpfunc = yum.rpmUtils.miscutils.compareVerOnly - -- files = glob.glob(ROOT_PATH + "/boot/vmlinuz-*") -- files.extend(glob.glob(ROOT_PATH + "/boot/efi/EFI/redhat/vmlinuz-*")) -+ files = glob.glob(iutil.getSysroot() + "/boot/vmlinuz-*") -+ files.extend(glob.glob(iutil.getSysroot() + "/boot/efi/EFI/redhat/vmlinuz-*")) - # strip off everything up to and including vmlinuz- to get versions - # Ignore rescue kernels - versions = [f.split("/")[-1][8:] for f in files if os.path.isfile(f) \ -@@ -536,7 +536,7 @@ class Payload(object): - ### - def preInstall(self, packages=None, groups=None): - """ Perform pre-installation tasks. """ -- iutil.mkdirChain(ROOT_PATH + "/root") -+ iutil.mkdirChain(iutil.getSysroot() + "/root") - - self._writeModuleBlacklist() - -@@ -552,8 +552,8 @@ class Payload(object): - if "modprobe.blacklist" not in flags.cmdline: - return - -- iutil.mkdirChain(ROOT_PATH + "/etc/modprobe.d") -- with open(ROOT_PATH + "/etc/modprobe.d/anaconda-blacklist.conf", "w") as f: -+ iutil.mkdirChain(iutil.getSysroot() + "/etc/modprobe.d") -+ with open(iutil.getSysroot() + "/etc/modprobe.d/anaconda-blacklist.conf", "w") as f: - f.write("# Module blacklists written by anaconda\n") - for module in flags.cmdline["modprobe.blacklist"].split(): - f.write("blacklist %s\n" % module) -@@ -568,7 +568,7 @@ class Payload(object): - # the firmware files in the common DD firmware directory - for f in glob.glob(DD_FIRMWARE+"/*"): - try: -- shutil.copyfile(f, "%s/lib/firmware/" % ROOT_PATH) -+ shutil.copyfile(f, "%s/lib/firmware/" % iutil.getSysroot()) - except IOError as e: - log.error("Could not copy firmware file %s: %s" % (f, e.strerror)) - else: -@@ -576,12 +576,12 @@ class Payload(object): - - #copy RPMS - for d in glob.glob(DD_RPMS): -- shutil.copytree(d, ROOT_PATH + "/root/" + os.path.basename(d)) -+ shutil.copytree(d, iutil.getSysroot() + "/root/" + os.path.basename(d)) - - #copy modules and firmware into root's home directory - if os.path.exists(DD_ALL): - try: -- shutil.copytree(DD_ALL, ROOT_PATH + "/root/DD") -+ shutil.copytree(DD_ALL, iutil.getSysroot() + "/root/DD") - except IOError as e: - log.error("failed to copy driver disk files: %s" % e.strerror) - # XXX TODO: real error handling, as this is probably going to -@@ -603,26 +603,24 @@ class Payload(object): - for kernel in self.kernelVersionList: - log.info("recreating initrd for %s" % kernel) - if not flags.imageInstall: -- iutil.execWithRedirect("new-kernel-pkg", -- ["--mkinitrd", "--dracut", -- "--depmod", "--update", kernel], -- root=ROOT_PATH) -+ iutil.execInSysroot("new-kernel-pkg", -+ ["--mkinitrd", "--dracut", -+ "--depmod", "--update", kernel]) - else: - # hostonly is not sensible for disk image installations - # using /dev/disk/by-uuid/ is necessary due to disk image naming -- iutil.execWithRedirect("dracut", -- ["-N", -- "--persistent-policy", "by-uuid", -- "-f", "/boot/initramfs-%s.img" % kernel, -- kernel], -- root=ROOT_PATH) -+ iutil.execInSysroot("dracut", -+ ["-N", -+ "--persistent-policy", "by-uuid", -+ "-f", "/boot/initramfs-%s.img" % kernel, -+ kernel]) - - self._createdInitrds = True - - - def _setDefaultBootTarget(self): - """ Set the default systemd target for the system. """ -- if not os.path.exists(ROOT_PATH + "/etc/systemd/system"): -+ if not os.path.exists(iutil.getSysroot() + "/etc/systemd/system"): - log.error("systemd is not installed -- can't set default target") - return - -@@ -635,7 +633,7 @@ class Payload(object): - except ImportError: - log.info("failed to import rpm -- not adjusting default runlevel") - else: -- ts = rpm.TransactionSet(ROOT_PATH) -+ ts = rpm.TransactionSet(iutil.getSysroot()) - - # XXX one day this might need to account for anaconda's display mode - if ts.dbMatch("provides", 'service(graphical-login)').count() and \ -@@ -653,7 +651,7 @@ class Payload(object): - pass - else: - iutil.resetRpmDb() -- ts = rpm.TransactionSet(ROOT_PATH) -+ ts = rpm.TransactionSet(iutil.getSysroot()) - - # Only add "rhgb quiet" on non-s390, non-serial installs - if iutil.isConsoleOnVirtualTerminal() and \ -diff --git a/pyanaconda/packaging/livepayload.py b/pyanaconda/packaging/livepayload.py -index 48c154f..09485e1 100644 ---- a/pyanaconda/packaging/livepayload.py -+++ b/pyanaconda/packaging/livepayload.py -@@ -42,7 +42,7 @@ import glob - - from . import ImagePayload, PayloadSetupError, PayloadInstallError - --from pyanaconda.constants import INSTALL_TREE, ROOT_PATH, THREAD_LIVE_PROGRESS -+from pyanaconda.constants import INSTALL_TREE, THREAD_LIVE_PROGRESS - from pyanaconda.constants import IMAGE_DIR - - from pyanaconda import iutil -@@ -61,7 +61,7 @@ class LiveImagePayload(ImagePayload): - """ A LivePayload copies the source image onto the target system. """ - def __init__(self, *args, **kwargs): - super(LiveImagePayload, self).__init__(*args, **kwargs) -- # Used to adjust size of ROOT_PATH when files are already present -+ # Used to adjust size of sysroot when files are already present - self._adj_size = 0 - - def setup(self, storage): -@@ -91,7 +91,7 @@ class LiveImagePayload(ImagePayload): - while self.pct < 100: - dest_size = 0 - for mnt in mountpoints: -- mnt_stat = os.statvfs(ROOT_PATH+mnt) -+ mnt_stat = os.statvfs(iutil.getSysroot()+mnt) - dest_size += mnt_stat.f_frsize * (mnt_stat.f_blocks - mnt_stat.f_bfree) - if dest_size >= self._adj_size: - dest_size -= self._adj_size -@@ -118,7 +118,7 @@ class LiveImagePayload(ImagePayload): - # file system boundaries - args = ["-pogAXtlHrDx", "--exclude", "/dev/", "--exclude", "/proc/", - "--exclude", "/sys/", "--exclude", "/run/", "--exclude", "/boot/*rescue*", -- "--exclude", "/etc/machine-id", INSTALL_TREE+"/", ROOT_PATH] -+ "--exclude", "/etc/machine-id", INSTALL_TREE+"/", iutil.getSysroot()] - try: - rc = iutil.execWithRedirect(cmd, args) - except (OSError, RuntimeError) as e: -@@ -149,14 +149,13 @@ class LiveImagePayload(ImagePayload): - - # Live needs to create the rescue image before bootloader is written - for kernel in self.kernelVersionList: -- log.info("Generating rescue image for %s", kernel) -- iutil.execWithRedirect("new-kernel-pkg", -- ["--rpmposttrans", kernel], -- root=ROOT_PATH) -+ log.info("Generating rescue image for %s" % kernel) -+ iutil.execInSysroot("new-kernel-pkg", -+ ["--rpmposttrans", kernel]) - - # Make sure the new system has a machine-id, it won't boot without it -- if not os.path.exists(ROOT_PATH+"/etc/machine-id"): -- iutil.execWithRedirect("systemd-machine-id-setup", [], root=ROOT_PATH) -+ if not os.path.exists(iutil.getSysroot()+"/etc/machine-id"): -+ iutil.execInSysroot("systemd-machine-id-setup", []) - - @property - def spaceRequired(self): -@@ -216,7 +215,7 @@ class LiveImageKSPayload(LiveImagePayload): - def __init__(self, *args, **kwargs): - super(LiveImageKSPayload, self).__init__(*args, **kwargs) - self._min_size = 0 -- self.image_path = ROOT_PATH+"/disk.img" -+ self.image_path = iutil.getSysroot()+"/disk.img" - - def setup(self, storage): - """ Check the availability and size of the image. -@@ -263,10 +262,10 @@ class LiveImageKSPayload(LiveImagePayload): - """ Download image and loopback mount it. - - This is called after partitioning is setup, we now have space -- to grab the image. Download it to ROOT_PATH and provide feedback -+ to grab the image. Download it to sysroot and provide feedback - during the download (using urlgrabber callback). - """ -- # Setup urlgrabber and call back to download image to ROOT_PATH -+ # Setup urlgrabber and call back to download image to sysroot - progress = URLGrabberProgress() - ugopts = {"ssl_verify_peer": not self.data.method.noverifyssl, - "ssl_verify_host": not self.data.method.noverifyssl, -diff --git a/pyanaconda/packaging/tarpayload.py b/pyanaconda/packaging/tarpayload.py -index 26922af..fe78478 100644 ---- a/pyanaconda/packaging/tarpayload.py -+++ b/pyanaconda/packaging/tarpayload.py -@@ -79,7 +79,7 @@ class TarPayload(ArchivePayload): - - def install(self): - try: -- self.archive.extractall(path=ROOT_PATH) -+ self.archive.extractall(path=iutil.getSysroot()) - except (tarfile.ExtractError, tarfile.CompressionError) as e: - log.error("extracting tar archive %s: %s" % (self.image_file, e)) - -diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py -index 211e5e9..a81b5bc 100644 ---- a/pyanaconda/packaging/yumpayload.py -+++ b/pyanaconda/packaging/yumpayload.py -@@ -288,7 +288,7 @@ reposdir=%s - def _yumCacheDirHack(self): - # This is what it takes to get yum to use a cache dir outside the - # install root. We do this so we don't have to re-gather repo meta- -- # data after we change the install root to ROOT_PATH, which can only -+ # data after we change the install root to sysroot, which can only - # happen after we've enabled the new storage configuration. - with _yum_lock: - if not self._yum.conf.cachedir.startswith(self._yum.conf.installroot): -@@ -363,7 +363,7 @@ reposdir=%s - self._writeYumConfig() - self._writeLangpacksConfig() - log.debug("setting releasever to previous value of %s" % releasever) -- self._resetYum(root=ROOT_PATH, keep_cache=True, releasever=releasever) -+ self._resetYum(root=iutil.getSysroot(), keep_cache=True, releasever=releasever) - self._yumCacheDirHack() - self.gatherRepoMetadata() - -@@ -1629,7 +1629,7 @@ reposdir=%s - "PROGRESS_POST" : _("Performing post-installation setup tasks") - } - -- ts_file = ROOT_PATH+"/anaconda-yum.yumtx" -+ ts_file = iutil.getSysroot()+"/anaconda-yum.yumtx" - with _yum_lock: - # Save the transaction, this will be loaded and executed by the new - # process. -@@ -1646,7 +1646,7 @@ reposdir=%s - args = ["--config", "/tmp/anaconda-yum.conf", - "--tsfile", ts_file, - "--rpmlog", script_log, -- "--installroot", ROOT_PATH, -+ "--installroot", iutil.getSysroot(), - "--release", release, - "--arch", blivet.arch.getArch()] - -@@ -1702,7 +1702,7 @@ reposdir=%s - # all yumvars and writing out the expanded pairs to the conf - yb = yum.YumBase() - yum_conf_path = "/etc/yum.conf" -- yb.preconf.fn = ROOT_PATH + yum_conf_path -+ yb.preconf.fn = iutil.getSysroot() + yum_conf_path - yb.conf.multilib_policy = "all" - - # this will appear in yum.conf, which is silly -@@ -1712,7 +1712,7 @@ reposdir=%s - cachedir = yb.conf.cachedir.replace("/%s/" % yb.arch.basearch, - "/$basearch/") - yb.conf.cachedir = cachedir -- yum_conf = ROOT_PATH + yum_conf_path -+ yum_conf = iutil.getSysroot() + yum_conf_path - if os.path.exists(yum_conf): - try: - os.rename(yum_conf, yum_conf + ".anacbak") -diff --git a/pyanaconda/rescue.py b/pyanaconda/rescue.py -index ff74f6b..e0c4e13 100644 ---- a/pyanaconda/rescue.py -+++ b/pyanaconda/rescue.py -@@ -40,7 +40,7 @@ import subprocess - - from snack import ButtonChoiceWindow, ListboxChoiceWindow,SnackScreen - --from constants import ANACONDA_CLEANUP, ROOT_PATH -+from constants import ANACONDA_CLEANUP - from constants_text import TEXT_OK_BUTTON, TEXT_NO_BUTTON, TEXT_YES_BUTTON - from text import WaitWindow, OkCancelWindow, ProgressWindow, PassphraseEntryWindow - from flags import flags -@@ -308,7 +308,7 @@ def doRescue(intf, rescue_mount, ksdata): - "\n\n" - "If for some reason this process fails you can choose 'Skip' " - "and this step will be skipped and you will go directly to a " -- "command shell.\n\n") % (ROOT_PATH,), -+ "command shell.\n\n") % (iutil.getSysroot(),), - [_("Continue"), _("Read-Only"), _("Skip")] ) - - if rc == _("Skip").lower(): -@@ -380,14 +380,14 @@ def doRescue(intf, rescue_mount, ksdata): - rootmounted = False - else: - if flags.automatedInstall: -- log.info("System has been mounted under: %s" % ROOT_PATH) -+ log.info("System has been mounted under: %s" % iutil.getSysroot()) - else: - ButtonChoiceWindow(intf.screen, _("Rescue"), - _("Your system has been mounted under %(rootPath)s.\n\n" - "Press to get a shell. If you would like to " - "make your system the root environment, run the command:\n\n" - "\tchroot %(rootPath)s\n\n%(msg)s") % -- {'rootPath': ROOT_PATH, -+ {'rootPath': iutil.getSysroot(), - 'msg': msg}, - [_("OK")] ) - rootmounted = True -@@ -404,7 +404,7 @@ def doRescue(intf, rescue_mount, ksdata): - # we have to catch the possible exception - # because we support read-only mounting - try: -- fd = open("%s/.autorelabel" % ROOT_PATH, "w+") -+ fd = open("%s/.autorelabel" % iutil.getSysroot(), "w+") - fd.close() - except IOError: - log.warning("cannot touch /.autorelabel") -@@ -456,7 +456,7 @@ def doRescue(intf, rescue_mount, ksdata): - ButtonChoiceWindow(intf.screen, _("Rescue"), - _("An error occurred trying to mount some or all of your " - "system. Some of it may be mounted under %s.\n\n" -- "Press to get a shell.") % ROOT_PATH + msg, -+ "Press to get a shell.") % iutil.getSysroot() + msg, - [_("OK")] ) - else: - if flags.automatedInstall and ksdata.reboot.action in [KS_REBOOT, KS_SHUTDOWN]: -@@ -480,10 +480,10 @@ def doRescue(intf, rescue_mount, ksdata): - if rootmounted and not readOnly: - sto.makeMtab() - try: -- makeResolvConf(ROOT_PATH) -+ makeResolvConf(iutil.getSysroot()) - except (OSError, IOError) as e: - log.error("error making a resolv.conf: %s" %(e,)) -- msgStr = _("Your system is mounted under the %s directory.") % (ROOT_PATH,) -+ msgStr = _("Your system is mounted under the %s directory.") % (iutil.getSysroot(),) - ButtonChoiceWindow(intf.screen, _("Rescue"), msgStr, [_("OK")] ) - - # we do not need ncurses anymore, shut them down -diff --git a/pyanaconda/users.py b/pyanaconda/users.py -index 9e09be0..2e40465 100644 ---- a/pyanaconda/users.py -+++ b/pyanaconda/users.py -@@ -29,7 +29,6 @@ import os.path - import iutil - import pwquality - import re --from pyanaconda.constants import ROOT_PATH - from pyanaconda.iutil import strip_accents - from pyanaconda.i18n import _ - -@@ -192,7 +191,7 @@ class Users: - """ - - childpid = os.fork() -- root = kwargs.get("root", ROOT_PATH) -+ root = kwargs.get("root", iutil.getSysroot()) - - if not childpid: - if not root in ["","/"]: -@@ -258,7 +257,7 @@ class Users: - available one is used. - """ - childpid = os.fork() -- root = kwargs.get("root", ROOT_PATH) -+ root = kwargs.get("root", iutil.getSysroot()) - - if not childpid: - if not root in ["","/"]: -@@ -358,7 +357,7 @@ class Users: - else: - return False - -- def checkUserExists(self, username, root=ROOT_PATH): -+ def checkUserExists(self, username, root=iutil.getSysroot()): - childpid = os.fork() - - if not childpid: --- -1.9.3 - diff --git a/SOURCES/0005-main-Set-flags.extlinux-if-extlinux-is-used-in-inter.patch b/SOURCES/0005-main-Set-flags.extlinux-if-extlinux-is-used-in-inter.patch deleted file mode 100644 index ab00082..0000000 --- a/SOURCES/0005-main-Set-flags.extlinux-if-extlinux-is-used-in-inter.patch +++ /dev/null @@ -1,52 +0,0 @@ -From ef84a6c944b5a877e5d268845f08ad01f4859790 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Sun, 4 May 2014 22:54:28 +0000 -Subject: [PATCH 05/20] main: Set flags.extlinux if extlinux is used in - interactive-defaults.ks - -For making a custom Project Atomic boot ISO, I tried adding -"bootloader --extlinux" to /usr/share/anaconda/interactive-defaults.ks. - -Confusingly this doesn't work because extlinux is a flag, and not just -a kickstart variable; the flag is set by the dracut KS parser. (Does -extlinux really need to be a flag?) - -This small patch just ensures the flag is set if the KS enables -extlinux. - -Note: I left a log.info in there since it seems useful to log when -we're parsing a KS file, but feel free to remove it. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit f4921edf42d57523e8b42ba21d79e78a47d88e8b ---- - anaconda | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/anaconda b/anaconda -index 2a802a3..0cd031f 100755 ---- a/anaconda -+++ b/anaconda -@@ -903,6 +903,7 @@ if __name__ == "__main__": - continue - - kickstart.preScriptPass(f) -+ log.info("Parsing kickstart: " + f) - ksdata = kickstart.parseKickstart(f) - - # Only load the first defaults file we find. -@@ -911,6 +912,10 @@ if __name__ == "__main__": - if not ksdata: - ksdata = kickstart.AnacondaKSHandler(addon_paths["ks"]) - -+ # Pick up any changes from interactive-defaults.ks that would -+ # otherwise be covered by the dracut KS parser. -+ if ksdata.bootloader.extlinux: -+ flags.extlinux = True - if ksdata.rescue.rescue: - anaconda.rescue = True - --- -1.9.3 - diff --git a/SOURCES/0006-iutil-Transparently-redirect-anyone-who-asks-root-mn.patch b/SOURCES/0006-iutil-Transparently-redirect-anyone-who-asks-root-mn.patch deleted file mode 100644 index 9f70493..0000000 --- a/SOURCES/0006-iutil-Transparently-redirect-anyone-who-asks-root-mn.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 6e37ac460ec6a9ec34ff067bf6b74f1d2bdce13d Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Thu, 24 Apr 2014 16:02:17 -0400 -Subject: [PATCH 06/20] iutil: Transparently redirect anyone who asks - root=/mnt/sysimage to sysroot - -This is a followup from the previous commit to split the physical -mount and OS root path. No code should be asking to run code directly -in the physical root, so just redirect them to the OS root. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 6bfa5c1c7b0b3a2301ac1468438d096407fb0a8f ---- - pyanaconda/iutil.py | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py -index 46f8079..41853f7 100644 ---- a/pyanaconda/iutil.py -+++ b/pyanaconda/iutil.py -@@ -96,9 +96,15 @@ def _run_program(argv, root='/', stdin=None, stdout=None, env_prune=None, log_ou - if env_prune is None: - env_prune = [] - -+ # Transparently redirect callers requesting root=ROOT_PATH to the -+ # configured system root. -+ target_root = root -+ if target_root == ROOT_PATH: -+ target_root = getSysroot() -+ - def chroot(): -- if root and root != '/': -- os.chroot(root) -+ if target_root and target_root != '/': -+ os.chroot(target_root) - os.chdir("/") - - with program_log_lock: --- -1.9.3 - diff --git a/SOURCES/0007-install-Move-Payload-postInstall-after-bootloader.patch b/SOURCES/0007-install-Move-Payload-postInstall-after-bootloader.patch deleted file mode 100644 index 4909179..0000000 --- a/SOURCES/0007-install-Move-Payload-postInstall-after-bootloader.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4158c741f889513aff3ee0918c3d38273a8f3a60 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Fri, 25 Apr 2014 08:37:09 -0400 -Subject: [PATCH 07/20] install: Move Payload postInstall() after bootloader - -None of the current Payload subclasses are sensitive to ordering with -respect to the bootloader. The forthcoming OSTreePayload class will -require postprocessing of the bootloader, so let's just swap the -ordering. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit f433850099e98eee50ae995d0a864b86619ee84f ---- - pyanaconda/install.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/pyanaconda/install.py b/pyanaconda/install.py -index db66e78..8068bf0 100644 ---- a/pyanaconda/install.py -+++ b/pyanaconda/install.py -@@ -172,12 +172,12 @@ def doInstall(storage, payload, ksdata, instClass): - if flags.flags.livecdInstall: - storage.write() - -- with progress_report(_("Performing post-installation setup tasks")): -- payload.postInstall() -- - # Do bootloader. - if not flags.flags.dirInstall: - with progress_report(_("Installing bootloader")): - writeBootLoader(storage, payload, instClass, ksdata) - -+ with progress_report(_("Performing post-installation setup tasks")): -+ payload.postInstall() -+ - progressQ.send_complete() --- -1.9.3 - diff --git a/SOURCES/0008-install-Handle-distinct-physical-root-sysroot.patch b/SOURCES/0008-install-Handle-distinct-physical-root-sysroot.patch deleted file mode 100644 index 517cf59..0000000 --- a/SOURCES/0008-install-Handle-distinct-physical-root-sysroot.patch +++ /dev/null @@ -1,82 +0,0 @@ -From cbcd5de3b4a37b620388f1de420721d1ae3d4130 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Fri, 25 Apr 2014 08:57:47 -0400 -Subject: [PATCH 08/20] install: Handle distinct physical root/sysroot - -Recent changes introduced the ability to have distinct physical root -and sysroot. In this case, because we run the bootloader binaries -inside the target, we need to ensure that e.g. /boot is mounted inside -that target root. - -Note in this case, we also use a new Blivet API to update its -knowledge of the system root. - -This patch also updates the storage write logic to note if -ksdata.ostreesetup.osname is set, because the storage will have to be -written after the packaging. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 0bbc9adf41b33062bbbfe478b3373a3404de21aa ---- - pyanaconda/install.py | 30 +++++++++++++++++++++++++++--- - 1 file changed, 27 insertions(+), 3 deletions(-) - -diff --git a/pyanaconda/install.py b/pyanaconda/install.py -index 8068bf0..68551cc 100644 ---- a/pyanaconda/install.py -+++ b/pyanaconda/install.py -@@ -30,6 +30,7 @@ from pyanaconda import timezone - from pyanaconda.i18n import _ - from pyanaconda.threads import threadMgr - import logging -+import blivet - log = logging.getLogger("anaconda") - - def _writeKS(ksdata): -@@ -148,7 +149,9 @@ def doInstall(storage, payload, ksdata, instClass): - payload.preStorage() - - turnOnFilesystems(storage, mountOnly=flags.flags.dirInstall) -- if not flags.flags.livecdInstall and not flags.flags.dirInstall: -+ write_storage_late = (flags.flags.livecdInstall or ksdata.ostreesetup.seen -+ and not flags.flags.dirInstall) -+ if not write_storage_late: - storage.write() - - # Do packaging. -@@ -169,8 +172,29 @@ def doInstall(storage, payload, ksdata, instClass): - payload.preInstall(packages=packages, groups=payload.languageGroups()) - payload.install() - -- if flags.flags.livecdInstall: -- storage.write() -+ if write_storage_late: -+ if iutil.getSysroot() != iutil.getTargetPhysicalRoot(): -+ blivet.setSysroot(iutil.getTargetPhysicalRoot(), -+ iutil.getSysroot()) -+ storage.write() -+ -+ # Now that we have the FS layout in the target, umount -+ # things that were in the legacy sysroot, and put them in -+ # the target root, except for the physical /. First, -+ # unmount all target filesystems. -+ storage.umountFilesystems() -+ -+ # Explicitly mount the root on the physical sysroot -+ rootmnt = storage.mountpoints.get('/') -+ rootmnt.setup() -+ rootmnt.format.setup(rootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) -+ -+ # Everything else goes in the target root, including /boot -+ # since the bootloader code will expect to find /boot -+ # inside the chroot. -+ storage.mountFilesystems(skipRoot=True) -+ else: -+ storage.write() - - # Do bootloader. - if not flags.flags.dirInstall: --- -1.9.3 - diff --git a/SOURCES/0009-bootloader-Allow-extlinux-loader-configuration-to-ha.patch b/SOURCES/0009-bootloader-Allow-extlinux-loader-configuration-to-ha.patch deleted file mode 100644 index 2b03846..0000000 --- a/SOURCES/0009-bootloader-Allow-extlinux-loader-configuration-to-ha.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 918a9b0743f63c630144463df1d8daf7538aa27c Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Mon, 5 May 2014 12:42:19 -0400 -Subject: [PATCH 09/20] bootloader: Allow extlinux loader configuration to - handle RPMOSTreePayload case - -For RPMOSTreePayload, we are just laying down the bootloader -configuration with no kernel - OSTree then updates that configuration. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 627486c22cdaf6c07009026791f5bd6fc1aaadaa ---- - pyanaconda/bootloader.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py -index 90aec61..860bde3 100644 ---- a/pyanaconda/bootloader.py -+++ b/pyanaconda/bootloader.py -@@ -2253,10 +2253,10 @@ class EXTLINUX(BootLoader): - "menu hidden\n\n" - "timeout %(timeout)d\n" - "#totaltimeout 9000\n\n" -- "default %(default)s\n\n" -- % { "productName": productName, "timeout": self.timeout *10, -- "default": self.image_label(self.default)}) -+ % { "productName": productName, "timeout": self.timeout *10 }) - config.write(header) -+ if self.default is not None: -+ config.write("default %(default)s\n\n" % { "default" : self.image_label(self.default) }) - self.write_config_password(config) - - def write_config_password(self, config): --- -1.9.3 - diff --git a/SOURCES/0010-Add-RPMOSTreePayload.patch b/SOURCES/0010-Add-RPMOSTreePayload.patch deleted file mode 100644 index 8e0ade5..0000000 --- a/SOURCES/0010-Add-RPMOSTreePayload.patch +++ /dev/null @@ -1,457 +0,0 @@ -From 2a99e198c40b22fd2f3bf3988902b8d02817ea82 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Wed, 30 Apr 2014 19:26:37 -0400 -Subject: [PATCH 10/20] Add RPMOSTreePayload - -This is a new backend that uses ostree to install. However, it's -named RPMOSTree because a future iteration will use rpm-ostree which -will support a hybrid of tree + RPM packages. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 131cbcec9c113dd5f66d14d440297d50b2900e01 ---- - data/post-scripts/80-setfilecons.ks | 3 + - po/POTFILES.in | 1 + - pyanaconda/__init__.py | 5 +- - pyanaconda/bootloader.py | 44 +++--- - pyanaconda/install.py | 16 ++ - pyanaconda/packaging/__init__.py | 6 + - pyanaconda/packaging/rpmostreepayload.py | 246 +++++++++++++++++++++++++++++++ - 7 files changed, 302 insertions(+), 19 deletions(-) - create mode 100644 pyanaconda/packaging/rpmostreepayload.py - -diff --git a/data/post-scripts/80-setfilecons.ks b/data/post-scripts/80-setfilecons.ks -index 93ac962..f0d0414 100644 ---- a/data/post-scripts/80-setfilecons.ks -+++ b/data/post-scripts/80-setfilecons.ks -@@ -4,6 +4,9 @@ restorecon -ir /etc/sysconfig/network-scripts /var/lib /etc/lvm \ - /dev /etc/iscsi /var/lib/iscsi /root /var/lock /var/log \ - /etc/modprobe.d /etc/sysconfig /var/cache/yum - -+# Also relabel the OSTree variants of the normal mounts (if they exist) -+restorecon -ir /var/roothome /var/home /var/opt /var/srv /var/media /var/mnt -+ - restorecon -i /etc/rpm/macros /etc/dasd.conf /etc/zfcp.conf /lib64 /usr/lib64 \ - /etc/blkid.tab* /etc/mtab /etc/fstab /etc/resolv.conf \ - /etc/modprobe.conf* /var/log/*tmp /etc/crypttab \ -diff --git a/po/POTFILES.in b/po/POTFILES.in -index 4b341fc..8df1636 100644 ---- a/po/POTFILES.in -+++ b/po/POTFILES.in -@@ -25,6 +25,7 @@ pyanaconda/packaging/__init__.py - pyanaconda/packaging/livepayload.py - pyanaconda/packaging/tarpayload.py - pyanaconda/packaging/yumpayload.py -+pyanaconda/packaging/rpmostreepayload.py - - # Interfaces - pyanaconda/ui/common.py -diff --git a/pyanaconda/__init__.py b/pyanaconda/__init__.py -index fad7a90..34d46e0 100644 ---- a/pyanaconda/__init__.py -+++ b/pyanaconda/__init__.py -@@ -124,7 +124,10 @@ class Anaconda(object): - if not klass: - from flags import flags - -- if flags.livecdInstall: -+ if self.ksdata.ostreesetup.seen: -+ from pyanaconda.packaging.rpmostreepayload import RPMOSTreePayload -+ klass = RPMOSTreePayload -+ elif flags.livecdInstall: - from pyanaconda.packaging.livepayload import LiveImagePayload - klass = LiveImagePayload - elif self.ksdata.method.method == "liveimg": -diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py -index 860bde3..b6d5941 100644 ---- a/pyanaconda/bootloader.py -+++ b/pyanaconda/bootloader.py -@@ -37,6 +37,7 @@ from pyanaconda.flags import flags - from blivet.errors import StorageError - from blivet.fcoe import fcoe - import pyanaconda.network -+from pyanaconda.packaging.rpmostreepayload import RPMOSTreePayload - from pyanaconda.nm import nm_device_hwaddress - from blivet import platform - from pyanaconda.i18n import _, N_ -@@ -2355,6 +2356,23 @@ def writeSysconfigKernel(storage, version): - f.write("HYPERVISOR_ARGS=logging=vga,serial,memory\n") - f.close() - -+def writeBootLoaderFinal(storage, payload, instClass, ksdata): -+ """ Do the final write of the bootloader. """ -+ -+ from pyanaconda.errors import errorHandler, ERROR_RAISE -+ -+ # set up dracut/fips boot args -+ # XXX FIXME: do this from elsewhere? -+ storage.bootloader.set_boot_args(storage=storage, -+ payload=payload, -+ keyboard=ksdata.keyboard) -+ try: -+ storage.bootloader.write() -+ except BootLoaderError as e: -+ log.error("bootloader.write failed: %s" % e) -+ if errorHandler.cb(e) == ERROR_RAISE: -+ raise -+ - def writeBootLoader(storage, payload, instClass, ksdata): - """ Write bootloader configuration to disk. - -@@ -2362,14 +2380,19 @@ def writeBootLoader(storage, payload, instClass, ksdata): - image. We only have to add images for the non-default kernels and - adjust the default to reflect whatever the default variant is. - """ -- from pyanaconda.errors import errorHandler, ERROR_RAISE -- - if not storage.bootloader.skip_bootloader: - stage1_device = storage.bootloader.stage1_device - log.info("bootloader stage1 target device is %s" % stage1_device.name) - stage2_device = storage.bootloader.stage2_device - log.info("bootloader stage2 target device is %s" % stage2_device.name) - -+ if isinstance(payload, RPMOSTreePayload): -+ if storage.bootloader.skip_bootloader: -+ log.info("skipping bootloader install per user request") -+ return -+ writeBootLoaderFinal(storage, payload, instClass, ksdata) -+ return -+ - # get a list of installed kernel packages - kernel_versions = payload.kernelVersionList - if not kernel_versions: -@@ -2414,19 +2437,4 @@ def writeBootLoader(storage, payload, instClass, ksdata): - label=label, short=short) - storage.bootloader.add_image(image) - -- # set up dracut/fips boot args -- # XXX FIXME: do this from elsewhere? -- #storage.bootloader.set_boot_args(keyboard=anaconda.keyboard, -- # storage=anaconda.storage, -- # language=anaconda.instLanguage, -- # network=anaconda.network) -- storage.bootloader.set_boot_args(storage=storage, -- payload=payload, -- keyboard=ksdata.keyboard) -- -- try: -- storage.bootloader.write() -- except BootLoaderError as e: -- if errorHandler.cb(e) == ERROR_RAISE: -- raise -- -+ writeBootLoaderFinal(storage, payload, instClass, ksdata) -diff --git a/pyanaconda/install.py b/pyanaconda/install.py -index 68551cc..d771f5b 100644 ---- a/pyanaconda/install.py -+++ b/pyanaconda/install.py -@@ -107,6 +107,17 @@ def doConfiguration(storage, payload, ksdata, instClass): - - progressQ.send_complete() - -+def moveBootMntToPhysical(storage): -+ """Move the /boot mount to /mnt/sysimage/boot.""" -+ if iutil.getSysroot() == iutil.getTargetPhysicalRoot(): -+ return -+ bootmnt = storage.mountpoints.get('/boot') -+ if bootmnt is None: -+ return -+ bootmnt.format.teardown() -+ bootmnt.teardown() -+ bootmnt.format.setup(bootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) -+ - def doInstall(storage, payload, ksdata, instClass): - """Perform an installation. This method takes the ksdata as prepared by - the UI (the first hub, in graphical mode) and applies it to the disk. -@@ -189,6 +200,8 @@ def doInstall(storage, payload, ksdata, instClass): - rootmnt.setup() - rootmnt.format.setup(rootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) - -+ payload.prepareMountTargets(storage) -+ - # Everything else goes in the target root, including /boot - # since the bootloader code will expect to find /boot - # inside the chroot. -@@ -202,6 +215,9 @@ def doInstall(storage, payload, ksdata, instClass): - writeBootLoader(storage, payload, instClass, ksdata) - - with progress_report(_("Performing post-installation setup tasks")): -+ # Now, let's reset the state here so that the payload has -+ # /boot in the system root. -+ moveBootMntToPhysical(storage) - payload.postInstall() - - progressQ.send_complete() -diff --git a/pyanaconda/packaging/__init__.py b/pyanaconda/packaging/__init__.py -index 9b97149..4a5e793 100644 ---- a/pyanaconda/packaging/__init__.py -+++ b/pyanaconda/packaging/__init__.py -@@ -128,6 +128,12 @@ class Payload(object): - """ Reset the instance, not including ksdata. """ - pass - -+ def prepareMountTargets(self, storage): -+ """Run when physical storage is mounted, but other mount points may -+ not exist. Used by the RPMOSTreePayload subclass. -+ """ -+ pass -+ - ### - ### METHODS FOR WORKING WITH REPOSITORIES - ### -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -new file mode 100644 -index 0000000..1b24a0f ---- /dev/null -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -0,0 +1,246 @@ -+# ostreepayload.py -+# Deploy OSTree trees to target -+# -+# Copyright (C) 2012,2014 Red Hat, Inc. -+# -+# This copyrighted material is made available to anyone wishing to use, -+# modify, copy, or redistribute it subject to the terms and conditions of -+# the GNU General Public License v.2, or (at your option) any later version. -+# This program is distributed in the hope that it will be useful, but WITHOUT -+# ANY WARRANTY expressed or implied, including the implied warranties of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -+# Public License for more details. You should have received a copy of the -+# GNU General Public License along with this program; if not, write to the -+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the -+# source code or documentation are not subject to the GNU General Public -+# License and may only be used or replicated with the express permission of -+# Red Hat, Inc. -+# -+# Red Hat Author(s): Colin Walters -+# -+ -+import os -+import shutil -+ -+from pyanaconda import iutil -+from pyanaconda.i18n import _ -+from pyanaconda.progress import progressQ -+from gi.repository import GLib -+from gi.repository import Gio -+ -+from blivet.size import Size -+ -+import logging -+log = logging.getLogger("anaconda") -+ -+from pyanaconda.packaging import ArchivePayload, PayloadInstallError -+import pyanaconda.errors as errors -+ -+class RPMOSTreePayload(ArchivePayload): -+ """ A RPMOSTreePayload deploys a tree (possibly with layered packages) onto the target system. """ -+ def __init__(self, data): -+ super(RPMOSTreePayload, self).__init__(data) -+ -+ def setup(self, storage): -+ super(RPMOSTreePayload, self).setup(storage) -+ -+ @property -+ def handlesBootloaderConfiguration(self): -+ return True -+ -+ @property -+ def kernelVersionList(self): -+ # OSTree handles bootloader configuration -+ return [] -+ -+ @property -+ def spaceRequired(self): -+ # We don't have this data with OSTree at the moment -+ return Size(spec="500 MB") -+ -+ def _safeExecWithRedirect(self, cmd, argv, **kwargs): -+ """Like iutil.execWithRedirect, but treat errors as fatal""" -+ rc = iutil.execWithRedirect(cmd, argv, **kwargs) -+ if rc != 0: -+ exn = PayloadInstallError("%s %s exited with code %d" % (cmd, argv, rc)) -+ if errors.errorHandler.cb(exn) == errors.ERROR_RAISE: -+ raise exn -+ -+ def _pullProgressCb(self, asyncProgress): -+ status = asyncProgress.get_status() -+ outstanding_fetches = asyncProgress.get_uint('outstanding-fetches') -+ if status: -+ progressQ.send_message(status) -+ elif outstanding_fetches > 0: -+ bytes_transferred = asyncProgress.get_uint64('bytes-transferred') -+ fetched = asyncProgress.get_uint('fetched') -+ requested = asyncProgress.get_uint('requested') -+ formatted_bytes = GLib.format_size_full(bytes_transferred, 0) -+ -+ if requested == 0: -+ percent = 0.0 -+ else: -+ percent = (fetched*1.0 / requested) * 100 -+ -+ progressQ.send_message("Receiving objects: %d%% (%d/%d) %s" % (percent, fetched, requested, formatted_bytes)) -+ else: -+ progressQ.send_message("Writing objects") -+ -+ def install(self): -+ cancellable = None -+ from gi.repository import OSTree -+ ostreesetup = self.data.ostreesetup -+ log.info("executing ostreesetup=%r" % ostreesetup) -+ -+ # Initialize the filesystem - this will create the repo as well -+ self._safeExecWithRedirect("ostree", -+ ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), -+ "init-fs", iutil.getTargetPhysicalRoot()]) -+ -+ repo_arg = "--repo=" + iutil.getTargetPhysicalRoot() + '/ostree/repo' -+ -+ # Set up the chosen remote -+ remote_args = [repo_arg, "remote", "add"] -+ if ((hasattr(ostreesetup, 'noGpg') and ostreesetup.noGpg) or -+ (hasattr(ostreesetup, 'nogpg') and ostreesetup.nogpg)): -+ remote_args.append("--set=gpg-verify=false") -+ remote_args.extend([ostreesetup.remote, -+ ostreesetup.url]) -+ self._safeExecWithRedirect("ostree", remote_args) -+ -+ sysroot_path = Gio.File.new_for_path(iutil.getTargetPhysicalRoot()) -+ sysroot = OSTree.Sysroot.new(sysroot_path) -+ sysroot.load(cancellable) -+ -+ repo = sysroot.get_repo(None)[1] -+ repo.set_disable_fsync(True) -+ progressQ.send_message(_("Starting pull of %s from %s") % \ -+ (ostreesetup.ref, ostreesetup.remote)) -+ -+ progress = OSTree.AsyncProgress.new() -+ progress.connect('changed', self._pullProgressCb) -+ repo.pull(ostreesetup.remote, [ostreesetup.ref], 0, progress, cancellable) -+ -+ progressQ.send_message(_("Preparing deployment of %s") % (ostreesetup.ref, )) -+ -+ self._safeExecWithRedirect("ostree", -+ ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), -+ "os-init", ostreesetup.osname]) -+ -+ admin_deploy_args = ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), -+ "deploy", "--os=" + ostreesetup.osname] -+ -+ admin_deploy_args.append(ostreesetup.remote + ':' + ostreesetup.ref) -+ -+ log.info("ostree admin deploy starting") -+ progressQ.send_message(_("Deployment starting: %s") % (ostreesetup.ref, )) -+ self._safeExecWithRedirect("ostree", admin_deploy_args) -+ log.info("ostree admin deploy complete") -+ progressQ.send_message(_("Deployment complete: %s") % (ostreesetup.ref, )) -+ -+ # Reload now that we've deployed, find the path to the new deployment -+ sysroot.load(None) -+ deployments = sysroot.get_deployments() -+ assert len(deployments) > 0 -+ deployment = deployments[0] -+ deployment_path = sysroot.get_deployment_directory(deployment) -+ iutil.setSysroot(deployment_path.get_path()) -+ -+ varroot = iutil.getTargetPhysicalRoot() + '/ostree/deploy/' + ostreesetup.osname + '/var' -+ -+ # This is a bit of a hack; we precreate the targets of -+ # possible mounts of legacy paths like /home and /opt so the -+ # installer/%post scripts can find them. In particular, -+ # Anaconda itself writes to /root/anaconda-ks.cfg. What we -+ # really should do is export this data in some way the -+ # installer can read reliably. Right now it's just encoded in -+ # systemd-tmpfiles. -+ for (dname, mode) in [('root', 0700), ('home', 0755), -+ ('opt', 0755), ('srv', 0755), -+ ('media', 0755), ('mnt', 0755)]: -+ linksrc = iutil.getSysroot() + '/' + dname -+ if os.path.islink(linksrc) and not os.path.isdir(linksrc): -+ linkdata = os.readlink(linksrc) -+ if linkdata.startswith('var/'): -+ linkdest = varroot + '/' + linkdata[4:] -+ log.info("Creating %s" % linkdest) -+ os.mkdir(linkdest, mode) -+ -+ # Copy specific bootloader data files from the deployment -+ # checkout to the target root. See -+ # https://bugzilla.gnome.org/show_bug.cgi?id=726757 This -+ # happens once, at installation time. -+ # extlinux ships its modules directly in the RPM in /boot. -+ # For GRUB2, Anaconda installs device.map there. We may need -+ # to add other bootloaders here though (if they can't easily -+ # be fixed to *copy* data into /boot at install time, instead -+ # of shipping it in the RPM). -+ physboot = iutil.getTargetPhysicalRoot() + '/boot' -+ sysboot = iutil.getSysroot() + '/boot' -+ for fname in ['extlinux', 'grub2']: -+ srcpath = os.path.join(sysboot, fname) -+ if os.path.isdir(srcpath): -+ log.info("Copying bootloader data: " + fname) -+ shutil.copytree(srcpath, os.path.join(physboot, fname)) -+ -+ def prepareMountTargets(self, storage): -+ ostreesetup = self.data.ostreesetup -+ -+ varroot = iutil.getTargetPhysicalRoot() + '/ostree/deploy/' + ostreesetup.osname + '/var' -+ -+ # Set up bind mounts as if we've booted the target system, so -+ # that %post script work inside the target. -+ binds = [(iutil.getTargetPhysicalRoot(), -+ iutil.getSysroot() + '/sysroot'), -+ (varroot, -+ iutil.getSysroot() + '/var'), -+ (iutil.getSysroot() + '/usr', None)] -+ -+ for (src, dest) in binds: -+ self._safeExecWithRedirect("mount", -+ ["--bind", src, dest if dest else src]) -+ if dest is None: -+ self._safeExecWithRedirect("mount", -+ ["--bind", "-o", "ro", src, src]) -+ -+ def postInstall(self): -+ super(RPMOSTreePayload, self).postInstall() -+ -+ physboot = iutil.getTargetPhysicalRoot() + '/boot' -+ -+ # If we're using extlinux, rename extlinux.conf to -+ # syslinux.cfg, since that's what OSTree knows about. -+ # syslinux upstream supports both, but I'd say that upstream -+ # using syslinux.cfg is somewhat preferred. -+ physboot_extlinux = physboot + '/extlinux' -+ if os.path.isdir(physboot_extlinux): -+ physboot_syslinux = physboot + '/syslinux' -+ physboot_loader = physboot + '/loader' -+ assert os.path.isdir(physboot_loader) -+ orig_extlinux_conf = physboot_extlinux + '/extlinux.conf' -+ target_syslinux_cfg = physboot_loader + '/syslinux.cfg' -+ log.info("Moving %s -> %s" % (orig_extlinux_conf, target_syslinux_cfg)) -+ os.rename(orig_extlinux_conf, target_syslinux_cfg) -+ # A compatibility bit for OSTree -+ os.mkdir(physboot_syslinux) -+ os.symlink('../loader/syslinux.cfg', physboot_syslinux + '/syslinux.cfg') -+ # And *also* tell syslinux that the config is really in /boot/loader -+ os.symlink('loader/syslinux.cfg', physboot + '/syslinux.cfg') -+ -+ # OSTree owns the bootloader configuration, so here we give it -+ # the argument list we computed from storage, architecture and -+ # such. -+ set_kargs_args = ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), -+ "instutil", "set-kargs"] -+ set_kargs_args.extend(self.storage.bootloader.boot_args) -+ set_kargs_args.append("root=" + self.storage.rootDevice.fstabSpec) -+ self._safeExecWithRedirect("ostree", set_kargs_args) -+ -+ # This command iterates over all files we might have created -+ # and ensures they're labeled. It's like running -+ # chroot(iutil.getTargetPhysicalRoot()) + fixfiles, except -+ # with a better name and semantics. -+ self._safeExecWithRedirect("ostree", -+ ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), -+ "instutil", "selinux-ensure-labeled", iutil.getTargetPhysicalRoot(), ""]) --- -1.9.3 - diff --git a/SOURCES/0011-Make-an-ostree-string-easier-for-translators-to-deal.patch b/SOURCES/0011-Make-an-ostree-string-easier-for-translators-to-deal.patch deleted file mode 100644 index 8e3e652..0000000 --- a/SOURCES/0011-Make-an-ostree-string-easier-for-translators-to-deal.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 82e5678664441645071a42860316d481d85320f6 Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Wed, 14 May 2014 10:46:14 -0400 -Subject: [PATCH 11/20] Make an ostree string easier for translators to deal - with. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit cb3c55eb4f25d15400fc10298d589ed2992d74ee ---- - pyanaconda/packaging/rpmostreepayload.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index 1b24a0f..d5f7a23 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -115,8 +115,8 @@ class RPMOSTreePayload(ArchivePayload): - - repo = sysroot.get_repo(None)[1] - repo.set_disable_fsync(True) -- progressQ.send_message(_("Starting pull of %s from %s") % \ -- (ostreesetup.ref, ostreesetup.remote)) -+ progressQ.send_message(_("Starting pull of %(branchName)s from %(source)s") % \ -+ {"branchName": ostreesetup.ref, "source": ostreesetup.remote}) - - progress = OSTree.AsyncProgress.new() - progress.connect('changed', self._pullProgressCb) --- -1.9.3 - diff --git a/SOURCES/0012-rpmostreepayload-Use-systemd-tmpfiles-rather-than-ha.patch b/SOURCES/0012-rpmostreepayload-Use-systemd-tmpfiles-rather-than-ha.patch deleted file mode 100644 index aaa8bc9..0000000 --- a/SOURCES/0012-rpmostreepayload-Use-systemd-tmpfiles-rather-than-ha.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 5dccbe00aa1b160cd35e5e17fc1121e3e3f4f203 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Thu, 15 May 2014 07:44:18 -0400 -Subject: [PATCH 12/20] rpmostreepayload: Use systemd-tmpfiles rather than - handrolling mkdir - -I hit an issue where something in Anaconda may invoke a program or -library which uses rpm, and because the OSTree model has /var/lib/rpm --> /usr/share/rpm, but that's created during boot, I'd end up with a -new empty rpmdb in /var/lib. - -Fix this by switching to running systemd-tmpfiles on the target root -*only* for the directories we'll need at install time. For example, -we don't need /var/spool/abrt until the target is running, so don't -try to create it. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit a5f48d26312bfde6800d8bb608c5f08186c8eed1 ---- - pyanaconda/packaging/rpmostreepayload.py | 33 +++++++++++++------------------- - 1 file changed, 13 insertions(+), 20 deletions(-) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index d5f7a23..0210017 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -147,26 +147,6 @@ class RPMOSTreePayload(ArchivePayload): - deployment_path = sysroot.get_deployment_directory(deployment) - iutil.setSysroot(deployment_path.get_path()) - -- varroot = iutil.getTargetPhysicalRoot() + '/ostree/deploy/' + ostreesetup.osname + '/var' -- -- # This is a bit of a hack; we precreate the targets of -- # possible mounts of legacy paths like /home and /opt so the -- # installer/%post scripts can find them. In particular, -- # Anaconda itself writes to /root/anaconda-ks.cfg. What we -- # really should do is export this data in some way the -- # installer can read reliably. Right now it's just encoded in -- # systemd-tmpfiles. -- for (dname, mode) in [('root', 0700), ('home', 0755), -- ('opt', 0755), ('srv', 0755), -- ('media', 0755), ('mnt', 0755)]: -- linksrc = iutil.getSysroot() + '/' + dname -- if os.path.islink(linksrc) and not os.path.isdir(linksrc): -- linkdata = os.readlink(linksrc) -- if linkdata.startswith('var/'): -- linkdest = varroot + '/' + linkdata[4:] -- log.info("Creating %s" % linkdest) -- os.mkdir(linkdest, mode) -- - # Copy specific bootloader data files from the deployment - # checkout to the target root. See - # https://bugzilla.gnome.org/show_bug.cgi?id=726757 This -@@ -204,6 +184,19 @@ class RPMOSTreePayload(ArchivePayload): - self._safeExecWithRedirect("mount", - ["--bind", "-o", "ro", src, src]) - -+ # Now, ensure that all other potential mount point directories such as -+ # (/home) are created. We run through the full tmpfiles here in order -+ # to also allow Anaconda and %post scripts to write to directories like -+ # /root. We don't iterate *all* tmpfiles because we don't have the -+ # matching NSS configuration inside Anaconda, and we can't "chroot" to -+ # get it because that would require mounting the API filesystems in the -+ # target. -+ for varsubdir in ('home', 'roothome', 'lib/rpm', 'opt', 'srv', -+ 'usrlocal', 'mnt', 'media'): -+ self._safeExecWithRedirect("systemd-tmpfiles", -+ ["--create", "--boot", "--root=" + iutil.getSysroot(), -+ "--prefix=/var/" + varsubdir]) -+ - def postInstall(self): - super(RPMOSTreePayload, self).postInstall() - --- -1.9.3 - diff --git a/SOURCES/0013-format.setup-in-blivet-takes-only-kwargs.patch b/SOURCES/0013-format.setup-in-blivet-takes-only-kwargs.patch deleted file mode 100644 index eb3b008..0000000 --- a/SOURCES/0013-format.setup-in-blivet-takes-only-kwargs.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 84331d93435fb84b7e22b4a248a8495390c5f6ba Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Thu, 5 Jun 2014 10:49:36 -0400 -Subject: [PATCH 13/20] format.setup in blivet takes only kwargs. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 6d682319baff79fad351688c45ae06f69c1315c5 ---- - pyanaconda/install.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/pyanaconda/install.py b/pyanaconda/install.py -index d771f5b..959878b 100644 ---- a/pyanaconda/install.py -+++ b/pyanaconda/install.py -@@ -116,7 +116,7 @@ def moveBootMntToPhysical(storage): - return - bootmnt.format.teardown() - bootmnt.teardown() -- bootmnt.format.setup(bootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) -+ bootmnt.format.setup(options=bootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) - - def doInstall(storage, payload, ksdata, instClass): - """Perform an installation. This method takes the ksdata as prepared by -@@ -198,7 +198,7 @@ def doInstall(storage, payload, ksdata, instClass): - # Explicitly mount the root on the physical sysroot - rootmnt = storage.mountpoints.get('/') - rootmnt.setup() -- rootmnt.format.setup(rootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) -+ rootmnt.format.setup(options=rootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) - - payload.prepareMountTargets(storage) - --- -1.9.3 - diff --git a/SOURCES/0014-Make-sure-var-log-anaconda-gets-copied-under-the-rig.patch b/SOURCES/0014-Make-sure-var-log-anaconda-gets-copied-under-the-rig.patch deleted file mode 100644 index 0ef9787..0000000 --- a/SOURCES/0014-Make-sure-var-log-anaconda-gets-copied-under-the-rig.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 277737af2d02a91f69ecc9167a3678235200d01a Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Thu, 5 Jun 2014 13:47:54 -0400 -Subject: [PATCH 14/20] Make sure /var/log/anaconda gets copied under the right - root. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 4cbde571d8d8897d92db8877351ecf6e39be2d97 ---- - data/post-scripts/99-copy-logs.ks | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/data/post-scripts/99-copy-logs.ks b/data/post-scripts/99-copy-logs.ks -index 1a60756..7e1263e 100644 ---- a/data/post-scripts/99-copy-logs.ks -+++ b/data/post-scripts/99-copy-logs.ks -@@ -1,7 +1,7 @@ - # Note, this script log will not be copied to the installed system. - %post --nochroot - --mkdir -p /mnt/sysimage/var/log/anaconda -+mkdir -p $ANA_INSTALL_PATH/var/log/anaconda - [ -e /tmp/anaconda.log ] && cp /tmp/anaconda.log $ANA_INSTALL_PATH/var/log/anaconda/anaconda.log - [ -e /tmp/syslog ] && cp /tmp/syslog $ANA_INSTALL_PATH/var/log/anaconda/syslog - [ -e /tmp/X.log ] && cp /tmp/X.log $ANA_INSTALL_PATH/var/log/anaconda/anaconda.xlog -@@ -11,6 +11,6 @@ mkdir -p /mnt/sysimage/var/log/anaconda - [ -e /tmp/ifcfg.log ] && cp /tmp/ifcfg.log $ANA_INSTALL_PATH/var/log/anaconda/anaconda.ifcfg.log - [ -e /tmp/yum.log ] && cp /tmp/yum.log $ANA_INSTALL_PATH/var/log/anaconda/anaconda.yum.log - cp /tmp/ks-script*.log $ANA_INSTALL_PATH/var/log/anaconda/ --chmod 0600 /mnt/sysimage/var/log/anaconda/* -+chmod 0600 $ANA_INSTALL_PATH/var/log/anaconda/* - - %end --- -1.9.3 - diff --git a/SOURCES/0015-Only-fail-on-a-missing-firewalld-command-if-the-fire.patch b/SOURCES/0015-Only-fail-on-a-missing-firewalld-command-if-the-fire.patch deleted file mode 100644 index 17aa7b1..0000000 --- a/SOURCES/0015-Only-fail-on-a-missing-firewalld-command-if-the-fire.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 03f73112ec29c6c1e5c898c38b57dae76992bbf9 Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Mon, 23 Sep 2013 13:13:11 -0400 -Subject: [PATCH 15/20] Only fail on a missing firewalld command if the - firewall is enabled. - -If the user gives firewall --disabled and their package set does not include the -firewalld package, we should not raise an error. The firewall will be disabled -on the target system due to the lack of firewalld. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit a1f1d2248ca8e1b6c4e0437aeff9f7cc165e785e ---- - pyanaconda/kickstart.py | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py -index 92a406a..cb3de8b 100644 ---- a/pyanaconda/kickstart.py -+++ b/pyanaconda/kickstart.py -@@ -582,8 +582,9 @@ class Firewall(commands.firewall.F20_Firewall): - - cmd = "/usr/bin/firewall-offline-cmd" - if not os.path.exists(iutil.getSysroot()+cmd): -- msg = _("%s is missing. Cannot setup firewall.") % (cmd,) -- raise KickstartError(msg) -+ if self.enabled: -+ msg = _("%s is missing. Cannot setup firewall.") % (cmd,) -+ raise KickstartError(msg) - else: - iutil.execInSysroot(cmd, args) - --- -1.9.3 - diff --git a/SOURCES/0016-Use-absolute-path-for-extlinux-menu.c32.patch b/SOURCES/0016-Use-absolute-path-for-extlinux-menu.c32.patch deleted file mode 100644 index f02cf26..0000000 --- a/SOURCES/0016-Use-absolute-path-for-extlinux-menu.c32.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8a7013802803b8ccbe2953696bef39de2a6698ff Mon Sep 17 00:00:00 2001 -From: Radek Vykydal -Date: Fri, 20 Jun 2014 12:58:56 +0200 -Subject: [PATCH 16/20] Use absolute path for extlinux/menu.c32 - -Perhaps thanks to all the syslinux.cfg symlinking done by ostree -payload, extlinux can't find the file given by relative path. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master ---- - pyanaconda/bootloader.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py -index b6d5941..6c693db 100644 ---- a/pyanaconda/bootloader.py -+++ b/pyanaconda/bootloader.py -@@ -2248,7 +2248,7 @@ class EXTLINUX(BootLoader): - - def write_config_header(self, config): - header = ("# extlinux.conf generated by anaconda\n\n" -- "ui menu.c32\n\n" -+ "ui /extlinux/menu.c32\n\n" - "menu autoboot Welcome to %(productName)s. Automatic boot in # second{,s}. Press a key for options.\n" - "menu title %(productName)s Boot Options.\n" - "menu hidden\n\n" --- -1.9.3 - diff --git a/SOURCES/0017-rpmostreepayload-Don-t-recreateInitrds-for-this-payl.patch b/SOURCES/0017-rpmostreepayload-Don-t-recreateInitrds-for-this-payl.patch deleted file mode 100644 index 2ea0250..0000000 --- a/SOURCES/0017-rpmostreepayload-Don-t-recreateInitrds-for-this-payl.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0de3ad9f51a21556adebf6cc1f6929091a4d8dae Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Mon, 26 May 2014 15:57:13 -0400 -Subject: [PATCH 17/20] rpmostreepayload: Don't recreateInitrds for this - payload - -The OSTree replication design has the initramfs generated on a compose -server. Avoid regenerating them locally. - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 528b6215fff48337b45edfa2dbc548c54437b42b ---- - pyanaconda/packaging/rpmostreepayload.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index 0210017..b425ec4 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -197,6 +197,12 @@ class RPMOSTreePayload(ArchivePayload): - ["--create", "--boot", "--root=" + iutil.getSysroot(), - "--prefix=/var/" + varsubdir]) - -+ def recreateInitrds(self, force=False): -+ # For rpmostree payloads, we're replicating an initramfs from -+ # a compose server, and should never be regenerating them -+ # per-machine. -+ pass -+ - def postInstall(self): - super(RPMOSTreePayload, self).postInstall() - --- -1.9.3 - diff --git a/SOURCES/0018-rpmostreepayload-create-var-spool-mail-required-when.patch b/SOURCES/0018-rpmostreepayload-create-var-spool-mail-required-when.patch deleted file mode 100644 index 380bf80..0000000 --- a/SOURCES/0018-rpmostreepayload-create-var-spool-mail-required-when.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 723d1fa54243dc1cba14d0684f4e161251f02fd3 Mon Sep 17 00:00:00 2001 -From: Radek Vykydal -Date: Thu, 3 Jul 2014 13:23:09 +0200 -Subject: [PATCH 18/20] rpmostreepayload: create /var/spool/mail required when - adding user - -Resolves: rhbz#1113535 -Port of rpmostreepayload patches from master -commit 43ee318334e3c9c91c84323e3c699b77c5b3ad85 ---- - 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 b425ec4..aba85bb 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -192,7 +192,7 @@ class RPMOSTreePayload(ArchivePayload): - # get it because that would require mounting the API filesystems in the - # target. - for varsubdir in ('home', 'roothome', 'lib/rpm', 'opt', 'srv', -- 'usrlocal', 'mnt', 'media'): -+ 'usrlocal', 'mnt', 'media', 'spool'): - self._safeExecWithRedirect("systemd-tmpfiles", - ["--create", "--boot", "--root=" + iutil.getSysroot(), - "--prefix=/var/" + varsubdir]) --- -1.9.3 - diff --git a/SOURCES/0019-Skip-source-and-software-spoke-in-text-live-installa.patch b/SOURCES/0019-Skip-source-and-software-spoke-in-text-live-installa.patch deleted file mode 100644 index 1feca63..0000000 --- a/SOURCES/0019-Skip-source-and-software-spoke-in-text-live-installa.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 84f32dc53aeaf5ec3f6b2b2f2c480daa97e3b69a Mon Sep 17 00:00:00 2001 -From: "Brian C. Lane" -Date: Tue, 29 Apr 2014 16:39:33 -0700 -Subject: [PATCH 19/20] Skip source and software spoke in text live - installations (#1092763) - -text liveimg kickstart installations were failing because it was trying -to show the software and source spokes. This copies the showable logic -over from the GUI spokes and skips them for live and liveimg kickstart -installations. - -Resolves: rhbz#1092763 ---- - pyanaconda/ui/tui/hubs/__init__.py | 4 ++-- - pyanaconda/ui/tui/spokes/software.py | 4 ++++ - pyanaconda/ui/tui/spokes/source.py | 4 ++++ - 3 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/pyanaconda/ui/tui/hubs/__init__.py b/pyanaconda/ui/tui/hubs/__init__.py -index b637f94..55a67d8 100644 ---- a/pyanaconda/ui/tui/hubs/__init__.py -+++ b/pyanaconda/ui/tui/hubs/__init__.py -@@ -61,13 +61,13 @@ class TUIHub(TUIObject, common.Hub): - continue - - spoke = s(self.app, self.data, self.storage, self.payload, self.instclass) -- spoke.initialize() - - if not spoke.showable: -- spoke.teardown() - del spoke - continue - -+ spoke.initialize() -+ - if spoke.indirect: - continue - -diff --git a/pyanaconda/ui/tui/spokes/software.py b/pyanaconda/ui/tui/spokes/software.py -index dc337e1..44f3da3 100644 ---- a/pyanaconda/ui/tui/spokes/software.py -+++ b/pyanaconda/ui/tui/spokes/software.py -@@ -72,6 +72,10 @@ class SoftwareSpoke(NormalTUISpoke): - self._ready = True - - @property -+ def showable(self): -+ return not flags.livecdInstall and not self.data.method.method == "liveimg" -+ -+ @property - def status(self): - """ Where we are in the process """ - if self.errors: -diff --git a/pyanaconda/ui/tui/spokes/source.py b/pyanaconda/ui/tui/spokes/source.py -index 3afe01b..fc889c6 100644 ---- a/pyanaconda/ui/tui/spokes/source.py -+++ b/pyanaconda/ui/tui/spokes/source.py -@@ -203,6 +203,10 @@ class SourceSpoke(SourceSwitchHandler, EditTUISpoke): - return _("Nothing selected") - - @property -+ def showable(self): -+ return not flags.livecdInstall and not self.data.method.method == "liveimg" -+ -+ @property - def status(self): - if self.errors: - return _("Error setting up software source") --- -1.9.3 - diff --git a/SOURCES/0020-tui-show-software-and-source-spoke-iff-payload-is-Pa.patch b/SOURCES/0020-tui-show-software-and-source-spoke-iff-payload-is-Pa.patch deleted file mode 100644 index 1cc08f4..0000000 --- a/SOURCES/0020-tui-show-software-and-source-spoke-iff-payload-is-Pa.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 2a4ea01e202e04b0bdc599c0e948eccaf2346d64 Mon Sep 17 00:00:00 2001 -From: Radek Vykydal -Date: Fri, 12 Sep 2014 11:35:02 +0200 -Subject: [PATCH 20/20] tui: show software and source spoke iff payload is - PackagePayload (#1139142) - -Resolves: rhbz#1139142 - -The same what we do in GUI in -commit b2730604a2089236ebb94c22d96bbacc71235c59 ---- - pyanaconda/ui/tui/spokes/software.py | 4 ++-- - pyanaconda/ui/tui/spokes/source.py | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/pyanaconda/ui/tui/spokes/software.py b/pyanaconda/ui/tui/spokes/software.py -index 44f3da3..5c93d78 100644 ---- a/pyanaconda/ui/tui/spokes/software.py -+++ b/pyanaconda/ui/tui/spokes/software.py -@@ -23,7 +23,7 @@ from pyanaconda.flags import flags - from pyanaconda.ui.tui.spokes import NormalTUISpoke - from pyanaconda.ui.tui.simpleline import TextWidget, ColumnWidget, CheckboxWidget - from pyanaconda.threads import threadMgr, AnacondaThread --from pyanaconda.packaging import MetadataError, DependencyError -+from pyanaconda.packaging import MetadataError, DependencyError, PackagePayload - from pyanaconda.i18n import N_, _ - - from pyanaconda.constants import THREAD_PAYLOAD, THREAD_PAYLOAD_MD -@@ -73,7 +73,7 @@ class SoftwareSpoke(NormalTUISpoke): - - @property - def showable(self): -- return not flags.livecdInstall and not self.data.method.method == "liveimg" -+ return isinstance(self.payload, PackagePayload) - - @property - def status(self): -diff --git a/pyanaconda/ui/tui/spokes/source.py b/pyanaconda/ui/tui/spokes/source.py -index fc889c6..125ce1a 100644 ---- a/pyanaconda/ui/tui/spokes/source.py -+++ b/pyanaconda/ui/tui/spokes/source.py -@@ -25,7 +25,7 @@ from pyanaconda.ui.tui.spokes import EditTUISpoke, NormalTUISpoke - from pyanaconda.ui.tui.spokes import EditTUISpokeEntry as Entry - from pyanaconda.ui.tui.simpleline import TextWidget, ColumnWidget - from pyanaconda.threads import threadMgr, AnacondaThread --from pyanaconda.packaging import PayloadError, MetadataError -+from pyanaconda.packaging import PayloadError, MetadataError, PackagePayload - from pyanaconda.i18n import N_, _ - from pyanaconda.image import opticalInstallMedia, potentialHdisoSources - from pyanaconda.iutil import DataHolder -@@ -204,7 +204,7 @@ class SourceSpoke(SourceSwitchHandler, EditTUISpoke): - - @property - def showable(self): -- return not flags.livecdInstall and not self.data.method.method == "liveimg" -+ return isinstance(self.payload, PackagePayload) - - @property - def status(self): --- -1.9.3 - diff --git a/SOURCES/0021-Graphically-handle-errors-arising-from-ostree-repo-p.patch b/SOURCES/0021-Graphically-handle-errors-arising-from-ostree-repo-p.patch deleted file mode 100644 index a6ea201..0000000 --- a/SOURCES/0021-Graphically-handle-errors-arising-from-ostree-repo-p.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 67a9b1477ef706b6b47fc5f37d864076b653c017 Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Fri, 3 Oct 2014 11:04:35 -0400 -Subject: [PATCH 21/21] Graphically handle errors arising from ostree repo pull - problems. - -This requires setting up a new glib main context as well, so ostree doesn't -nuke the one we're currently using and make it impossible to do anything -with GTK. - -Resolves: rhbz#1131382 ---- - pyanaconda/packaging/rpmostreepayload.py | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index aba85bb..8be6d3b 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -22,7 +22,9 @@ - - import os - import shutil -+import sys - -+from pyanaconda import constants - from pyanaconda import iutil - from pyanaconda.i18n import _ - from pyanaconda.progress import progressQ -@@ -88,6 +90,9 @@ class RPMOSTreePayload(ArchivePayload): - progressQ.send_message("Writing objects") - - def install(self): -+ mainctx = GLib.MainContext.new() -+ mainctx.push_thread_default() -+ - cancellable = None - from gi.repository import OSTree - ostreesetup = self.data.ostreesetup -@@ -120,7 +125,16 @@ class RPMOSTreePayload(ArchivePayload): - - progress = OSTree.AsyncProgress.new() - progress.connect('changed', self._pullProgressCb) -- repo.pull(ostreesetup.remote, [ostreesetup.ref], 0, progress, cancellable) -+ -+ try: -+ repo.pull(ostreesetup.remote, [ostreesetup.ref], 0, progress, cancellable) -+ except GLib.GError as e: -+ exn = PayloadInstallError("Failed to pull from repository: %s" % e) -+ log.error(str(exn)) -+ if errors.errorHandler.cb(exn) == errors.ERROR_RAISE: -+ progressQ.send_quit(1) -+ iutil.ipmi_report(constants.IPMI_ABORTED) -+ sys.exit(1) - - progressQ.send_message(_("Preparing deployment of %s") % (ostreesetup.ref, )) - -@@ -164,6 +178,8 @@ class RPMOSTreePayload(ArchivePayload): - log.info("Copying bootloader data: " + fname) - shutil.copytree(srcpath, os.path.join(physboot, fname)) - -+ mainctx.pop_thread_default() -+ - def prepareMountTargets(self, storage): - ostreesetup = self.data.ostreesetup - --- -1.9.3 - diff --git a/SOURCES/0022-Take-RHEL-Atomic-Host-as-rhel-installclass.patch b/SOURCES/0022-Take-RHEL-Atomic-Host-as-rhel-installclass.patch deleted file mode 100644 index d03ce73..0000000 --- a/SOURCES/0022-Take-RHEL-Atomic-Host-as-rhel-installclass.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 96b9be656648adda25ec4cd0f4a16e3edbe36183 Mon Sep 17 00:00:00 2001 -From: Radek Vykydal -Date: Tue, 7 Oct 2014 13:44:07 +0200 -Subject: [PATCH 22/22] Take "RHEL Atomic Host" as rhel installclass. - -Atomic is using this product name that does not match "Red Hat " prefix, -due to lorax length limita on the name (32 chars?). ---- - pyanaconda/installclasses/rhel.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py -index 74052fd..8a694e3 100644 ---- a/pyanaconda/installclasses/rhel.py -+++ b/pyanaconda/installclasses/rhel.py -@@ -30,7 +30,7 @@ class InstallClass(BaseInstallClass): - id = "rhel" - name = N_("Red Hat Enterprise Linux") - sortPriority = 20000 -- if not productName.startswith("Red Hat "): -+ if not productName.startswith(("Red Hat ", "RHEL Atomic")): - hidden = 1 - defaultFS = "xfs" - --- -1.9.3 - diff --git a/SOURCES/0023-Handle-the-case-of-rpmostreepayload-GRUB2.patch b/SOURCES/0023-Handle-the-case-of-rpmostreepayload-GRUB2.patch deleted file mode 100644 index f0bc8d8..0000000 --- a/SOURCES/0023-Handle-the-case-of-rpmostreepayload-GRUB2.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 9277b3b38557cbdb60abe06af93513ebcb0038c9 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Mon, 13 Oct 2014 21:01:23 -0400 -Subject: [PATCH 1/5] Handle the case of rpmostreepayload + GRUB2 - -NOTE: Incompatible change for trees constructed prior to -NOTE: https://github.com/projectatomic/rpm-ostree/pull/35 - -For rpmostreepayload (in contrast to yum mainline) is that Anaconda -lays down the bootloader data and computes the kernel arguments, but -ostree takes care of writing the configuration file (as it does on -upgrades as well). - -However, the handling of /boot in OSTree was a bit broken, and trying -to support GRUB2 forced this change, because we need to ultimately -execute grub2-mkconfig in the chroot and we need both the *real* /boot -as well as the new /usr/lib/ostree-boot. - -We switch to keeping /boot in the target root, and call ostree from -there. This should still work for extlinux because we're just -rewriting a config file. - -For moving the GRUB2 config file, see a similar change for -rpmostreepayload+extlinux in commit: 627486c22cdaf6c07009026791f5bd6fc1aaadaa - -Note: This commit is only useful on BIOS systems as of yet. - -Conflicts: - pyanaconda/bootloader.py - pyanaconda/install.py - pyanaconda/packaging/rpmostreepayload.py ---- - pyanaconda/bootloader.py | 11 ++++---- - pyanaconda/install.py | 14 ---------- - pyanaconda/packaging/rpmostreepayload.py | 48 +++++++++++++++----------------- - 3 files changed, 28 insertions(+), 45 deletions(-) - -diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py -index 6c693db..29004b1 100644 ---- a/pyanaconda/bootloader.py -+++ b/pyanaconda/bootloader.py -@@ -1551,11 +1551,12 @@ class GRUB2(GRUB): - log.error("bootloader password setup failed: %s" % e) - - # make sure the default entry is the OS we are installing -- entry_title = "%s Linux, with Linux %s" % (productName, -- self.default.version) -- rc = iutil.execInSysroot("grub2-set-default", [entry_title]) -- if rc: -- log.error("failed to set default menu entry to %s" % productName) -+ if self.default is not None: -+ entry_title = "%s Linux, with Linux %s" % (productName, -+ self.default.version) -+ rc = iutil.execInSysroot("grub2-set-default", [entry_title]) -+ if rc: -+ log.error("failed to set default menu entry to %s" % productName) - - # now tell grub2 to generate the main configuration file - rc = iutil.execInSysroot("grub2-mkconfig", -diff --git a/pyanaconda/install.py b/pyanaconda/install.py -index 959878b..8c90221 100644 ---- a/pyanaconda/install.py -+++ b/pyanaconda/install.py -@@ -107,17 +107,6 @@ def doConfiguration(storage, payload, ksdata, instClass): - - progressQ.send_complete() - --def moveBootMntToPhysical(storage): -- """Move the /boot mount to /mnt/sysimage/boot.""" -- if iutil.getSysroot() == iutil.getTargetPhysicalRoot(): -- return -- bootmnt = storage.mountpoints.get('/boot') -- if bootmnt is None: -- return -- bootmnt.format.teardown() -- bootmnt.teardown() -- bootmnt.format.setup(options=bootmnt.format.options, chroot=iutil.getTargetPhysicalRoot()) -- - def doInstall(storage, payload, ksdata, instClass): - """Perform an installation. This method takes the ksdata as prepared by - the UI (the first hub, in graphical mode) and applies it to the disk. -@@ -215,9 +204,6 @@ def doInstall(storage, payload, ksdata, instClass): - writeBootLoader(storage, payload, instClass, ksdata) - - with progress_report(_("Performing post-installation setup tasks")): -- # Now, let's reset the state here so that the payload has -- # /boot in the system root. -- moveBootMntToPhysical(storage) - payload.postInstall() - - progressQ.send_complete() -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index 8be6d3b..dfb0466 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -222,40 +222,36 @@ class RPMOSTreePayload(ArchivePayload): - def postInstall(self): - super(RPMOSTreePayload, self).postInstall() - -- physboot = iutil.getTargetPhysicalRoot() + '/boot' -+ boot = iutil.getSysroot() + '/boot' - - # If we're using extlinux, rename extlinux.conf to - # syslinux.cfg, since that's what OSTree knows about. - # syslinux upstream supports both, but I'd say that upstream - # using syslinux.cfg is somewhat preferred. -- physboot_extlinux = physboot + '/extlinux' -- if os.path.isdir(physboot_extlinux): -- physboot_syslinux = physboot + '/syslinux' -- physboot_loader = physboot + '/loader' -- assert os.path.isdir(physboot_loader) -- orig_extlinux_conf = physboot_extlinux + '/extlinux.conf' -- target_syslinux_cfg = physboot_loader + '/syslinux.cfg' -- log.info("Moving %s -> %s" % (orig_extlinux_conf, target_syslinux_cfg)) -- os.rename(orig_extlinux_conf, target_syslinux_cfg) -- # A compatibility bit for OSTree -- os.mkdir(physboot_syslinux) -- os.symlink('../loader/syslinux.cfg', physboot_syslinux + '/syslinux.cfg') -- # And *also* tell syslinux that the config is really in /boot/loader -- os.symlink('loader/syslinux.cfg', physboot + '/syslinux.cfg') -+ boot_extlinux = boot + '/extlinux' -+ if os.path.isdir(boot_extlinux): -+ boot_syslinux = boot + '/syslinux' -+ boot_loader = boot + '/loader' -+ orig_extlinux_conf = boot_extlinux + '/extlinux.conf' -+ target_syslinux_cfg = boot_loader + '/syslinux.cfg' -+ log.info("Moving %s -> %s", orig_extlinux_conf, target_syslinux_cfg) -+ os.symlink('loader/syslinux.cfg', boot + '/syslinux.cfg') -+ -+ # And if we're using GRUB2, move its config file, also with a -+ # compatibility symlink. -+ boot_grub2 = boot + '/grub2' -+ if os.path.isdir(boot_grub2): -+ boot_loader = boot + '/loader' -+ orig_grub_cfg = boot_grub2 + '/grub.cfg' -+ target_grub_cfg = boot_loader + '/grub.cfg' -+ log.info("Moving %s -> %s", orig_grub_cfg, target_grub_cfg) -+ os.rename(orig_grub_cfg, target_grub_cfg) -+ os.symlink('../loader/grub.cfg', orig_grub_cfg) - - # OSTree owns the bootloader configuration, so here we give it - # the argument list we computed from storage, architecture and - # such. -- set_kargs_args = ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), -- "instutil", "set-kargs"] -+ set_kargs_args = ["admin", "instutil", "set-kargs"] - set_kargs_args.extend(self.storage.bootloader.boot_args) - set_kargs_args.append("root=" + self.storage.rootDevice.fstabSpec) -- self._safeExecWithRedirect("ostree", set_kargs_args) -- -- # This command iterates over all files we might have created -- # and ensures they're labeled. It's like running -- # chroot(iutil.getTargetPhysicalRoot()) + fixfiles, except -- # with a better name and semantics. -- self._safeExecWithRedirect("ostree", -- ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), -- "instutil", "selinux-ensure-labeled", iutil.getTargetPhysicalRoot(), ""]) -+ self._safeExecWithRedirect("ostree", set_kargs_args, root=iutil.getSysroot()) --- -1.8.3.1 - diff --git a/SOURCES/0024-rpmostreepayload-Copy-all-subdirectories-of-usr-lib-.patch b/SOURCES/0024-rpmostreepayload-Copy-all-subdirectories-of-usr-lib-.patch deleted file mode 100644 index 5890a6c..0000000 --- a/SOURCES/0024-rpmostreepayload-Copy-all-subdirectories-of-usr-lib-.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 273559fae459326ff6fccfe5cc026020daf151f6 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Fri, 17 Oct 2014 00:01:25 -0400 -Subject: [PATCH 2/5] rpmostreepayload: Copy all subdirectories of - /usr/lib/ostree-boot - -Previously we were special casing extlinux/ and grub2/, but this -misses out on efi/. To support rpmostreepayload + GRUB2 + EFI, we -need special handling here. Any bootloaders installing files in /boot -instead of a subdirectory will then need to be special cased (or -"fixed"). - -Now in a perfect world, I'd have a time machine and we could go back -and have every bootloader install in a subdirectory /boot/data or -something. But we basically can't change existing systems, which kind -of traps us into the current RPM-level layout forever, with rpm-ostree -postprocessing it. - -(One could argue it's rpm-ostree's job to postprocess this so Anaconda - wouldn't have to care. Open to that.) ---- - pyanaconda/packaging/rpmostreepayload.py | 60 +++++++++++++++++++++++--------- - 1 file changed, 44 insertions(+), 16 deletions(-) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index dfb0466..bf8d7e1 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -89,6 +89,41 @@ class RPMOSTreePayload(ArchivePayload): - else: - progressQ.send_message("Writing objects") - -+ def _copyBootloaderData(self): -+ # Copy bootloader data files from the deployment -+ # checkout to the target root. See -+ # https://bugzilla.gnome.org/show_bug.cgi?id=726757 This -+ # happens once, at installation time. -+ # extlinux ships its modules directly in the RPM in /boot. -+ # For GRUB2, Anaconda installs device.map there. We may need -+ # to add other bootloaders here though (if they can't easily -+ # be fixed to *copy* data into /boot at install time, instead -+ # of shipping it in the RPM). -+ physboot = iutil.getTargetPhysicalRoot() + '/boot' -+ ostree_boot_source = iutil.getSysroot() + '/usr/lib/ostree-boot' -+ if not os.path.isdir(ostree_boot_source): -+ ostree_boot_source = iutil.getSysroot() + '/boot' -+ for fname in os.listdir(ostree_boot_source): -+ srcpath = os.path.join(ostree_boot_source, fname) -+ destpath = os.path.join(physboot, fname) -+ -+ # We're only copying directories -+ if not os.path.isdir(srcpath): -+ continue -+ -+ # Special handling for EFI, as it's a mount point that's -+ # expected to already exist (so if we used copytree, we'd -+ # traceback). If it doesn't, we're not on a UEFI system, -+ # so we don't want to copy the data. -+ if fname == 'efi' and os.path.isdir(destpath): -+ for subname in os.listdir(srcpath): -+ sub_srcpath = os.path.join(srcpath, subname) -+ sub_destpath = os.path.join(destpath, subname) -+ self._safeExecWithRedirect('cp', ['-r', '-p', sub_srcpath, sub_destpath]) -+ else: -+ log.info("Copying bootloader data: " + fname) -+ shutil.copytree(srcpath, destpath) -+ - def install(self): - mainctx = GLib.MainContext.new() - mainctx.push_thread_default() -@@ -161,22 +196,15 @@ class RPMOSTreePayload(ArchivePayload): - deployment_path = sysroot.get_deployment_directory(deployment) - iutil.setSysroot(deployment_path.get_path()) - -- # Copy specific bootloader data files from the deployment -- # checkout to the target root. See -- # https://bugzilla.gnome.org/show_bug.cgi?id=726757 This -- # happens once, at installation time. -- # extlinux ships its modules directly in the RPM in /boot. -- # For GRUB2, Anaconda installs device.map there. We may need -- # to add other bootloaders here though (if they can't easily -- # be fixed to *copy* data into /boot at install time, instead -- # of shipping it in the RPM). -- physboot = iutil.getTargetPhysicalRoot() + '/boot' -- sysboot = iutil.getSysroot() + '/boot' -- for fname in ['extlinux', 'grub2']: -- srcpath = os.path.join(sysboot, fname) -- if os.path.isdir(srcpath): -- log.info("Copying bootloader data: " + fname) -- shutil.copytree(srcpath, os.path.join(physboot, fname)) -+ try: -+ self._copyBootloaderData() -+ except (OSError, RuntimeError) as e: -+ exn = PayloadInstallError("Failed to copy bootloader data: %s" % e) -+ log.error(str(exn)) -+ if errors.errorHandler.cb(exn) == errors.ERROR_RAISE: -+ progressQ.send_quit(1) -+ iutil.ipmi_report(constants.IPMI_ABORTED) -+ sys.exit(1) - - mainctx.pop_thread_default() - --- -1.8.3.1 - diff --git a/SOURCES/0025-rpmostreepayload-Add-remote-from-inside-sysroot.patch b/SOURCES/0025-rpmostreepayload-Add-remote-from-inside-sysroot.patch deleted file mode 100644 index 4063633..0000000 --- a/SOURCES/0025-rpmostreepayload-Add-remote-from-inside-sysroot.patch +++ /dev/null @@ -1,78 +0,0 @@ -From fcd77ee59912d3945950c048d79b8601e7d8bca4 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Fri, 17 Oct 2014 13:17:46 -0400 -Subject: [PATCH 3/5] rpmostreepayload: Rework remote add handling - -We really want the remote to be in /etc/ostree/remotes.d, so -that it can be easily manipulated post-install. - -To do that unfortunately is a complex dance. ---- - pyanaconda/packaging/rpmostreepayload.py | 34 +++++++++++++++++++++++++------- - 1 file changed, 27 insertions(+), 7 deletions(-) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index bf8d7e1..b5ee16b 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -140,16 +140,17 @@ class RPMOSTreePayload(ArchivePayload): - - repo_arg = "--repo=" + iutil.getTargetPhysicalRoot() + '/ostree/repo' - -- # Set up the chosen remote -- remote_args = [repo_arg, "remote", "add"] -+ # Store this for use in postInstall too, where we need to -+ # undo/redo this step. -+ self._base_remote_args = ["remote", "add"] - if ((hasattr(ostreesetup, 'noGpg') and ostreesetup.noGpg) or - (hasattr(ostreesetup, 'nogpg') and ostreesetup.nogpg)): -- remote_args.append("--set=gpg-verify=false") -- remote_args.extend([ostreesetup.remote, -- ostreesetup.url]) -- self._safeExecWithRedirect("ostree", remote_args) -+ self._base_remote_args.append("--set=gpg-verify=false") -+ self._base_remote_args.extend([ostreesetup.remote, -+ ostreesetup.url]) -+ self._safeExecWithRedirect("ostree", [repo_arg] + self._base_remote_args) - -- sysroot_path = Gio.File.new_for_path(iutil.getTargetPhysicalRoot()) -+ self._sysroot_path = sysroot_path = Gio.File.new_for_path(iutil.getTargetPhysicalRoot()) - sysroot = OSTree.Sysroot.new(sysroot_path) - sysroot.load(cancellable) - -@@ -250,6 +251,24 @@ class RPMOSTreePayload(ArchivePayload): - def postInstall(self): - super(RPMOSTreePayload, self).postInstall() - -+ from gi.repository import OSTree -+ cancellable = None -+ -+ # Reload this data - we couldn't keep it open across -+ # the remounts happening. -+ sysroot = OSTree.Sysroot.new(self._sysroot_path) -+ sysroot.load(cancellable) -+ repo = sysroot.get_repo(None)[1] -+ -+ # This is an ugly hack - we didn't have /etc/ostree/remotes.d, -+ # so the remote went into /ostree/repo/config. But we want it -+ # in /etc, so delete that remote, then re-add it to -+ # /etc/ostree/remotes.d, executing ostree inside the sysroot -+ # so that it understands it's a "system repository" and should -+ # modify /etc. -+ repo.remote_delete(self.data.ostreesetup.remote, None) -+ self._safeExecWithRedirect("ostree", self._base_remote_args, root=iutil.getSysroot()) -+ - boot = iutil.getSysroot() + '/boot' - - # If we're using extlinux, rename extlinux.conf to -@@ -276,6 +295,7 @@ class RPMOSTreePayload(ArchivePayload): - os.rename(orig_grub_cfg, target_grub_cfg) - os.symlink('../loader/grub.cfg', orig_grub_cfg) - -+ - # OSTree owns the bootloader configuration, so here we give it - # the argument list we computed from storage, architecture and - # such. --- -1.8.3.1 - diff --git a/SOURCES/0026-rpmostreepayload-Handle-grub2-EFI-layout.patch b/SOURCES/0026-rpmostreepayload-Handle-grub2-EFI-layout.patch deleted file mode 100644 index 31e928d..0000000 --- a/SOURCES/0026-rpmostreepayload-Handle-grub2-EFI-layout.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 363ef4269a70772985955b17f309a3c9726af3b5 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Sun, 19 Oct 2014 20:03:53 -0400 -Subject: [PATCH 4/5] rpmostreepayload: Handle grub2+EFI layout - -We previously assumed if /boot/grub2 exists it's in use, but we -actually need to check for /boot/grub2/grub.cfg, as on EFI the config -file is in /boot/EFI. ---- - pyanaconda/packaging/rpmostreepayload.py | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index b5ee16b..e69d695 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -286,15 +286,13 @@ class RPMOSTreePayload(ArchivePayload): - - # And if we're using GRUB2, move its config file, also with a - # compatibility symlink. -- boot_grub2 = boot + '/grub2' -- if os.path.isdir(boot_grub2): -+ boot_grub2_cfg = boot + '/grub2/grub.cfg' -+ if os.path.isfile(boot_grub2_cfg): - boot_loader = boot + '/loader' -- orig_grub_cfg = boot_grub2 + '/grub.cfg' - target_grub_cfg = boot_loader + '/grub.cfg' -- log.info("Moving %s -> %s", orig_grub_cfg, target_grub_cfg) -- os.rename(orig_grub_cfg, target_grub_cfg) -- os.symlink('../loader/grub.cfg', orig_grub_cfg) -- -+ log.info("Moving %s -> %s", boot_grub2_cfg, target_grub_cfg) -+ os.rename(boot_grub2_cfg, target_grub_cfg) -+ os.symlink('../loader/grub.cfg', boot_grub2_cfg) - - # OSTree owns the bootloader configuration, so here we give it - # the argument list we computed from storage, architecture and --- -1.8.3.1 - diff --git a/SOURCES/0027-bootloader-Bridge-efi_dir-configuration-earlier-for-.patch b/SOURCES/0027-bootloader-Bridge-efi_dir-configuration-earlier-for-.patch deleted file mode 100644 index 01d4cc5..0000000 --- a/SOURCES/0027-bootloader-Bridge-efi_dir-configuration-earlier-for-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 1e3e73a6a939286c7ee3f7ea78dc5431501981eb Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Sun, 19 Oct 2014 21:01:22 -0400 -Subject: [PATCH 5/5] bootloader: Bridge efi_dir configuration earlier for - rpmostreepayload - -rpmostreepayload wants a stub bootloader configuration to be written, -then it updates it. There is a bit of magic in the middle of -bootloader.py to bridge the install class' efi_dir to the bootloader -configuration - we just need to set this up before calling -writeBootLoaderFinal(). - -Otherwise the config ends up in BOOT, which doesn't work. ---- - pyanaconda/bootloader.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py -index 29004b1..24ae3f9 100644 ---- a/pyanaconda/bootloader.py -+++ b/pyanaconda/bootloader.py -@@ -2387,6 +2387,10 @@ def writeBootLoader(storage, payload, instClass, ksdata): - stage2_device = storage.bootloader.stage2_device - log.info("bootloader stage2 target device is %s" % stage2_device.name) - -+ # Bridge storage EFI configuration to bootloader -+ if hasattr(storage.bootloader, 'efi_dir'): -+ storage.bootloader.efi_dir = instClass.efi_dir -+ - if isinstance(payload, RPMOSTreePayload): - if storage.bootloader.skip_bootloader: - log.info("skipping bootloader install per user request") -@@ -2413,8 +2417,6 @@ def writeBootLoader(storage, payload, instClass, ksdata): - short=base_short_label) - storage.bootloader.add_image(default_image) - storage.bootloader.default = default_image -- if hasattr(storage.bootloader, 'efi_dir'): -- storage.bootloader.efi_dir = instClass.efi_dir - - # write out /etc/sysconfig/kernel - writeSysconfigKernel(storage, version) --- -1.8.3.1 - diff --git a/SOURCES/0028-Let-finding-install-classes-be-more-flexible-for-Fed.patch b/SOURCES/0028-Let-finding-install-classes-be-more-flexible-for-Fed.patch deleted file mode 100644 index 71ca44b..0000000 --- a/SOURCES/0028-Let-finding-install-classes-be-more-flexible-for-Fed.patch +++ /dev/null @@ -1,87 +0,0 @@ -From b50aab52e9e45178c317cb6efc258244a1943161 Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Fri, 5 Sep 2014 14:19:45 -0400 -Subject: [PATCH 28/30] Let finding install classes be more flexible for Fedora - (#1155452). - -Related: rhbz#1155452 - -(1) Make it so a valid install class does not have to be named "InstallClass" -which should make inheritance less cumbersome. - -(2) Allow putting more than one install class into a single file. - -(3) Rename the existing install classes to be BaseInstallClass. This -makes it more clear for subclasses where they're coming from. - -Port of commit 8c2550d20d7fd8964cd3ec5797ff34949fe0f8fd from master. ---- - pyanaconda/installclass.py | 16 ++++++---------- - pyanaconda/installclasses/fedora.py | 2 +- - pyanaconda/installclasses/rhel.py | 2 +- - 3 files changed, 8 insertions(+), 12 deletions(-) - -diff --git a/pyanaconda/installclass.py b/pyanaconda/installclass.py -index 76609de..83af984 100644 ---- a/pyanaconda/installclass.py -+++ b/pyanaconda/installclass.py -@@ -183,7 +183,6 @@ def availableClasses(showHidden=0): - if done.has_key(mainName): continue - done[mainName] = 1 - -- - try: - found = imputil.imp.find_module(mainName) - except ImportError as e: -@@ -192,16 +191,13 @@ def availableClasses(showHidden=0): - - try: - loaded = imputil.imp.load_module(mainName, found[0], found[1], found[2]) -+ for (_key, obj) in loaded.__dict__.items(): -+ # If it's got these two methods, it's an InstallClass. -+ if hasattr(obj, "setDefaultPartitioning") and hasattr(obj, "setPackageSelection"): -+ sortOrder = getattr(obj, "sortPriority", 0) -+ if obj.hidden == 0 or showHidden == 1: -+ list.append(((obj.name, obj), sortOrder)) - -- obj = loaded.InstallClass -- -- if obj.__dict__.has_key('sortPriority'): -- sortOrder = obj.sortPriority -- else: -- sortOrder = 0 -- -- if obj.hidden == 0 or showHidden == 1: -- list.append(((obj.name, obj), sortOrder)) - except ImportError as e: - log.warning ("module import of %s failed: %s" % (mainName, sys.exc_type)) - if flags.debug: raise -diff --git a/pyanaconda/installclasses/fedora.py b/pyanaconda/installclasses/fedora.py -index 3e0a5f2..058fdba 100644 ---- a/pyanaconda/installclasses/fedora.py -+++ b/pyanaconda/installclasses/fedora.py -@@ -26,7 +26,7 @@ from pyanaconda.i18n import _, N_ - - import os, types - --class InstallClass(BaseInstallClass): -+class FedoraBaseInstallClass(BaseInstallClass): - # name has underscore used for mnemonics, strip if you dont need it - id = "fedora" - name = N_("_Fedora") -diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py -index 8a694e3..a0dae4c 100644 ---- a/pyanaconda/installclasses/rhel.py -+++ b/pyanaconda/installclasses/rhel.py -@@ -25,7 +25,7 @@ from pyanaconda import nm - from pyanaconda import iutil - import types - --class InstallClass(BaseInstallClass): -+class RHELBaseInstallClass(BaseInstallClass): - # name has underscore used for mnemonics, strip if you dont need it - id = "rhel" - name = N_("Red Hat Enterprise Linux") --- -1.9.3 - diff --git a/SOURCES/0029-A-couple-updates-to-installclasses.patch b/SOURCES/0029-A-couple-updates-to-installclasses.patch deleted file mode 100644 index fc318e6..0000000 --- a/SOURCES/0029-A-couple-updates-to-installclasses.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 4813b74c235bdfd911cd64c73c9eec1f795ebee5 Mon Sep 17 00:00:00 2001 -From: Chris Lumens -Date: Mon, 8 Sep 2014 15:07:50 -0400 -Subject: [PATCH 29/30] A couple updates to installclasses. - -Related: rhbz#1155452 - -Port of commit e8952489ce4c130612d6d06f3bc20155eb5fc102 from master. - -* hidden and showHidden should be booleans, not ints in disguise. -* Get rid of default and id. These are unused. -* Stop marking names for translation and remove mnemonics. These haven't been - used since the days of workstation/server/custom selection in the UI. Does - anyone else even still remember this? ---- - po/POTFILES.in | 4 ---- - pyanaconda/installclass.py | 15 ++++++--------- - pyanaconda/installclasses/fedora.py | 8 ++------ - pyanaconda/installclasses/rhel.py | 6 ++---- - 4 files changed, 10 insertions(+), 23 deletions(-) - -diff --git a/po/POTFILES.in b/po/POTFILES.in -index 8df1636..086e799 100644 ---- a/po/POTFILES.in -+++ b/po/POTFILES.in -@@ -16,10 +16,6 @@ pyanaconda/product.py - pyanaconda/rescue.py - pyanaconda/vnc.py - --# Install class definitions --pyanaconda/installclasses/fedora.py --pyanaconda/installclasses/rhel.py -- - # Packaging module source files - pyanaconda/packaging/__init__.py - pyanaconda/packaging/livepayload.py -diff --git a/pyanaconda/installclass.py b/pyanaconda/installclass.py -index 83af984..5415bc6 100644 ---- a/pyanaconda/installclass.py -+++ b/pyanaconda/installclass.py -@@ -43,7 +43,7 @@ from pyanaconda.kickstart import getAvailableDiskSpace - - class BaseInstallClass(object): - # default to not being hidden -- hidden = 0 -+ hidden = False - name = "base" - bootloaderTimeoutDefault = None - bootloaderExtraArgs = [] -@@ -64,9 +64,6 @@ class BaseInstallClass(object): - # Blivet uses by default. - defaultFS = None - -- # don't select this class by default -- default = 0 -- - @property - def l10n_domain(self): - if self._l10n_domain is None: -@@ -124,8 +121,8 @@ class BaseInstallClass(object): - allClasses = [] - allClasses_hidden = [] - --# returns ( className, classObject, classLogo ) tuples --def availableClasses(showHidden=0): -+# returns ( className, classObject ) tuples -+def availableClasses(showHidden=False): - global allClasses - global allClasses_hidden - -@@ -195,7 +192,7 @@ def availableClasses(showHidden=0): - # If it's got these two methods, it's an InstallClass. - if hasattr(obj, "setDefaultPartitioning") and hasattr(obj, "setPackageSelection"): - sortOrder = getattr(obj, "sortPriority", 0) -- if obj.hidden == 0 or showHidden == 1: -+ if not obj.hidden or showHidden: - list.append(((obj.name, obj), sortOrder)) - - except ImportError as e: -@@ -217,8 +214,8 @@ def availableClasses(showHidden=0): - - def getBaseInstallClass(): - # figure out what installclass we should base on. -- allavail = availableClasses(showHidden = 1) -- avail = availableClasses(showHidden = 0) -+ allavail = availableClasses(showHidden=True) -+ avail = availableClasses(showHidden=False) - - if len(avail) == 1: - (cname, cobject) = avail[0] -diff --git a/pyanaconda/installclasses/fedora.py b/pyanaconda/installclasses/fedora.py -index 058fdba..ee2773f 100644 ---- a/pyanaconda/installclasses/fedora.py -+++ b/pyanaconda/installclasses/fedora.py -@@ -22,17 +22,13 @@ from pyanaconda.product import productName - from pyanaconda import network - from pyanaconda import iutil - from pyanaconda import nm --from pyanaconda.i18n import _, N_ -- - import os, types - - class FedoraBaseInstallClass(BaseInstallClass): -- # name has underscore used for mnemonics, strip if you dont need it -- id = "fedora" -- name = N_("_Fedora") -+ name = "Fedora" - sortPriority = 10000 - if productName.startswith("Red Hat "): -- hidden = 1 -+ hidden = True - - _l10n_domain = "anaconda" - -diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py -index a0dae4c..b7691cf 100644 ---- a/pyanaconda/installclasses/rhel.py -+++ b/pyanaconda/installclasses/rhel.py -@@ -26,12 +26,10 @@ from pyanaconda import iutil - import types - - class RHELBaseInstallClass(BaseInstallClass): -- # name has underscore used for mnemonics, strip if you dont need it -- id = "rhel" -- name = N_("Red Hat Enterprise Linux") -+ name = "Red Hat Enterprise Linux" - sortPriority = 20000 - if not productName.startswith(("Red Hat ", "RHEL Atomic")): -- hidden = 1 -+ hidden = True - defaultFS = "xfs" - - bootloaderTimeoutDefault = 5 --- -1.9.3 - diff --git a/SOURCES/0030-atomic-set-up-atomic-specific-partitioning-defaults.patch b/SOURCES/0030-atomic-set-up-atomic-specific-partitioning-defaults.patch deleted file mode 100644 index 7b641b4..0000000 --- a/SOURCES/0030-atomic-set-up-atomic-specific-partitioning-defaults.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 4808f43abc14396add62e9b0a92fbe8cf5b41346 Mon Sep 17 00:00:00 2001 -From: Radek Vykydal -Date: Tue, 21 Oct 2014 17:46:47 +0200 -Subject: [PATCH 30/30] atomic: set up atomic specific partitioning defaults - -Resolves: rhbz#1155452 - -/boot will be 300M and / LV will be 3G. LVs for docker will be created by special -service using root's VG. ---- - pyanaconda/installclasses/rhel.py | 36 ++++++++++++++++++++++++++++++++++-- - 1 file changed, 34 insertions(+), 2 deletions(-) - -diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py -index b7691cf..a9a99f6 100644 ---- a/pyanaconda/installclasses/rhel.py -+++ b/pyanaconda/installclasses/rhel.py -@@ -24,11 +24,15 @@ from pyanaconda import network - from pyanaconda import nm - from pyanaconda import iutil - import types -+from pyanaconda.kickstart import getAvailableDiskSpace -+from blivet.partspec import PartSpec -+from blivet.platform import platform -+from blivet.devicelibs import swap - - class RHELBaseInstallClass(BaseInstallClass): - name = "Red Hat Enterprise Linux" - sortPriority = 20000 -- if not productName.startswith(("Red Hat ", "RHEL Atomic")): -+ if not productName.startswith("Red Hat "): - hidden = True - defaultFS = "xfs" - -@@ -45,7 +49,7 @@ class RHELBaseInstallClass(BaseInstallClass): - - def configure(self, anaconda): - BaseInstallClass.configure(self, anaconda) -- BaseInstallClass.setDefaultPartitioning(self, anaconda.storage) -+ self.setDefaultPartitioning(anaconda.storage) - - # Set first boot policy regarding ONBOOT value - # (i.e. which network devices should be activated automatically after reboot) -@@ -84,3 +88,31 @@ class RHELBaseInstallClass(BaseInstallClass): - - def __init__(self): - BaseInstallClass.__init__(self) -+ -+class RHELAtomicInstallClass(RHELBaseInstallClass): -+ name = "RHEL Atomic Host" -+ if productName.startswith("RHEL Atomic"): -+ hidden = False -+ -+ def setDefaultPartitioning(self, storage): -+ autorequests = [PartSpec(mountpoint="/", fstype=storage.defaultFSType, -+ size=1024, maxSize=3*1024, grow=True, lv=True)] -+ -+ bootreqs = platform.setDefaultPartitioning() -+ if bootreqs: -+ autorequests.extend(bootreqs) -+ -+ disk_space = getAvailableDiskSpace(storage) -+ swp = swap.swapSuggestion(disk_space=disk_space) -+ autorequests.append(PartSpec(fstype="swap", size=swp, grow=False, -+ lv=True, encrypted=True)) -+ -+ for autoreq in autorequests: -+ if autoreq.fstype is None: -+ if autoreq.mountpoint == "/boot": -+ autoreq.fstype = storage.defaultBootFSType -+ autoreq.size = 300 -+ else: -+ autoreq.fstype = storage.defaultFSType -+ -+ storage.autoPartitionRequests = autorequests --- -1.9.3 - diff --git a/SOURCES/0031-rpmostreepayload-Avoid-shutil.copytree-in-favor-of-c.patch b/SOURCES/0031-rpmostreepayload-Avoid-shutil.copytree-in-favor-of-c.patch deleted file mode 100644 index 1a09493..0000000 --- a/SOURCES/0031-rpmostreepayload-Avoid-shutil.copytree-in-favor-of-c.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d4cd779ea38a42a2f122738e7c8083ca3ac6a367 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Tue, 2 Dec 2014 21:47:43 -0500 -Subject: [PATCH] rpmostreepayload: Avoid shutil.copytree in favor of cp -r to - fix symlinks - -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 - diff --git a/SOURCES/0032-rescue-find-root-partition-of-ostree-atomic-installa.patch b/SOURCES/0032-rescue-find-root-partition-of-ostree-atomic-installa.patch deleted file mode 100644 index 2ec1b62..0000000 --- a/SOURCES/0032-rescue-find-root-partition-of-ostree-atomic-installa.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 2fe1fea904f40256387dea56405a369c22354e2c Mon Sep 17 00:00:00 2001 -From: Radek Vykydal -Date: Tue, 9 Dec 2014 11:01:18 +0100 -Subject: [PATCH 32/32] rescue: find root partition of ostree (atomic) - installations (#1152041) - ---- - pyanaconda/rescue.py | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/pyanaconda/rescue.py b/pyanaconda/rescue.py -index e0c4e13..fbf3f06 100644 ---- a/pyanaconda/rescue.py -+++ b/pyanaconda/rescue.py -@@ -264,6 +264,42 @@ def _unlock_devices(intf, storage): - device.format.passphrase = None - try_passphrase = None - -+def findExistingOstreePartitions(devicetree): -+ import blivet -+ if not os.path.exists(blivet.getTargetPhysicalRoot()): -+ util.makedirs(blivet.getTargetPhysicalRoot()) -+ -+ roots = [] -+ for device in devicetree.leaves: -+ if not device.format.linuxNative or not device.format.mountable or \ -+ not device.controllable: -+ continue -+ -+ try: -+ device.setup() -+ except Exception: # pylint: disable=broad-except -+ log.warning("setup of %s failed", [device.name]) -+ continue -+ -+ options = device.format.options + ",ro" -+ try: -+ device.format.mount(options=options, mountpoint=iutil.getSysroot()) -+ except Exception: # pylint: disable=broad-except -+ log.warning("mount of %s as %s failed", device.name, device.format.type) -+ device.teardown() -+ continue -+ -+ if not os.access(iutil.getSysroot() + "/ostree", os.R_OK): -+ device.teardown(recursive=True) -+ continue -+ -+ name = _("Ostree on %s") % device.name -+ roots.append(blivet.Root(mounts=None, swaps=None, name=device.name)) -+ -+ return roots -+ -+ -+ - def doRescue(intf, rescue_mount, ksdata): - import blivet - -@@ -323,6 +359,7 @@ def doRescue(intf, rescue_mount, ksdata): - blivet.storageInitialize(sto, ksdata, []) - _unlock_devices(intf, sto) - roots = blivet.findExistingInstallations(sto.devicetree) -+ roots.extend(findExistingOstreePartitions(sto.devicetree)) - - if not roots: - root = None --- -1.9.3 - diff --git a/SOURCES/0033-Add-crashkernel-auto-by-default.patch b/SOURCES/0033-Add-crashkernel-auto-by-default.patch deleted file mode 100644 index 4cbe462..0000000 --- a/SOURCES/0033-Add-crashkernel-auto-by-default.patch +++ /dev/null @@ -1,28 +0,0 @@ -From debde5ede7018c5d227c9e02e846383f4fe98f26 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Wed, 21 Jan 2015 14:00:23 -0500 -Subject: [PATCH] Add crashkernel=auto by default - ---- - pyanaconda/bootloader.py | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py -index 24ae3f9..6e55807 100644 ---- a/pyanaconda/bootloader.py -+++ b/pyanaconda/bootloader.py -@@ -810,6 +810,11 @@ class BootLoader(object): - self.boot_args.add("boot=%s" % self.stage2_device.fstabSpec) - - # -+ # http://post-office.corp.redhat.com/archives/atomic-host-dev/2015-January/msg00051.html -+ # -+ self.boot_args.add("crashkernel=auto") -+ -+ # - # dracut - # - --- -1.8.3.1 - diff --git a/SOURCES/9800-rpmostreepayload-Rework-remote-add-handling.patch b/SOURCES/9800-rpmostreepayload-Rework-remote-add-handling.patch deleted file mode 100644 index 16b0660..0000000 --- a/SOURCES/9800-rpmostreepayload-Rework-remote-add-handling.patch +++ /dev/null @@ -1,116 +0,0 @@ -From c72f979499f5af3091ad8f2017442b3728cdff2f Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Tue, 16 Jun 2015 11:24:20 -0400 -Subject: [PATCH] Rebase - ---- - pyanaconda/packaging/rpmostreepayload.py | 67 ++++++++++++++++++++------------ - 1 file changed, 43 insertions(+), 24 deletions(-) - -diff --git a/pyanaconda/packaging/rpmostreepayload.py b/pyanaconda/packaging/rpmostreepayload.py -index 5eacd9f..f979c3e 100644 ---- a/pyanaconda/packaging/rpmostreepayload.py -+++ b/pyanaconda/packaging/rpmostreepayload.py -@@ -138,24 +138,25 @@ class RPMOSTreePayload(ArchivePayload): - ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), - "init-fs", iutil.getTargetPhysicalRoot()]) - -- repo_arg = "--repo=" + iutil.getTargetPhysicalRoot() + '/ostree/repo' -+ self._sysroot_path = Gio.File.new_for_path(iutil.getTargetPhysicalRoot()) -+ sysroot = OSTree.Sysroot.new(self._sysroot_path) -+ sysroot.load(cancellable) -+ repo = sysroot.get_repo(None)[1] -+ # We don't support resuming from interrupted installs -+ repo.set_disable_fsync(True) - -- # Store this for use in postInstall too, where we need to -- # undo/redo this step. -- self._base_remote_args = ["remote", "add"] -+ self._remoteOptions = {} -+ -+ # Handle variations in pykickstart - if ((hasattr(ostreesetup, 'noGpg') and ostreesetup.noGpg) or - (hasattr(ostreesetup, 'nogpg') and ostreesetup.nogpg)): -- self._base_remote_args.append("--set=gpg-verify=false") -- self._base_remote_args.extend([ostreesetup.remote, -- ostreesetup.url]) -- self._safeExecWithRedirect("ostree", [repo_arg] + self._base_remote_args) -+ self._remoteOptions['gpg-verify'] = GLib.Variant('b', False) - -- self._sysroot_path = sysroot_path = Gio.File.new_for_path(iutil.getTargetPhysicalRoot()) -- sysroot = OSTree.Sysroot.new(sysroot_path) -- sysroot.load(cancellable) -+ repo.remote_change(None, OSTree.RepoRemoteChange.ADD_IF_NOT_EXISTS, -+ ostreesetup.remote, ostreesetup.url, -+ GLib.Variant('a{sv}', self._remoteOptions), -+ cancellable) - -- repo = sysroot.get_repo(None)[1] -- repo.set_disable_fsync(True) - progressQ.send_message(_("Starting pull of %(branchName)s from %(source)s") % \ - {"branchName": ostreesetup.ref, "source": ostreesetup.remote}) - -@@ -174,6 +175,14 @@ class RPMOSTreePayload(ArchivePayload): - - progressQ.send_message(_("Preparing deployment of %s") % (ostreesetup.ref, )) - -+ # Now that we have the data pulled, delete the remote for now. -+ # This will allow a remote configuration defined in the tree -+ # (if any) to override what's in the kickstart. Otherwise, -+ # we'll re-add it in post. Ideally, ostree would support a -+ # pull without adding a remote, but that would get quite -+ # complex. -+ repo.remote_delete(self.data.ostreesetup.remote, None) -+ - self._safeExecWithRedirect("ostree", - ["admin", "--sysroot=" + iutil.getTargetPhysicalRoot(), - "os-init", ostreesetup.osname]) -@@ -250,24 +259,34 @@ class RPMOSTreePayload(ArchivePayload): - - def postInstall(self): - super(RPMOSTreePayload, self).postInstall() -- -+ - from gi.repository import OSTree - cancellable = None - -- # Reload this data - we couldn't keep it open across -- # the remounts happening. - sysroot = OSTree.Sysroot.new(self._sysroot_path) - sysroot.load(cancellable) - repo = sysroot.get_repo(None)[1] - -- # This is an ugly hack - we didn't have /etc/ostree/remotes.d, -- # so the remote went into /ostree/repo/config. But we want it -- # in /etc, so delete that remote, then re-add it to -- # /etc/ostree/remotes.d, executing ostree inside the sysroot -- # so that it understands it's a "system repository" and should -- # modify /etc. -- repo.remote_delete(self.data.ostreesetup.remote, None) -- self._safeExecWithRedirect("ostree", self._base_remote_args, root=iutil.getSysroot()) -+ # CentOS specific patch (for now) - pull the remote config from usr/etc if it exists. -+ # The OSTree handling here was buggy in that it wasn't looking in the sysroot -+ # for existing remotes. -+ default_remote_path = iutil.getSysroot() + '/usr/etc/ostree/remotes.d/' + self.data.ostreesetup.osname + '.conf' -+ if os.path.isfile(default_remote_path): -+ destpath = iutil.getSysroot() + '/etc/ostree/remotes.d/' + os.path.basename(default_remote_path) -+ self._safeExecWithRedirect('cp', ['-r', '-p', default_remote_path, destpath]) -+ else: -+ # Following up on the "remote delete" above, we removed the -+ # remote from /ostree/repo/config. But we want it in /etc, so -+ # re-add it to /etc/ostree/remotes.d, using the sysroot path. -+ # -+ # However, we ignore the case where the remote already exists, -+ # which occurs when the content itself provides the remote -+ # config file. -+ repo.remote_change(Gio.File.new_for_path(iutil.getSysroot()), -+ OSTree.RepoRemoteChange.ADD_IF_NOT_EXISTS, -+ self.data.ostreesetup.remote, self.data.ostreesetup.url, -+ GLib.Variant('a{sv}', self._remoteOptions), -+ cancellable) - - boot = iutil.getSysroot() + '/boot' - --- -1.8.3.1 - diff --git a/SOURCES/9900-CentOS-atomic-branding.patch b/SOURCES/9900-CentOS-atomic-branding.patch deleted file mode 100644 index 9d51cf2..0000000 --- a/SOURCES/9900-CentOS-atomic-branding.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 6b70a1867fef732cd75ef79782f71c13241622b7 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Fri, 12 Jun 2015 13:59:05 -0400 -Subject: [PATCH] Use CentOS branding, increase install priority for Atomic - -This is similar to the patch CentOS normally applies to Anaconda, -but updated for Atomic. ---- - pyanaconda/installclasses/rhel.py | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -diff --git a/pyanaconda/installclasses/rhel.py b/pyanaconda/installclasses/rhel.py -index a9a99f6..b924cd2 100644 ---- a/pyanaconda/installclasses/rhel.py -+++ b/pyanaconda/installclasses/rhel.py -@@ -30,9 +30,9 @@ from blivet.platform import platform - from blivet.devicelibs import swap - - class RHELBaseInstallClass(BaseInstallClass): -- name = "Red Hat Enterprise Linux" -+ name = "CentOS Linux" - sortPriority = 20000 -- if not productName.startswith("Red Hat "): -+ if not productName.startswith("CentOS "): - hidden = True - defaultFS = "xfs" - -@@ -45,7 +45,7 @@ class RHELBaseInstallClass(BaseInstallClass): - - _l10n_domain = "comps" - -- efi_dir = "redhat" -+ efi_dir = "centos" - - def configure(self, anaconda): - BaseInstallClass.configure(self, anaconda) -@@ -90,9 +90,14 @@ class RHELBaseInstallClass(BaseInstallClass): - BaseInstallClass.__init__(self) - - class RHELAtomicInstallClass(RHELBaseInstallClass): -- name = "RHEL Atomic Host" -- if productName.startswith("RHEL Atomic"): -- hidden = False -+ name = "CentOS Atomic Host" -+ # We have to bump priority because RHEL upstream is relying on a -+ # side effect of the OS name starting with "RHEL" instead of "Red -+ # Hat" and thus the normal RHELBaseInstallClass above not -+ # matching. -+ sortPriority = 20001 -+ if not productName.startswith("CentOS "): -+ hidden = True - - def setDefaultPartitioning(self, storage): - autorequests = [PartSpec(mountpoint="/", fstype=storage.defaultFSType, --- -1.8.3.1 - diff --git a/SPECS/anaconda.spec b/SPECS/anaconda.spec index d93467d..21f7d65 100644 --- a/SPECS/anaconda.spec +++ b/SPECS/anaconda.spec @@ -1,10 +1,10 @@ -%define livearches %{ix86} x86_64 ppc ppc64 +%define livearches %{ix86} x86_64 ppc ppc64 ppc64le Summary: Graphical system installer Name: anaconda -Version: 19.31.79 -Release: 28.atomic%{?dist}.7 -License: GPLv2+ +Version: 21.48.22.121 +Release: 3.rhelah.0%{?dist} +License: GPLv2+ and MIT Group: Applications/System URL: http://fedoraproject.org/wiki/Anaconda @@ -14,60 +14,20 @@ URL: http://fedoraproject.org/wiki/Anaconda # ./autogen.sh # make dist Source0: %{name}-%{version}.tar.bz2 -Patch0: 0001-gui-spokes-software-Enable-iff-payload-is-PackagePay.patch -Patch1: 0002-Override-ROOT_PATH-with-environmental-variable.patch -Patch2: 0003-Use-ROOT_PATH-not-mnt-sysimage.patch -Patch3: 0004-iutil-Introduce-getSysroot-getTargetPhysicalRoot-use.patch -Patch4: 0005-main-Set-flags.extlinux-if-extlinux-is-used-in-inter.patch -Patch5: 0006-iutil-Transparently-redirect-anyone-who-asks-root-mn.patch -Patch6: 0007-install-Move-Payload-postInstall-after-bootloader.patch -Patch7: 0008-install-Handle-distinct-physical-root-sysroot.patch -Patch8: 0009-bootloader-Allow-extlinux-loader-configuration-to-ha.patch -Patch9: 0010-Add-RPMOSTreePayload.patch -Patch10: 0011-Make-an-ostree-string-easier-for-translators-to-deal.patch -Patch11: 0012-rpmostreepayload-Use-systemd-tmpfiles-rather-than-ha.patch -Patch12: 0013-format.setup-in-blivet-takes-only-kwargs.patch -Patch13: 0014-Make-sure-var-log-anaconda-gets-copied-under-the-rig.patch -Patch14: 0015-Only-fail-on-a-missing-firewalld-command-if-the-fire.patch -Patch15: 0016-Use-absolute-path-for-extlinux-menu.c32.patch -Patch16: 0017-rpmostreepayload-Don-t-recreateInitrds-for-this-payl.patch -Patch17: 0018-rpmostreepayload-create-var-spool-mail-required-when.patch -Patch18: 0019-Skip-source-and-software-spoke-in-text-live-installa.patch -Patch19: 0020-tui-show-software-and-source-spoke-iff-payload-is-Pa.patch -Patch20: 0021-Graphically-handle-errors-arising-from-ostree-repo-p.patch -Patch21: 0022-Take-RHEL-Atomic-Host-as-rhel-installclass.patch -Patch22: 0023-Handle-the-case-of-rpmostreepayload-GRUB2.patch -Patch23: 0024-rpmostreepayload-Copy-all-subdirectories-of-usr-lib-.patch -Patch24: 0025-rpmostreepayload-Add-remote-from-inside-sysroot.patch -Patch25: 0026-rpmostreepayload-Handle-grub2-EFI-layout.patch -Patch26: 0027-bootloader-Bridge-efi_dir-configuration-earlier-for-.patch -Patch27: 0028-Let-finding-install-classes-be-more-flexible-for-Fed.patch -Patch28: 0029-A-couple-updates-to-installclasses.patch -Patch29: 0030-atomic-set-up-atomic-specific-partitioning-defaults.patch -Patch30: 0031-rpmostreepayload-Avoid-shutil.copytree-in-favor-of-c.patch -Patch31: 0032-rescue-find-root-partition-of-ostree-atomic-installa.patch -Patch32: 0033-Add-crashkernel-auto-by-default.patch - -### *** CentOS specific patches -# This one needed to be backported from Fedora because CentOS doesn't -# use subscription-manager -Patch9800: 9800-rpmostreepayload-Rework-remote-add-handling.patch -# Rebranding patch, an adaption of the patch for CentOS Core -Patch9900: 9900-CentOS-atomic-branding.patch -### ^^^ CentOS specific patches +# backported for RHELAH 7.4.2 +Patch0: 0001-rpmostreepayload-Rollup-backport-of-Fedora-patches.patch +Patch1: 0001-installclasses-rhelah-Bump-default-to-15GB-max.patch # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). -%define gettextver 0.11 -%define gconfversion 2.28.1 +%define gettextver 0.18.1 %define intltoolver 0.31.2-3 -%define libnlver 1.0 -%define pykickstartver 1.99.43.10 +%define pykickstartver 1.99.66.12 %define yumver 3.4.3-91 %define partedver 1.8.1 %define pypartedver 2.5-2 %define pythonpyblockver 0.45 -%define nmver 1:0.7.1-3.git20090414 +%define nmver 1.0.0-6.git20150107 %define dbusver 1.2.3 %define yumutilsver 1.1.11-3 %define mehver 0.23-1 @@ -75,28 +35,29 @@ Patch9900: 9900-CentOS-atomic-branding.patch %define firewalldver 0.3.5-1 %define pythonurlgrabberver 3.9.1-5 %define utillinuxver 2.15.1 -%define dracutver 033-26 +%define dracutver 033-240 %define isomd5sum 1.0.10 %define fcoeutilsver 1.0.12-3.20100323git %define iscsiver 6.2.0.870-3 %define rpmver 4.10.0 %define libarchivever 3.0.4 -%define langtablever 0.0.13-4 +%define langtablever 0.0.31-3 +%define libxklavierver 5.4 +%define libtimezonemapver 0.4.1-2 +%define helpver 1:7.3.1-1 BuildRequires: audit-libs-devel BuildRequires: gettext >= %{gettextver} BuildRequires: gtk3-devel BuildRequires: gtk-doc +BuildRequires: gtk3-devel-docs +BuildRequires: glib2-doc BuildRequires: gobject-introspection-devel BuildRequires: glade-devel BuildRequires: pygobject3 BuildRequires: intltool >= %{intltoolver} -BuildRequires: libX11-devel -BuildRequires: libXt-devel -BuildRequires: libXxf86misc-devel BuildRequires: libgnomekbd-devel -BuildRequires: libnl-devel >= %{libnlver} -BuildRequires: libxklavier-devel +BuildRequires: libxklavier-devel >= %{libxklavierver} BuildRequires: pango-devel BuildRequires: pykickstart >= %{pykickstartver} %if ! 0%{?rhel} @@ -119,20 +80,27 @@ BuildRequires: desktop-file-utils %ifarch s390 s390x BuildRequires: s390utils-devel %endif +BuildRequires: libtimezonemap-devel >= %{libtimezonemapver} -Requires: anaconda-widgets = %{version}-%{release} -Requires: python-blivet >= 0.18.30 -Requires: gnome-icon-theme-symbolic -Requires: python-meh-gui >= %{mehver} +Requires: anaconda-core = %{version}-%{release} +Requires: anaconda-gui = %{version}-%{release} +Requires: anaconda-tui = %{version}-%{release} + +%description +The anaconda package is a metapackage for the Anaconda installer. + +%package core +Summary: Core of the Anaconda installer +Requires: python-blivet >= 1:0.61.15.60 +Requires: python-meh >= %{mehver} Requires: libreport-anaconda >= 2.0.21-1 Requires: libreport-rhel-anaconda-bugzilla >= 2.1.11-1 Requires: libselinux-python -Requires: rpm-python +Requires: rpm-python >= %{rpmver} Requires: parted >= %{partedver} Requires: pyparted >= %{pypartedver} Requires: yum >= %{yumver} Requires: python-urlgrabber >= %{pythonurlgrabberver} -Requires: system-logos Requires: pykickstart >= %{pykickstartver} Requires: langtable-data >= %{langtablever} Requires: langtable-python >= %{langtablever} @@ -144,18 +112,12 @@ Requires: dbus-python Requires: python-pwquality Requires: python-IPy Requires: python-nss -Requires: tigervnc-server-minimal Requires: pytz -Requires: libxklavier -Requires: libgnomekbd Requires: realmd Requires: teamd -Requires: keybinder3 %ifarch %livearches Requires: usermode -Requires: zenity %endif -Requires: GConf2 >= %{gconfversion} %ifarch s390 s390x Requires: openssh %endif @@ -163,13 +125,13 @@ Requires: isomd5sum >= %{isomd5sum} Requires: yum-utils >= %{yumutilsver} Requires: createrepo Requires: NetworkManager >= %{nmver} -Requires: nm-connection-editor +Requires: NetworkManager-team +Requires: NetworkManager-glib >= %{nmver} Requires: dhclient Requires: kbd Requires: chrony -Requires: ntpdate +Requires: python-ntplib Requires: rsync -Requires: hostname Requires: systemd %ifarch %{ix86} x86_64 Requires: fcoe-utils >= %{fcoeutilsver} @@ -181,19 +143,58 @@ Requires: dmidecode Requires: hfsplus-tools %endif %endif +Requires: kexec-tools Requires: python-coverage +# required because of the rescue mode and VNC question +Requires: anaconda-tui = %{version}-%{release} + Obsoletes: anaconda-images <= 10 Provides: anaconda-images = %{version}-%{release} Obsoletes: anaconda-runtime < %{version}-%{release} Provides: anaconda-runtime = %{version}-%{release} Obsoletes: booty <= 0.107-1 -%description -The anaconda package contains the program which was used to install your +%description core +The anaconda-core package contains the program which was used to install your system. +%package gui +Summary: Graphical user interface for the Anaconda installer +Requires: anaconda-core = %{version}-%{release} +Requires: anaconda-widgets = %{version}-%{release} +Requires: python-meh-gui >= %{mehver} +Requires: adwaita-icon-theme +Requires: system-logos +Requires: tigervnc-server-minimal +Requires: libxklavier >= %{libxklavierver} +Requires: libgnomekbd +Requires: libtimezonemap >= %{libtimezonemapver} +Requires: nm-connection-editor +%ifarch %livearches +Requires: zenity +%endif +Requires: keybinder3 +%ifnarch s390 s390x +Requires: NetworkManager-wifi +%endif +Requires: yelp +Requires: anaconda-user-help >= %{helpver} + +# Needed to compile the gsettings files +BuildRequires: gsettings-desktop-schemas + +%description gui +This package contains graphical user interface for the Anaconda installer. + +%package tui +Summary: Textual user interface for the Anaconda installer +Requires: anaconda-core = %{version}-%{release} + +%description tui +This package contains textual user interface for the Anaconda installer. + %package widgets Summary: A set of custom GTK+ widgets for use with anaconda Group: System Environment/Libraries @@ -207,7 +208,7 @@ This package contains a set of custom GTK+ widgets used by the anaconda installe Summary: Development files for anaconda-widgets Group: Development/Libraries Requires: glade -Requires: anaconda-widgets = %{version}-%{release} +Requires: %{name}-widgets%{?_isa} = %{version}-%{release} %description widgets-devel This package contains libraries and header files needed for writing the anaconda @@ -230,41 +231,6 @@ runtime on NFS/HTTP/FTP servers or local disks. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 - -%patch9800 -p1 - -%patch9900 -p1 %build %configure --disable-static \ @@ -278,12 +244,19 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm} %ifarch %livearches desktop-file-install ---dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/liveinst.desktop -%else -%{__rm} -rf %{buildroot}%{_bindir}/liveinst %{buildroot}%{_sbindir}/liveinst + +# Add a sitecustomize.py to be loaded by liveinst +mkdir -p %{buildroot}%{_datadir}/anaconda/site-python +install -m 0644 pyanaconda/sitecustomize.py %{buildroot}%{_datadir}/anaconda/site-python/ %endif +# NOTE: If you see "error: Installed (but unpackaged) file(s) found" that include liveinst files, +# check the IS_LIVEINST_ARCH in configure.ac to make sure your architecture is properly defined %find_lang %{name} +%post widgets -p /sbin/ldconfig +%postun widgets -p /sbin/ldconfig + %ifarch %livearches %post @@ -295,18 +268,25 @@ update-desktop-database &> /dev/null || : update-desktop-database &> /dev/null || : %endif -%files -f %{name}.lang +%files +%doc COPYING + +%files core -f %{name}.lang %doc COPYING %{_unitdir}/* %{_prefix}/lib/systemd/system-generators/* %{_bindir}/instperf +%{_bindir}/anaconda-disable-nm-ibft-plugin %{_sbindir}/anaconda %{_sbindir}/handle-sshpw -%{_sbindir}/logpicker %{_datadir}/anaconda +%{_datadir}/anaconda/help/* +%exclude %{_datadir}/anaconda/tzmapdata %{_prefix}/libexec/anaconda %{_libdir}/python*/site-packages/pyanaconda/* -%{_libdir}/python*/site-packages/log_picker/* +%exclude %{_libdir}/python*/site-packages/pyanaconda/rescue.py* +%exclude %{_libdir}/python*/site-packages/pyanaconda/ui/gui/* +%exclude %{_libdir}/python*/site-packages/pyanaconda/ui/tui/* %{_bindir}/analog %{_bindir}/anaconda-cleanup %ifarch %livearches @@ -316,14 +296,20 @@ update-desktop-database &> /dev/null || : %config(noreplace) %{_sysconfdir}/security/console.apps/* %{_sysconfdir}/X11/xinit/xinitrc.d/* %{_datadir}/applications/*.desktop -%{_datadir}/icons/hicolor/* %endif +%files gui +%{_libdir}/python*/site-packages/pyanaconda/ui/gui/* +%{_datadir}/themes/Anaconda/* + +%files tui +%{_libdir}/python*/site-packages/pyanaconda/rescue.py +%{_libdir}/python*/site-packages/pyanaconda/ui/tui/* + %files widgets %{_libdir}/libAnacondaWidgets.so.* %{_libdir}/girepository*/AnacondaWidgets*typelib %{_libdir}/python*/site-packages/gi/overrides/* -%{_datadir}/anaconda/tzmapdata/* %files widgets-devel %{_libdir}/libAnacondaWidgets.so @@ -337,3256 +323,3939 @@ update-desktop-database &> /dev/null || : %{_prefix}/libexec/anaconda/dd_* %changelog -* Wed Jun 17 2015 Karanbir Singh - 19.31.79.28.atomic.centos.7 -- Roll in 9800 and 9900 for the branding and ostree remote repo url changes +* Mon Aug 21 2017 Colin Walters - 21.48.22.121-3.rhelah.0 +- Backport patches for RHELAH /var and ISO default storage increase +- Related: rhbz#1098303 +- Related: rhbz#1391725 + +* Wed Jun 21 2017 Radek Vykydal - 21.48.22.121-1 +- rpmostreepayload: Stub out payload methods which use `import rpm` (walters) + Related: rhbz#1462979 + +* Tue Jun 13 2017 Radek Vykydal - 21.48.22.120-1 +- Update translations (ljanda) + Related: rhbz#1383911 + +* Mon Jun 12 2017 Radek Vykydal - 21.48.22.119-1 +- Delete file systems used only by a given installation (vponcova) + Resolves: rhbz#1453097 + +* Thu Jun 08 2017 Radek Vykydal - 21.48.22.118-1 +- rpmostreepayload: [rhel7only] Move tmpfiles to after mount setup (walters) + Resolves: rhbz#1459623 +- rpmostreepayload: Handle /var as a user-specified mountpoint (walters) + Resolves: rhbz#1459623 + +* Tue May 30 2017 Radek Vykydal - 21.48.22.117-1 +- Root checking fixes password for password from kickstart (mkolman) + Related: rhbz#1356966 +- Improve the GUI password checker (mkolman) + Related: rhbz#1356966 +- Respect changesok policy on root password spoke (mkolman) + Resolves: rhbz#1356966 +- Update translations of password checking strings (rvykydal) + Resolves: rhbz#1383911 + +* Mon May 29 2017 Radek Vykydal - 21.48.22.116-1 +- Allow nonstrict behaviour for all passwords in tui (vponcova) + Resolves: rhbz#1450326 +- Fix setting errors and warnings in the StorageCheckHandler (vponcova) + Resolves: rhbz#1453130 +- Mark post inst tools as disabled only if firstboot --disable is used + (mkolman) + Resolves: rhbz#1448940 +- Set the default filesystem type from a kickstart file (vponcova) + Resolves: rhbz#1449099 + +* Wed May 24 2017 Radek Vykydal - 21.48.22.115-1 +- Show a no network warning for network installation source. (vponcova) + Related: rhbz#1418604 +- Show warnings about enabling the network time (vponcova) + Resolves: rhbz#1418604 +- Fix generating UUID even for pre snapshots (jkonecny) + Related: rhbz#1113207 + +* Mon May 15 2017 Radek Vykydal - 21.48.22.114-1 +- Show the text of completions in the datetime spoke. (vponcova) + Related: rhbz#1447984 +- Look higher for the combobox associated with an entry (dshea) + Resolves: rhbz#1447984 +- Fix the addon handlers for the checkbox (vponcova) + Resolves: rhbz#1448187 + +* Thu May 11 2017 Radek Vykydal - 21.48.22.113-1 +- network: handle multiple connections for one device better (rvykydal) + Resolves: rhbz#1444887 +- network: catch exception when reading in-memory connection being removed + (rvykydal) + Related: rhbz#1444887 +- Compare empty confirmation field against input (mkolman) + Resolves: rhbz#1438832 + +* Tue May 09 2017 Radek Vykydal - 21.48.22.112-1 +- Properly iterate over kickstart locations in a job (vponcova) + Resolves: rhbz#1443485 +- Onlyuse devices of the ignoredisk command should be only disks (vponcova) + Related: rhbz#1327439 +- Fix device_name_is_disk to fully support raid devices (vponcova) + Resolves: rhbz#1327439 + +* Thu Apr 27 2017 Radek Vykydal - 21.48.22.111-1 +- Adapt to treeinfo addon section format change (rvykydal) + Related: rhbz#1437510 +- Make geolocation with kickstart possible (mkolman) + Resolves: rhbz#1358331 +- Show or hide the content of the expander (vponcova) + Resolves: rhbz#1441733 +- Fix a typo in anaconda-pre.service (mkolman) + Resolves: rhbz#1421246 + +* Thu Apr 20 2017 Radek Vykydal - 21.48.22.110-1 +- Adapt to treeinfo format change (variants -> addons) (rvykydal) + Resolves: rhbz#1437510 +- network: fix setting hostname via boot options (rvykydal) + Resolves: rhbz#1441337 +- Bump version of Pykickstart and Blivet (jkonecny) + Related: rhbz#1113207 +- Add XFS uuid changer (jkonecny) + Related: rhbz#1113207 +- Support --when parameter in snapshot (jkonecny) + Related: rhbz#1113207 +- Add snapshot support (jkonecny) + Resolves: rhbz#1113207 + +* Wed Apr 12 2017 Radek Vykydal - 21.48.22.109-1 +- Update 64bit grub2 support to reflect packages as they actually landed + (pjones) + Related: rhbz#1310779 +- Fix potential bugs reported by Pylint 1.6 (mkolman) + Related: rhbz#1440190 +- Fix unused variables and imports (mkolman) + Related: rhbz#1440190 +- Disable Pylint false positives (mkolman) + Related: rhbz#1440190 +- Fix Pylint LoggingChecker usage (mkolman) + Resolves: rhbz#1440190 +- Call subprocess.Popen with absolute path to a binary (rvykydal) + Resolves: rhbz#1411407 + +* Mon Apr 10 2017 Radek Vykydal - 21.48.22.108-1 +- Gtk: Fix css selectors. (vponcova) + Resolves: rhbz#1439766 +- Gtk: Set CSS names on all of the anaconda classes. (dshea) + Resolves: rhbz#1439766 +- Gtk: Fix deprecated pseudo-classes. (vponcova) + Resolves: rhbz#1433943 +- Gtk: Fix warnings in anaconda widgets. (dshea) + Resolves: rhbz#1433943 +- Gtk: Calculate the preferred size of the image. (vponcova) + Resolves: rhbz#1433943 + +* Tue Apr 04 2017 Radek Vykydal - 21.48.22.107-1 +- Gtk: Add gi.require_version to specify versions. (vponcova) + Resolves: rhbz#1433943 +- Use the function we already have for applying disk selection (rvykydal) + Related: rhbz#1412022 +- Ignore disks labeled OEMDRV (rvykydal) + Resolves: rhbz#1412022 + +* Mon Apr 03 2017 Radek Vykydal - 21.48.22.106-1 +- Pylint fixes (rvykydal) + Related: rhbz#1429576 +- Make 64-bit kernel on 32-bit firmware work for x86 efi machines (pjones) + Resolves: rhbz#1310779 + +* Wed Mar 29 2017 Radek Vykydal - 21.48.22.105-1 +- gui: show supported locales on Atomic Host installs (jlebon) + Resolves: rhbz#1429576 +- Specify unit for reserved space in VG (vpodzime) + Resolves: rhbz#1260887 +- Add support for --chunksize raid kickstart option (vtrefny) + Resolves: rhbz#1332316 + +* Thu Mar 23 2017 Radek Vykydal - 21.48.22.104-1 +- util: Add script to capture logs (riehecky) + Resolves: rhbz#1431313 + +* Mon Mar 20 2017 Radek Vykydal - 21.48.22.103-1 +- network tui: fix changing ipv4 config from static to dhcp (rvykydal) + Resolves: rhbz#1432886 + +* Thu Mar 16 2017 Radek Vykydal - 21.48.22.102-1 +- Add support for kickstart %%onerror scripts (clumens) + Resolves: rhbz#1412538 +- Fix partial kickstart software selection in GUI (jkonecny) + Related: rhbz#1404158 +- Show the network spoke in Initial Setup TUI (mkolman) + Resolves: rhbz#1302165 +- yum: Always release payload and catch raised exceptions. (vponcova) + Related: rhbz#979307 +- tui: Treat dependency errors as errors in the software spoke (vponcova) + Resolves: rhbz#979307 +- tui: Properly initialize the software spoke. (vponcova) + Related: rhbz#1371229 +- Propagate firstboot --disable to Screen Access Manager (mkolman) + Related: rhbz#1422867 +- Use Screen Access Manager (mkolman) + Related: rhbz#1422867 +- Add screen entry/exit callbacks (mkolman) + Related: rhbz#1422867 +- Add screen access manager (mkolman) + Resolves: rhbz#1422867 +- Removed unused code in the Software spoke (jkonecny) + Related: rhbz#1404158 +- Fix selection logic in Software spoke (jkonecny) + Resolves: rhbz#1404158 +- Support --nohome option in the autopartitioning (vponcova) + Resolves: rhbz#663099 +- tui: Remember the custom software selection (vponcova) + Resolves: rhbz#1371229 + +* Mon Mar 13 2017 Radek Vykydal - 21.48.22.101-1 +- Mock can now be set more easily by CI (jkonecny) + Resolves: rhbz#1430728 + +* Mon Mar 06 2017 Radek Vykydal - 21.48.22.100-1 +- Fix Driver Disc documentation (jkonecny) + Related: rhbz#1377233 +- Support DD rpm loading from local disk device (jkonecny) + Resolves: rhbz#1377233 +- Fix a Pylint warning (mkolman) + Related: rhbz#1425760 +- Remove redundant help content generation code (mkolman) + Resolves: rhbz#1428787 +- network: create dracut arguments for iSCSI root accessed via vlan (rvykydal) + Resolves: rhbz#1374003 +- Add support for RHVH custom storage checking (vponcova) + Related: rhbz#1412151 +- Enable the install class to customize the storage checking (vponcova) + Resolves: rhbz#1412151 +- Replace sanity check with more advanced storage checker (vponcova) + Related: rhbz#1412151 +- Rename StorageChecker to StorageCheckHandler (vponcova) + Related: rhbz#1412151 +- Perform recursive copying of driver disk RPM repo contents (esyr) + Resolves: rhbz#1425760 +- Fix a typo in an error message (esyr) + Related: rhbz#1425760 +- Don't block gui during dasd formating (vponcova) + Resolves: rhbz#1335465 +- rhev: add /home /tmp /var/log /var/log/audit (dougsland) + Resolves: rhbz#1422952 +- Increase verbosity of lvmdump in pre logging script (jkonecny) + Related: rhbz#1255659 + +* Mon Feb 27 2017 Radek Vykydal - 21.48.22.99-1 +- Improved password quality checking (mkolman) + Resolves: rhbz#1380277 + Resolves: rhbz#1383718 + Resolves: rhbz#1356975 +- Use correct default password quality value (mkolman) + Related: rhbz#1380277 + Related: rhbz#1383718 +- Use initialization controller for spoke initialization (mkolman) + Related: rhbz#1380224 +- Add module initialization controller (mkolman) + Resolves: rhbz#1380224 +- Add the synchronized decorator (mkolman) + Related: rhbz#1380224 +- Add a signal/slot implementation (mkolman) + Related: rhbz#1380224 + +* Mon Feb 20 2017 Radek Vykydal - 21.48.22.98-1 +- Lock empty root password during kickstart installation (mkolman) + Resolves: rhbz#1383656 +- Enable multiple inst.stage2 urls (vponcova) + Resolves: rhbz#1391724 +- Enable multiple inst.ks urls (vponcova) + Resolves: rhbz#1391724 +- tui: AutoPartSpoke should not be discovered by a hub (vponcova) + Related: rhbz#1380767 +- Enable to define the autopart type in an install class (vponcova) + Resolves: rhbz#1380767 +- Always set the default partitioning (vponcova) + Resolves: rhbz#1380767 + +* Mon Feb 13 2017 Radek Vykydal - 21.48.22.97-1 +- Add inst.waitfornet option (rvykydal) + Resolves: rhbz#1315160 +- Add support for IPoIB in tui (rvykydal) + Resolves: rhbz#1366935 + +* Tue Feb 07 2017 Radek Vykydal - 21.48.22.96-1 +- Add unit test for RepoMDMetaHash object (jkonecny) + Related: rhbz#1373449 +- Make the comments in payload and yumpayload consistent (jkonecny) + Related: rhbz#1373449 +- Fix Anaconda forces payload restart when network (not)change (jkonecny) + Resolves: rhbz#1358778 + Resolves: rhbz#1373449 +- network: index team slave connection names starting with 1 (rvykydal) + Resolves: rhbz#1401403 +- network: fix --noipv4 via %%pre (rvykydal) + Resolves: rhbz#1418289 + +* Thu Feb 02 2017 Radek Vykydal - 21.48.22.95-1 +- Close connections to the yum database (vponcova) + Resolves: rhbz#1362427 +- network: fix --activate for bridge slaves configured via %%pre ks (rvykydal) + Resolves: rhbz#1416655 +- network: activate bridge for first network command in ks via %%pre (rvykydal) + Resolves: rhbz#1416655 +- network: unify slave connection names for ks %%pre with ks and gui (rvykydal) + Resolves: rhbz#1416655 +- network: respect --activate value for bridge from kickstart (rvykydal) + Resolves: rhbz#1416687 + +* Mon Jan 30 2017 Radek Vykydal - 21.48.22.94-1 +- network: bind slave connections to DEVICE, not HWADDR (rvykydal) + Related: rhbz#1373360 +- Catch race-condition error reading from in-memory connection being removed + (rvykydal) + Related: rhbz#1373360 +- Allow setting up bridge for fetching isntaller image from kickstart + (rvykydal) + Resolves: rhbz#1373360 + +* Mon Sep 26 2016 Samantha N. Bueno - 21.48.22.93-1 +- Accept any non-empty password in non-strict mode (mkolman) + Resolves: rhbz#1379323 +- Disable the potfile check on the password quality tests (mkolman) + Related: rhbz#1365112 + Related: rhbz#1365032 +- Fix two trivial typos in the password checking code (mkolman) + Related: rhbz#1365112 + Related: rhbz#1365032 +- Tweak lambda use in Dracut test (jkonecny) + Related: rhbz#1101653 +- Add Dracut test for reloading mod dependencies (jkonecny) + Related: rhbz#1101653 + +* Tue Sep 20 2016 Samantha N. Bueno - 21.48.22.92-1 +- Check /var/tmp directory before creating it (rvykydal) + Resolves: rhbz#1377761 + +* Thu Sep 15 2016 Samantha N. Bueno - 21.48.22.91-1 +- Fix password length in the password policy (mkolman) + Related: rhbz#1365112 + Related: rhbz#1365032 +- network: avoid registering GTypes from multiple threads (lkundrak) + Resolves: rhbz#1366271 +- Fix traceback when payload have None as url (jkonecny) + Resolves: rhbz#1371494 +- Add new Dracut test and fix another ones (jkonecny) + Related: rhbz#1101653 +- Fix bug when we add set to list (jkonecny) + Related: rhbz#1101653 +- Add new helper script files to build system (jkonecny) + Related: rhbz#1101653 +- Add new helper scripts to the README-dd documentation (jkonecny) + Related: rhbz#1101653 +- Fix driver unload is disabling network settings (jkonecny) + Related: rhbz#1101653 + +* Mon Sep 12 2016 Samantha N. Bueno - 21.48.22.90-1 +- rhv: Adding rhv for installclasses (dougsland) + Resolves: rhbz#1337595 + +* Mon Sep 12 2016 Samantha N. Bueno - 21.48.22.89-1 +- Default policy should not allow empty passwords (mkolman) + Related: rhbz#1365112 + Related: rhbz#1365032 +- Add unit tests for password quality checking (mkolman) + Related: rhbz#1365112 + Related: rhbz#1365032 +- Fix password quality checking (mkolman) + Resolves: rhbz#1365112 + Resolves: rhbz#1365032 +- dud: fix multiple inst.dd=http:// instances stalling in dracut (rvykydal) + Related: rhbz#1268792 + +* Thu Sep 08 2016 Samantha N. Bueno - 21.48.22.88-1 +- Revert "Show network spoke in the TUI reconfig mode (mkolman)" + Resolves: rhbz#1302165 +- Improved driver disk copying (mkolman) + Related: rhbz#1269915 +- network: adapt to ibft plugin being enabled by default in NM (rvykydal) + Resolves: rhbz#1371188 + +* Mon Sep 05 2016 Samantha N. Bueno - 21.48.22.87-1 +- Drop T from cp command flags when copying driver disk RPMs (mkolman) + Resolves: rhbz#1269915 +- network: set onboot correctly for vlan on bond device in ks (rvykydal) + Related: rhbz#1234849 +- network: don't show ibft configured devices in UI (rvykydal) + Resolves: rhbz#1309661 +- Translate press-c-to-continue correctly in TUI (mkolman) + Resolves: rhbz#1364539 +- network: don't set empty team slave config for NM (rvykydal) + Related: rhbz#1254929 + +* Thu Aug 25 2016 Samantha N. Bueno - 21.48.22.86-1 +- network: don't stumble upon new Device.Statistics NM dbus iface (rvykydal) + Resolves: rhbz#1370099 + +* Wed Aug 24 2016 Samantha N. Bueno - 21.48.22.85-1 +- Check before removing repo specific caches (bcl) + Resolves: rhbz#1369698 + +* Tue Aug 23 2016 Samantha N. Bueno - 21.48.22.84-1 +- Ensure LDL DASDs formatted in text ks. (sbueno+anaconda) + Resolves: rhbz#1259437 +- Run cache hack after moving cache to mounted storage (bcl) + Resolves: rhbz#1287438 +- Fix reset payload only on network change (jkonecny) + Resolves: rhbz#1364367 +- Disable strict password quality checking for partial kickstart installations + (mkolman) + Related: rhbz#1360263 +- Fix anaconda-pre.service wasn't properly installed (jkonecny) + Related: rhbz#1255659 + +* Thu Aug 11 2016 Samantha N. Bueno - 21.48.22.83-1 +- Fix PropertyNotFoundError PermHwAddress (jkonecny) + Resolves: rhbz#1364977 +- Fix screenshot taking logic (mkolman) + Resolves: rhbz#1327456 +- network: don't require gateway for static ipv4 config in TUI (rvykydal) + Resolves: rhbz#1365532 + +* Tue Aug 09 2016 Samantha N. Bueno - 21.48.22.82-1 +- Fix needsNetwork() to test only enabled repositories (jkonecny) + Resolves: rhbz#1361213 + Related: rhbz#1358788 +- Make sure unformatted DASDs are dasdfmted in ks. (sbueno+anaconda) + Resolves: rhbz#1359865 +- Fix architecutre selection for help content (mkolman) + Related: rhbz#1260880 +- Fix needsNetwork testing only additional repositories (jkonecny) + Related: rhbz#1358788 +- Fix retry to download local treeinfo file (jkonecny) + Related: rhbz#1270354 +- Rename function for better consistency (rvykydal) + Related: rhbz#1259284 +- Update error message for consistency (rvykydal) + Related: rhbz#1259284 +- Add more specific username check messages also to gui (rvykydal) + Related: rhbz#1259284 + Resolves: rhbz#1360334 +- Fix restart payload only when repo needs network (jkonecny) + Resolves: rhbz#1358788 + +* Wed Jul 27 2016 <> - 21.48.22.81-1 +- network: don't activate bond/team devices regardless of --activate (rvykydal) + Resolves: rhbz#1358795 +- iscsi: fix getting iscsi target iface of bound target (rvykydal) + Resolves: rhbz#1359739 +- Clarify a nosave related log message (mkolman) + Related: rhbz#1285519 +- network: fix ksdata generating for for non-active virtual devices (rvykydal) + Related: rhbz#1321288 +- network: update kickstart data also with bond bridge slaves (rvykydal) + Related: rhbz#1321288 +- network: add support for bridge bond slaves (rvykydal) + Resolves: rhbz#1321288 +- Fix bootDrive driveorder fallback (jkonecny) + Related: rhbz#1355795 +- Fix bootloader when re-using existing /boot part (jkonecny) + Related: rhbz#1355795 +- fix style guide test false positive on username variable (rvykydal) + Related: rhbz#1350375 +- Store logs before anaconda starts (japokorn) + Resolves: rhbz#1255659 +- DD can now replace existing drivers (japokorn) + Related: rhbz#1101653 +- tui: use functions instead of fake REs for checking values (rvykydal) + Related: rhbz#1350375 +- tui: get proper index of entry we are handling in input (rvykydal) + Related: rhbz#1331054 +- tui: fix user name validity checking (rvykydal) + Related: rhbz#1259284 + Resolves: rhbz#1350375 +- Change bootloader boot drive fallback (jkonecny) + Resolves: rhbz#1355795 +- Make it possible to disable sshd service from running. (sbueno+anaconda) + Resolves: rhbz#1262707 +- Attempt to unload modules updated by a driver disk (dshea) + Resolves: rhbz#1101653 +- Fix the processing of device nodes as driver disks (dshea) + Related: rhbz#1269915 + +* Fri Jul 08 2016 Brian C. Lane - 21.48.22.80-1 +- Allow kickstart users to ignore the free space error (dshea) + Resolves: rhbz#1287308 +- Fix dhcpclass to work both via kickstart and the boot cmdline. (clumens) + Resolves: rhbz#1293051 +- Add support for device specification variants (mkolman) + Resolves: rhbz#1200833 +- Add NTP server configuration to the TUI (mkolman) + Resolves: rhbz#1269399 +- Move the NTP server checking constants to constants.py (mkolman) + Related: rhbz#1269399 +- Use a constant for the NTP check thread name prefix (mkolman) + Related: rhbz#1269399 + +* Fri Jun 24 2016 Brian C. Lane - 21.48.22.79-1 +- Fix adding new VG in Custom spoke can't be applied (jkonecny) + Resolves: rhbz#1263715 +- Fix pylint errors in Timezone. (dshea) + Related: rhbz#1312135 +- hostname: don't set installer env hostname to localhost.localdomain + (rvykydal) + Related: rhbz#1290858 +- Add the nosave option to the boot option docs file (mkolman) + Related: rhbz#1285519 + +* Fri Jun 17 2016 Brian C. Lane - 21.48.22.78-1 +- Use the RHEL 7 timezone kickstart command version (mkolman) + Resolves: rhbz#1312135 +- Use the signal handlers to set initial widget sensitivies (dshea) + Resolves: rhbz#1259742 +- Fix the name sensitivity in the custom spoke. (dshea) + Resolves: rhbz#1316269 +- Require network for network-based driver disks (dshea) + Resolves: rhbz#1261024 + +* Fri Jun 10 2016 Brian C. Lane - 21.48.22.77-1 +- Add wordwrap to text mode and use it by default (rvykydal) + Resolves: rhbz#1267881 +- Display storage errors that cause no disks to be selected (bcl) + Related: rhbz#1340240 +- Overwrite network files when using ks liveimg (bcl) + Resolves: rhbz#1342639 + +* Wed Jun 08 2016 Brian C. Lane - 21.48.22.76-1 +- Fix a covscan warning about fetch-driver-net (bcl) + Related: rhbz#1269915 +- network: handle also ifcfg files of not activated virtual devices (rvykydal) + Resolves: rhbz#1313173 +- network: check onboot value in ksdata, not NM connections (rvykydal) + Related: rhbz#1341636 + Resolves: rhbz#1313173 +- network: do not activate device on kickstart --onboot="yes" (rvykydal) + Resolves: rhbz#1341636 +- Use the LUKS device for encrypted swap on RAID (dshea) + Related: rhbz#1302747 +- Use the LUKS device for swap in fstab (vpodzime) + Resolves: rhbz#1302747 +- Keep the subdir in driver disk update paths (dshea) + Resolves: rhbz#1296306 +- Warn about broken keyboard layout switching in VNC (jkonecny) + Resolves: rhbz#1274228 +- Make the anaconda-generator exit early outside of the installation + environment (mkolman) + Resolves: rhbz#1289179 + +* Fri Jun 03 2016 Brian C. Lane - 21.48.22.75-1 +- Add a button to refresh the disk list. (dlehman) + Resolves: rhbz#1191305 +- Fix some residual issues of dasdfmt in text-mode. (sbueno+anaconda) + Resolves: rhbz#1259437 +- Only try to restart payload in the Anaconda environment (mkolman) + Related: rhbz#1270354 +- Make current runtime environment identifiers available via flags (mkolman) + Related: rhbz#1270354 +- network tui: do not activate device when setting its onboot value (rvykydal) + Resolves: rhbz#1261864 +- network tui: edit persistent configuration, not active connection (rvykydal) + Related: rhbz#1261864 +- network: add support for --no-activate kickstart opton (rvykydal) + Resolves: rhbz#1277975 +- More descriptive message on invalid username (kvalek) + Resolves: rhbz#1259284 +- Don't mark an empty string for translation. (clumens) + Related: rhbz#1255094 +- Update the disk summary on Ctrl-A (dshea) + Resolves: rhbz#1264958 +- Added PROGRESS_REPORT for retry messages (kvalek) + Resolves: rhbz#1255094 +- Handle unsupported disklabels. (dlehman) + Related: rhbz#1266199 + Related: rhbz#1294081 +- network: fix filtering of libvirt devices (check for None values) (rvykydal) + Related: rhbz#1298444 +- NFS DDs installation now works correctly (japokorn) + Resolves: rhbz#1269915 + +* Fri May 27 2016 Brian C. Lane - 21.48.22.74-1 +- Print an error when the kickstart file is missing (bcl) + Resolves: rhbz#1297380 +- Adapt the pwpolicy defaults to the old behavior (vpodzime) + Related: rhbz#1240303 +- Ignore addon and anaconda sections in handle-sshpw (bcl) + Related: rhbz#1240303 +- Ignore %%anaconda section in parse-kickstart (bcl) + Related: rhbz#1240303 +- Add documentation on %%anaconda kickstart command (bcl) + Related: rhbz#1240303 +- TUI pwpolicy setup was supposed to be in __init__ not refresh (bcl) + Related: rhbz#1240303 +- Fix pylint/translation issues from the pwpolicy patches. (clumens) + Related: rhbz#1240303 +- Implement %%anaconda kickstart section for pwpolicy (bcl) + Resolves: rhbz#1240303 +- Add pwpolicy support to TUI interface (bcl) + Related: rhbz#1240303 +- Add pwpolicy for the LUKS passphrase dialog. (bcl) + Related: rhbz#1240303 +- Add pwpolicy for the user spoke. (bcl) + Related: rhbz#1240303 +- Use pwpolicy for the root password spoke. (bcl) + Related: rhbz#1240303 +- hostname: add tooltip to Apply button (rvykydal) + Related: rhbz#1290858 +- hostname: fix accelerator collision (rvykydal) + Related: rhbz#1290858 +- hostname: don't set hostname in initrafms of target system (rvykydal) + Related: rhbz#1290858 +- hostname: set current hostname from target system hostname on demand + (rvykydal) + Related: rhbz#1290858 +- hostname: suggest current hostname for storage containers (rvykydal) + Related: rhbz#1290858 +- hostname: don't set target system static hostname to current hostname + (rvykydal) + Resolves: rhbz#1290858 + +* Wed May 25 2016 Brian C. Lane - 21.48.22.73-1 +- network: don't crash on devices with zero MAC address (rvykydal) + Resolves: rhbz#1334632 +- network: fix regression in network tui device configuration (rvykydal) + Resolves: rhbz#1338620 +- Fix TUI ErrorDialog processing (bcl) + Resolves: rhbz#1337427 +- Fix a pylint error in the source switch handler mixin (mkolman) + Related: rhbz#1275771 +- Don't crash when selecting the same hdd ISO again (mkolman) + Resolves: rhbz#1275771 +- Protect extended partition when ISO file is on logical partition (vtrefny) + Resolves: rhbz#1255237 +- Fix error handling for s390 bootloader errors (sbueno+anaconda) + Resolves: rhbz#1260934 +- Move yum.cache to disk after partitioning (bcl) + Resolves: rhbz#1287438 + +* Fri May 13 2016 Brian C. Lane - 21.48.22.72-1 +- Lower required squashfs ram to 350M (bcl) + Resolves: rhbz#1333113 +- Add epoch for anaconda-user-help & bump version (mkolman) + Related: rhbz#1275285 +- Specify string format arguments as logging function parameters (mkolman) + Related: rhbz#1235726 + +* Wed May 11 2016 Brian C. Lane - 21.48.22.71-1 +- Do not override StorageChecker.errors in StorageSpoke (vtrefny) + Resolves: rhbz#1269195 +- Add single language mode (mkolman) + Resolves: rhbz#1235726 +- Move default X keyboard setting out of the Welcome spoke (mkolman) + Related: rhbz#1235726 +- bootloader: Use shim on Aarch64. (pjones) + Resolves: rhbz#1256942 +- Fix bad indentation (rvykydal) + Related: rhbz#1265593 +- network: don't show libvirt virtual devices (rvykydal) + Related: rhbz#1298444 +- network: don't crash when adding device without connection to list (rvykydal) + Related: rhbz#1265593 +- Use a different ipmi command to log events. (clumens) + Resolves: rhbz#1268195 +- Add missing glib schema dependencies (dshea) + Related: rhbz#1324889 +- Compile glib schema overrides with --strict. (dshea) + Related: rhbz#1324889 + +* Fri May 06 2016 Brian C. Lane - 21.48.22.70-1 +- Don't join two absolute paths (mkolman) + Related: rhbz#1249598 +- Switch to the new Initial Setup unit name (mkolman) + Related: rhbz#1249598 +- Don't crash when taking a screenshot on the hub (mkolman) + Resolves: rhbz#1327456 +- network: validate netmask in tui (rvykydal) + Resolves: rhbz#1331054 + +* Fri Apr 29 2016 Brian C. Lane - 21.48.22.69-1 +- Check minimal memory requirements properly (jstodola) + Resolves: rhbz#1267673 +- Check that cache PVs (if any) are in the VG the LV belongs to (vpodzime) + Resolves: rhbz#1263258 +- Move settings_changed from NCB to Network Spoke (jkonecny) + Related: rhbz#1270354 +- Changes in network state revalidate sources rhbz#1270354 (riehecky) + Resolves: rhbz#1270354 + +* Wed Apr 27 2016 Brian C. Lane - 21.48.22.68-1 +- Update storage snapshot after running dasdfmt. (sbueno+anaconda) + Resolves: rhbz#1266151 +- Add access to the payload from addons (jkonecny) + Resolves: rhbz#1288636 +- Update the on-disk snapshot of storage when adv. disks are added (vpodzime) + Resolves: rhbz#1267944 + +* Thu Apr 21 2016 Brian C. Lane - 21.48.22.67-1 +- Combine formatting of LDL and unformatted DASDs. (sbueno+anaconda) + Resolves: rhbz#1316088 +- Move metacity settings into anaconda. (dshea) + Resolves: rhbz#1324889 + +* Fri Apr 15 2016 Brian C. Lane - 21.48.22.66-1 +- Check software selection in tui kickstart (bcl) + Resolves: rhbz#1320436 +- Run the checkSoftwareSelection even when no environment is selected (bcl) + Resolves: rhbz#1320436 +- Stop kickstart when space check fails (bcl) + Resolves: rhbz#1320436 +- Fix problem of DASDs not being formatted in text ks. (sbueno+anaconda) + Resolves: rhbz#1259437 + +* Thu Apr 14 2016 Brian C. Lane - 21.48.22.65-1 +- Move the pykickstart version test into a different subdirectory. (clumens) + Resolves: rhbz#1263367 +- Show network spoke in the TUI reconfig mode (mkolman) + Resolves: rhbz#1302165 +- iscsi: don't generate kickstart iscsi commands for offload devices (rvykydal) + Related: rhbz#1252879 +- iscsi: allow installing bootloader on offload iscsi disks (qla4xxx) + (rvykydal) + Resolves: rhbz#1325134 +- Fix iSCSI kickstart options aren't generated (jkonecny) + Resolves: rhbz#1252879 +- Fix adding offload iSCSI devices (vtrefny) + Resolves: rhbz#1255280 + +* Fri Apr 08 2016 Brian C. Lane - 21.48.22.64-1 +- Exclude software raid block devices from list-harddrives output (mkolman) + Resolves: rhbz#1311512 + +* Tue Apr 05 2016 Brian C. Lane - 21.48.22.63-1 +- network: don't set 803-3-ethernet.name setting (rvykydal) + Resolves: rhbz#1323589 +- Add retry when downloading .treeinfo (jkonecny) + Resolves: rhbz#1292613 +- Make it possible to skip saving of kickstarts and logs (mkolman) + Resolves: rhbz#1285519 +- Add a function for empty file creation (mkolman) + Related: rhbz#1285519 +- Run actions for argparse arguments (mkolman) + Related: rhbz#1285519 + +* Fri Apr 01 2016 Brian C. Lane - 21.48.22.62-1 +- Reset invalid disk selection before proceeding. (dlehman) + Resolves: rhbz#1265330 +- Fix bad sensitivity on boxes in source spoke (jkonecny) + Resolves: rhbz#1262833 +- Fix only one address is shown in anaconda (jkonecny) + Resolves: rhbz#1264400 +- network: copy static routes configured in installer to system (rvykydal) + Resolves: rhbz#1255801 +- network: fix kickstart --noipv4 option in %%pre section (rvykydal) + Related: rhbz#1291333 +- network: fix kickstart --noipv4 option (rvykydal) + Resolves: rhbz#1291333 + +* Thu Mar 24 2016 Brian C. Lane - 21.48.22.61-1 +- Fix crash when new device appear in Welcome screen (jkonecny) + Resolves: rhbz#1216926 +- Add reason when logging invalid repository (jkonecny) + Resolves: rhbz#1240379 +- network: fix vlan over bond in kickstart (rvykydal) + Resolves: rhbz#1234849 + +* Fri Mar 18 2016 Brian C. Lane - 21.48.22.60-1 +- Remove unused import in storage_utils (sbueno+anaconda) + Related: rhbz#1268025 +- Remove the last instance of singlePV (sbueno+anaconda) + Resolves: rhbz#1268025 +- Remove duplicate informational message from rescue mode. (sbueno+anaconda) + Resolves: rhbz#1249082 +- If doing dirinstall on s390x, don't prompt to login via ssh to begin install. + (sbueno+anaconda) + Resolves: rhbz#1269207 +- Fix a problem introduced by a cherry-pick (dshea) + Resolves: rhbz#1317558 + Related: rhbz#1274855 +- Fix duplicate network settings in dracut (jkonecny) + Related: rhbz#1293539 +- Fix create device with bad name when parsing KS (jkonecny) + Resolves: rhbz#1293539 +- network: don't traceback when trying to turn off misconfigured team + connection (rvykydal) + Resolves: rhbz#1263971 +- network: don't set NM_CONTROLLED=no for root on SAN (rvykydal) + Resolves: rhbz#1273323 +- Use a lock for repoStore access (bcl) + Resolves: rhbz#1315414 +- network: use NAME to find ifcfg on s390 with net.ifnames=0 (rvykydal) + Resolves: rhbz#1249750 +- fix multiple inst.dd= args (rhbz#1268792) (wwoods) + Resolves: rhbz#1268792 +- network: fix configuring team in kickstart pre (rvykydal) + Resolves: rhbz#1254929 +- network: Don't set --device link default for hostname only network cmd + (rvykydal) + Resolves: rhbz#1272274 +- Make the No Space dialog look less terrible. (clumens) + Resolves: rhbz#1264328 + +* Thu Mar 10 2016 Brian C. Lane - 21.48.22.59-1 +- Fix a DBus InvalidProperty handling (jkonecny) + Resolves: rhbz#1315843 +- Fix a bad usage of execWithRedirect (dshea) + Resolves: rhbz#1270319 +- Use an icon that exists in Adwaita for the dasd confirmation (dshea) + Related: rhbz#1259016 +- Translate the help button. (dshea) + Resolves: rhbz#1314451 +- Translate the required space labes in resize.py (dshea) + Resolves: rhbz#1314451 +- Increase yum debug logging level from 3 to 6 (jkonecny) + Resolves: rhbz#1254368 + +* Fri Mar 04 2016 Brian C. Lane - 21.48.22.58-1 +- Add device id to dasdfmt screen. (sbueno+anaconda) + Resolves: rhbz#1269174 +- Unify displayed columns in custom spoke dialogs. (sbueno+anaconda) + Resolves: rhbz#1289577 +- Show some confirmation to users if adding a DASD was successful. + (sbueno+anaconda) + Resolves: rhbz#1259016 +- Fix dasdfmt during graphical kickstart. (sbueno+anaconda) + Resolves: rhbz#1269863 +- Improve password salt creation (bcl) + Resolves: rhbz#1229474 +- Display a fatal error if unable to encrypt a password. (dshea) + Related: rhbz#1229474 +- NTP should have better behavior (jkonecny) + Resolves: rhbz#1260725 + +* Tue Mar 01 2016 Brian C. Lane - 21.48.22.57-1 +- Make sure pluginconf.d exists (bcl) + Resolves: rhbz#1271766 +- Check to see if DD repo is already in addOn list (bcl) + Resolves: rhbz#1268357 +- Add --sshkey to kickstart sshpw command (bcl) + Resolves: rhbz#1240410 +- Add sshkey kickstart command (bcl) + Resolves: rhbz#1311755 +- Fix nfs source crash when options change (bcl) + Resolves: rhbz#1264071 +- Fix pre-install script execution (bcl) + Related: rhbz#1311184 +- Add kickstart %%pre-install section support (bcl) + Resolves: rhbz#1311184 +- Fix a race between a window continuing and the next starting (dshea) + Resolves: rhbz#1255858 +- Don't process continue-clicked events for windows that aren't shown. + (clumens) + Related: rhbz#1255858 +- Generate resources.h before compiling widgets-common.c (dshea) + Related: rhbz#1243929 +- Use CSS to style the internal widgets. (dshea) + Resolves: rhbz#1243929 +- Lookup IPv6 address without brackets (bcl) + Resolves: rhbz#1267872 +- Copy rhsm logs to target system (bcl) + Resolves: rhbz#1130268 +- Add specific error string to TUI user dialog (bcl) + Resolves: rhbz#1248421 +- Make EditTUIDialog error generic (bcl) + Related: rhbz#1248421 +- Don't clear the _currentIsoFile if another iso was selected (bcl) + Related: rhbz#1274855 +- Fix problems with the hdiso method (clumens) + Resolves: rhbz#1274855 +- Always quote values in ifcfg- files (bcl) + Resolves: rhbz#1279131 +- Include original kickstart in /root/original-ks.cfg (bcl) + Resolves: rhbz#1227939 +- Manually set clock shifts on UI idle (rmarshall) + Resolves: rhbz#1251044 +- Import iutil earlier so we can use ipmi_report from check_for_ssh. (clumens) + Resolves: rhbz#1267658 +- In tui cmdline mode skip showError and log message (bcl) + Resolves: rhbz#1280371 +- Fix a typo in the hardware error message. (clumens) + Resolves: rhbz#1284165 +- Make reclaim work with small screens and big labels (dshea) + Resolves: rhbz#1262778 +- Use GtkResponseType values in the iso chooser dialog (dshea) + Resolves: rhbz#1265060 + +* Thu Oct 29 2015 Brian C. Lane - 21.48.22.56-1 +- Ignore interfaces with invalid VLAN IDs. (dshea) + Resolves: rhbz#1274893 + +* Fri Oct 09 2015 Brian C. Lane - 21.48.22.55-1 +- network: create ifcfg files in tui if needed (rvykydal) + Resolves: rhbz#1268155 +- Do not limit ONBOOT default setting to url and nfs installation methods + (rvykydal) + Resolves: rhbz#1269264 + +* Wed Oct 07 2015 Brian C. Lane - 21.48.22.54-1 +- ibft: fix setting dracut boot args for static ibft nic configuration + (rvykydal) + Resolves: rhbz#1267526 +- dracut: accept inst.dd=[file:]/dd.iso (wwoods) + Resolves: rhbz#1268792 +- Fix issues with the date&time not being updated on timezone changes + (vpodzime) + Resolves: rhbz#1267450 + +* Tue Sep 29 2015 Brian C. Lane - 21.48.22.53-1 +- Use otps.display_mode during early startup (mkolman) + Resolves: rhbz#1267140 + +* Mon Sep 28 2015 Brian C. Lane - 21.48.22.52-1 +- Mount stage2 cdrom after running driver-updates (bcl) + Resolves: rhbz#1266478 + +* Fri Sep 25 2015 Brian C. Lane - 21.48.22.51-1 +- Pull in new translations + Related: rhbz#1047457 + +* Wed Sep 23 2015 Brian C. Lane - 21.48.22.50-1 +- Fix a pylint problem with the ostree patch. (clumens) + Related: rhbz#1253527 +- Update storage config after running dasdfmt. (sbueno+anaconda) + Resolves: rhbz#1264411 +- rpmostreepayload: Forcibly unmount everything in sysroot (walters) + Resolves: rhbz#1253527 + +* Tue Sep 22 2015 Brian C. Lane - 21.48.22.49-1 +- Use correct installclass for RHEL Atomic Host (rvykydal) + Resolves: rhbz#1265213 +- Catch blkid failure in driver-updates (bcl) + Resolves: rhbz#1262963 +- Maximize anaconda instead of running fullscreen (dshea) + Related: rhbz#1231856 +- Do not display markup in showDetailedError. (dshea) + Resolves: rhbz#1263963 + +* Fri Sep 18 2015 Brian C. Lane - 21.48.22.48-1 +- Skip setting up env and groups in software spoke for ks (bcl) + Resolves: rhbz#1263493 + +* Tue Sep 15 2015 Brian C. Lane - 21.48.22.47-1 +- Show correct status for no %%packages with selected environment (mkolman) + Related: rhbz#1261393 +- Keep environment selection when reentering the software spoke (mkolman) + Resolves: rhbz#1261393 +- Remove an unused import. (clumens) + Related: rhbz#1253672 +- Only show the user spoke if no users are specified in kickstart (mkolman) + Resolves: rhbz#1253672 + +* Fri Sep 11 2015 Brian C. Lane - 21.48.22.46-1 +- Handle driver rpms retrieved via network (bcl) + Resolves: rhbz#1257916 +- Use getDiskDescription for disk description strings (bcl) + Resolves: rhbz#1247861 +- Add getDiskDescription helper function (bcl) + Related: rhbz#1247861 +- Make sure anaconda reads in ks file from OEMDRV device. (sbueno+anaconda) + Resolves: rhbz#1057271 +- Try to deal with expected errors from devicetree.populate (vpodzime) + Resolves: rhbz#1257648 + +* Thu Sep 10 2015 Brian C. Lane - 21.48.22.45-1 +- Fix 'cat: /tmp/dd_disk: No such file or directory' (jkonecny) + Resolves: rhbz#1251394 + +* Wed Sep 09 2015 Brian C. Lane - 21.48.22.44-1 +- Fix another bash syntax problem in kickstart-genrules.sh (sbueno+anaconda) + Resolves: rhbz#1057271 +- Install all required packages. (dshea) + Resolves: rhbz#1260624 + +* Tue Sep 08 2015 Brian C. Lane - 21.48.22.43-1 +- Quit in askvnc should not reboot image and dirinstall (bcl) + Resolves: rhbz#1255069 +- network: assume --device=link as default also for ks on hd (rvykydal) + Related: rhbz#1085310 +- Don't try to concatenate a list with a string (mkolman) + Related: rhbz#1252444 +- Always show the Network spoke in Initial Setup (mkolman) + Resolves: rhbz#1259801 +- Fix hiding curl 404 errors outside debug mode (vtrefny) + Resolves: rhbz#1182776 + +* Thu Sep 03 2015 Brian C. Lane - 21.48.22.42-1 +- Remove a call to execute in storage thread to avoid a threading disaster. + (sbueno+anaconda) + Resolves: rhbz#1245268 +- Remove a rogue reference to self.back_clicked. (clumens) + Related: rhbz#1254548 +- Fix a typo in service enablement in kickstart.py. (clumens) + Related: rhbz#1252444 +- Verify Initial Setup services are present before turning them ON/OFF + (mkolman) + Resolves: rhbz#1252444 +- Set both .format's and .originalFormat's passphrase on unlock (vpodzime) + Resolves: rhbz#1255679 +- Make the Encrypt checkbox insensitive for encrypted non-BTRFS devices + (vpodzime) + Related: rhbz#1255679 +- Make the default screen height yet one line shorter (vpodzime) + Resolves: rhbz#1184378 +- Don't crash if the Japanese PC-98 keyboard is selected (mkolman) + Resolves: rhbz#1190589 + +* Wed Sep 02 2015 Brian C. Lane - 21.48.22.41-1 +- Enforce sane disk selections. (dlehman) + Resolves: rhbz#1254548 + +* Tue Sep 01 2015 Brian C. Lane - 21.48.22.40-1 +- Skip OEMDRV if interactive DD is requested (bcl) + Related: rhbz#1254270 +- Copy updated driver ko to correct directory (bcl) + Related: rhbz#1254270 +- addRepo takes a repo object not a string (bcl) + Related: rhbz#1254270 +- Drivers are simply under /run/install/DD-x/ (bcl) + Related: rhbz#1254270 +- Fix a bash error in kickstart-genrules.sh (sbueno+anaconda) + Resolves: rhbz#1057271 +- Run nm-connection-editor with the --keep-above flag (mkolman) + Resolves: rhbz#1231856 + +* Mon Aug 31 2015 Brian C. Lane - 21.48.22.39-1 +- Disallow /boot on lvm until grub2 fully supports it. (dlehman) + Resolves: rhbz#1252466 +- Force an encoding of utf-8 on liveinst installs (dshea) + Resolves: rhbz#1257060 +- Ignore zram block devices in the list-harddrives script output (mkolman) + Resolves: rhbz#1247886 + Resolves: rhbz#1253184 + +* Fri Aug 28 2015 Brian C. Lane - 21.48.22.38-1 +- Run AnacondaExceptionHandler in cmdline mode (bcl) + Resolves: rhbz#1256385 +- anaconda.target: Wants systemd-logind.service (awilliam) + Resolves: rhbz#1257311 + +* Wed Aug 26 2015 Brian C. Lane - 21.48.22.37-1 +- Process excludedGroupList after packages and groups. (clumens) + Resolves: rhbz#1249036 +- Fix the help button mnemonic display on spokes (dshea) + Resolves: rhbz#1250918 + +* Mon Aug 24 2015 Brian C. Lane - 21.48.22.36-1 +- Don't write nfs repos to the target system (bcl) + Resolves: rhbz#1246212 +- Fix nfs mountpoint removal (bcl) + Related: rhbz#1246212 +- Fix the handling of nfs:// URLs. (dshea) + Related: rhbz#1246212 +- Start hubs with the buttons insensitive. (dshea) + Resolves: rhbz#1255752 +- Move locale environment logic into localization.py (dshea) + Related: rhbz#1198642 + +* Mon Aug 17 2015 Brian C. Lane - 21.48.22.35-1 +- Skip source url checks when network is off (bcl) + Resolves: rhbz#1251130 +- Don't set net.device to link if there is no ksdevice (bcl) + Resolves: rhbz#1085310 +- Reading carrier while link is down raises IOError (bcl) + Related: rhbz#1085310 +- Make sure username entered in TUI if create a user chosen. (sbueno+anaconda) + Resolves: rhbz#1249660 + +* Sun Aug 16 2015 Brian C. Lane - 21.48.22.34-1 +- Network protocols don't list Closest mirror first (vpodzime) + Resolves: rhbz#1253196 +- Make sure proper installclass selected for RHEL installs. (sbueno+anaconda) + Related: rhbz#1196721 +- Fix traceback on tz spoke in text mode (sbueno+anaconda) + Resolves: rhbz#1252025 -* Wed Jun 3 2015 Karanbir Singh - 19.31.79-28.atomic.centos -- Add CentOS branding for installclass +* Thu Aug 13 2015 Brian C. Lane - 21.48.22.33-1 +- Re-enable addons as additional repositories. (clumens) + Resolves: rhbz#1248323 -* Wed Jan 21 2015 Colin Walters - 19.31.79-28.atomic -- Add crashkernel=auto by default +* Wed Aug 12 2015 Brian C. Lane - 21.48.22.32-1 +- product.img buildstamp should override distribution buildstamp (bcl) + Resolves: rhbz#1240238 +- Tell libreport if it is a final release or not (vpodzime) + Resolves: rhbz#1252036 +- On incomplete ks, don't automatically proceed with install. (sbueno+anaconda) + Resolves: rhbz#1251978 +- Add the "make ci" target. (clumens) + Related: rhbz#1196721 +- Tweak tmux configuration file (jkonecny) + Resolves: rhbz#1238799 + +* Fri Aug 07 2015 Brian C. Lane - 21.48.22.31-1 +- Only pass DASDs to is_ldl_dasd function. (sbueno+anaconda) + Resolves: rhbz#1248666 + +* Wed Aug 05 2015 Brian C. Lane - 21.48.22.30-1 +- Add the anaconda-user-help package as dependency (mkolman) + Resolves: rhbz#1247779 + +* Tue Aug 04 2015 Brian C. Lane - 21.48.22.29-1 +- Fix a line that still treated the fstype as a GtkComboBoxText (dshea) + Resolves: rhbz#1248885 +- Fix fastestmirror plugin check (bcl) + Resolves: rhbz#1249569 -* Mon Jan 19 2015 Radek Vykydal - 19.31.79-27.atomic +* Fri Jul 31 2015 Brian C. Lane - 21.48.22.28-1 +- Display a EULA-related warning on progress hub at end of installation. + (sbueno+anaconda) + Resolves: rhbz#1249185 + Resolves: rhbz#1248432 + +* Thu Jul 30 2015 Brian C. Lane - 21.48.22.27-1 +- Fix error with OEMDRV ks auto-load check. (sbueno+anaconda) + Related: rhbz#1057271 + +* Wed Jul 29 2015 Brian C. Lane - 21.48.22.26-1 +- Prevent incomplete translations from making the TUI unusable (mkolman) + Resolves: rhbz#1235617 +- Disable a Pylint false-positive (mkolman) + Related: rhbz#1234896 + +* Tue Jul 28 2015 Brian C. Lane - 21.48.22.25-1 +- Add support for autostep and --autoscreenshot (mkolman) + Resolves: rhbz#1234896 +- Really fix unexpected exits in execReadlines (dshea) + Related: rhbz#1188287 +- iscsi: display portal (address:port) of node in node list (rvykydal) + Related: rhbz#1195570 + +* Fri Jul 24 2015 Brian C. Lane - 21.48.22.24-1 +- Add parentheses around the IPV6 regex fragment. (dshea) + Resolves: rhbz#1246133 +- Add tests for IPv6 literals in URLs (dshea) + Related: rhbz#1246133 +- Do not set user home to / in advanced user dialog (bcl) + Resolves: rhbz#1245837 +- Fix Initial PPC PReP Boot Selector Name (rmarshall) + Resolves: rhbz#1172755 + +* Thu Jul 23 2015 Brian C. Lane - 21.48.22.23-1 +- Handle missing environment without traceback (bcl) + Resolves: rhbz#1245296 +- Disable a Pylint false-positive (mkolman) + Related: rhbz#1182562 +- Make sure TUI is readable for non-latin languages (mkolman) + Resolves: rhbz#1182562 +- Auto-load ks.cfg if OEMDRV volume available. (sbueno+anaconda) + Resolves: rhbz#1057271 +- dracut: minor cleanup (wwoods) + Related: rhbz#1168902 +- dracut: fix missing messages for inst.ks=cdrom (wwoods) + Related: rhbz#1168902 +- Wait forever for kickstarts on CDROM (wwoods) + Resolves: rhbz#1168902 +- Allow cdrom-swapping when doing "inst.ks=cdrom[:...]" (wwoods) + Resolves: rhbz#1168902 +- anaconda-lib.sh: add tell_user() and dev_is_cdrom() (wwoods) + Related: rhbz#1168902 + +* Wed Jul 22 2015 Brian C. Lane - 21.48.22.22-1 +- Fix various pylint problems caused by the new rescue mode. (clumens) + Related: rhbz#965985 +- network: use ibftx interface for iSCSI from iBFT in dracut (rvykydal) + Resolves: rhbz#1077291 +- Remove text.py from spec file (bcl) + Related: rhbz#965985 + +* Mon Jul 20 2015 Brian C. Lane - 21.48.22.21-1 +- Remove the last usage of newt and get rid of it as a dependency + (sbueno+anaconda) + Related: rhbz#965985 +- Enable anaconda to use the new rescue mode. (sbueno+anaconda) + Resolves: rhbz#965985 +- Get rid of unnecessary constants in constants_text. (sbueno+anaconda) + Related: rhbz#965985 +- Get rid of some unnecessary files. (sbueno+anaconda) + Related: rhbz#965985 + +* Fri Jul 17 2015 Brian C. Lane - 21.48.22.20-1 +- Add support for architecture suffixes in help files (mkolman) + Related: rhbz#1196721 + Related: rhbz#1072033 +- network: add s390 options to default ifcfg files (rvykydal) + Resolves: rhbz#1074570 + +* Wed Jul 15 2015 Brian C. Lane - 21.48.22.19-1 +- Don't ask to start vnc if user specifies text mode. (sbueno+anaconda) + Resolves: rhbz#1241425 + Related: rhbz#1196721 +- Fix pylint errors in the new driver disk code. (clumens) + Related: rhbz#1084197 +- Restore RHEL-specific stylesheet data. (dshea) + Related: rhbz#1196721 + +* Fri Jul 10 2015 Brian C. Lane - 21.48.22.18-1 +- Start the network before the display (dshea) + Resolves: rhbz#1240732 +- Bump pykickstart version required. (sbueno+anaconda) + Resolves: rhbz#1241413 +- Set the no network error in refresh() (dshea) + Resolves: rhbz#1238797 +- Show the event box immediately when setting infobar messages. (dshea) + Related: rhbz#1238797 +- dracut: fix boot failure waiting for finished/dd.sh (wwoods) + Related: rhbz#1084197 +- driver_updates: fixes from patch review (wwoods) + Related: rhbz#1084197 +- dd-refactor: dracut + build bits (wwoods) + Resolves: rhbz#1084197 + Resolves: rhbz#1164131 + Related: rhbz#1213546 +- parse-kickstart: just emit 'inst.dd=XXX' for driverdisk (wwoods) + Related: rhbz#1084197 +- parse-kickstart: pylint fixes (wwoods) + Related: rhbz#1084197 +- dd-refactor: new driver_updates.py + tests (wwoods) + Related: rhbz#1084197 +- payload: fix driverdisk repos (wwoods) + Related: rhbz#1084197 +- Always write NTP servers to config files (wwoods) + Resolves: rhbz#1197575 +- dracut: fix boot with inst.ks and no inst.{repo,stage2} (wwoods) + Resolves: rhbz#1238987 + +* Thu Jul 09 2015 Brian C. Lane - 21.48.22.17-1 +- Check for Gtk before importing escape_markup (bcl) + Related: rhbz#1236995 +- Add handling for unusable storage configurations. (dlehman) + Resolves: rhbz#1236995 +- Allow markup in the label/message of DetailedErrorDialog. (dlehman) + Related: rhbz#1236995 +- Allow passing an optional button list to showDetailedError. (dlehman) + Related: rhbz#1236995 +- Allow kwargs with gtk_action_wait, gtk_action_nowait decorators. (dlehman) + Related: rhbz#1236995 + +* Tue Jul 07 2015 Brian C. Lane - 21.48.22.16-1 +- Ellipsize the file system type combo box (dshea) + Resolves: rhbz#1212615 +- Shorten the mount point entry to match the capacity entry (dshea) + Resolves: rhbz#1212615 +- Re-save custom.glade (dshea) + Resolves: rhbz#1212615 +- Ellipsize comboboxes (dshea) + Resolves: rhbz#1212615 +- Wrap device labels earlier (dshea) + Resolves: rhbz#1212615 +- Change text shown to users about the need to dasdfmt. (sbueno+anaconda) + Related: rhbz#1170653 +- Fix a typo in the dasdfmt dialog box. (sbueno+anaconda) + Related: rhbz#1170653 +- Enable anaconda to use the new cdl ks option, and detect ldl dasds. + (sbueno+anaconda) + Resolves: rhbz#1170656 + Resolves: rhbz#1170653 +- Fix GRUB2 Password Update Scope (rmarshall) + Related: rhbz#985962 +- Enable Custom GRUB2 Password Utility (rmarshall) + Related: rhbz#985962 + +* Tue Jul 07 2015 Brian C. Lane - 21.48.22.15-1 +- Explicitly try fetching netroot after network kickstart fetch (vpodzime) + Resolves: rhbz#1238987 +- Refresh advanced disks after disk summary dialog (bcl) + Resolves: rhbz#1226354 +- Show an alternative prompt if a hub contains only a single spoke (mkolman) + Resolves: rhbz#1199234 +- Don't crash if incorrect environment is set in kickstart (mkolman) + Resolves: rhbz#1234890 +- Allow /boot partition on iscsi with ibft (jkonecny) + Related: rhbz#1164195 +- Make sure we work with fresh data when trying to do netroot (vpodzime) + Related: rhbz#1082500 +- Make our manual triggering on network in dracut work (vpodzime) + Resolves: rhbz#1082500 +- Fix broken test by infiniband patch (jkonecny) + Related: rhbz#1177032 + +* Thu Jul 02 2015 Brian C. Lane - 21.48.22.14-1 +- Add RAID swaps to /etc/fstab (bcl) + Resolves: rhbz#1234469 +- Fix kickstart install with infiniband (jkonecny) + Resolves: rhbz#1177032 +- Disable Label Entry for PPC PReP Boot (rmarshall) + Resolves: rhbz#1172773 +- Correctly propagate --ipv6gateway to ifcfg files(mkolman) + Resolves: rhbz#1170845 +- Ask for encryption passphrase when not specified in ks (vtrefny) + Resolves: rhbz#1185466 +- Connect scroll adjustments in the right class (dshea) + Related: rhbz#1189899 + +* Wed Jul 01 2015 Brian C. Lane - 21.48.22.13-1 +- Cancel Container Edit Sensitizes Update (rmarshall) + Resolves: rhbz#1168656 +- Add support for specifying arbitrary mkfs options. (clumens) + Resolves: rhbz#1217110 +- Do not display curl 404 errors that can be safely ignored (vtrefny) + Resolves: rhbz#1182776 +- Fix the line counting when printing long widgets (vpodzime) + Related: rhbz#1184378 +- Improve how we set the default screen height in text mode (vpodzime) + Resolves: rhbz#1184378 + +* Tue Jun 30 2015 Brian C. Lane - 21.48.22.12-1 +- dd: drop unnecessary archive_read_data_skip (Will Woods) + Related: rhbz#1222056 +- dd_extract: -l should not extract modules+firmware (Will Woods) + Related: rhbz#1222056 +- dd: fix permissions on extracted files (wwoods) + Resolves: rhbz#1222056 +- Create and use snapshot of on-disk storage with no modifications (vpodzime) + Resolves: rhbz#1160862 + Resolves: rhbz#1187644 +- Implement the class for storage snapshots (vpodzime) + Related: rhbz#1187644 + Related: rhbz#1160862 +- Prevent any changes in the StorageSpoke if just going back (vpodzime) + Related: rhbz#1187644 + Related: rhbz#1160862 +- fix inst.ks.sendmac for static ip=XXX (wwoods) + Resolves: rhbz#1190115 + +* Fri Jun 26 2015 Brian C. Lane - 21.48.22.11-1 +- network: catch another race when calling dbus methods on invalid devices + (rvykydal) + Related: rhbz#1179276 +- network: GUI, add connection even when virtual device activation failed + (rvykydal) + Resolves: rhbz#1179276 +- Remove an extra '>' in the betanag warning (vpodzime) + Related: rhbz#1196721 +- Do not mix two lists of fields when applying changes in text mode (vpodzime) + Resolves: rhbz#1231149 + +* Thu Jun 25 2015 Brian C. Lane - 21.48.22.10-1 +- Eliminate some false test results when running glade tests. (atodorov) + Related: rhbz#1196721 +- Fix adding 'boot=' option in FIPS mode (vtrefny) + Resolves: rhbz#1190146 +- Use the index in grubenv (bcl) + Resolves: rhbz#1209678 +- Make colon optional while adding iSCSI Initiator Name (sujithpshankar) + Resolves: rhbz#1177573 +- Add basic support for LVM cache creation in kickstart (vpodzime) + Resolves: rhbz#1120421 +- Change the betanag wording (back) to be better for RHEL (vpodzime) + Related: rhbz#1196721 +- Set sensitivity of the "Encrypt" checkbox together with its label (vpodzime) + Resolves: rhbz#1181468 +- Use Size, not int, for size (amulhern) + Related: rhbz#1076055 + Related: rhbz#1196721 +- Changes for scheduling size change on an existing device (amulhern) + Related: rhbz#1076055 + Related: rhbz#1196721 +- Remove too strict condition for changing size (amulhern) + Related: rhbz#1076055 + Related: rhbz#1196721 + +* Mon Jun 22 2015 Brian C. Lane - 21.48.22.9-1 +- Enable Anaconda to configure NTP (jkonecny) + Resolves: rhbz#1085013 +- Retry package repository metadata downloads (mkolman) + Resolves: rhbz#1177366 +- Use UEFI VFAT ESP when kickstarting Intel Macs (jan.kundrat) + Resolves: rhbz#1219196 +- If using pre-existing, no size needs to be specified in ksdata (amulhern) + Resolves: rhbz#1169783 + Related: rhbz#1196721 +- Use the RHEL7 versions of certain partitioning commands. (clumens) + Related: rhbz#1217110 +- Fix set size to partition in custom spoke (jkonecny) + Related: rhbz#1196721 +- Expect addons to have categories for both GUI and TUI (vpodzime) + Related: rhbz#1128616 + +* Thu Jun 18 2015 Brian C. Lane - 21.48.22.8-1 +- Fix nfs4 stage2 and repo handling (bcl) + Resolves: rhbz#1230329 +- Add support for reboot --kexec kickstart command (bcl) + Related: rhbz#1207747 +- Add inst.kexec and --kexec support to reboot with kexec (bcl) + Resolves: rhbz#1207747 +- Add setup_kexec method to prepare the system for a reboot with kexec (bcl) + Related: rhbz#1207747 +- Include NetworkManager-glib in anaconda-core (bcl) + Related: rhbz#1196721 +- Use simple_replace to edit langpacks.conf (bcl) + Resolves: rhbz#1165980 +- Add simple_replace config file function (bcl) + Related: rhbz#1165980 +- Keyboard Scroll Fails in Viewports (dshea) + Resolves: rhbz#1189899 +- Fix Issue with Spaces in Network IPs and Bad Input(jkonecny) + Resolves: rhbz#1174451 +- network: fix a typo in condition for installing teamd (rvykydal) + Resolves: rhbz#1199185 +- Fix IP / hostname mismatches when showing VNC server address (rvykydal) + Resolves: rhbz#1186726 +- Check also ipv6 default routes when looking for onboot=yes device (rvykydal) + Resolves: rhbz#1185280 + +* Mon Jun 15 2015 Brian C. Lane - 21.48.22.7-1 +- Update upd-kernel so that it actually works (bcl) + Resolves: rhbz#1166535 +- Fix passing ,nfsvers=3 to dracut (bcl) + Resolves: rhbz#1161820 +- Extract xattrs from tar payload (bcl) + Resolves: rhbz#1196021 +- rpmostreepayload: write storage config after shared var is mounted (rvykydal) + Resolves: rhbz#1203608 +- Do not log Xorg output to tty5 (dshea) + Related: rhbz#1188287 +- Fix for "Kickstart installation fails..." (jkonecny) + Resolves: rhbz#1197960 + +* Wed Jun 10 2015 Brian C. Lane - 21.48.22.6-1 +- Modify Proxy Label in Installation Source Spoke (rmarshall) + Resolves: rhbz#1168554 +- Add error checks to liveimg mount code (bcl) + Related: rhbz#1178703 +- If the network is disabled, also disable the network part of the source + spoke. (clumens) + Related: rhbz#1196721 +- Grubby no longer needs to be explicitly included (dmarlin) + Resolves: rhbz#1176705 +- Don't allow /boot on iSCSI. (sbueno+anaconda) + Resolves: rhbz#1164195 +- Fix building docs when running under "make distcheck". (clumens) + Related: rhbz#1196721 +- Fix problems discovered by the glade tests. (clumens) + Related: rhbz#1196721 +- Include .glade.h files in the distribution. (clumens) + Related: rhbz#1196721 + +* Mon Jun 08 2015 Brian C. Lane - 21.48.22.5-1 +- Actually distribute the clickable message test (dshea) + Related: rhbz#1125145 +- Get rid of the find button in the filter spoke. (dshea) + Related: rhbz#1168950 +- Rearrange filter.glade (dshea) + Related: rhbz#1168950 +- Fix errors in the vendor column renderers. (dshea) + Related: rhbz#1168950 +- Fix some minor inconsistencies in filter.glade (dshea) + Related: rhbz#1168950 +- Fix issues with advanced storage searching. (dshea) + Resolves: rhbz#1168950 +- Remove duplicate entries from search combo boxes (dshea) + Resolves: rhbz#1168950 +- Use named IDs for the filter type combo boxes. (dshea) + Related: rhbz#1168950 +- Rearrange filter.glade the way glade wants it now (dshea) + Related: rhbz#1168950 +- Pass the pylint test. (clumens) + Related: rhbz#1196721 + +* Fri Jun 05 2015 Brian C. Lane - 21.48.22.4-1 +- network: on rhel don't assume autoconnections created by NM (rvykydal) + Related: rhbz#1196721 +- Start vncconfig for cut/paste (hamzy) + Resolves: rhbz#1169991 +- Don't unconditionally set ksdata.lang.seen to True (mkolman) + Related: rhbz#1198642 +- Make sure LANG is always set to something (dshea) + Resolves: rhbz#1198642 +- Add links to clickable warning and error messages. (dshea) + Resolves: rhbz#1125145 +- Add a test to look for clickable messages that aren't clickable enough. + (dshea) + Related: rhbz#1125145 +- Allow markup and links in the info bar. (dshea) + Related: rhbz#1125145 +- Update the FCOE command to use the RHEL7 base class. (clumens) + Related: rhbz#1196721 +- Fix RHEL Atomic installclass test (bcl) + Related: rhbz#1196721 +- Use a rhel7.2 mock chroot for rc-release (bcl) + Related: rhbz#1196721 +- Build documentation during build instead of dist (dshea) + Related: rhbz#1196721 +- Clean out the mock chroot before attempting to run the rest of the test. + (clumens) + Related: rhbz#1196721 +- Put all mock results into the top-level source dir. (clumens) + Related: rhbz#1196721 +- Change dracut requires to the RHEL7 version. (bcl) + Related: rhbz#1196721 +- dnf is not supported in RHEL7 (bcl) + Related: rhbz#1196721 +- Use createrepo, createrepo_c isn't available in RHEL7 (bcl) + Related: rhbz#1196721 +- Change F21 pykickstart commands to RHEL7 (jkonecny) + Related: rhbz#1196721 +- Add an option to startProgram to not reset the locale (dshea) + Related: rhbz#1188287 +- Set $LIBUSER_CONF early (dshea) + Related: rhbz#1188287 +- Assume UTC if setting the system time without a timezone (dshea) + Related: rhbz#1188287 +- Do not set $TZ (dshea) + Related: rhbz#1188287 +- Beware of 0 being the same bool value as None when setting time (vpodzime) + Related: rhbz#1188287 +- Fix the last member of the struct_time struct (vpodzime) + Related: rhbz#1188287 +- Remove timestamp-based version support. (dshea) + Related: rhbz#1188287 +- Avoid setting $LANG and $LANGUAGE, except where we can't (dshea) + Resolves: rhbz#1188287 +- Add a parameter to iutil.startProgram to extend the environment (dshea) + Related: rhbz#1188287 +- Add a method to set environment variables for child processes (dshea) + Related: rhbz#1188287 +- Set $DISPLAY before threads are started. (dshea) + Related: rhbz#1188287 +- Handle the simple cases of environment modification. (dshea) + Related: rhbz#1188287 +- Always use iutil to start processes. (dshea) + Related: rhbz#1188287 +- Move the X startup logic to iutil (dshea) + Related: rhbz#1188287 +- Move process watching to iutil. (dshea) + Related: rhbz#1188287 +- Close file descriptors while daemonizing auditd (dshea) + Related: rhbz#1188287 +- Add an option to only capture stdout with execWithCapture (dshea) + Related: rhbz#1188287 +- Simplify iutil.execReadlines. (dshea) + Related: rhbz#1188287 +- Add close_fds to the Popen call. (dshea) + Related: rhbz#1188287 +- Add an option to startProgram to reset signal handlers. (dshea) + Related: rhbz#1188287 +- Add a method startProgram to handle process starting (dshea) + Related: rhbz#1188287 +- Lock program_log_lock closer to where the log is written. (dshea) + Related: rhbz#1188287 +- Add missing files to po/POTFILES.in, after fixing the test for them. + (clumens) + Related: rhbz#1196721 +- Backport iutil_test.py updates from master (atodorov). (clumens) + Related: rhbz#1196721 +- Backport pylint updates from master (atodorov). (clumens) + Related: rhbz#1196721 +- Fix strings with style problems. (clumens) + Related: rhbz#1196721 +- Backport gettext updates from master (atodorov). (clumens) + Related: rhbz#1196721 +- Remove the automated GUI tests. (clumens) + Related: rhbz#1196721 +- Fix Kickstart installation without default gateway errors out (jkonecny) + Resolves: rhbz#1147181 - rescue: find root partition of ostree (atomic) installations (rvykydal) Resolves: rhbz#1152041 +- Identify Atomic install class by correct product name (rvykydal) + Resolves: rhbz#1193268 +- rpmostreepayload: Avoid shutil.copytree in favor of cp -r to fix symlinks + (walters) + Resolves: rhbz#1199127 +- atomic: set up atomic specific partitioning defaults (rvykydal) + Resolves: rhbz#1155452 +- A couple updates to installclasses. (clumens) + Related: rhbz#1155452 +- rpmostreepayload: Rework remote add handling (walters) + Resolves: rhbz#1199127 +- Use RHEL7 Bootloader command in parse-kickstart (rvykydal) + Related: rhbz#1196721 +- Use RHEL7 Network command in parse-kickstart (rvykydal) + Related: rhbz#1196721 + +* Wed Jun 03 2015 Brian C. Lane - 21.48.22.3-1 +- Revert "Select http source if there is no mirror enabled." (bcl) + Related: rhbz#1196721 +- Make sure /boot is not LVM LV if we're on s390x (sbueno+anaconda) + Resolves: rhbz#873135 + Related: rhbz#1196721 +- Preserve kickstart url behavior for mirrorlist (bcl) + Related: rhbz#1196721 + Related: rhbz#1109933 +- Use a backslash to escape nfs spaces instead of x20 (bcl) + Related: rhbz#1196721 + Related: rhbz#1109933 +- Create missing parent directories for user's home directory (bcl) + Resolves: rhbz#1163775 + Related: rhbz#1196721 +- custom: Clearing errors should also clear Done clicked state (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1158609 +- Clear errors when downloading new MD in text (bcl) + Related: rhbz#1196721 + Related: rhbz#1125927 +- Return result of default key handling in text summary hub (bcl) + Related: rhbz#1196721 + Related: rhbz#997405 +- Protect protected devices in custom spoke (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1052883 +- Don't call storage.write for dirinstall (bcl) + Related: rhbz#1196721 + Related: rhbz#1120206 +- Don't call BusyCursor before Gdk is setup (bcl) + Resolves: rhbz#1078868 + Related: rhbz#1196721 +- Handle spaces in inst.repo, kickstart nfs, and url commands (bcl) + Resolves: rhbz#1109933 + Related: rhbz#1196721 +- Exclude hfsplus-tools from rhel (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1119305 +- Skip nvram update on ppc64 image/dir installations (bcl) + Resolves: rhbz#1136486 + Related: rhbz#1196721 +- CmdlineError should exit with a 1 (bcl) + Related: rhbz#1196721 + Related: rhbz#1102318 +- Remove logging to tty3 and tty5 (bcl) + Resolves: rhbz#1073336 + Related: rhbz#1196721 +- Only install liveinst symlink on supported arches (bcl) + Related: rhbz#1121678 + Related: rhbz#1196721 +- Mountpoint encrypted checkbox reflects container state (bcl) + Resolves: rhbz#1076171 + Related: rhbz#1196721 +- Write sslverify=0 for url kickstart method (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1116858 +- Add noverifyssl and proxy support to dracut ks handling (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1116858 +- Install selected ks repos to target (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1119867 +- Add check for the format of grub2 encrypted password (bcl) + Related: rhbz#1196721 + Related: rhbz#1070327 +- Use low level file i/o for rpm callback logging (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1035745 +- Add platform specific group selection (bcl) + Resolves: rhbz#884385 + Related: rhbz#1196721 +- reiserfs is not supported (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1066635 +- remove epdb SIGHUP debug handler (bcl) + Related: rhbz#1196721 + Related: rhbz#1065557 +- Clean up some rpmdiff errors (bcl) + Related: rhbz#1196721 + Resolves: rhbz#1012624 +- Remove Closest mirrors if no mirrors (bcl) + Related: rhbz#876135 + Related: rhbz#1196721 +- Select http source if there is no mirror enabled. (bcl) + Related: rhbz#876135 + Related: rhbz#1196721 +- Use RHEL7 kickstart commands (bcl) + Related: rhbz#1196721 +- Show error on invalid username attempts in TUI. (sbueno+anaconda) + Resolves: rhbz#1171778 +- Fix enlightbox call in ZFCPDialog. (sbueno+anaconda) + Related: rhbz#1196721 +- Get rid of unnecessary python disable-msg in zfcp spoke. (sbueno+anaconda) + Related: rhbz#1196721 +- Fix some pylint errors in the zfcp panel. (sbueno+anaconda) + Related: rhbz#1196721 +- Fix an accelerator collision found on the filter page. (sbueno+anaconda) + Related: rhbz#1196721 +- Fix some issues pylint found. (sbueno+anaconda) + Related: rhbz#1196721 +- Show disk paths on Other page in advstorage. (sbueno+anaconda) + Related: rhbz#1196721 +- Add missing translation context for Add ECKD DASD button in advstorage. + (sbueno+anaconda) + Related: rhbz#1196721 +- Add translation contexts for z and zfcp panel in advstorage. + (sbueno+anaconda) + Related: rhbz#1196721 +- Convert devices size to str for GUI for zFCP devices (amulhern) + Related: rhbz#1196721 +- Fix string formatting of zFCP devices. (sbueno+anaconda) + Related: rhbz#1196721 +- Fix the way zFCP devices are displayed in storage spoke. (sbueno+anaconda) + Related: rhbz#1196721 +- Show labels on Add zFCP dialog. (sbueno+anaconda) + Related: rhbz#1196721 +- Fix failure to search by LUN in advanced storage spoke. (sbueno+anaconda) + Related: rhbz#1196721 +- Get rid of the clear button in advanced storage spoke. (sbueno+anaconda) + Related: rhbz#1196721 +- Fix up the z Panel in advanced storage. (sbueno+anaconda) + Related: rhbz#1196721 +- Add support for adding zFCP devices in the GUI (sbueno+anaconda) + Related: rhbz#1196721 +- Fix dracut reads ksdevice from missing os enviromnent (jkonecny) + Related: rhbz#1085310 +- Fix --device=link and --device not specified (rvykydal) + Resolves: rhbz#1085310 + +* Mon Jun 01 2015 Brian C. Lane - 21.48.22.2-1 +- Remove an extlinux-related block from rpmostreepayload.py. (clumens) + Related: rhbz#1196721 + Related: rhbz#1153409 +- bootloader: Bridge efi_dir configuration earlier for rpmostreepayload + (walters) + Related: rhbz#1196721 + Related: rhbz#1153409 +- rpmostreepayload: Handle grub2+EFI layout (walters) + Related: rhbz#1196721 + Related: rhbz#1153409 +- rpmostreepayload: Copy all subdirectories of /usr/lib/ostree-boot (walters) + Related: rhbz#1196721 + Related: rhbz#1153409 +- Handle the case of rpmostreepayload + GRUB2 (walters) + Related: rhbz#1196721 + Related: rhbz#1153409 +- Implement the new reqpart command. (clumens) + Resolves: rhbz#1164660 + +* Fri May 29 2015 Brian C. Lane - 21.48.22.1-1 +- Update scripts/makebumpver to current version from master (bcl) + Related: rhbz#1196721 +- Add .0 to version number -- 21.48.22.0 (bcl) + Related: rhbz#1196721 +- Show empty VGs in the custom spoke. (dlehman) + Related: rhbz#1196721 +- Fix makeupdates handling of Release: (bcl) + Related: rhbz#1196721 +- network: add teamd package if team is used during installation (#1185670) (rvykydal) + Related: rhbz#1196721 +- network: pass team opts to dracut for netroot (#1075666) (rvykydal) + Related: rhbz#1196721 +- iscsi: when logging into nodes consider ip:port of node (#1114820) (rvykydal) + Related: rhbz#1196721 +- Don't traceback if connection does not have read-only setting (#1158919) (rvykydal) + Related: rhbz#1196721 +- network: display only actual fqdn of ip we offer for vnc connection (#1089429) (rvykydal) + Related: rhbz#1196721 +- network: fix a typo making creating virtual devices in %pre fail (#1075195) (rvykydal) + Related: rhbz#1196721 +- network: support for bridge, require pykickstart with the support (#1075195) (rvykydal) + Related: rhbz#1196721 +- network: Catch exception from NM failing to create a bridge device (#1075195) (rvykydal) + Related: rhbz#1196721 +- network: add bridge support for kickstart %pre phase (#1075195) (rvykydal) + Related: rhbz#1196721 +- network: generate kickstart commands for bridge devices (#1075195) (rvykydal) + Related: rhbz#1196721 +- network: add bridge support to kickstart (#1075195) (rvykydal) + Related: rhbz#1196721 +- network: support for adding bridge devices (#1075195) (rvykydal) + Related: rhbz#1196721 +- network: display bridge devices in status (#1075195) (rvykydal) + Related: rhbz#1196721 +- parent is unused, so mark it as such. (clumens) + Related: rhbz#1196721 +- network: enable NM ibft plugin only for ip=ibft boot option (#804511) (rvykydal) + Related: rhbz#1196721 +- network: add support for vlan tag in iBFT (#804511) (rvykydal) + Related: rhbz#1196721 +- network: GUI: reactivate connection automatically after configuration (#1033063) (rvykydal) + Related: rhbz#1196721 +- Fix position of Refresh List button in filter spoke (#1065716) (rvykydal) + Related: rhbz#1196721 +- Fix accelerator collision of Refresh button (#1065716) (rvykydal) + Related: rhbz#1196721 +- gui: add Refresh button to network storage UI (#1065716) (rvykydal) + Related: rhbz#1196721 +- Use absolute path for extlinux/menu.c32 (rvykydal) + Related: rhbz#1196721 +- iscsi: pass rd.* options of devices to be mouted in dracut (#1192398) (rvykydal) + Related: rhbz#1196721 +- network: adapt to NetworkManager package split-up (#1182633) (rvykydal) + Related: rhbz#1196721 +- Take "RHEL Atomic Host" as rhel installclass (#1150410) (rvykydal) + Related: rhbz#1196721 +- network: handle dbus UnknownMethod exception on invalid objects (#1061796) (rvykydal) + Related: rhbz#1196721 +- network: fix typo 'Private ksy pasword' (#1120374) (rvykydal) + Related: rhbz#1196721 +- Fix up a string style issue found in the last network commits. (clumens) + Related: rhbz#1196721 +- network: WPA Enterprise: don't ask twice for password (#1120374) (rvykydal) + Related: rhbz#1196721 +- network: add support for WPA Enterprise (#1120374) (rvykydal) + Related: rhbz#1196721 +- network: add s390 network ifcfg options also for bond slaves (#1090558) (rvykydal) + Related: rhbz#1196721 +- network: don't crash, just log for unrecognized bond options (#1039006) (rvykydal) + Related: rhbz#1196721 +- network: don't traceback on invalid team options (#1114282) (rvykydal) + Related: rhbz#1196721 +- network: copy resolv.conf to chroot before installing packages (#1048520) (rvykydal) + Related: rhbz#1196721 +- network: don't write HWADDR in ifcfgs generated by kickstart (#1130042) (rvykydal) + Related: rhbz#1196721 +- network: show ip of device with default route for vnc and ssh (#1083305) (rvykydal) + Related: rhbz#1196721 +- network: adapt to NM fixing virtual device disconnection (#1084953) (rvykydal) + Related: rhbz#1196721 +- Log installation successes and failures via ipmitool. (clumens) + Related: rhbz#1196721 +- In dracut, do not display a warning for network lines with just a hostname. (clumens) + Related: rhbz#1196721 +- Preserve the order of boot args added by kickstart. (clumens) + Related: rhbz#1196721 +- Make the Selected Disks and Configure Mount Point dialogs wider. (clumens) + Related: rhbz#1196721 +- Sync up the Selected Disks and Configure Mount Points dialogs. (clumens) + Related: rhbz#1196721 +- Add rc-release target (bcl) + Related: rhbz#1196721 +- Change --skip-tx to --skip-zanata in scratch-bumpver (bcl) + Related: rhbz#1196721 +- Add --newrelease to makebumpver (bcl) + Related: rhbz#1196721 +- Update translation documentation for Zanata (bcl) + Related: rhbz#1196721 +- Switch translation support to fedora.zanata.org (bcl) + Related: rhbz#1196721 +- Revert "Use gettext to process glade files." (clumens) + Related: rhbz#1196721 +- Change of label in iscsi storage spoke (jkonecny) + Related: rhbz#1196721 +- Clear TUI source spoke errors that may have been leftover from a prior attempt. (#1196721) (sbueno+anaconda) + Related: rhbz#1196721 +- Fix completion setting in TUI language spoke. (#1196721) (sbueno+anaconda) + Related: rhbz#1196721 + +* Mon Dec 08 2014 Samantha N. Bueno - 21.48.22-1 +- Really fix issue with starting in cmdline mode on s390x. (#1040933) + (sbueno+anaconda) +- Fix EOF error that occurs if user input required in x3270. (#1171135) + (jstodola) + +* Tue Dec 02 2014 Vratislav Podzimek - 21.48.21-1 +- Revert "Make Python's default encoding detection work on Live installations + (#1169019)" (awilliam) + +* Mon Dec 01 2014 Samantha N. Bueno - 21.48.20-1 +- Revert "Search for a valid stage1 device on disks with stage1 mount points + (#1168118)" (sbueno+anaconda) +- Make Python's default encoding detection work on Live installations + (#1169019) (vpodzime) +- Force translation files download instead of skipping them (#1169023) + (vpodzime) + +* Fri Nov 28 2014 Vratislav Podzimek - 21.48.19-1 +- Search for a valid stage1 device on disks with stage1 mount points (#1168118) + (awilliam) + +* Thu Nov 27 2014 Vratislav Podzimek - 21.48.18-1 +- Tell curl it should follow redirects when fetching updates.img (#1168561) + (vpodzime) +- Snapshot free space after clearpart for swap suggestion (#1167965) (vpodzime) + +* Wed Nov 26 2014 Samantha N. Bueno - 21.48.17-1 +- Make sure storage info bar is displayed (#1166730) (bcl) +- Fix SELINUX_DEFAULT import (#1167047) (bcl) +- Fix noselinux cmdline default (#1167047) (bcl) + +* Thu Nov 20 2014 Samantha N. Bueno - 21.48.16-1 +- Support high contrast mode in fedora-welcome (#1160499) (dshea) + +* Tue Nov 18 2014 Samantha N. Bueno - 21.48.15-1 +- do not delete liveimg --url=file:/// file (gczarcinski) +- Provide useful hints on TTY1 during the installation (mkolman) +- Fix typo from commit 9b3259874. (#1120964) (dlehman) +- Remove the old custom partitioning help dialog (mkolman) +- Check if we read something when emptying stdin queue (vpodzime) +- Require min entropy for 'part --encrypted' devices (#1162695) (vpodzime) +- Don't rely on terminal attributes being configurable (#1162702) (vpodzime) +- Disable payloads that failed to setup (#1162732) (dshea) +- Don't change langpacks config of installer environment (#1066017) (rvykydal) + +* Tue Nov 11 2014 Samantha N. Bueno - 21.48.14-1 +- Add support for doing a liveimg kickstart with local file (#1140358) (bcl) +- Add a placeholder for a product-specific logo (dshea) +- Load a stylesheet from product.img (dshea) +- Fix make distcheck (mkolman) +- Include help content in the Anaconda tarball (mkolman) +- Fix typo causing traceback when NTP is turned ON/OFF (vpodzime) +- Unpack the callback data given to us by blivet (vpodzime) +- Add timeout to callbacks waiting for enough entropy (#1073679) (vpodzime) +- Prevent tb on s390x when de-selecting a DASD and doing custom part. + (sbueno+anaconda) +- Revert "Revert productName repo name change (#1128474)" (bcl) +- Update the background image paths used in Fedora. (dshea) +- dracut/save-initramfs.sh: don't save /tmp (wwoods) +- Add a pylint module to detect uses of interruptible system calls. (dshea) +- Wrap interruptible system calls in a loop (#1160041) (dshea) +- Warn users about liveinst usage of --updates (#1153550) (bcl) +- Catch EOFError in raw_input (#1158841) (bcl) +- Ensure we are specifying sensible target sizes for resize. (#1120964) + (dlehman) +- Set the autopart fstype for boot too (#1112697) (bcl) +- Unconditionally clear the process handle when nm-c-e exits (#1132645) (dshea) +- Make anaconda more scrollable (#1135024) (dshea) +- Lightly rearrange the nav_area (dshea) +- Do not install interactive exception handler in cmdline mode (#1155979) + (vpodzime) +- Wait until all spokes are setup before updating continue button (bcl) +- Allow adding prepboot to a blank disk in custom (#1155660) (bcl) +- Remove unused imports (vpodzime) + +* Tue Oct 28 2014 Samantha N. Bueno - 21.48.13-1 +- Fix handling of md fwraid names in kickstart bootloader command. (#1156354) + (dlehman) +- Fix switching environments when no environment is selected (#1155756) (dshea) +- Use an empty string for no root password instead of None (#1155576) (dshea) +- Just preserve the %%addon header args if an addon is missing (#1155026) + (vpodzime) + +* Thu Oct 23 2014 Samantha N. Bueno - 21.48.12-1 +- Fix a spelling error (#1153672) (dshea) +- Update checkSizes to work in terms of Size objects (#1129629). (clumens) + +* Mon Oct 20 2014 Samantha N. Bueno - 21.48.11-1 +- Don't panic prematurely on a missing size (#1154190) (amulhern) +- Log when using updates from /tmp/updates/ (bcl) +- Fix # handling in SimpleConfigFile (#1045687) (bcl) + +* Wed Oct 15 2014 Samantha N. Bueno - 21.48.10-1 +- Change our docs that are close to ReST to proper ReST (vpodzime) +- Run restorecon on /etc/hostname (#1133368) (bcl) +- Add authconfig and firewalld packages when used in ks (#1147687) (bcl) +- Allow kickstart with no method (#972265) (bcl) +- Fix a typo from 73d3a8e5. (sbueno+anaconda) +- Respect both ways how to disable bootloader installation (vpodzime) +- Don't care about crash args in bootloader (#1116323) (vpodzime) +- Add nombr to anaconda to suppress updating MBR (#886502) (gczarcinski) +- Use translated versions of the AM/PM strings consistently (vpodzime) +- Import GUI-specific stuff only when running GUI in entropy handling + (vpodzime) +- Always store the information about display mode in ksdata (vpodzime) +- Make the date format locale-dependent in our GUI (#1044233) (vpodzime) +- A function for resolving date format and order (vpodzime) +- Reorganize the right side of the Custom spoke (#1094856) (vpodzime) +- Move _verifyLUKSDevicesHaveKey to Anaconda's codebase (vpodzime) +- Add support for thin pool profile specification in kickstart (vpodzime) +- Fix file name of the entropy dialog in POTFILES.in (vpodzime) +- Require minimum random data entropy when creating LUKS (#1073679) (vpodzime) +- Give blivet callbacks for reporting partitioning progress (vpodzime) +- Split localed's converted layouts and variants (#1073825) (vpodzime) +- Create free space snapshot before doing custom->autopart (vpodzime) +- Specify thin pool metadata/chunk size only if given by user (#1140635) + (vpodzime) +- Distribute the right docs files (vpodzime) +- Don't automatically select environments for kickstart installs (#1018226) + (dshea) +- Initialize the GUI lock in a way that doesn't break the API (dshea) +- Don't check enabledPlugins if plugins are not yet enabled (#1142544) (dshea) +- Really fix an enlightbox call. (dshea) +- Don't strip accents from the user-inputted keyboard string (dshea) +- Convert strings to unicode in have_word_match (#1146581) (dshea) +- Switch to using the new help content path (#1072033) (mkolman) +- Fix a race between checking for Gtk.main_level and running Gtk.main (dshea) +- Allow recursive lightbox calls (#1147337) (dshea) +- Disable the ntp service with --nontp (#1135768) (dshea) +- Ignore partition start if there is a biosboot partition (#1044849) (bcl) +- Require a larger /boot (#1129629). (clumens) +- Remove duplicates when adding new devices (#887526) (bcl) + +* Wed Oct 08 2014 Samantha N. Bueno - 21.48.9-1 +- Bump blivet version requires for all the DASD changes in 0.61.4. + (sbueno+anaconda) +- We now need to specify an epoch for the python-blivet version requires. + (clumens) +- Fix autotools rules to properly include help placeholders (#1072033) + (mkolman) +- Modify nm to return defaults when no dbus is available (bcl) +- Skip networkInitialize for image and dir installations (bcl) +- Ignore safe_dbus errors in keyboard setup (bcl) +- Skip syslog for dirinstall (bcl) +- s390x: show dialog if kernel cmdline in zipl.conf is too long. + (sbueno+anaconda) +- Really exit when "Exit installer" in the error dialog is clicked (vpodzime) +- Don't allow /boot on lvm on s390x. (sbueno+anaconda) +- Add the new langsupport.py TUI spoke to POTFILES.in. (clumens) +- Remove the now-unused imports of storageInitialize. (clumens) +- Add support for language selection in text mode. (sbueno+anaconda) +- Don't force a user to return to the storage spoke after dasdfmt + (sbueno+anaconda) +- Don't run storageInitialize after dasdfmt (sbueno+anaconda) +- s390x: Apply disk selection before dasdfmt to preserve data. + (sbueno+anaconda) +- Don't show the Add DASD button unless on s390x. (sbueno+anaconda) +- Don't show the Add DASD button unless on s390x. (sbueno+anaconda) +- Preserve network args on s390x. (sbueno+anaconda) +- Deprecate RUNKS cmdline option. (sbueno+anaconda) +- Re-order the tz's in text mode to mirror the graphical order. + (sbueno+anaconda) +- Fix an issue with bad NFS info specified in source spoke. (sbueno+anaconda) +- Warn if software selection size exceeds available space. (sbueno+anaconda) +- Fix q for quit issue in text mode (#997405) (sbueno+anaconda) +- Change the accelerator key for Add DASD label. (sbueno+anaconda) +- Add dialog box for adding DASDs. (sbueno+anaconda) +- Add a button for adding an ECKD DASD. (sbueno+anaconda) +- Change a confusing string in TUI NFS configuration screen. (#1057690) + (sbueno+anaconda) +- NM-wifi is missing on s390(x) (dan) + +* Wed Oct 01 2014 Samantha N. Bueno - 21.48.8-1 +- Show help also when alt+F1 is pressed (mkolman) +- Support display of the custom mnemonics on the help button (mkolman) +- Activate the built-in help when F1 is pressed (mkolman) +- Specify help file names for hubs and spokes (mkolman) +- Add a help button to every Anaconda screen (mkolman) +- Don't attempt terminal size detection on the s390 (#1145065) (mkolman) +- Fix Welcome spoke not showing up during kickstart installation (#1147943) + (mkolman) +- Clear the list of watched PIDs before exiting. (#1146708) (dshea) +- Avoid the possibility of size variables being unset (#1146585) (dshea) +- Adapt to corrected interpetation of logvol --percent. (#1146156) (dlehman) +- Handle cancellation of new container creation. (dlehman) +- Reflect previous custom/autopart selection in the storage spoke. (#1144520) + (dlehman) +- Clear out custom storage ksdata after first attempt to apply it. (#1144560) + (dlehman) +- Pass size as Size when adjusting container after device removal. (#1141707) + (dlehman) +- Handle 0's returned by Gdk (dshea) +- When running on HiDPI monitors, scale anaconda by a factor of 2 (dshea) +- Highlight languages in langsupport that contain selected locales (dshea) +- Add a wrapper function for GtkTreeViewColumn.set_cell_data_func (dshea) +- Clear the kickstart password if cleared by the user (#1133185) (dshea) +- Remove inactive languages from LINGUAS. (dshea) +- Use suggested-action on more buttons (#1131254) (dshea) +- Filter empty comps groups from both specific and generic lists (dshea) +- Use one thread for payload setup. (dshea) + +* Wed Sep 17 2014 Samantha N. Bueno - 21.48.7-1 +- Set flags.rescue_mode not anaconda.rescue (#1101341) (amulhern) + +* Thu Sep 11 2014 Samantha N. Bueno - 21.48.6-1 +- Update tx config (sbueno+anaconda) +- Use only the digits from productVersion (bcl) + +* Tue Sep 09 2014 Samantha N. Bueno - 21.48.5-1 +- Revert productName repo name change (#1128474) (bcl) +- Do not try to disable no firstboot services (#1139621) (vpodzime) +- Let finding install classes be more flexible for Fedora (#1138820). (clumens) + +* Thu Sep 04 2014 Samantha N. Bueno - 21.48.4-1 +- Use first part of Product for UEFI entry (#1128474) (bcl) +- Use first part of Product as repo name (#1128474) (bcl) +- makeupdates: Report git diff errors (bcl) + +* Wed Aug 27 2014 Samantha N. Bueno - 21.48.3-1 +- Prevent crashes due to accessing X server from multiple threads (#1134507) + (vpodzime) +- Remove anaconda_make_pixbuf (dshea) +- Require anaconda-widgets from anaconda-widgets-devel (dshea) +- Run /sbin/ldconfig when installing or uninstalling anaconda-widgets (dshea) +- Remove the shebang from anaconda.py (dshea) +- Exclude the compiled text and rescue files from anaconda-core (dshea) +- Update our copy of the GPL (dshea) +- Rearrange the entry, example and tip on Advanced User dialog (vpodzime) +- Write storage after liveimg install (#1080396) (bcl) +- Add some sanity checking to live payload (vpodzime) +- Use blivet's getFreeSpace for limitting automatic swap size (vpodzime) +- Ask users for enough space right at the first time (#876916) (vpodzime) +- Don't require user creation when root is locked (#1030626) (bcl) + +* Fri Aug 01 2014 Samantha N. Bueno - 21.48.2-1 +- Mark zRAM devices as protected and ignore them (vpodzime) +- Make storage sanity check aware of base RAM requirements (#1123466) + (vpodzime) +- Move sanityCheck code to anaconda's codebase (vpodzime) +- Do not multiply/divide RAM sizes by 1024 back and forth (vpodzime) +- Raise exception if reading lines from a killed process (vpodzime) +- Use zRAM swap up to 2 GB of RAM (vpodzime) +- RAM requirements depend on squashfs.img's origin (vpodzime) + +* Wed Jul 23 2014 Samantha N. Bueno - 21.48.1-1 + +* Wed Jul 16 2014 Brian C. Lane - 21.48-1 +- Fix the custom accelerators in custom partitioning (#1118999) (dshea) +- Revert "Reset dnf package sack" (bcl) +- Ignore the home directory setting if no change was requested (#1119900) + (dshea) +- Set an upper limit on uids and gids. (dshea) +- Remove the "Create a home directory" checkbox (dshea) +- Fix a typo: inital -> initial (mkolman) +- Don't create the configured.ini file (#1119166) (mkolman) +- zRAM swap for Anaconda (vpodzime) +- Split kickstart arg handling (bcl) +- Update icon names used within python code. (dshea) +- Add a check for whether icons used in glade files are valid (dshea) +- Load icons by name instead of stock-id. (dshea) +- Remove extra list() call with no effect (vpodzime) +- Add NetworkManager-wifi dependency for the GUI subpackage (#1111417) + (mkolman) +- Python's octals changed; mount's didn't. (pjones) +- Add a basic test for ostree-based installs. (clumens) +- Print out exceptions at log level critical. (clumens) +- Rename environment variables in run_gui_tests.sh. (clumens) +- Rename gui/runtest.sh to fit in with the other test names. (clumens) +- Write the grub config even on errors (#1114774) (bcl) + +* Fri Jul 11 2014 Brian C. Lane - 21.47-1 +- Fix references to requiredPackages (bcl) +- Drop anaconda. prefix from copied logs (bcl) +- dnf should put its logs in /tmp/ (bcl) +- Make sure the software listboxes are shown (bcl) +- dnf should report that it supports Closest Mirror (bcl) +- Do not prefer /tmp for dnf downloads (bcl) +- Reset dnf package sack (bcl) +- Fix dnf base repo setup to fall back to default gracefully (bcl) +- Move addDriverRepo into PackagePayload class (bcl) +- Rename some dnf items to match yum (bcl) +- rpmostreepayload: Drop selinux-ensure-labeled call (walters) +- Run anaconda in fullscreen whenever possible. (dshea) +- Correct the constant used with gtk_widget_set_state_flags (dshea) +- Restore some CSS rules from the pre-3.13 Adwaita theme. (dshea) +- Adapt to changes in blivet.udev interface. (amulhern) +- Bump blivet version to pick up blivet.udev interface changes. (amulhern) +- Use the enlightbox context manager for the add network device dialog + (mkolman) +- DNFPayload: do not add group 'core' twice. (ales) +- Remove the window property from UIObject. (dshea) +- Unravel the Hub and Spoke classes. (dshea) +- Fix --kickstart option (bcl) +- Bump up the required pykickstart version (vpodzime) +- Use GtkRevealer for widget hiding in storage spoke (mkolman) +- rpmostreepayload: create /var/spool/mail required when adding user (rvykydal) +- rpmostreepayload: Don't recreateInitrds for this payload (walters) +- Don't use geolocation when installing with kickstart (mkolman) + +* Wed Jul 02 2014 Brian C. Lane - 21.46-1 +- Ignore an error from pylint incorrectly analyzing types in dbus-python + (dshea) +- Remove the Lightbox widget (dshea) +- Implement the lightbox in MainWindow (dshea) +- Added a method to create new GdkPixbufs from in-memory data (dshea) +- Add a delete-event handler for the main window (dshea) +- Add a window to manage Anaconda screen transitions. (dshea) +- Add a class BaseStandalone. (dshea) +- Increased the version of anaconda-widgets to 3.0 (dshea) +- Use globs for the anaconda widgets library paths (dshea) +- Remove the custom accelerators from custom storage. (dshea) +- Add a couple more deprecation warning ignores (dshea) +- Use a dict for string substitutions in a /boot/efi message. (clumens) +- Use the right index for selecting region (#1114234) (vpodzime) +- Add autopart --fstype support (#1112697) (bcl) +- Patches to allow /boot/efi to be RAID1 (#788313) (amulhern) +- Bump blivet version for succeeding commit. (amulhern) +- Map our log levels to syslog log levels (bcl) +- makeupdates: Put systemd files under /usr/lib/ (bcl) +- Make octal literals Python 3 compatible (mkolman) +- Use the built-in next() function for generators (mkolman) +- Make reduce function usage Python 3 compatible (mkolman) +- Use createrepo_c in place of createrepo (mkolman) + +* Fri Jun 27 2014 Brian C. Lane - 21.45-1 +- Switch to tty1 if we get an exception before meh is setup (dshea) +- Remove surprises from X startup. (dshea) +- Import KS_MISSING_IGNORE from pykickstart.constants in DNF payload (mkolman) +- Import Pykickstart constants directly (mkolman) +- Switch error exit codes to 1 (bcl) +- Add help texts for the remaining Anaconda options (mkolman) + +* Wed Jun 25 2014 Brian C. Lane - 21.44-1 +- Fix storage checker docstring (bcl) +- Modify --dirinstall to take a path (bcl) +- Drop ROOT_PATH, add a method to set it (bcl) +- Call setUpBootLoader in custom autopart (#1086811) (bcl) +- Remove the noipv6 Anaconda option (mkolman) +- Remove the -s/--script Anaconda option (mkolman) +- Make rescue_mode part of flags, hence more publicly available (#1090009) + (amulhern) +- Check host filesystem space for dirinstall (bcl) +- Remove the viewport from the addon repo tree view (dshea) +- Add a check for GtkScrollables contained in GtkViewports (dshea) +- Enable rubber-banding in the disk tree views (dshea) +- Make the configure mount point dialog taller. (#924182) (dshea) +- Add the disk TreeViews directly to the scrolled windows (dshea) +- Opened up custom_storage_helpers.glade and hit Save (dshea) +- Add help texts for more Anaconda CLI options (mkolman) +- Remove the targetarch Anaconda option (mkolman) +- Add anaconda_options.txt to makeupdates (dshea) +- Allow the location of anaconda_options.txt to be overridden (dshea) +- Remove an unused import. (dshea) +- Remove the headless Anaconda option (mkolman) + +* Thu Jun 19 2014 Brian C. Lane - 21.43-1 +- Allow NFS addon repos (#985080) (dshea) +- Add --disklabel support to clearpart (#1078537) (bcl) +- Replace redundant ifs with direct assignments to the anaconda variables + (mkolman) +- Replace ifs when assigning option values to flags where possible (mkolman) +- Use True/False instead of 1/0 for flags (mkolman) +- Store auto gui results in the same directory as the test itself. (clumens) +- Use whatever network device was used to start installation. (clumens) +- Ignore more deprecation warnings. (dshea) +- Add help texts for the dmraid and nodmraid options (mkolman) +- Use True instead of 1 for the dmraid flag default value (mkolman) +- Add help texts for the ibft and noibft options (mkolman) +- Use True instead of 1 for the ibft flag default value (mkolman) +- Remove the iscsi and noiscsi options (mkolman) +- Add a new log level 'lock' for _yum_lock (bcl) +- Replace uses of gtk-missing-image (dshea) +- Improve the SpokeSelector icon error reporting. (dshea) + +* Thu Jun 12 2014 Brian C. Lane - 21.42-1 +- Adjust the ui package paths to find hubs and spokes (bcl) +- Change emphasis from subvolumes to snapshots in removal warning. (dlehman) +- Reflect the fact that some block devices cannot be reformatted. (dlehman) +- Use StorageDevice.direct to detemine if a device is directly accessible. + (dlehman) + +* Wed Jun 11 2014 Brian C. Lane - 21.41-1 +- Use /usr/lib* in updates images. (dshea) +- Fix the paths we check for spokes. (sbueno+anaconda) +- Remove the kbdtype option (mkolman) +- Remove the noipv4 option (mkolman) +- Remove the autostep option (mkolman) +- Remove the disused nofb option (mkolman) +- Remove the module option (mkolman) + +* Tue Jun 10 2014 Brian C. Lane - 21.40-1 +- fedora-welcome: Correct an icon name after the switch to Adwaita + (kalevlember) +- Pass/check displaymode in collect_categories and collectCategoriesAndSpokes. + (sbueno+anaconda) +- Add help texts to some Anaconda CLI options (mkolman) +- Don't install implicitly added but explicitly excluded packages (#1105013) + (vpodzime) +- Update configure, make files, and PO files with new category changes. + (sbueno+anaconda) +- Fix up collectCategoriesAndSpokes function. (sbueno+anaconda) +- Update all relevant UI files with new category path. (sbueno+anaconda) +- Move categories to pyanaconda.ui.categories. (sbueno+anaconda) +- Allow testing a regular install from the live environment. (clumens) +- Make sure /var/log/anaconda gets copied under the right root. (clumens) +- format.setup in blivet takes only kwargs. (clumens) +- Tweak spacing in the other storage options grid. (clumens) +- Remove the dlable option (mkolman) +- change default for grub2 save_entry to 0 (gczarcinski) +- Revert "Refresh after checkbox clicked (#1074188)" (dshea) +- Move assureLogoImage to GraphicalUserInterface (#1102238) (dshea) +- If we cannot activate keyboard, at least populate the missing items + (#1104541) (vpodzime) +- network: generate dracut arguments also for IPADDRn ifcfg values (#1103571) + (rvykydal) +- Memoize the results for *RaidLevelsSupported() functions (amulhern) +- RAID related changes for custom spoke. (amulhern) +- Bump required blivet version. (amulhern) +- Make parse-kickstart aware of the %%addon section (#1083002) (vpodzime) +- Revert "Work around a parsing bug in GtkBuilder" (dshea) +- Fix a typo in one of the bootloader installation warning messages (#1103410) + (mkolman) +- Don't require network in standalone spoke for media installs (#1066807) + (rvykydal) + +* Mon Jun 02 2014 Brian C. Lane - 21.39-1 +- eu_ES has been dropped from the supported languages (bcl) +- Change 'elif encrypted' statement to 'else' statement. (amulhern) +- Work around a parsing bug in GtkBuilder (dshea) +- Don't uppercase the size values in the disk shopping cart. (clumens) +- Display the sentence about being able to reuse partitions even without roots. + (clumens) +- Allow a couple more keyboard shortcuts on the custom part spoke. (clumens) +- Reword the close button on the software spoke's error dialog. (clumens) +- Fix up quoting around passing args to anaconda in the gui test. (clumens) +- Don't hide a serious issue (vpodzime) +- Move autopart choices to one place and use them in both GUI and TUI + (vpodzime) +- Define default autopart type as a constant (vpodzime) +- Use enumerate() instead of getting indices of iterated items (vpodzime) +- Preserve net.ifnames cmdline arg (#1102401) (bcl) +- Revert the dialog sizing chunk from resize.glade. (clumens) +- Update GUI tests for changes in gtk/atk/anaconda/whatever. (clumens) +- Fix gui/runtest.sh to work under either "make check" or being run manually. + (clumens) +- Add a -c argument to the ksflatten invocation. (clumens) +- Do basic logging setup when short circuiting the normal Anaconda init + (mkolman) +- Fix boot option warning string formatting (mkolman) +- always rescan for vmlinuz if rescueKernelList (gczarcinski) +- move new-kernel-pkg rpmposttrans to end of install (gczarcinski) +- allow /boot on btrfs subvol or filesystem (gczarcinski) +- Allow /boot on LVMlv (gczarcinski) + +* Wed May 28 2014 Brian C. Lane - 21.38-1 +- Parse boot options before parsing CLI options (#1101341) (mkolman) +- Check that bootloader devices are configured before validating (#1100928) + (dshea) +- network: use IpInterface only for activated devices (#1101781) (rvykydal) +- Enable LVM Thin Provisioning in text mode (vpodzime) +- Remove the executable bit from anaconda.spec.in. (clumens) +- Fix the nm test for big-endian results (dshea) +- Fix issues with auto* and version.py (dshea) +- Allow file:// url handler in --repo arg (bcl) +- Ignore deprecation warnings for atk_role_register (dshea) +- Handle renames in makeupdates. (pjones) +- Move Anaconda version detection from isys to Python code (mkolman) +- network: use IpInterface instead of Interface (#1058906, #1029214) (rvykydal) +- network: don't modify network config for dirInstall and imageInstall + (rvykydal) +- network: remove redundant image install guard (rvykydal) +- network: add first tests for nm.py (rvykydal) +- network: consolidate setNetworkOnbootDefault (rvykydal) +- Set ONBOOT=yes for the device used for installation (#1002544). (rvykydal) +- Use proper data for autopart type initialization (vpodzime) +- Line up the right side of the FCOE dialog. (clumens) +- Use default_width and _height on dialogs instead of _request. (clumens) +- Remove the border around the refresh storage dialog's button. (clumens) +- Short-circuit initialization when printing out Anaconda version (mkolman) +- Make print statements Python 3 compatible (mkolman) +- Fix the handling of set_const options pulled in from the boot cmdline (dshea) +- Fix the modify software tooltip on the installation options dialogs. + (clumens) +- Better visually distinguish TUI spokes states (vpodzime) +- Reset the text direction as soon as the locale is changed (dshea) +- Show errors from the displayed mountpoint when exiting the custom spoke + (dshea) +- Check that container names input by the user are valid (dshea) + +* Tue May 20 2014 Brian C. Lane - 21.37-1 +- Chain up to parent size_allocate functions in our standalone widgets. + (clumens) +- Format the help text to properly fit to the terminal window (mkolman) +- Call getPossiblePhysicalExtents() only once (vpodzime) +- Default PE size to blivet's default when requested from kickstart (#1098139) + (vpodzime) +- A couple of anaconda whitespace fixes (mkolman) +- Replace the deprecated has_key() by in (mkolman) +- Disable pylint errors on NetworkData in the new network_test.py. (clumens) +- Tweak borders on the filter UI. (clumens) +- network: add tests (rvykydal) +- network: don't use ifcfg PREFIX when generating ipv6 dracut args (rvykydal) +- network: cleanup - remove ksdevice variable (rvykydal) +- Horizontally center the user creation spoke contents. (clumens) +- Un-indent the reclaim space checkbox. (clumens) +- Remove the RAID page from the filter UI. (clumens) +- install -> installation in a string on the source spoke. (clumens) +- Switch Anaconda to argparse (mkolman) +- rpmostreepayload: Use systemd-tmpfiles rather than handrolling mkdir + (walters) +- Add some padding to the custom partitioning note. (dshea) +- Wrap the custom partitioning note (#1031850) (dshea) +- Make an ostree string easier for translators to deal with. (clumens) +- Fix the gettext warnings test for VPATH builds (dshea) +- network: fix crash on empty ksdevice boot option (#1096846) (rvykydal) +- Add RPMOSTreePayload (walters) +- bootloader: Allow extlinux loader configuration to handle RPMOSTreePayload + case (walters) +- install: Handle distinct physical root/sysroot (walters) +- parse-kickstart: drop "mtu=" args (wwoods) +- Drop workaround for old dracut BOOTIF+ip problem (wwoods) +- Fix behavior (and docs) for ks=nfs:/ (#1094645) (wwoods) +- Allow non-ASCII characters in passwords (#960837) (dshea) +- Use a separate label for passphrase warnings. (dshea) +- Move more of the passphrase dialog into the glade file. (dshea) +- Don't add redundant grub installs if stage1 is not a disk (dshea) +- Let the user continue on bootloader errors (#1006304) (bcl) +- Fix the parsing of NFS addon URLs (#966240) (dshea) +- Remove redundant import (mkolman) +- Don't overwrite function argument when parsing help texts (mkolman) +- Return CLI help text at once (mkolman) +- Fix typo in previous commit adjusting to blivet API change. (dlehman) +- Adjust for movement of functions from examples into blivet proper. (dlehman) + +* Thu May 08 2014 Brian C. Lane - 21.36-1 +- Switch to adwaita-icon-theme (kalevlember) +- Hook up the TUI categories to autoconf/make. (#1095220) (dshea) +- Fix the object type specifying argument name for findActions (vpodzime) +- Remove keyword args 'ignoreErrors' from umountFilesystems() call. (amulhern) +- Updates for new blivet.size.Size.__new__ interface. (amulhern) +- Change uses of 'format' keyword param to 'fmt' keyword param (amulhern) +- Update devicetree.findActions invocations to match blivet interface change + (amulhern) +- Bump blivet version to ensure next four patches get the right interface. + (amulhern) -* Wed Jan 14 2015 Colin Walters - 19.31.79-26.atomic -- Require meh-gui - -* Wed Jan 14 2015 Colin Walters - 19.31.79-25.atomic -- Rebuilt to update version number - -* Tue Jan 06 2015 Colin Walters - 19.31.79-23.atomic -- Add patch to fix grubenv handling - -* Fri Dec 19 2014 Colin Walters - 19.31.79-22.atomic -- Rebuild for 7.1 - -* Wed Oct 22 2014 Radek Vykydal - 19.31.79-21.atomic -- Add Atomic installclass and default partitioning for Atomic. - -* Sun Oct 19 2014 Colin Walters - 19.31.79-20.atomic -- GRUB2+EFI - -* Fri Oct 17 2014 Colin Walters - 19.31.79-17.atomic -- More OSTree-GRUB2 work, plus some remote add fixes for ImageFactory - -* Tue Oct 14 2014 Colin Walters - 19.31.79-9.atomic -- Add OSTree-GRUB2 patch in progress - -* Wed Oct 8 2014 Radek Vykydal - 19.31.79-4.atomic -- Take "RHEL Atomic Host" as rhel installclass (rvykydal) - Resolves: rhbz#1150410 - -* Mon Oct 6 2014 Radek Vykydal - 19.31.79-3.atomic -- atomic: fix race of glib loops by setting up a new context (clumens) - Resolves: rhbz#1131382 - -* Fri Sep 12 2014 Radek Vykydal - 19.31.79-2.atomic -- atomic: add patches from rhel7-branch (rvykydal) - Resolves: rhbz#1113535 - -* Tue Apr 29 2014 Brian C. Lane - 19.31.79-1 -- network: fix device configuration in text mode (rvykydal) - Resolves: rhbz#1091434 - -* Mon Apr 28 2014 Brian C. Lane - 19.31.78-1 -- Fix unloading modules in driver-updates (wwoods) - Resolves: rhbz#1085099 - -* Wed Apr 09 2014 Brian C. Lane - 19.31.77-1 -- network: show ip of device with default route for vnc and ssh (rvykydal) - Resolves: rhbz#1083305 - -* Mon Apr 07 2014 Brian C. Lane - 19.31.76-1 -- network: adapt to NM fixing virtual device disconnection (rvykydal) - Resolves: rhbz#1084953 - -* Tue Apr 01 2014 Brian C. Lane - 19.31.75-1 -- Display WWIDs in the filter UI for FCoE devices (clumens). - Resolves: rhbz#1080316 -- Make it possible to override translation domain in GUIObjects (mkolman). - Related: rhbz#1040240 - -* Fri Mar 28 2014 Brian C. Lane - 19.31.74-1 -- network: don't crash on virtual devices turned off (rvykydal) - Resolves: rhbz#1080640 -- Do not try to set keyboard preview dialog's size (vpodzime) - Resolves: rhbz#1011140 - -* Thu Mar 27 2014 Brian C. Lane - 19.31.73-1 -- Add a list of cmdline args that append instead of replace (bcl) - Related: rhbz#1073130 - -* Mon Mar 24 2014 Brian C. Lane - 19.31.72-1 -- Check boot args for None (bcl) - Related: rhbz#1073130 - Resolves: rhbz#1075918 -- network: don't pop HWADDR twice for vlan on s390 (rvykydal) - Related: rhbz#1061646 - -* Fri Mar 21 2014 Brian C. Lane - 19.31.71-1 -- driverdisk: Show selection menu for network driver isos (bcl) - Resolves: rhbz#1075918 - -* Wed Mar 19 2014 Brian C. Lane - 19.31.70-1 -- Write a modprobe blacklist (bcl) - Resolves: rhbz#1073130 -- Append cmdline arg values in BootArgs (bcl) - Related: rhbz#1073130 -- Only the Summary TUI hub wants to accept 'b' to continue (vpodzime) - Resolves: rhbz#1077546 - -* Tue Mar 18 2014 Brian C. Lane - 19.31.69-1 -- Convert iter from filter model iter to backing store iter (amulhern) - Resolves: rhbz#1074188 - -* Fri Mar 14 2014 Brian C. Lane - 19.31.68-1 -- Revert "Refresh after checkbox clicked (amulhern)" - Related: rhbz#1074188 -- Wait for other threads to finish before sending ready (bcl) - Resolves: rhbz#1075103 - -* Tue Mar 11 2014 Brian C. Lane - 19.31.67-1 -- driver-updates: accept burned driver discs (wwoods) - Resolves: rhbz#1073719 -- Refresh after checkbox clicked (amulhern) - Resolves: rhbz#1074188 -- Don't create bootloader entries for kdump initrd and kernel. +* Mon May 05 2014 Brian C. Lane - 21.35-1 +- Use format strings in the new kickstart error message translations. (clumens) +- Mark kickstart errors as translatable, and hopefully make them more useful + too. (clumens) +- install: Move Payload postInstall() after bootloader (walters) +- iutil: Transparently redirect anyone who asks root=/mnt/sysimage to sysroot + (walters) +- Fix the way categories are handled in text mode. (sbueno+anaconda) +- Move GUI-specific helper classes to a separate module (#1091542) (dshea) +- Fix license in parse-kickstart (mkolman) +- main: Set flags.extlinux if extlinux is used in interactive-defaults.ks + (walters) +- anaconda.service: Set GIO_USE_VFS=local (walters) +- Use a gettext context where necessary when retranslating (#1091207) (dshea) +- Update makebumpver for python-bugzilla 1.0.0 (bcl) +- Skip source and software spoke in text live installations (#1092763) (bcl) +- Add correct kernel params if rootfs is btrfs on s390x. (#874622) + (sbueno+anaconda) +- Don't crash on anaconda-yum output containing multiple colons (#1092441) + (mkolman) +- Revert chrooting when setting user/root password (vpodzime) +- network: fix device configuration in text mode (#1058336) (rvykydal) +- Change order in which packages/groups are selected/excluded (#1091952) + (vpodzime) +- Check the correct button when saving changes in the Custom spoke (#1090786) + (vpodzime) +- Fix unloading modules in driver-updates (#1085099) (wwoods) +- Re-saved some of the glade files with a newer version of glade. (dshea) +- Add viewports for the ListBoxes in the software spoke. (dshea) +- Extend format string checks to translated format strings. (dshea) +- Fix typo in nm_is_connected method check. (rvykydal) +- iutil: Introduce getSysroot()/getTargetPhysicalRoot(), use instead of + ROOT_PATH (walters) + +* Thu Apr 24 2014 Brian C. Lane - 21.34-1 +- Improve the "adding yum repo" message structure (mkolman) +- Fix missing log message about adding a repository (#1089297) (mkolman) +- Ignore use of eval warnings. (dshea) +- Specify string format arguments as logging function parameters (dshea) +- New encrypted state is the dialog's encrypted attribute (vpodzime) +- Use human readable sizes with two decimal spaces in the GUI (vpodzime) +- Make the LUKS unlock callback a timed action (vpodzime) +- Hitting ENTER in the LUKS passwd entry should click the Unlock button + (vpodzime) +- Block leaf device encryption if container is encrypted consistently + (vpodzime) +- Do not remove the replacing item, remove the replaced one instead (vpodzime) +- Give include_btrfs variable a better name (vpodzime) +- Make the _resolve_btrfs_restrictions method's code nicer (vpodzime) +- Refactor the btrfs magic into a separate method (vpodzime) +- Switch the condition in long if-else statement (vpodzime) +- Give an opaque condition a better name explaining its real meaning (vpodzime) +- Refactor out the code for removing empty parents (vpodzime) +- Use the (vpodzime) +- Refactor out the code for adding device/mountpoint into a method (vpodzime) +- Relabel /home partition if using and existing one (#1087736) (vpodzime) +- Don't forget to call os._exit() in the child process (vpodzime) +- users: Add root= keyword argument to set{User,Root}Password (walters) +- users: Deduplicate code to fork()+chroot() (walters) +- gui/spokes/software: Enable iff payload is PackagePayload (walters) +- Use descriptive pylint messages instead of numbers. (clumens) +- Add input validation to the source spoke. (dshea) +- Remove the tests for duplicate and invalid repo names (dshea) +- Expand the proxy URL validation. (dshea) +- Convert the repository name test into a regex (dshea) +- Add a remove_check method for InputCheckHandler. (dshea) +- Use ID columns in the protocol combo boxes (dshea) +- Added a link to a bug about the user data in glade problem. (dshea) +- Remove the top and bottom padding from source spoke action area (dshea) +- Re-add a false-positive for the GLib module (dshea) + +* Thu Apr 17 2014 Brian C. Lane - 21.33-1 +- Add an option to copy translation files to an updates.img (dshea) +- Set the selinux state from the command line (#784828) (dshea) +- Remove a whole bunch of pylint false positives (dshea) +- Ignore more informational messages printed by pylint pragmas (dshea) +- Use more wildcards in the tests dist_ variable (dshea) +- Make sure the idx variable is used instead of the old found variable + (vpodzime) +- Disable a false positive from pylint (dshea) +- Only run dialogs in the enlightbox context (vpodzime) +- Separate code for finding item in containers combo and processing it + (vpodzime) +- Check Update Settings button sensitivity when saving changes in one place + (vpodzime) +- Only save changes if needed when adding mountpoint (vpodzime) +- No need to call bool() on a boolean expression result (vpodzime) +- Give names to some magic tuples, make them reusable and reuse them (vpodzime) +- Add DEVICE_TYPE_DISK's text description to the mapping (vpodzime) +- Move a few constants and mappings to the storage_utils module (vpodzime) +- Split long label's string into two lines (vpodzime) +- Don't rely on the ordering of autopart types in the combobox (vpodzime) +- Only save changes if there are any changes to be saved (vpodzime) +- Add device type constants to the device type combobox's store (vpodzime) +- Change some anaconda-yum DEBUGs to be more informative (bcl) +- Change Proxy Add Button to Ok (bcl) +- Display a message for missing required packages and groups (#1064565) (dshea) +- Fix issues with the errorHandler callback arguments (dshea) + +* Thu Apr 10 2014 Brian C. Lane - 21.32-1 +- Refactor the code setting up the device type combobox a method (vpodzime) +- Rename 'swap' variable to 'is_swap' to better express its meaning (vpodzime) +- Refactor out the code setting up the fstype combobox into a method (vpodzime) +- Refactor the code updating info about device container into a method + (vpodzime) +- Remove the default None value from the addPage's cb argument (vpodzime) +- Make on_updates_settings_clicked timed callback (vpodzime) +- Rename the callback for updating mountpoint settings (vpodzime) +- Hook up the GUI test so it's run as part of "make check". (clumens) +- Skip running pylint on files containing "skip-file". (clumens) +- Add comments to the kickstart tests. (clumens) +- Add the beginnings of an automated GUI test suite. (clumens) +- Add accessibility information to the user spoke. (clumens) +- Add accessibility information to the root password spoke. (clumens) +- Add accessibility information to the progress hub. (clumens) +- Add accessibility information to most of the widgets on the storage spoke. + (clumens) +- Add enough accessibility information to the network spoke for livecds. + (clumens) +- Add accessibility information to the keyboard spoke. (clumens) +- Add accessibility information to the date & time spoke. (clumens) +- Add a script and base kickstart file for making a dogtail-enabled livecd. + (clumens) +- Add accessibility information to the welcome spoke and summary hub. (clumens) +- Add accessibility information to some of our widgets. (clumens) +- Don't use dhcp ntpservers for dir or image installation (bcl) +- Implement and use decorator for logging UI storage actions (vpodzime) +- Refactor out the code doing device reformat into a function (vpodzime) +- Refactor out the code handling encryption change into a function (vpodzime) +- Fix variable name when logging new fstype (vpodzime) +- Make it possible to override translation domain in GUIObjects (#1040240) + (mkolman) +- Refactor out the code for handling device size change into a function + (vpodzime) +- Refactor out the code for bounding size into a function (vpodzime) +- Refactor code for reverting device reformat into a function (vpodzime) +- Make the code changing an existing device more compact (vpodzime) +- Comment the part of the code changing an existing device (vpodzime) +- Do device change logging in one place where possible (vpodzime) +- Pass information about old and new device as a dictionary (vpodzime) +- Move code attempting to replace device into a separate function (vpodzime) +- Mountpoint validation should only care about the new fs type (vpodzime) +- Make size properties refreshing reused code (vpodzime) +- Use generator instead of list for auxiliary old_disk_names variable + (vpodzime) +- Remove and unused variable in Custom spoke (vpodzime) +- Refactor mountpoint configuration validation out from _save_right_side + (vpodzime) +- Don't overload selectorFromDevice function (vpodzime) +- Use dir_tree_map for the cleanPStore function (vpodzime) +- Check xconfig before setting the installed displaymode (dshea) +- DNFPayload: call close() when done with the Base. (ales) +- Do not try to get "" translated (vpodzime) +- Use for-cycle else: branch instead of extra variable (vpodzime) +- Have mountpoint descriptions defined in a dictionary (vpodzime) +- Uppercase global constants in the Custom spoke (vpodzime) +- Use cannonical RAID level names when populating RAID stores (vpodzime) +- No RAID level (RAID level None) is a valid choice for LVM(ThP) (vpodzime) +- LVM Thin Provisioning supports the same RAID levels as plain LVM (vpodzime) +- Only block the password/user spokes if data was given in kickstart (vpodzime) +- Disable a pylint error message for now. (clumens) +- Suppress selinux error log when using default (#1083239) (bcl) +- Use the AnacondaWidgets python gi-overrides for pylint (dshea) + +* Wed Apr 02 2014 Brian C. Lane - 21.31-1 +- Only install consolehelper link on livearches (bcl) + +* Wed Apr 02 2014 Brian C. Lane - 21.30-1 +- Add support ppc64le (hamzy) +- Validate proxy URLs (dshea) +- Provide feedback for invalid NTP hostnames. (dshea) +- Use GUIDialogInputCheckHandler in the advanced user dialog (dshea) +- Add a new InputCheck status for silent failures. (dshea) +- Add an InputCheckHandler subclass for dialogs. (dshea) +- Generalized and improved the proxy URL parsing regex (dshea) +- Update makebumpver for the newer python-bugzilla on rawhide. (clumens) +- network: don't crash on virtual devices turned off (#1080640) (rvykydal) +- network: don't pop HWADDR twice for vlan on s390 (#1061646) (rvykydal) +- Make safe_dbus module's functions less 'safe' (vpodzime) +- Add a list of cmdline args that append instead of replace (#1073130) (bcl) +- safe_dbus: Don't export DBus connection addresses as variables (walters) + +* Wed Mar 26 2014 Brian C. Lane - 21.29-1 +- Add a Makefile target to create a set of empty .po files. (dshea) +- os.path.exists -> os.path.lexists when checking for authconfig. (clumens) +- Add support for tarfiles to liveimg kickstart command (bcl) +- mountExistingSystem raises an exception with dirty FS (#1080210) (vpodzime) +- Don't do yum lock logging when using updates.img (vpodzime) +- Pass Size(0) instead of 0 to the ContainerDialog if no size is given + (vpodzime) +- Update the BaseWindow and HubWindow example UI fragments (dshea) +- Convert GtkHBox and GtkVBox to GtkBox. (dshea) +- Fix keyboard accelerator collisions from former stock buttons (dshea) +- Set the secret agent icon in the glade file (dshea) +- Remove stock labels and icons. (dshea) +- Run the pykickstart version test on the commands in parse-dracut (dshea) +- Don't reimport os - it's imported very early on. (clumens) +- Use an alternative image if logo is missing (mkolman) +- Update parse-kickstart for the new bootloader command. (clumens) +- Make sure the error info message starts on a new line (vpodzime) +- Define two env variables removing useless warnings (vpodzime) +- Check boot args for None (#1075918) (bcl) +- Revert "Enable make check in %%check and add the necessary BuildRequires" + (dshea) +- Fix the argument list passed to the payloadInitialize thread (#1079628) + (dshea) +- Fix filtering the _storage_playground out (vpodzime) +- Sync up step counts in install.py with reality. (clumens) +- Avoid the "unable to init server" message. (dshea) +- Do not attempt to run authconfig if it doesn't exist. (clumens) +- Allow skipping installation of the core group, if asked for in kickstart. + (clumens) +- Drop the vconsole.font boot arg (#1074113) (vpodzime) + +* Thu Mar 20 2014 Brian C. Lane - 21.28-1 +- Get the DBus session bus address in a method (dshea) +- Specify string format arguments as logging function parameters (dshea) +- Inhibit the screen saver on live installs (#928825) (dshea) +- Handle the dbus method call not returning anything. (dshea) +- Convert errors raised during dbus connection to DBusCallError (dshea) +- driverdisk: Show selection menu for network driver isos (#1075918) (bcl) +- Write a modprobe blacklist (#1073130) (bcl) +- Append cmdline arg values in BootArgs (#1073130) (bcl) +- Wait for other threads to finish before sending ready (#1075103) (bcl) +- set proxy related environmental variables (#854029) (bcl) +- Fix pylint error in yumpayload. (sbueno+anaconda) +- The custom spoke requires mountPointStore and mountPointCompletion, too. + (clumens) +- Make the lists of files to check consistent across all checks. (dshea) +- Fix error handling in cmdline mode. (#1034773) (sbueno+anaconda) +- Don't create bootloader entries for kdump initrd and kernel. (#1036086) (sbueno+anaconda) - Resolves: rhbz#1036086 -- Cover both possible ways that GUI WWID may have been set (amulhern) - Resolves: rhbz#1074184 -- network: apply ks configuration to devices activated in initramfs (rvykydal) - Resolves: rhbz#1037605 -- Make it obvious user is going to begin installation. (sbueno+anaconda) - Resolves: rhbz#975793 -- Fix error handling in cmdline mode. (sbueno+anaconda) - Resolves: rhbz#1034773 -- Do nothing if previously selected selector gets focus again (vpodzime) - Resolves: rhbz#1029798 - -* Fri Mar 07 2014 Brian C. Lane - 19.31.66-1 -- set proxy related environmental variables (bcl) - Resolves: rhbz#854029 -- network: handle race condition of disappearing active connection (rvykydal) - Resolves: rhbz#1073424 -- Do not write out /etc/adjtime file on s390(x) (vpodzime) - Resolves: rhbz#1070748 -- Don't traceback, just log a warning if connection is unavailable (mkolman) - Resolves: rhbz#1070928 - -* Tue Mar 04 2014 Brian C. Lane - 19.31.65-1 -- driver-updates: skip iso selection with OEMDRV (bcl) - Related: rhbz#1066784 +- Add a setting to network.py that got left out of the cherry-pick. (clumens) +- Enable make check in %%check and add the necessary BuildRequires (atodorov) +- Make it obvious user is going to begin installation. (#975793) + (sbueno+anaconda) +- Move libtimezonemap requires to the anaconda-gui subpackage (vpodzime) +- network: apply ks configuration to devices activated in initramfs (#1037605) + (rvykydal) +- Add support for kickstart --interfacename for vlans (#1061646) (rvykydal) +- network: handle race condition of disappearing active connection (#1073424) + (rvykydal) +- Convert iter from filter model iter to backing store iter (#1074188) + (amulhern) +- Provide ways in kickstart to skip kernel and bootloader (#1074522). (clumens) +- DNFPayload: apply the kickstart excludedList. (ales) +- Only pylint files that are in the git working copy (dshea) +- Move accordion population into a separate function (vpodzime) +- Short-circuit testing if root has any devices (vpodzime) +- Getting new devices is not enough cheap operation for being a property + (vpodzime) +- Hide and unhide the same set of disks in the Custom spoke (vpodzime) +- Use GtkActionList when populating filesystem store (vpodzime) +- Fix XDG_RUNTIME_DIR not set messages by creating one (dshea) +- Make the ui_storage_logger reusable (vpodzime) +- Decide on supported RAID levels in a better way (vpodzime) +- Fix typo in the comment (vpodzime) +- Add and use MountpointSelector's attributes we need (vpodzime) +- Make code to get Size instance from user's input reusable (vpodzime) +- Make getting raid level less hacky (vpodzime) +- Implement a function to get container type name (vpodzime) +- Make custom partitioning helper constants look as constants (vpodzime) +- Simplify mountpoint validation and error reporting (vpodzime) +- Simplify label validation and error reporting (vpodzime) +- Move translated_new_install_name to the right place (vpodzime) +- Rename the __storage attribute to a more propriate name (vpodzime) +- Split out helper code from the Custom partitioning spoke (vpodzime) +- The reset button should only be sensitive if there's something to reset. + (clumens) +- Confirm before resetting custom partitioning selections (#970093). (clumens) +- DNFPayload: Add languageGroups(). (ales) +- Use ROOT_PATH not /mnt/sysimage (bcl) +- Override ROOT_PATH with environmental variable (bcl) +- Import /etc/login.defs in libuser.conf (#979815) (dshea) +- Fix environment group changes based on ListBox row activation (dshea) +- DNFPayload: do not crash when an addon is unavailable. (ales) +- Payloads: make DEFAULT_REPOS a part of the interface. (ales) + +* Tue Mar 11 2014 Brian C. Lane - 21.27-1 +- Don't disable anaconda repo on rawhide (bcl) +- Set log level to debug when using an updates image (bcl) +- driver-updates: accept burned driver discs (#1073719) (wwoods) +- Do nothing if previously selected selector gets focus again (#1029798) + (vpodzime) +- Firstboot is deprecated and gone on Fedora 20 and anything newer (vpodzime) +- Reraise the exception properly (vpodzime) +- Set progress bar to 100 %% in a different way (#1058755) (vpodzime) +- Refresh after checkbox clicked (#1074188) (amulhern) +- Use instclass.efi_dir when constructing the EFI path (dshea) +- Add rescue kernels to the bootloader install list. (#1036349) (dshea) +- Cover both possible ways that GUI WWID may have been set (#1074184) + (amulhern) +- Do not write out /etc/adjtime file on s390(x) (#1070748) (vpodzime) +- Ignore the data model and just return self.environment (mkolman) +- Software spoke can't be complete if the payload thread is running (mkolman) +- DNFPayload: blivet.size.Size() only knows 'spec' kwarg now. (ales) +- Specify string format arguments as logging function parameters (dshea) +- Add missing changelog entries (bcl) + +* Fri Mar 07 2014 Brian C. Lane - 21.26-1 +- Don't traceback, just log a warning if connection is unavailable (#1070928) + (mkolman) +- Remove unnecessary use_markup attributes. (dshea) +- Add a check for unnecessary markup. (dshea) +- Ignore the server keymap for spoke status if using VNC (#1045115) (dshea) +- Call % outside of the translation (dshea) +- Fix pylint errors about dangerous default values (dshea) +- Typo fix (dshea) +- driver-updates: skip iso selection with OEMDRV (#1066784) (bcl) - driver-updates: allow interactive mode to load multiple devices (wwoods) - Related: rhbz#1066784 -- driver-updates: add DoRefresh loop to select_iso() (wwoods) - Resolves: rhbz#1066784 +- driver-updates: add DoRefresh loop to select_iso() (#1066784) (wwoods) - driver-updates: add 'refresh' to selection_menu() (wwoods) - Related: rhbz#1066784 - driver-updates: rework 'dd_finished' handling (wwoods) - Related: rhbz#1066784 - driver-updates: refactor dd_scan (wwoods) - Related: rhbz#1066784 - driver-updates: refactor menu to allow other options (wwoods) - Related: rhbz#1066784 -- Bump blivet Requires for DASD changes. (sbueno+anaconda) - Related: rhbz#1064423 -- Add GUI and TUI logic to handle unformatted DASDs. (sbueno+anaconda) - Resolves: rhbz#1064423 -- Show unformatted DASDs in the local disk store. (sbueno+anaconda) - Resolves: rhbz#1064423 -- Add dialog box to warn about formatting DASDs. (sbueno+anaconda) - Resolves: rhbz#1064423 -- Update disk refs when recovering from a devicefactory failure. (dlehman) - Resolves: rhbz#1032141 -- network kickstart: do not bind to MAC if SUBCHANNELS are present (rvykydal) - Resolves: rhbz#1070232 - -* Fri Feb 28 2014 Brian C. Lane - 19.31.64-1 -- Fix console for s390 and 'noshell' mode (wwoods) - Resolves: rhbz#1070672 +- Bump blivet Requires for DASD changes. (#1064423) (sbueno+anaconda) +- Add GUI and TUI logic to handle unformatted DASDs. (#1064423) + (sbueno+anaconda) +- Show unformatted DASDs in the local disk store. (#1064423) (sbueno+anaconda) +- Add dialog box to warn about formatting DASDs. (#1064423) (sbueno+anaconda) +- Update disk refs when recovering from a devicefactory failure. (#1032141) + (dlehman) +- Add typelib and library paths to the test environment. (dshea) +- Run pylint with NO_AT_BRIDGE=1 set in the environment (dshea) +- pylint: Clean up accordion warnings (bcl) +- Let Gtk pick the size for the isoChooserDialog (#973376) (dshea) +- network kickstart: do not bind to MAC if SUBCHANNELS are present (#1070232) + (rvykydal) + +* Fri Feb 28 2014 Brian C. Lane - 21.25-1 +- pylint: Add a pile of new E1101 exceptions (bcl) +- pylint: change disable-msg to disable (bcl) +- Fix console for s390 and 'noshell' mode (#1070672) (wwoods) +- Check that the addon selection state exists before reading it (dshea) - Set the name in the volume group store (dshea) - Resolves: rhbz#1070854 -- Always run efibootmgr from ROOT_PATH (bcl) - Resolves: rhbz#1054968 -- Only run gtk actions in the gtk thread. (dshea) - Resolves: rhbz#1067405 - Don't ignore the directory of the driver disk iso file (vpodzime) - Related: rhbz#1036765 - -* Wed Feb 26 2014 Brian C. Lane - 19.31.63-1 -- Revert "Force reboot the system on cmdline error. (sbueno+anaconda)" - Related: rhbz#1034773 -- Revert "Make it obvious user is going to begin installation. - (sbueno+anaconda)" - Related: rhbz#975793 -- Add createrepo Requires (bcl) - Related: rhbz#1016004 -- ListStore.remove expects an iter, not an int (clumens). - Resolves: rhbz#1062752 -- Don't require network in standalone spoke for media installs (rvykydal) - Resolves: rhbz#1066807 -- Add support for kickstart --interfacename for vlans (rvykydal) - Resolves: rhbz#1061646 -- network: detect also fcoe vlan device names exceeding IFNAMESIZ (rvykydal) - Related: rhbz#1051268 - -* Tue Feb 25 2014 Brian C. Lane - 19.31.62-1 -- driverdisk: Create a repo for network drivers (bcl) - Resolves: rhbz#1016004 -- fix inst.noshell (wwoods) - Resolves: rhbz#1058607 -- Don't use tmux for inst.noshell (wwoods) - Resolves: rhbz#1058607 -- driverdisk: Catch blkid failure (bcl) - Related: rhbz#1036765 -- driverdisk: Ignore extra blkid fields (bcl) - Resolves: rhbz#1036765 +- Set rpm macros in DNFPayload (dshea) +- Implement %%packages --instLangs (#156477) (dshea) +- Set rpm macro information in anaconda-yum. (dshea) +- Move the anaconda-yum exception handler (#1057120) (dshea) +- Only run gtk actions in the gtk thread. (dshea) +- Add createrepo Requires (#1016004) (bcl) +- Fix a traceback gathering free space info for a container. (#1069854) + (dlehman) +- network: detect also fcoe vlan device names exceeding IFNAMESIZ (#1051268) + (rvykydal) +- DNFPayload: display the download progress on the hub. (ales) +- driverdisk: Fix typo in error logging (#1016004) (bcl) +- driverdisk: Create a repo for network drivers (#1016004) (bcl) +- driverdisk: Catch blkid failure (#1036765) (bcl) +- driverdisk: Ignore extra blkid fields (#1036765) (bcl) - We can't trust rhcrashkernel-param to give us newline-free text. (pjones) - Related: rhbz#814813 +- Remove redundant _setCurrentFreeSpace() call (#1043763) (amulhern) - Enable python-coverage in anaconda (dshea) - Resolves: rhbz#1066339 -- Remove redundant _setCurrentFreeSpace() call (amulhern) - Related: rhbz#1043763 +- Move the sidebar to the right for RTL languages (dshea) +- Remove a bunch of unused includes and tests for headers (dshea) +- Add a note about when and how to remove isys.sync (dshea) +- Remove isys.isPseudoTTY (dshea) +- Convert isys.isIsoImage to python code (dshea) +- Focus the language search input by default (#973967) (dshea) - Ensure media being verified is always unmounted (dshea) - Resolves: rhbz#1050943 - Write 'text'/'cmdline' in anaconda-ks.cfg in text/cmdline mode (wwoods) - Related: rhbz#1021963 -- text install -> text system (wwoods) - Resolves: rhbz#1021963 +- text install -> text system (#1021963) (wwoods) - Support the 'skipx' kickstart command (wwoods) - Related: rhbz#1021963 -- setup default environment in initialize instead of refresh (bcl) - Resolves: rhbz#1066972 +- let systemd decide when to start anaconda-sshd (wwoods) +- Don't use tmux for inst.noshell (#1058607) (wwoods) - Fix a nitpick from bcl. (pjones) - Related: rhbz#814813 -- Force reboot the system on cmdline error. (sbueno+anaconda) - Resolves: rhbz#1034773 - Make rhcrashkernel-param get run on non-GRUB 2 platforms. (pjones) - Resolves: rhbz#814813 -- fix typo, extra bracket (bcl) - Resolves: rhbz#1067758 -- Do not use shim.efi on ARMv8 aarch64 (dmarlin) - Resolves: rhbz#1067758 -- Handle missing environments specified through kickstart (clumens). - Resolves: rhbz#1067492 -- Add 'c' to continue to timezone TUI spoke. (sbueno+anaconda) - Resolves: rhbz#979335 -- Make it obvious user is going to begin installation. (sbueno+anaconda) - Resolves: rhbz#975793 - -* Fri Feb 21 2014 Brian C. Lane - 19.31.61-1 -- Skip running efibootmgr for image and dir installations (bcl) - Resolves: rhbz#1067749 -- reiserfs is not supported (bcl) - Resolves: rhbz#1066635 -- Show hidden disk images (bcl) - Resolves: rhbz#1034996 -- remove epdb SIGHUP debug handler (bcl) - Related: rhbz#1065557 -- Preserve ipv6.disable=1 on target system (wwoods) - Resolves: rhbz#1040751 -- Check that s390x LVM configuration is valid. (sbueno+anaconda) - Resolves: rhbz#873135 - Resolves: rhbz#885011 -- Re-apply disk selection on error in TUI storage. (sbueno+anaconda) - Resolves: rhbz#1056316 -- Disable tmpfs in the GUI (mkolman) - Resolves: rhbz#1061666 -- Change the CSS class name of the sidebar (clumens). - Resolves: rhbz#1067049 -- Error on "bootloader --location=partition" when using grub2 (clumens). - Resolves: rhbz#969095 -- Fix heredoc usage in generated /etc/grub.d/01_users (dcantrell). - Resolves: rhbz#1044404 - -* Tue Feb 18 2014 Brian C. Lane - 19.31.60-1 -- Set mandatory property in network tui spoke. (sbueno+anaconda) - Resolves: rhbz#1064139 -- Disallow /boot on RAID on s390x. (sbueno+anaconda) - Resolves: rhbz#1027670 -- Use devicetree.resolveDevice instead of udev_resolve_devspec. (dlehman) - Resolves: rhbz#1047338 -- Set ThreadManager.any_errors to be a property (dshea) - Resolves: rhbz#1066467 -- driverdisk: Parse all blkid output (bcl) - Resolves: rhbz#857248 - Related: rhbz#1036765 -- Use vc_keymap as X layout only if we get nothing from localed (vpodzime) - Resolves: rhbz#1066018 -- Tell libreport if it is a final release or not (vpodzime) - Resolves: rhbz#1063690 +- Cast the blame appropriately when the kernel refuses efivars changes. + (pjones) +- Do not use shim.efi on ARMv8 aarch64 (#1067758) (dmarlin) +- Handle missing environments specified through kickstart (#1067492). (clumens) +- create_sparse_file in blivet now expects a Size object. (clumens) +- Don't traceback when no size is given in kickstart (#1067707). (clumens) + +* Fri Feb 21 2014 Brian C. Lane - 21.24-1 +- setup default environment in initialize (bcl) +- Move environmentAddons into packaging (bcl) +- Skip running efibootmgr for image and dir installations (#1067749) (bcl) +- Move translatable format strings into python. (dshea) +- Added a check for translatable format strings in glade. (dshea) +- Use a single script to run the glade tests. (dshea) +- Check that s390x LVM configuration is valid. (#873135, 885011) + (sbueno+anaconda) +- Re-apply disk selection on error in TUI storage. (#1056316) (sbueno+anaconda) +- Properly retry package downloads (#924860) (mkolman) +- Change the CSS class name of the sidebar (#1067049). (clumens) +- Preserve ipv6.disable=1 on target system (#1040751) (wwoods) +- Remove an unused import in driver-updates. (clumens) +- Fix heredoc usage in generated /etc/grub.d/01_users (#1044404). (dcantrell) + +* Tue Feb 18 2014 Brian C. Lane - 21.23-1 +- driverdisk: Parse all blkid output (#857248) (bcl) - Fix blkid output parsing and our output (vpodzime) - Related: rhbz#1036765 - -* Fri Feb 14 2014 Brian C. Lane - 19.31.59-1 -- Allow using globs and alternative paths for specifying boot drive (clumens). - Resolves: rhbz#1057282 -- Remove app_paintable from a couple nav boxes (clumens). - Resolves: rhbz#1064708 -- Allow catching exceptions from threads (vpodzime) - Resolves: rhbz#1063705 - -* Tue Feb 11 2014 Brian C. Lane - 19.31.58-1 -- adding support for new rhel7 branding graphics (duffy) - Related: rhbz#1045250 -- Properly retry package downloads (mkolman) - Resolves: rhbz#924860 -- Mark language search string in welcome spoke translatable. (sbueno+anaconda) - Resolves: rhbz#955229 -- Automatically reboot after successful cmdline installation. (sbueno+anaconda) - Resolves: rhbz#1056507 -- dracut: add when_any_cdrom_appears for cdrom autoprobe (wwoods) - Resolves: rhbz#1049237 -- Update the Aarch64 packages to include efibootmgr (dmarlin) - Resolves: rhbz#1061927 -- kickstart user accounts should be locked by default (bcl) - Resolves: rhbz#1063554 -- Move save_netinfo into a hook (bcl) - Resolves: rhbz#1048231 -- Fix kickstart 'updates' command (wwoods) - Resolves: rhbz#999898 -- Make sure LUKS devices can say they have a key (amulhern) - Resolves: rhbz#1060255 -- Handle LUKS passphrase before doing sanity check (amulhern) - Resolves: rhbz#1060255 -- Remove some unnecessary resets (amulhern) - Related: rhbz#1060255 +- Don't use positional arguments to initialize Gtk objects (dshea) +- Set mandatory property in network tui spoke. (#1064139) (sbueno+anaconda) +- Disallow /boot on RAID on s390x. (#1027670) (sbueno+anaconda) +- Remove a stray break statement (dshea) +- Use devicetree.resolveDevice instead of udev_resolve_devspec. (#1047338) + (dlehman) +- Set ThreadManager.any_errors to be a property (dshea) +- Error on "bootloader --location=partition" when using grub2 (#969095). + (clumens) +- Fix the handling of kernel parameters with no = (#1065704) (dshea) +- Deal with a couple more "except Exception" lines. (clumens) +- Fix pylint errors in the latest dnf-related commit. (clumens) +- DNFPayload: pick the right FS as package download target. (ales) +- DNFPayload: log import crashes. (ales) +- DNFPayload: use dnf.exceptions.MarkingError. (ales) +- Return the returned value in the fire_gtk_action (vpodzime) +- Allow AddonData classes to parse options in the %%addon line (dshea) +- Pass ints to Gtk resize functions (#1065021) (bcl) + +* Fri Feb 14 2014 Brian C. Lane - 21.22-1 +- Remove app_paintable from a couple nav boxes (#1064708). (clumens) +- Give a more correct error for missing groups/packages on exclude (#1060194). + (clumens) +- Fix some incorrect RPM macros in the spec file. (clumens) +- Allow using globs and alternative paths for specifying boot drive (#1057282). + (clumens) +- Don't reset input check status when disabling a check (#1062273) (dshea) +- Fix how an input check is disabled (#1062275). (dshea) +- ListStore.remove expects an iter, not an int (#1062752). (clumens) + +* Tue Feb 11 2014 Brian C. Lane - 21.21-1 +- Move save_netinfo into a hook (#1048231) (bcl) +- Cleanup log message for pylint (bcl) +- kickstart user accounts should be locked by default (#1063554) (bcl) +- pre-push hook checking bugzilla IDs on rhelX branches (vpodzime) +- Make sure LUKS devices can say they have a key (#1060255) (amulhern) +- Handle LUKS passphrase before doing sanity check (#1060255) (amulhern) +- Remove some unnecessary resets (#1060255) (amulhern) - Do not consider no available LUKS passphrase an error in do_autopart + (#1060255) (amulhern) +- Adapt to new blivet.sanityCheck() return type (#1060255) (amulhern) +- Adapt StorageChecker class for changed return type of sanityCheck (#1060255) + (amulhern) +- Add sanityCheck functionality back into AutoPart.execute() (#1060255) (amulhern) - Resolves: rhbz#1060255 -- Adapt to new blivet.sanityCheck() return type (amulhern) - Related: rhbz#1060255 -- Adapt StorageChecker class for changed return type of sanityCheck (amulhern) - Related: rhbz#1060255 -- Add sanityCheck functionality back into AutoPart.execute() (amulhern) - Related: rhbz#1060255 - Bump blivet version for changed sanityCheck() interface (amulhern) - Related: rhbz#1060255 -- Removed unused ErrorRecoveryFailure import (amulhern) - Related: rhbz#1060255 +- UnmanagedDeviceError and UnknownConnectionError are in the nm module. + (clumens) +- blivet no longer has a protectedDevices property. (clumens) - network: adapt to changed handling of devices without carrier in NM - (rvykydal) - Resolves: rhbz#1062417 -- Once again fix cmdline error handling. (sbueno+anaconda) - Resolves: rhbz#1034773 -- On incomplete ks, don't automatically proceed with install. (sbueno+anaconda) - Resolves: rhbz#1034282 -- Add correct kernel params if rootfs is btrfs on s390x. (sbueno+anaconda) - Resolves: rhbz#874622 - -* Fri Feb 07 2014 Brian C. Lane - 19.31.57-1 -- driverdisk: Use a single systemd service to start DD UI (bcl) - Related: rhbz#1035663 -- driverdisk: Add dd_args_ks handling to driver-updates (bcl) - Resolves: rhbz#1035663 -- driverdisk: Process kickstart driverdisk commands (bcl) - Related: rhbz#1035663 -- driverdisk: Handle kickstart driverdisk command (bcl) - Related: rhbz#1035663 -- driverdisk: Use getargs instead of the env variable (bcl) - Related: rhbz#1035663 -- If a user has been created, don't allow entering the user spoke (clumens). - Resolves: rhbz#1058564 + (#1062417) (rvykydal) +- driverdisk: Rename skip_dds to make pylint happy (bcl) +- driverdisk: Use a single systemd service to start DD UI (#1035663) (bcl) +- driverdisk: Add dd_args_ks handling to driver-updates (#1035663) (bcl) +- driverdisk: Process kickstart driverdisk commands (#1035663) (bcl) +- driverdisk: Handle kickstart driverdisk command (#1035663) (bcl) +- driverdisk: Use getargs instead of the env variable (#1035663) (bcl) +- Remove now-unused isys/devices.[ch]. (clumens) +- Call finalize functions in parent classes. (dshea) - Fix crashes in the LayoutIndicator dispose function. (dshea) - Resolves: rhbz#1061206 -- Add support for fcoe --autovlan option (rvykydal) - Resolves: rhbz#1055779 - Require systemd (dshea) - Resolves: rhbz#1060823 - Remove the now-unused anaconda_spoke_header.png. (clumens) - Related: rhbz#1045250 -- Minor aesthetic cleanups (duffy). - Resolves: rhbz#1045250 -- Add a topbar design to SpokeWindows. (duffy) - Resolves: rhbz#1045250 -- Prevent kickstart parsing errors from ending up in boot options (mkolman) - Resolves: rhbz#1060184 -- Add a sidebar to the standalone and hub windows (duffy) - Resolves: rhbz#1045250 -- Allow specifying an environment in the kickstart file (clumens). - Resolves: rhbz#1050994 +- Minor aesthetic cleanups (#1045250). (duffy) +- Add a topbar design to SpokeWindows. (#1045250) (duffy) +- Update the Aarch64 packages to include efibootmgr. (dmarlin) +- Add a sidebar to the standalone and hub windows (#1045250) (duffy) +- Allow specifying an environment in the kickstart file (#1050994). (clumens) - The autopart scheme combo should work for creating partitions manually, too. (clumens) - Related: rhbz#1014671 -- Global screenshot support (mkolman) - Related: rhbz#1025038 - -* Tue Feb 04 2014 Brian C. Lane - 19.31.56-1 -- Add option help text for --image and --dirinstall flags (amulhern) - Resolves: rhbz#1056791 -- Search for service files of all first boot utilities (vpodzime) - Resolves: rhbz#1060698 -- Check RAID10 box for BTRFS (amulhern) - Resolves: rhbz#1021856 -- Remove unused import (amulhern) - Related: rhbz#1022497 -- Change the string used to test for serial console (dmarlin) - Resolves: rhbz#1054951 - -* Fri Jan 31 2014 Brian C. Lane - 19.31.55-1 -- Fix iscsi target selection checkbox in GUI (rvykydal) - Resolves: rhbz#1058653 -- Don't Require NetworkManager-config-server (rvykydal) - Resolves: rhbz#1012511 - Related: rhbz#1012511 -- Set progress bar to 100 %% in a different way (vpodzime) - Resolves: rhbz#1058755 -- Do not add step for realmd if we are not gonna run it (vpodzime) - Related: rhbz#1058755 + +* Tue Feb 04 2014 Brian C. Lane - 21.20-1 +- makebumpver: Any failure should cancel the bump (bcl) +- Add option help text for --image and --dirinstall flags (#1056791) (amulhern) +- Update bumpver to allow Related bugs (bcl) +- Fix up some pylint errors. (clumens) +- If a user has been created, don't allow entering the user spoke (#1058564). + (clumens) +- Tweak passphrase wording a bit. (clumens) +- Tweak the final progress messages to fit on the screen a little better + (#1058463). (clumens) +- Fix iscsi target selection checkbox in GUI (#1058653) (rvykydal) +- network ks: allow setting only hostname with network command (#1051564) + (rvykydal) +- fcoe: add fcoe=: to boot options for nics added manually (#1040215) + (rvykydal) +- network GUI: ignore fcoe vlan devices (#1051268) (rvykydal) +- Use an unused variable. (dshea) +- Ignore an unused function warning on isys_init (dshea) +- Remove unused isys files. (dshea) +- Fix the handling of realloc failures. (dshea) +- Run cppcheck on the C source files. (dshea) +- Check RAID10 box for BTRFS (#1021856) (amulhern) - Make sure directory for DD extraction exists (vpodzime) - Related: rhbz#1016004 -- Removed unused variable (amulhern) - Resolves: rhbz#982164 - Related: rhbz#982164 -- Handle --image arguments more thoroughly (amulhern) - Resolves: rhbz#982164 +- Handle --image arguments more thoroughly (#982164,#994488) (amulhern) +- Remove the border from the custom part notebook. (clumens) - Style the Done button to make it more noticable (mizmo). (clumens) - Related: rhbz#1045250 -- Display free space remaining in containers (clumens). - Resolves: rhbz#1035832 -- If a root password is set, don't show the spoke (clumens). - Resolves: rhbz#1041405 +- Change the string used to test for serial console (#1054951) (dmarlin) -* Tue Jan 28 2014 Brian C. Lane - 19.31.54-1 -- Set an upper limit on uids and gids. (dshea) - Resolves: rhbz#1053103 -- Change the reclaim space button rules (bcl) - Resolves: rhbz#980496 - Related: rhbz#980496 -- Check the validity of generated usernames in TUI (dshea) - Resolves: rhbz#1058634 -- Allow capital letters in usernames (dshea) - Resolves: rhbz#1058638 -- Display custom part warnings/errors on the spoke itself (clumens). - Resolves: rhbz#975840 -- Use integer numbers of megabytes in the Reclaim dialog (vpodzime) - Resolves: rhbz#1034232 +* Tue Jan 28 2014 Brian C. Lane - 21.19-1 +- Change the reclaim space button rules (#980496) (bcl) +- Revert "Fix up username checking regex a bit." (dshea) +- Fix a pylint-caught problem from my previous cherry-pick. (clumens) +- Give priority to IPv4 addresses when showing VNC & SSH IP (#1056420) + (mkolman) +- Display custom part warnings/errors on the spoke itself (#975840). (clumens) +- Fix listing threads that caused an error (vpodzime) +- Do not add errors item for thread in advance (vpodzime) +- Log exceptions before running exception handling (vpodzime) +- Fix kickstart 'updates' command (#1056727) (wwoods) +- Fix exitHandler loop deactivation (bcl) +- Show hidden disk images (#1034996) (bcl) - Fix pylint errors (dshea) - Related: rhbz#1021506 -- Move the Quit button to the right and make it consistently sized (clumens). - Resolves: rhbz#1038802 -- Change the product name we key off (clumens). - Resolves: rhbz#1055019 -- Don't include zero sized disks in the custom part UI either (clumens). - Resolves: rhbz#903131 -- "Delete All" on the reclaim dialog should not delete hdiso source (clumens). - Resolves: rhbz#980496 -- Add a scrollbar to the error dialog (clumens). - Resolves: rhbz#1021506 -- Don't show the language twice for keyboard layouts. (dshea) - Resolves: rhbz#1021849 - -* Fri Jan 24 2014 Brian C. Lane - 19.31.53-1 -- Put Xorg on tty6 in accordance with Ancient Anaconda Tradition (wwoods) - Resolves: rhbz#980062 -- handle "ks=cdrom[:]" on systems with multiple CDs (wwoods) - Resolves: rhbz#1049237 -- Fix page logic in driver selection (bcl) - Resolves: rhbz#1055333 +- Provide a maximum width to the betanag dialog. (clumens) +- Don't include zero sized disks in the custom part UI either (#903131). + (clumens) +- Move the Quit button to the right and make it consistently sized (#1038802). + (clumens) +- "Delete All" on the reclaim dialog should not delete hdiso source (#980496). + (clumens) +- Add a scrollbar to the error dialog (#1021506). (clumens) +- Change the product name we key off (#1055019). (clumens) +- Another dracut pylint change. (dshea) +- Fix page logic in driver selection (#1055333) (bcl) +- Give users way to select DD ISO interactively (#1036765) (vpodzime) +- Make network-fetched driver disk .iso files work (#1003595) (vpodzime) +- Disable pylint messages too annoying to deal with. (dshea) +- Fix unused variable warnings (dshea) +- Remove unused imports (dshea) +- Specify string format arguments as logging function parameters (dshea) +- Remove the raidstart and raidstop commands (dshea) +- Expand the reach of pylint (dshea) +- Put Xorg on tty6 in accordance with Ancient Anaconda Tradition (#980062) + (wwoods) +- Fix the handling of kickstart NFS repos with options (#1045528) (dshea) +- Skip empty layout-variant specifications when setting layouts (#1057442) + (vpodzime) + +* Thu Jan 23 2014 Brian C. Lane - 21.18-1 +- Use validate_label to check whether label should be updated (#1038590) + (amulhern) +- Always reject label if the format exists (#1038590) (amulhern) +- Make label field always sensitive (#1038590) (amulhern) +- Save module list after initial module load (#1050352) (bcl) +- Require gtk3 and glib2 documentation to build (dshea) +- Rename get_widgets_datadir to anaconda_get_widgets_datadir. (dshea) +- Include the annotation-glossary (dshea) +- Set device.format.label field close to where we read it (#1056139) (amulhern) +- Install the rpmrc file to the initrd.img (#1016004) (vpodzime) +- Give users hint about VNC password restrictions (#1053546) (vpodzime) +- Be more liberal in what is accepted as a size unit. (dshea) +- Remove en_spec parameters from blivet.size.Size. (dshea) + +* Tue Jan 21 2014 Brian C. Lane - 21.17-1 +- Test for DataHolder Class (#1034427) (bcl) +- Use DataHolder for TUI nfs data (#1034427) (bcl) +- Add DataHolder class (#1034427) (bcl) +- Handle inst.{gpt,dnf,extlinux} using cmdline.getbool() (wwoods) +- Drop unreferenced 'useIPv[46]' flag (wwoods) +- Don't force shell on tty2 (#980062) (wwoods) +- add comment about boot-options.txt (wwoods) +- Add support for getting stage2 image from boot.iso (#1035514) (mkolman) +- Various changes to handling of filesystem label setting (#1038590) (amulhern) +- Fix translation context on the storage options dialogs. (clumens) - Fix problems going into custom partitioning with the new work flow. (clumens) - Related: rhbz#1014671 -- Allow going to the reclaim dialog even for autopart (clumens). - Resolves: rhbz#1014671 -- Add the autopart type combo to custom storage (clumens). - Resolves: rhbz#1014671 -- Tweak DiskOverview spacing a little bit (clumens). - Resolves: rhbz#1014671 -- Add custom part and encryption buttons to the main storage spoke (clumens). - Resolves: rhbz#1014671 -- Remove the existing install_options1 dialog, rename the others (clumens). - Resolves: rhbz#1014671 -- Extend the timeout period to 180s in the case of cmdline error. +- Don't show actions next to free space lines in the reclaim dialog (#1054208). + (clumens) +- If there's a label in the ISO device combo, put it on a new line (#1031727). + (clumens) +- Make the device name in a MountpointSelector less wide (#1048583). (clumens) +- If a root password is set, don't show the spoke (#910355, #1041405). + (clumens) +- Check for certain disk attrs before trying to access them. (#1053055) (sbueno+anaconda) - Resolves: rhbz#1034773 - -* Thu Jan 23 2014 Brian C. Lane - 19.31.52-1 -- Only eject CDROM devices we're actually using (wwoods) - Resolves: rhbz#966495 -- Use validate_label to check whether label should be updated (mulhern) - Related: rhbz#1038590 -- Always reject label if the format exists (mulhern) - Related: rhbz#1038590 -- Make label field always sensitive (mulhern) - Related: rhbz#1038590 -- Give users way to select DD ISO interactively (vpodzime) - Resolves: rhbz#1036765 -- Save module list after initial module load (bcl) - Resolves: rhbz#1050352 - -* Wed Jan 22 2014 Brian C. Lane - 19.31.51-1 -- fcoe: add fcoe=: to boot options for nics added manually (rvykydal) - Resolves: rhbz#1040215 -- Be more liberal in what is accepted as a size unit. (dshea) - Resolves: rhbz#1039485 -- Set device.format.label field close to where we read it (amulhern) - Resolves: rhbz#1056139 -- network: set ONBOOT=yes for iface used during DVD (hd:) installation - (rvykydal) - Resolves: rhbz#1052898 -- Fix tb due to non-existant disk attr. (sbueno+anaconda) - Resolves: rhbz#1056019 - Resolves: rhbz#1054746 -- Install the rpmrc file to the initrd.img (vpodzime) - Resolves: rhbz#1016004 -- Give users hint about VNC password restrictions (vpodzime) - Resolves: rhbz#1053546 -- Unlock encrypted partitions before finding installations (vpodzime) - Resolves: rhbz#1043783 - -* Mon Jan 20 2014 Brian C. Lane - 19.31.50-1 -- Use DataHolder for TUI nfs data (bcl) - Resolves: rhbz#1034427 -- Add DataHolder class (bcl) - Related: rhbz#1034427 - Resolves: rhbz#1034427 -- Various changes to handling of filesystem label setting (mulhern) - Related: rhbz#1038590 -- Don't show actions next to free space lines in the reclaim dialog (clumens). - Resolves: rhbz#1054208 -- If there's a label in the ISO device combo, put it on a new line (clumens). - Resolves: rhbz#1031727 -- network: don't activate default auto connections after switchroot (rvykydal) - Resolves: rhbz#1012511 -- network ks: allow setting only hostname with network command (rvykydal) - Resolves: rhbz#1051564 - -* Fri Jan 17 2014 Brian C. Lane - 19.31.49-1 -- Show labels on Add zFCP dialog. (sbueno+anaconda) - Resolves: rhbz#1054675 -- Check for certain disk attrs before trying to access them. (sbueno+anaconda) - Resolves: rhbz#1053055 -- Change the name of the system z devices panel. (sbueno+anaconda) - Related: rhbz#1024949 - Resolves: rhbz#1024949 -- Fix selector device matching for unallocated partitions. (dlehman) - Resolves: rhbz#1044523 -- Grow the spoke gradient image to fit the nav_area (clumens). - Resolves: rhbz#1035772 -- Remove the UID and GID maximums. (dshea) - Resolves: rhbz#1053103 - -* Thu Jan 16 2014 Brian C. Lane - 19.31.48-1 +- Use gtk_get_locale_direction. (dshea) +- Always run efibootmgr from ROOT_PATH (bcl) +- A class for scheduling Gtk actions and running them all at once (vpodzime) +- Remove some leftover float conversions. (dshea) +- Use uint64 for the resize target size. (dshea) - Return program output as a string instead of a list (dshea) - Resolves: rhbz#1054142 - -* Thu Jan 16 2014 Vratislav Podzimek - 19.31.47-1 -- Fix closest mirror showing up when it shouldn't (mkolman) - Resolves: rhbz#1031663 -- There is no raid module on rhel7-branch (vpodzime) - Related: rhbz#1052446 -- Skip empty layout-variant specifications when setting layouts (vpodzime) - Resolves: rhbz#1054083 -- Add left and right margins to the Progress hub (vpodzime) - Resolves: rhbz#1039556 -- Disallow /boot on btrfs subvolume until grubby supports it. (dlehman) - Resolves: rhbz#1052446 -- Decode potentially 8-bit strings in TUI windows (dshea) - Resolves: rhbz#1046836 -- Do not translate strings defined at the module or class level. (clumens) - Related: rhbz#1046836 -- Require package for proper reporting to RHEL bugzilla (vpodzime) - Related: rhbz#1015093 - -* Tue Jan 14 2014 Brian C. Lane - 19.31.46-1 -- Fix typo (bcl) - Resolves: rhbz#1032066 - -* Tue Jan 14 2014 Brian C. Lane - 19.31.45-1 -- Get rid of the clear button in advanced storage spoke. (sbueno+anaconda) - Related: rhbz#1024949 - Resolves: rhbz#1024949 -- Fix failure to search by LUN in advanced storage spoke. (sbueno+anaconda) - Resolves: rhbz#1026822 -- Fix up the z Panel in advanced storage. (sbueno+anaconda) - Resolves: rhbz#1024949 -- Add support for adding zFCP devices in the GUI (sbueno+anaconda) - Resolves: rhbz#994423 -- Clean up rebase artifacts from previous commit. (dlehman) - Related: rhbz#1029630 -- Fix minimal install selection with incomplete kickstart (mkolman) - Resolves: rhbz#1032066 -- Disallow /boot on lvm until grub2 fully supports it. (dlehman) - Resolves: rhbz#967880 -- Handle cancelation of device resize in the custom spoke. (dlehman) - Resolves: rhbz#1029630 -- Handle non-leaf btrfs volumes with mountpoints. (dlehman) - Resolves: rhbz#1026210 -- Make sure to actually set the autopart flag when needed. (dlehman) - Resolves: rhbz#1023584 -- Make sure upper and lower bounds for resize are applied. (dlehman) - Resolves: rhbz#1023190 -- Disregard raid level combo when it isn't applicable. (dlehman) - Resolves: rhbz#1020370 -- Make the clear icon functional in language spoke. (sbueno+anaconda) - Resolves: rhbz#1051609 -- Remove the reference to "anaconda" in reIPL. (sbueno+anaconda) - Resolves: rhbz#1052167 -- Fix traceback on s390x bootloader install. (sbueno+anaconda) - Resolves: rhbz#1052167 -- Additional completion checks in network spoke. (sbueno+anaconda) - Resolves: rhbz#1044571 -- Fix interactive partitioning with incomplete kickstart (mkolman) - Resolves: rhbz#1032124 - -* Mon Jan 13 2014 Brian C. Lane - 19.31.44-1 +- Implement and use a function for one-off running Gtk actions (vpodzime) - Be more defensive when getting layouts and their variants (vpodzime) - Related: rhbz#1024774 - Implement and use functions for conversion between keymaps and layouts (vpodzime) - Related: rhbz#1024774 -- Provide our own sorting functions for regions and timezones (vpodzime) - Resolves: rhbz#1025029 -- Translate timezones in GUI (vpodzime) - Resolves: rhbz#1015209 -- Make layout and switching options description translated (vpodzime) - Resolves: rhbz#1015209 -- Update dumping of network info for new nmcli interface (rvykydal) - Resolves: rhbz#1048166 -- network: do not crash when device for network --device is not found - (rvykydal) - Resolves: rhbz#1023829 -- network GUI: don't crash when wifi is activated in standalone spoke - (rvykydal) - Resolves: rhbz#1046138 -- network GUI: ignore fcoe vlan devices (rvykydal) - Resolves: rhbz#1051268 - -* Fri Jan 10 2014 Brian C. Lane - 19.31.43-1 -- Fix the release notes image cycler. (dshea) - Resolves: rhbz#1049967 -- Error gracefully if we have a question in cmdline mode. (sbueno+anaconda) - Resolves: rhbz#869731 +- Fix reset of existing device to its original size. (dlehman) +- Don't disable checks for global at the module level. (dshea) +- Clean up the pylint-false-positives. (dshea) +- Remove pylint comments that are no longer necessary (dshea) +- Allow pylint-false-positives to end with a newline (dshea) +- Change storage widget visibility based on disks selected. (clumens) +- Rename widgets in the two remaining options dialogs. (clumens) +- Allow going to the reclaim dialog even for autopart (#1014671). (clumens) +- Add the autopart type combo to custom storage (#1014671). (clumens) +- Tweak DiskOverview spacing a little bit (#1014671). (clumens) +- Add custom part and encryption buttons to the main storage spoke (#1014671). + (clumens) +- Remove the existing install_options1 dialog, rename the others (#1014671). + (clumens) +- Grow the spoke gradient image to fit the nav_area (#1035772). (clumens) +- Additional completion checks in network spoke. (#1044571) (sbueno+anaconda) +- Fix problems reported by pylint (dshea) +- Decode potentially 8-bit strings in TUI windows (dshea) + +* Fri Jan 10 2014 Brian C. Lane - 21.16-1 +- Use blivet.size.Size for all size quantities. (dlehman) +- make anaconda-shell (wwoods) +- handle "ks=cdrom[:]" on systems with multiple CDs (#1049237) (wwoods) +- dracut: add when_any_cdrom_appears for cdrom autoprobe (wwoods) +- dracut: minor shell cleanup (wwoods) +- fix inst.noshell (#807703) (wwoods) +- Error gracefully if we have a question in cmdline mode. (#869731) + (sbueno+anaconda) - Verify that designated label can be set (#1038590) (amulhern) - Related: rhbz#1038590 - Do not change sensitivity of label field (#1038590) (amulhern) - Related: rhbz#1038590 -- Also update POTFILES.in for the new category name (clumens). - Resolves: rhbz#1050053 -- Rename network spoke header (mkolman). - Resolves: rhbz#1050053 -- Rename the network config spoke a little bit (clumens). - Resolves: rhbz#1050053 -- Consolidate storage and networking under one category (clumens). - Resolves: rhbz#1050053 -- Fix bool parsing of boot options with inst. prefix (mkolman) - Resolves: rhbz#1044391 -- Treat the output of vncpasswd as binary data, since it is (dshea) - Resolves: rhbz#1045162 +- Make the clear icon functional in language spoke. (sbueno+anaconda) +- Fix the translated pango markup check (dshea) +- Remove iutil.strip_markup. (dshea) +- Pass additional command-line arguments to pylint (dshea) +- Fix and ignore markup warnings where appropriate (dshea) +- Check that the Pango markup in glade files is valid (dshea) +- Added a pylint module to check pango markup. (dshea) +- Split the po-based translation code into a separate file. (dshea) +- Fix bool parsing of boot options with inst. prefix (#1044391) (mkolman) +- Use vc_keymap as X layout only if we get nothing from localed (#1048592) + (vpodzime) +- Warn user if entering LUKS password with non-ASCII characters (#1039168) + (vpodzime) +- Add back some erroneously removed set_use_underline calls (dshea) +- Only show the "DATA" heading if there are data mount points under it. + (clumens) +- Don't allow the advanced user dialog to be saved with errors (dshea) +- Move the add_check stuff into helper classes. (dshea) +- Remove the UID and GID maximums. (#978846) (dshea) +- Fix an invalid mnemonic widget reference in passphrase entry (dshea) +- Added checks for some potential issues in glade files (dshea) +- Remove scrot dependency for global screenshot support (mkolman) +- Fix mnemonic widget reference id (vpodzime) + +* Tue Jan 07 2014 Brian C. Lane - 21.15-1 +- Use the new Gtk.ListBox for displaying environments and addons (#1039683). + (clumens) +- Display additional disk attributes in TUI storage spoke. (#1024760) + (sbueno+anaconda) +- Fix 'select all disks' logic in TUI storage spoke. (sbueno+anaconda) +- Ignore the compile script (dshea) +- network GUI: don't crash when wifi is activated in standalone spoke + (#1046138) (rvykydal) +- Use the right test for there being any storage actions. (clumens) +- Only display the actions summary dialog if there are any actions (#1030511). + (clumens) +- Do not support kickstart+live installs (#1027160). (clumens) +- We no longer directly use libnl (#1034830). (clumens) +- Remove _transactionErrors from yumpayload.py. (clumens) +- Move xhost handling to the xinit script (#1045280) (dshea) +- Check for ready before baseRepo in completed (#1044985) (bcl) +- Treat the output of vncpasswd as binary data, since it is (#1045119) (dshea) - Add iutil.exec* options for handling binary data (dshea) - Related: rhbz#1045162 -- Do not allow 'root' as a user name (vpodzime) - Resolves: rhbz#1032671 -- Add Shell spoke to s390x installations (vpodzime) - Resolves: rhbz#1019248 -- Put TUI spokes in common categories (vpodzime) - Related: rhbz#1019248 - -* Tue Jan 07 2014 Brian C. Lane - 19.31.42-1 -- Display additional disk attributes in TUI storage spoke. (sbueno+anaconda) - Resolves: rhbz#1024760 -- network GUI: fix typo making device adding fail silently (rvykydal) - Resolves: rhbz#1047799 -- network GUI: fix porting thinko in log msg causing traceback on Configure - (rvykydal) - Resolves: rhbz#1047941 -- Only display the actions summary dialog if there are any actions (clumens). - Resolves: rhbz#1030511 - -* Fri Dec 20 2013 Brian C. Lane - 19.31.41-1 -- Check for ready before baseRepo in completed (bcl) - Resolves: rhbz#1044985 - Print a message and exit if a user attempts to upgrade via kickstart. (dshea) - Resolves: rhbz#1036756 -- Don't show the language twice for keyboard layouts (dshea) - Resolves: rhbz#1021849 -- If there are incomplete spokes, let the user know which (clumens). - Resolves: rhbz#1032801 -- network: GUI, don't ask for wifi secrets upon Configure (rvykydal) - Resolves: rhbz#1033073 -- network: GUI, add support for virtual devices removing (rvykydal) - Resolves: rhbz#1030870 -- network: fix naming of slave ifcfg files from kickstart (rvykydal) - Related: rhbz#1036047 - Resolves: rhbz#1036047 -- network: GUI, handle virtual devices (bond, vlan, team) properly (rvykydal) - Resolves: rhbz#1036047 -- network: call GDBus proxy methods like python (rvykydal) - Related: rhbz#1036047 - Resolves: rhbz#1036047 -- network: add team support for kickstart %%pre phase (rvykydal) - Resolves: rhbz#1003591 -- network: generate kickstart commands for team devices (rvykydal) - Resolves: rhbz#1003591 -- network: support for adding team devices (rvykydal) - Resolves: rhbz#1003591 -- network: display team devices in status (rvykydal) - Resolves: rhbz#1003591 -- network: add team support to kickstart (rvykydal) - Resolves: rhbz#1003591 -- Accept only .iso files from the IsoChooser dialog (vpodzime) - Resolves: rhbz#1015169 -- Fix a typo (rvykydal) - Related: rhbz#1039223 - Resolves: rhbz#1039223 - -* Tue Dec 17 2013 Brian C. Lane - 19.31.40-1 -- Add initial 64-bit ARM aarch64 EFI support (dmarlin) - Resolves: rhbz#1034428 -- Don't wait for systemctl shutdown command to exit (bcl) - Resolves: rhbz#994188 -- Fix default device for ks=cdrom (bcl) - Resolves: rhbz#1042500 -- Fix geolocation on live installs (mkolman) - Resolves: rhbz#1032735 -- Use ExceptionInfo namedtuple when dumping anaconda (vpodzime) - Resolves: rhbz#983787 -- Catch OSError if there are problems running authconfig. (sbueno+anaconda) - Resolves: rhbz#994674 -- Move atexit registration before running rescue mode (vpodzime) - Resolves: rhbz#1042722 -- Set environment variables in anaconda systemd shell file (amulhern) - Resolves: rhbz#1023913 -- Don't allow bootloader and /boot on iSCSI on s390 (vpodzime) - Resolves: rhbz#1034222 -- Remove enablement of whiteout/blackout plugins and adapt requires (notting) - Resolves: rhbz#1040530 - -* Mon Dec 16 2013 Brian C. Lane - 19.31.39-1 -- use deepcopy on ksdata method (bcl) - Resolves: rhbz#1024509 -- Update source on errors (bcl) - Resolves: rhbz#1030997 -- clear errors when metadata is ok in tui source spoke (bcl) - Resolves: rhbz#1034420 -- Generate missing machine-id (bcl) - Resolves: rhbz#1034916 -- fcoe gui: repopulate device tree only if device was actually added (rvykydal) - Related: rhbz#1039223 - Resolves: rhbz#1039223 -- Exclude FCoE disks from local disks (rvykydal) - Related: rhbz#1039223 - Resolves: rhbz#1039223 -- fcoe: repopulate devicetree after adding FCoE SAN (rvykydal) - Resolves: rhbz#1039223 -- createUser is already in a chroot (bcl) - Resolves: rhbz#1038241 -- Hide password characters in iSCSI login fields (vpodzime) - Resolves: rhbz#1034202 -- Do not try to setup None NFS repository (vpodzime) - Resolves: rhbz#1028699 - -* Wed Dec 11 2013 Brian C. Lane - 19.31.38-1 -- Make _yum.preconf setup atomic (bcl) - Resolves: rhbz#882279 -- refactor into _setupInstallDevice (bcl) - Related: rhbz#882279 - Resolves: rhbz#882279 -- Pass biosdevname boot option to installed system (rvykydal) - Resolves: rhbz#1030943 -- network: add s390 options in ifcfgs generated from kickstart (rvykydal) - Resolves: rhbz#1031376 -- Don't require pressing escape twice to kill the media check window (clumens) - Resolves: rhbz#1015173 -- Change source spoke proxy handling to use local copy (bcl) - Resolves: rhbz#1029245 -- clear software environment (bcl) - Resolves: rhbz#1029536 -- Make thread manager operations atomic (mkolman) - Resolves: rhbz#1029898 - -* Thu Dec 05 2013 Brian C. Lane - 19.31.37-1 -- Omit /dev/sr* from list-harddrives (sbueno+anaconda) - Resolves: rhbz#1032500 - -* Thu Nov 21 2013 Brian C. Lane - 19.31.36-1 -- Network protocols don't list Closest mirror first (vpodzime) - Resolves: rhbz#1028697 - -* Mon Nov 18 2013 Brian C. Lane - 19.31.35-1 -- Set spokes' distribution and beta warning only once (vpodzime) - Related: rhbz#1028370 -* Mon Nov 11 2013 Brian C. Lane - 19.31.34-1 -- Don't try to unicode unicode strings (vpodzime) - Resolves: rhbz#1029109 -- Add tmpfs support (mkolman) - Resolves: rhbz#918621 - -* Wed Nov 06 2013 Brian C. Lane - 19.31.33-1 -- Avoid raising an exception if epdb module unavailable (amulhern) - Resolves: rhbz#1026779 -- Display a EULA-related warning on progress hub at end of installation. +* Wed Dec 18 2013 Brian C. Lane - 21.14-1 +- Fix the release notes image cycler. (#1043393) (dshea) +- Do not schedule resize actions for non-resizing requests (#1039491) + (vpodzime) +- Use ceil for minSize in resize dialog (#1040012) (bcl) +- Use integer numbers of megabytes in the Reclaim dialog (#1040012) (vpodzime) +- fcoe gui: repopulate device tree only if device was actually added (#1039223) + (rvykydal) +- Exclude FCoE disks from local disks (#1039223) (rvykydal) +- fcoe: repopulate devicetree after adding FCoE SAN (#1039223) (rvykydal) +- Add initial 64-bit ARM aarch64 EFI support (#1034428) (dmarlin) +- Rename network spoke header (mkolman) +- Show the Shell spoke in debug mode (vpodzime) +- Accept only .iso files from the IsoChooser dialog (#1015169) (vpodzime) +- Just run the IsoChooser dialog lightbox (vpodzime) +- Use libxklavier's new methods instead of our nasty hack (vpodzime) +- Move atexit registration before running rescue mode (#1038855) (vpodzime) +- Only display the addon separator if there's a reason to. (clumens) +- Stop using deprecated gtk margin functions. (clumens) +- Fix the check_accelerators srcdir path. (dshea) +- Show msg in TUI if user attempts to create invalid username. (#965561) (sbueno+anaconda) - Resolves: rhbz#909309 - Related: rhbz#909309 -- Show last 4 bytes of wwid (jstodola) - Resolves: rhbz#1024966 -- Display a EULA-related warning on the progress hub at the end of installation. (clumens) - Related: rhbz#909309 -- Handle focus changes of MountpointSelectors from outside (vpodzime) - Resolves: rhbz#975838 -- Make network-fetched driver disk .iso files work (vpodzime) - Resolves: rhbz#1003595 -- Updates to boot-options.txt document (amulhern) - Related: rhbz#1026385 - Resolves: rhbz#1026385 -- No longer install anaconda user documentation (amulhern) - Resolves: rhbz#1026385 - -* Fri Nov 01 2013 Brian C. Lane - 19.31.32-1 -- Send the continue click after the queue is empty (bcl) - Resolves: rhbz#1025346 -- Fix kickstart block device resolution. (dlehman) - Resolves: rhbz#1025508 +- Fix up username checking regex a bit. (sbueno+anaconda) +- Fix default device for ks=cdrom (#1042500) (bcl) +- createUser is already in a chroot (#1038241) (bcl) +- Skip checks on files that are not staged for commit. (dshea) +- Allow catching exceptions from threads (vpodzime) +- Enable warnings about abstract methods not overridden (dshea) +- Provide empty methods to override abstract parent methods. (dshea) +- Implement status in StandaloneSpoke. (dshea) +- Move a bunch of abstract methods from Payload to PackagePayload (dshea) +- Remove some methods from packaging.Payload. (dshea) +- Disable abstract method warnings in intermediate abstract classes. (dshea) +- Remove Personalization spoke (dshea) +- Remove some vestigal code from an earlier version of GUICheck (dshea) + +* Thu Dec 12 2013 Brian C. Lane - 21.13-1 +- Refresh environment addons on source change (#1033749) (bcl) +- Fix selector device matching for unallocated partitions. (#1039292) (dlehman) +- Rename the network config spoke a little bit. (clumens) +- Don't encrypt device if container is encrypted (bcl) +- network: add s390 options in ifcfgs generated from kickstart (#1031376) + (rvykydal) +- Remove enablement of whiteout/blackout plugins, and the requires on anaconda- + yum-plugins. (notting) +- Fix checking if we are collecting our module (vpodzime) +- Remove an unnecessary continue statement in the potfiles check (vpodzime) +- Use sys.exit instead of os._exit in the potfiles test (vpodzime) +- List addons in exception report data (vpodzime) +- Make Hub.storage and Spoke.storage a property (dshea) +- Fix the botched helperization of StorageChecker (dshea) +- Disable tmpfs in the GUI (#1039511) (mkolman) +- Don't crash on NTP lookup without network (#1026079) (mkolman) +- Don't rely on Gtk being importable for exception handling (vpodzime) +- Support rnotes in SVG format (#1034407). (clumens) +- Fix a couple warnings from -Werror=format-security (#1036989). (clumens) +- Use abstract base classes for mixins. (dshea) +- Display free space remaining in containers (#1035832). (clumens) +- Make sure url and mirrorlist are not set at once (#1026834) (mkolman) +- if rootfs is btrfs, add rootflags=subvol to kernel parameters (gene) +- add ro to bootloader kernel parameters (gene) +- Added missing entries to POTFILES.in (dshea) +- Add a check that files with translatable strings are in POTFILES.in (dshea) +- Fix the handling of renames in the pylint git hook. (dshea) +- Remove startup-id from AnacondaBaseWindow. (dshea) + +* Wed Dec 04 2013 Brian C. Lane - 21.12-1 +- Handle cancelation of device resize in the custom spoke. (#1027947) (dlehman) +- Disallow /boot on lvm until grub2 fully supports it. (#1036705) (dlehman) +- Disallow /boot on btrfs subvolume until grubby supports it. (#864198) + (dlehman) +- Remove an empty initialize function. (clumens) +- Move PathDict into pyanaconda/ui/__init__.py. (clumens) +- Add one more directory for ignoring test log files (dshea) +- Defer translation of device_type_name (dshea) +- Disable pylint errors about gobject-introspection methods (dshea) +- Remove unused variables (dshea) +- Document the instl.multilib boot option (vpodzime) +- Minor tweak of our driver disk documentation (vpodzime) +- network: GUI, don't ask for wifi secrets upon Configure (#1033073) (rvykydal) +- network: GUI, add support for virtual devices removing (#1030870) (rvykydal) +- network: fix naming of slave ifcfg files from kickstart (#1036047) (rvykydal) +- network: GUI, handle virtual devices (bond, vlan, team) properly (#1036047) + (rvykydal) +- Change how we test if the GUI is available in the anaconda script. (clumens) +- Update boot-options.txt. (amulhern) +- Omit /dev/sr* from list-harddrives (#1032500) (sbueno+anaconda) +- Fix EditTUISpoke to operate only on visible entries (vpodzime) +- Don't try to investigate empty string for unicode chars (#1035799) (vpodzime) +- Fix issues reported by the check_pw_visibility test (vpodzime) +- Add check testing visibility of password entries (vpodzime) +- Put tests of .glade files into a separate directory (vpodzime) +- Save a reference to the imported Xkl module for get_current_layout (dshea) +- Fix the Makefile.am subdirs for widget data. (dshea) +- Fix some pylint warnings. (clumens) +- Switch to libtimezonemap for the timezone map. (dshea) +- Set the _config_dialog property during __init__. (dshea) +- Fix handling of long release ids (mkolman) +- Store older valid packages in separate folder (mkolman) +- Fetch older valid releases (mkolman) +- Import Xkl only when really needed (vpodzime) +- Global screenshot support (#1025038) (mkolman) +- Require new version of python-blivet (vpodzime) +- Hide password characters in iSCSI login fields (#1034202) (vpodzime) +- Use format names instead of types in the resize dialog (vpodzime) +- Do not write out the vconsole.keymap boot option (#1035316) (vpodzime) + +* Wed Nov 27 2013 Brian C. Lane - 21.11-1 +- Use raid RAID level constants instead of mdraid RAID level constants. + (amulhern) +- Use level objects instead of level integer codes. (amulhern) +- clear software environment (#1029536) (bcl) +- Update source on errors (#1030997) (bcl) +- Fix errors in kickstart.py. (dshea) +- Update gettext.txt (dshea) +- Don't allow bootloader and /boot on iSCSI on s390 (#1034222) (vpodzime) +- Round float values coming from the Gtk stack (#1013586) (vpodzime) +- Generate missing machine-id (bcl) +- Fix problems reported by pylint. (dshea) +- Add HDD ISO support for TUI (#1000327) (mkolman) +- Use a directory in build tree for pylint data. (dshea) +- Remove MOSTLYCLEANDIRS from Makefile.am (dshea) +- fixup spec for fedup (bcl) + +* Mon Nov 25 2013 Brian C. Lane - 21.10-1 +- Cleanup anaconda.spec.in (bcl) +- Handle non-leaf btrfs volumes with mountpoints. (#1016959) (dlehman) +- Use en_spec for blivet Size spec strings with constant components. (#1029616) + (dshea) +- The gui and tui subpackages cannot be noarch (vpodzime) +- Cleanup unused and overly complicated stuff in isys (vpodzime) +- DNFPayload: tweak to the API changes in dnf-0.4.8 (ales) +- Don't use cached packages with different release id (mkolman) + +* Fri Nov 22 2013 Brian C. Lane - 21.9-1 +- Add a test for accesses of yum.preconf outside of _resetYum. (clumens) +- Remove base_repo cache (#1011555) (bcl) +- Make _yum.preconf setup atomic (#1028245) (bcl) +- Remove threading from getBaseRepo handling (#1011555) (bcl) +- If there are incomplete spokes, let the user know which (#1032801). (clumens) +- tui: show Processing while source is busy (bcl) +- tui: wait for threads before entering source and software (#1032823) (bcl) +- clear errors when metadata is ok in tui source spoke (#1006570) (bcl) +- Fix parallel pylint in distcheck. (dshea) + +* Wed Nov 20 2013 Brian C. Lane - 21.8-1 +- Fix geolocation on live installs (mkolman) +- Ignore the pylint warning on importing GraphicalUserInterface. (clumens) +- Fall back to text mode if GUI is not available (vpodzime) +- Get rid of unused isys.isCapsLockEnabled function (vpodzime) +- Don't rely on having zenity and require it only for GUI (vpodzime) +- No longer need the Gconf2 package (vpodzime) +- Split out anaconda's user interfaces into separate packages (vpodzime) +- Do not include tzmapdata into the main package (vpodzime) +- Create directories for stubs if they don't exist (vpodzime) +- Do not try to fetch our own packages that will be built (vpodzime) +- Remove the unused flags import from installclass.py. (clumens) +- Fix logging of pylint-one output (bcl) +- Do yum lock logging only with inst.debug or loglevel=debug (vpodzime) +- Don't panic on installclasses failing with inst.debug (vpodzime) + +* Mon Nov 18 2013 Brian C. Lane - 21.7-1 +- Expand the use of ANACONDA_WIDGETS_DATADIR. (dshea) +- Make thread manager operations atomic (#1029898) (mkolman) +- Run pylint in multiple processes (vpodzime) +- Fix how "changed" signal is emitted on the TreeSelection (vpodzime) +- Pass biosdevname boot option to installed system (#1023609) (rvykydal) +- network: update required NetworkManager version (team support) (rvykydal) +- Use timing decorator for more actions (vpodzime) +- Add test for the have_word_match function (vpodzime) +- A nice decorator making Anaconda's GUI more responsive (vpodzime) +- Short-circuit layouts matching (vpodzime) +- Enforce upper bound for resize. (#1027947) (dlehman) +- Fix some pylint problems in network.py. (clumens) +- Add an updates location for the AnacondaWidgets overrides (dshea) +- Fix typo (#1003591) (rvykydal) +- network: call GDBus proxy methods like python (rvykydal) +- network: add team support for kickstart %%pre phase (#1003591) (rvykydal) +- network: generate kickstart commands for team devices (#1003591) (rvykydal) +- network: support for adding team devices (#1003591) (rvykydal) +- network: display team devices in status (#1003591) (rvykydal) +- network: add team support to kickstart (#1003591) (rvykydal) +- Initialize the AddLayouts dialog in advance in the KeyboardSpoke (vpodzime) +- Add function to map functions on items in the main thread (vpodzime) +- Allow having unique thread names with given prefix (vpodzime) +- Remove an unused and non-working leftover function resetResolve (vpodzime) +- Always center dialogs shown on top of lightbox (vpodzime) +- Set spokes' distribution and beta warning only once (vpodzime) +- use deepcopy on ksdata method (#1028243) (bcl) +- Change source spoke proxy handling to use local copy (#967805) (bcl) +- Apply a little tweak to the VNC password length message. (clumens) +- Match layouts with stripped accents in AddLayout dialog (vpodzime) +- Sort layout descriptions properly (#1026238) (vpodzime) +- Make AddLayout dialog persistent (vpodzime) +- Use Sphinx syntax in the iutil module (vpodzime) +- Warn if vnc passwd is longer than 8 chars (hamzy) +- Don't try to unicode unicode strings (#1029109) (vpodzime) +- Add tmpfs support (#918621) (mkolman) +- Added a few things that autoscan complained about (dshea) +- Actually use the config header we generate (dshea) +- Redirect pylint stderr to stdout (dshea) +- Fix the handling of files generated for xgettext (dshea) +- Use gettext to process glade files. (dshea) +- Always use $prefix in directory names. (dshea) +- Pass --enable-gtk-doc to configure in distcheck (dshea) +- Fix the liveinst install/uninstall hooks (dshea) +- Clean up after intltool (dshea) +- Add missing files to dist (dshea) +- DNFPayload: tweak to the API changes in dnf-0.4.7. (ales) +- Add tests for iutil (mkolman) + +* Fri Nov 08 2013 Brian C. Lane - 21.6-1 +- Fix typos in translation functions (dshea) +- Put the cityCompletion back on the list of widgets (vpodzime) +- Do not translate strings defined at the module or class level. (clumens) +- Fix a couple places where we're doing %% inside of _(). (clumens) +- Add a custom pylint module to check i18n problems. (clumens) +- Remove an unused import. (clumens) +- Provide our own sorting functions for regions and timezones (#1025029) + (vpodzime) +- Set locale for our process (vpodzime) +- Translate timezones in GUI (vpodzime) +- network gui: add apply tooltip to Configure button (#1018471) (rvykydal) +- Make dialog return code checking more robust (amulhern) +- Show last 4 bytes of wwid (#1024966) (jstodola) +- Handle focus changes of MountpointSelectors from outside (#975838) (vpodzime) +- network: do not crash when device for network --device is not found + (#1023829) (rvykydal) +- Log continuing from hub if there are no spokes (vpodzime) +- Updates to boot-options.txt document (#1026449) (amulhern) +- No longer install anaconda user documentation (#1026449) (amulhern) + +* Fri Nov 01 2013 Brian C. Lane - 21.5-1 +- Fix spoke sorting issues in text-mode. (#929177) (sbueno+anaconda) +- Send the continue click after the queue is empty (#1025347) (bcl) - No longer use summary screen visit to decide whether bootloader has been - configured (amulhern) - Resolves: rhbz#916529 -- Remove the bootloader line from the interactive kickstart file (amulhern) - Resolves: rhbz#916529 - Related: rhbz#916529 -- Set bootloader default location to mbr in constructor (amulhern) - Resolves: rhbz#916529 -- Add HDD ISO support for TUI (mkolman) - Resolves: rhbz#1000327 - -* Wed Oct 30 2013 Brian C. Lane - 19.31.31-1 -- Update bootDrive info when storage config updated in text-mode. + configured (#1025811) (amulhern) +- Remove the bootloader line from the interactive kickstart file (#1025811) + (amulhern) +- Set bootloader default location to mbr in constructor (#1025811) (amulhern) +- Remove column titles from the software spoke. (dshea) +- Fix the selection of default groups (#1023263) (dshea) +- Use the default yscale for the HubWindow alignment (dshea) +- Fix kickstart block device resolution. (#1022206) (dlehman) +- Specify query territory when getting language native name (vpodzime) +- Get rid of trailing whitespace (vpodzime) +- Export the right classes from the tui.spokes package (vpodzime) +- Define newLayoutStore before it is used by the filter (vpodzime) + +* Wed Oct 30 2013 Brian C. Lane - 21.4-1 +- Fix up a couple more pylint errors. (clumens) +- Add check for Linux HFS+ ESP on Mac (#1010495) (bcl) +- Update bootDrive info when storage config updated in text-mode. (#861018) (sbueno+anaconda) - Resolves: rhbz#861018 -- Ignore SIGINT (amulhern) - Resolves: rhbz#971323 -- Make Software spoke ready even if there is no repo (vpodzime) - Resolves: rhbz#1001054 -- Correctly accept 'sshd' boot arg as alias for 'inst.sshd' (wwoods) - Resolves: rhbz#924157 +- Remove the special handling for en (dshea) +- Ignore SIGINT (#1024822) (amulhern) +- Don't show language twice for keyboard layouts (#1021907) (petersen) +- Make Software spoke ready even if there is no repo (#1010348) (vpodzime) +- Use decorator for methods that invalidate base repo cache (vpodzime) +- Use cache for base repo if possible (vpodzime) +- Make sure to actually set the autopart flag when needed. (#1023554) (dlehman) +- Fix Gtk errors about list store columns (dshea) +- Fix the layout up and down button sensitivies. (dshea) - Fix the Gkbd spec string for layouts with no variant (dshea) - Resolves: rhbz#1011155 +- pylint wants regexes with backslashes to be specified with 'r'. (clumens) +- Add ack flag checking to makebumpver (bcl) +- Correctly accept 'sshd' boot arg as alias for 'inst.sshd' (#924157) (wwoods) +- Only eject CDROM devices we're actually using (#949919) (wwoods) - mem may not exist when it's printed out in these error messages. (clumens) - Related: rhbz#1019322 -- Use devicetree to resolve device specs in kickstart. (dlehman) - Resolves: rhbz#1019322 -- Add bootloader execute before autopart (bcl) - Resolves: rhbz#1022418 -- BootLoaderError should not reset storage (bcl) - Resolves: rhbz#1022418 - Related: rhbz#1022418 -- Mountpoint is an attr of the format, not the device. (dlehman) - Resolves: rhbz#1019510 + +* Fri Oct 25 2013 Brian C. Lane - 21.3-1 +- Reset _proxyChange when a change is triggered (bcl) +- Setup No Update checkbox correctly (#1016801) (bcl) +- Fall back to closest mirror in source (#1016801) (bcl) +- anaconda-dracut: fix ks failure with hd::some/path.ks (wwoods) +- Make sure lower bound for resize is applied. (#986575) (dlehman) +- Use devicetree to resolve device specs in kickstart. (#1022206) (dlehman) +- Disregard raid level combo when it isn't applicable. (#1022203) (dlehman) +- Mountpoint is an attr of the format, not the device. (#892747) (dlehman) +- Add bootloader execute before autopart (#1021258) (bcl) - Do error checking of repository names on "Installation Source" screen. (amulhern) - Resolves: rhbz#1020991 +- Avoid configure-event loops. (#1021511) (dshea) -* Wed Oct 23 2013 Brian C. Lane - 19.31.30-1 -- Turn spinner back on for configuration (bcl) - Related: rhbz#1019970 - Resolves: rhbz#1019970 -- Correctly generate rescue initrd (bcl) - Related: rhbz#1019970 - Resolves: rhbz#1019970 -- Always regenerate initramfs (bcl) - Resolves: rhbz#1019970 -- remove signal disconnect (bcl) - Resolves: rhbz#996899 +* Wed Oct 23 2013 Brian C. Lane - 21.2-1 +- remove signal disconnect (#996899) (bcl) +- Re-saved every glade file with glade-3.16.0 (dshea) +- Fix pylint errors in network.py. (clumens) - Always use decimal notation for Size specs (dshea) - Resolves: rhbz#999440 -- network kickstart: add support for devices configured in %%pre (rvykydal) - Resolves: rhbz#1019796 -- network gui spoke: use GDBus to obtain list of settings (rvykydal) - Resolves: rhbz#1019775 -- network: remove function we don't need anymore (rvykydal) - Resolves: rhbz#1019775 - Related: rhbz#1019775 +- network kickstart: add support for devices configured in %%pre (#1019796) + (rvykydal) - network gui: make Configure button insensitive when no ap is selected + (#1015212) (rvykydal) +- Encode possible unicode objects before calling str() on them (vpodzime) +- Fix a typo in function documentation (vpodzime) +- Use more general status for installations from media (#1017703) (vpodzime) + +* Mon Oct 21 2013 Brian C. Lane - 21.1-1 +- Adds additional debug logging to yumpayload.py. (amulhern) +- Handle invalid JSON in geoloc (#1021410) (dshea) +- Revert "Only prompt for LUKS password if the user has chosen to configure + automatically." (amulhern) +- Add context support to check_accelerators (dshea) +- Added translation contexts to the TUI. (dshea) +- Added translation contexts to the GUI. (dshea) +- Add support for context-based translations (dshea) +- Reset checks on both password fields. (#1020580) (dshea) +- Fix swaps added to fstab for noformat (gene) +- Don't update hub's continue button and label for every spoke (#1020373) + (vpodzime) +- Add storage tests. (clumens) +- Add option to select all hard drives in text mode. (#965580) + (sbueno+anaconda) +- BootLoaderError should not reset storage (#1019541) (bcl) +- Only prompt for LUKS password if the user has chosen to configure + automatically. (amulhern) +- Remove an unused string (dshea) +- Translate AM and PM (dshea) +- Translate strings marked as translatable (dshea) +- network gui spoke: use GDBus to obtain list of settings (#1018467) (rvykydal) +- network: look for device settings also based on DEVICE value (#1017788) (rvykydal) - Resolves: rhbz#1015212 -- Use a temporary directory for verifying ISO media (dshea) - Related: rhbz#1017648 -- Skip devices not controllable by blivet (dshea) - Resolves: rhbz#1017648 -- Use more general status for installations from media (vpodzime) - Resolves: rhbz#1017703 - -* Mon Oct 21 2013 Brian C. Lane - 19.31.29-1 -- Use Unicode in the TUI buffer strings (dshea) - Resolves: rhbz#1002462 -- Don't ask to start vnc if user specifies text mode. (sbueno+anaconda) - Resolves: rhbz#959119 -- Do not accept changes if the user presses Esc on summary screen. - Resolves: rhbz#998384 - -* Thu Oct 17 2013 Brian C. Lane - 19.31.28-1 -- Fix liveinst to work with livemedia-creator (bcl) - Resolves: rhbz#1009711 -- Fix initramfs generation for disk image installations. (dlehman) - Resolves: rhbz#1018925 -- Save mountpoints specified for existing btrfs volumes. (dlehman) - Resolves: rhbz#1019510 -- Add a command line option for disabling friendly multipath names. (dlehman) - Resolves: rhbz#977815 -- Keyboard variant names may contain dashes (vpodzime) - Resolves: rhbz#1017556 -- swap devices should be under the System portion (clumens). - Resolves: rhbz#1017838 -- Don't try to configure a bootloader for s390 disk image installs. (dlehman) - Resolves: rhbz#994521 -- Install bootloader to loop device in disk image installations. (dlehman) - Resolves: rhbz#955202 -- network: look for device settings also based on DEVICE value (rvykydal) - Resolves: rhbz#1017788 - -* Fri Oct 11 2013 Brian C. Lane - 19.31.27-1 +- Fix liveinst to work with livemedia-creator (#1009711) (bcl) +- Remove the button-label property on SpokeWindow. (clumens) +- Log entering/exiting spokes and hubs in the GUI. (clumens) +- Escape text inserted into markup strings (dshea) +- Move markup out of translatable strings (dshea) +- Move formating markup out of python where possible (dshea) +- Use explicit children to set label attributes (dshea) +- Turn on the image on the "Add a disk..." button. (dshea) + +* Wed Oct 16 2013 Brian C. Lane - 20.26-1 +- Install bootloader to loop device in disk image installations. (#1019502) + (dlehman) +- Don't try to configure a bootloader for s390 disk image installs. (#1019502) + (dlehman) +- Fix initramfs generation for disk image installations. (#1019502) (dlehman) +- Save mountpoints specified for existing btrfs volumes. (#892747) (dlehman) +- Add a command line option for disabling friendly multipath names. (#977815) + (dlehman) +- Remove en (dshea) +- "Fix" the zSeries device filter "label" (dshea) +- Replace placeholders with the strings from python (dshea) +- Add and fix keyboard accelerators (dshea) +- Check for labels with use_underline and no accelerator (dshea) +- Support checking the translation of plural strings (dshea) +- Specify a node id in check_accelerator exceptions (dshea) +- BTRFS cannot hold swap, no need to care about fstab swaps (vpodzime) +- Add ANACONDA_INSTALL_CLASSES to testenv.sh. (clumens) +- Put a version on the DNF requirement. (clumens) +- Revert "For now, ignore checking dnfpayload.py with pylint." (clumens) +- Fix the alignment of the Network Time switch (#1019301) (dshea) +- Tell blivet which swaps should appear in the fstab (#1011391) (vpodzime) +- Put only newly created or reformated swaps to the new root (vpodzime) +- Make code to get new devices reusable as property (vpodzime) +- Grab journal only from the last boot (vpodzime) +- DNFPayload: allow enable/disable calls for repos that do not exist. (ales) +- Add shell spoke to s390x installations (vpodzime) +- Put TUI spokes in common categories (vpodzime) +- MountpointSelector is a widget, set its property properly (#1013612) + (vpodzime) +- Include the journal log on installed system (bcl) +- DNFPayload: error handling and logging cleanups. (ales) +- DNFPayload: reset the transaction goal on new package selection check. (ales) +- DNFPayload: implement environmentGroups() (ales) +- Some partition scheme is always selected (#1017435) (vpodzime) + +* Fri Oct 11 2013 Brian C. Lane - 20.25-1 +- Don't use g_object_set on initialized objects. (dshea) +- Remove the "other" tab in the network spoke. (dshea) +- Fix duplicated id in custom.glade (dshea) +- Correctly generate rescue initrd (#1013087) (bcl) - Refresh swap suggestion once we know which disks to use (vpodzime) - Related: rhbz#1016673 -- fix luksformat references (bcl) - Resolves: rhbz#1014493 -- kickstart: check for correct format (bcl) - Resolves: rhbz#1014545 +- Initialize the kickstart install method (#1017614) (dshea) +- Use correct format for raise in kickstart.py (bcl) +- Add install-requires target to the Anaconda makefile (mkolman) +- fix luksformat references (#1014493) (bcl) +- kickstart: check for correct format (#1014545) (bcl) +- Add checks for unexpanded macros. (dshea) - UIScreen doesn't necessarily have the ready property (vpodzime) - Related: rhbz#1000409 - Print long widgets in a nice way (vpodzime) - Related: rhbz#1000409 -- Take into account disk space when calculating swap suggestion (vpodzime) - Resolves: rhbz#1016673 - -* Wed Oct 09 2013 Brian C. Lane - 19.31.26-1 -- Clear bootDisk and bootloader stage info on errors (bcl) - Resolves: rhbz#1013482 -- Catch BootLoaderError when setting up bootloader (bcl) - Resolves: rhbz#1013474 - -* Wed Oct 09 2013 Vratislav Podzimek - 19.31.25-1 -- Clean up some rpmdiff errors (bcl) - Resolves: rhbz#1012624 -* Tue Oct 08 2013 Brian C. Lane - 19.31.24-1 -- Pass layout and variant in specific format to Gkbd (vpodzime) - Resolves: rhbz#1011155 -- Return switching options with the same order as shown (vpodzime) - Resolves: rhbz#1011130 -- Make the keyboard layout preview dialog bigger (vpodzime) - Resolves: rhbz#1011140 -- Make Keyboard spoke's status consistent with other statuses (vpodzime) - Resolves: rhbz#1011166 -- Generate ifcfg VLAN_ID value for kickstart network --vlanid (rvykydal) - Resolves: rhbz#1011860 -- Set ONBOOT=yes for the device used for installation (rvykydal). - Resolves: rhbz#1002544 -- Add a tooltip to the container combobox (bcl) - Resolves: rhbz#975801 -- Support for removing services from the firewall needs newer PyKickstart - (mkolman) - Related: rhbz#1016008 -- Add support for removing services from the firewall (mkolman) - Related: rhbz#1016008 -- Don't set ksdata.lang.seen to True if using default value (mkolman) - Resolves: rhbz#997397 -- network gui: do not crash on devices without settings (eg wireless) - (rvykydal) - Related: rhbz#1011928 - Resolves: rhbz#1011928 -- Network TUI: show the same status as in gui (rvykydal) - Resolves: rhbz#1011928 -- Network TUI: don't traceback when applying config to device without link - (rvykydal) - Resolves: rhbz#1011866 -- Network TUI: fix updating of ksdata in apply (rvykydal) - Resolves: rhbz#1011855 -- Network TUI: ignore slaves devices for configuration (rvykydal) - Resolves: rhbz#1011841 -- network: don't create ksdata for devices enslaved in GUI (rvykydal) - Resolves: rhbz#1011826 -- Clean up ifcfg file handling (rvykydal) - Resolves: rhbz#1011826 -- Don't use temporary file and move when writing out an ifcfg file (vpodzime) - Related: rhbz#1011826 - Resolves: rhbz#1011826 - -* Fri Oct 04 2013 Brian C. Lane - 19.31.23-1 -- Only encrypt the TUI user password once. (dshea) - Related: rhbz#1012028 - -* Tue Oct 01 2013 Brian C. Lane - 19.31.22-1 +- Consider errno 5 I/O errors hardware faults (vpodzime) +- Install kernel-lpae if supported (#1013015) (vpodzime) +- Bump firewalld version (mkolman) + +* Wed Oct 09 2013 Brian C. Lane - 20.24-1 +- Clear bootDisk and bootloader stage info on errors (#1013482) (bcl) +- Catch BootLoaderError when setting up bootloader (#1013474) (bcl) +- Fix an incorrect formatting string in makeupdates. (clumens) +- network: remove function we don't need anymore (rvykydal) +- Don't translate constant strings. (dshea) +- Take into account disk space when calculating swap suggestion (#1016673) + (vpodzime) +- DNFPayload: adapt to DNF change c3de85d6 of Base.install() error reporting. + (ales) +- DNFPayload: the new libcomps makes env.option_ids a list of GroupID objects. + (ales) +- Fix warning message when package version is not found in Koji (mkolman) + +* Tue Oct 08 2013 Brian C. Lane - 20.23-1 +- Use Unicode in the TUI buffer strings (#1015620) (dshea) +- DNFPayload: install DNF itself. (ales) +- DNFPayload: direct conf.persistdir to the sysimage. (ales) +- Add a tooltip to the container combobox (#975801) (bcl) +- Use different colors for different message types. (dshea) +- Exit on exception in the askVNC spoke (#962804) (dshea) +- Don't skip the strength check if overriding a kickstart password (dshea) +- Allow password spoke to be exited without password (#1004931) (dshea) +- Re-check the password strength when the username changes (dshea) +- Only call pwquality once per password. (dshea) +- Use GUICheck checks for the root password strength (dshea) +- Use constants for password check failure messages (dshea) +- Use a constant to indicate GUICheck success (dshea) +- Remove a redundant error property from UserSpoke (dshea) +- Fix the usages of PWQError. (#1014405) (dshea) +- Fix usage of GtkLevelBar in glade. (dshea) +- Clean up callbacks in the user spoke. (dshea) +- Removed an untrue portion of a doc comment (dshea) +- Support for removing services from firewall needs newer PyKickstart (mkolman) +- Add support for removing services from the firewall (#957809) (mkolman) + +* Fri Oct 04 2013 Brian C. Lane - 20.22-1 +- Only encrypt the TUI user password once (#1015220) (dshea) +- Don't try to collect removed modules (vpodzime) - Moved the NFS nolock option into Payload._setupNFS (dshea) - Resolves: rhbz#1001593 -- Don't try to parse langcode if none given (vpodzime) - Resolves: rhbz#1013955 +- Grab journalctl logs if there is no /tmp/syslog (vpodzime) +- Pass layout and variant in specific format to Gkbd (#1011155) (vpodzime) +- Translate the "Quit" string at the end of liveinst. (dshea) -* Mon Sep 30 2013 Samantha N. Bueno - 19.31.21-1 -- Move DEFAULT_VC_FONT to constants (vpodzime) - Resolves: rhbz#1012811 -- Fix issue where spoke returns to hub early in text mode. (sbueno+anaconda) - Resolves: rhbz#979375 -- Don't confuse users by misleading tooltip (vpodzime) - Resolves: rhbz#1011112 -- Display newly created partitions without a mountpoint, too (clumens). - Resolves: rhbz#886039 +* Fri Sep 27 2013 Brian C. Lane - 20.21-1 +- Remove another reference to log_picker. (clumens) +- Turn spinner back on for configuration (bcl) +- Use assertIsInstance in the kickstart version test. (clumens) - If the full device path is given in repo=hd:, still select it in the UI - (clumens). - Resolves: rhbz#980479 -- tui ErrorDialog needs to be modal (bcl) - Resolves: rhbz#983316 - -* Thu Sep 26 2013 Brian C. Lane - 19.31.20-1 -- Encrypt normal user passwords when doing text install. (sbueno+anaconda) - Resolves: rhbz#1012028 -- Fixup Eula class (bcl) - Related: rhbz#1000409 -- Center the Langsupport spoke's description (vpodzime) - Related: rhbz#1006458 -- Normalize keyboard layout and variant strings from langtable (vpodzime) - Related: rhbz#1006458 -- More robust parsing of the layout and variant string specification (vpodzime) - Related: rhbz#1006458 -- Share code between the Welcome and Langsupport spokes (vpodzime) - Related: rhbz#1006458 -- Rework the Langsupport spoke to work with all locales (vpodzime) - Related: rhbz#1006458 -- Match langs with stripped accents when filtering languages (vpodzime) - Related: rhbz#1006458 -- Get rid of the non-deterministic expand_langs and its usage (vpodzime) - Related: rhbz#1006458 -- Rework the Welcome spoke to allow users choose from all locales (vpodzime) - Resolves: rhbz#1006458 -- Allow seting up locale without modifying ksdata (vpodzime) - Related: rhbz#1006458 -- Remove an unused argument of get_available_translations (vpodzime) - Related: rhbz#1006458 -- Specify also query script when getting locale's native name (vpodzime) - Related: rhbz#1006458 -- Fix the langcode parsing regexp (vpodzime) - Related: rhbz#1006458 -- Adapt to the new localization module (vpodzime) - Related: rhbz#1006458 -- Rewrite the localization module (vpodzime) - Related: rhbz#1006458 - -* Wed Sep 25 2013 Brian C. Lane - 19.31.19-1 -- Export the pykickstart Eula command (vpodzime) - Related: rhbz#1000409 -- LiveImageKSPayload skip the parent class setup method (bcl) - Resolves: rhbz#1010500 - -* Fri Sep 20 2013 Brian C. Lane - 19.31.18-1 -- Search all disk types for install media (dshea) - Resolves: rhbz#1004726 - -* Fri Sep 13 2013 Brian C. Lane - 19.31.17-1 -- Don't set up the resize slider for non-resizable devices. (dlehman) - Resolves: rhbz#1008049 -- Fix handling of flexible specs in onpart for member devices. (dlehman) - Resolves: rhbz#1008048 -- Don't mount cdroms that contain no mountable media. (dlehman) - Resolves: rhbz#1008050 -- Check MBR gap size even when /boot is on a plain partition. (dlehman) - Resolves: rhbz#1008051 -- Try to use VConsole keymap name as X layout (vpodzime) - Resolves: rhbz#1007359 -- Check ready state before baseRepo (bcl) - Resolves: rhbz#1001538 - Related: rhbz#1001538 - -* Wed Sep 11 2013 Brian C. Lane - 19.31.16-1 -- Let users configure autopart options in interactive text ks. - (sbueno+anaconda) - Resolves: rhbz#1001061 -- Catch race of network device state vs reading its config properties - (rvykydal) - Resolves: rhbz#919478 -- Fix check for device state when reading its IPXConfig (rvykydal) - Resolves: rhbz#1005681 -- Network spoke: fix showing of ipv6 addresses (rvykydal) - Resolves: rhbz#1005681 -- Network spoke: show global ipv6 addresses (rvykydal) - Resolves: rhbz#1005681 -- Network spoke: fix refresh of device IP configuration (rvykydal) - Resolves: rhbz#1005681 -- Firstboot should be disabled by default after automated installations - (vpodzime) - Resolves: rhbz#985277 - -* Mon Sep 09 2013 Brian C. Lane - 19.31.15-1 -- Handle kickstarts that don't specify timezone (mkolman) - Resolves: rhbz#1001598 -- Only ignore missing packages entries (bcl) - Resolves: rhbz#983316 - -* Thu Sep 05 2013 Brian C. Lane - 19.31.14-1 -- Add more details to iso device selector (bcl) - Resolves: rhbz#971290 -- Warn user if they enter a weak password in TUI. (sbueno+anaconda) - Resolves: rhbz#1001039 -- Don't mark spoke as completed if no repo is set. (sbueno+anaconda) - Resolves: rhbz#1001538 -- Run firstboot-only spokes on first boot by default (vpodzime) - Related: rhbz#1000409 -- Let hubs specify which environments they support (vpodzime) - Related: rhbz#1000409 -- Don't enable chronyd if disabled in kickstart (mkolman) - Resolves: rhbz#1002583 - -* Wed Sep 04 2013 Brian C. Lane - 19.31.13-1 -- Remove Closest mirrors if no mirrors (bcl) - Related: rhbz#876135 -- Fix fastestmirror plugin check (bcl) - Related: rhbz#876135 -- Optionally hide the GUI option to install updates (dshea) - Resolves: rhbz#999442 -- Move the really_hide and really_show functions to utils (vpodzime) - -* Wed Aug 28 2013 Samantha N. Bueno - 19.31.12-1 -- Text network spoke: more strict ipv6 address input checking (rvykydal) - Resolves: rhbz#909299 -- Text network spoke: add to translated files (po/POTFILES.in) (rvykydal) - Resolves: rhbz#909299 -- Text network spoke: require netmask and gateway for static ipv4 (rvykydal) - Resolves: rhbz#909299 -- Text network spoke: Condense device configuration information (rvykydal) - Resolves: rhbz#909299 -- Text network spoke: fix ipv4 regex (rvykydal) - Resolves: rhbz#909299 -- Text network spoke: basic configuration support (rvykydal) - Resolves: rhbz#909299 -- Add support for network configuration in TUI. (sbueno+anaconda) - Resolves: rhbz#909299 - -* Mon Aug 26 2013 Brian C. Lane - 19.31.11-1 -- Return only network devices supported in installer from nm_devices (rvykydal) - Resolves: rhbz#999514 -- Obtain network device type specific dbus interface dynamically (rvykydal) - Resolves: rhbz#999514 -- Catch no-hwaddr exception only for the respective call (rvykydal) - Resolves: rhbz#999514 -- Don't catch hwaddr not found exception for ethernet devices (rvykydal) - Resolves: rhbz#999514 - -* Thu Aug 22 2013 Brian C. Lane - 19.31.10-1 -- Check for hwaddress exceptions. (dshea) - Resolves: rhbz#999514 -- If LANG isn't set, set it to default value. (sbueno+anaconda) - Resolves: rhbz#997397 -- Do not run another instance of the TUI for errors (vpodzime) - Resolves: rhbz#997661 -- Do not try to exit from the installation thread (vpodzime) - Related: rhbz#997661 -- Tell which thread failed to be added by the ThreadMgr (vpodzime) - Related: rhbz#997661 - -* Wed Aug 21 2013 Brian C. Lane - 19.31.9-1 -- The NFS text dialog should never attempt to use method.url (clumens). - Resolves: rhbz#998446 -- Update both the method and repo info. (dshea) - Resolves: rhbz#999185 - -* Mon Aug 19 2013 Brian C. Lane - 19.31.8-1 -- dracut no longer auto assembles everything (bcl) - Resolves: rhbz#960496 -- Don't override multilib setting unless the option was passed. (dlehman) - Resolves: rhbz#987557 -- Don't read proxy for methods that have no proxy (dshea) - Resolves: rhbz#997410 - -* Wed Aug 14 2013 Brian C. Lane - 19.31.7-1 -- dracut/parse-kickstart should use the updated method-related classes - (clumens). - Resolves: rhbz#994978 - -* Tue Aug 13 2013 Brian C. Lane - 19.31.6-1 -- Change the betanag wording to be better for RHEL (clumens). - Resolves: rhbz#917820 - -* Wed Aug 07 2013 Brian C. Lane - 19.31.5-1 -- Need to import the version constant we are using, too (clumens). - Resolves: rhbz#994366 - -* Tue Aug 06 2013 Brian C. Lane - 19.31.4-1 -- Use ksdata.method.seen (bcl) - Resolves: rhbz#989461 -- Check that we're doing an HD install before examining the attr (clumens). - Resolves: rhbz#989428 - -* Mon Aug 05 2013 Brian C. Lane - 19.31.3-1 -- Skip password strength check for kickstart passwords (dshea) - Resolves: rhbz#993040 -- Add unsupported hardware dialog (bcl) - Resolves: rhbz#872728 -- Only move INSTALL_TREE when it is mounted (bcl) - Resolves: rhbz#888196 -- Require fcoe-utils only on ix86 and x86_64 architectures (vpodzime) - Resolves: rhbz#989913 -- For vnc require network in intramfs (rvykydal) - Resolves: rhbz#990071 -- Honor hostname set in kickstart (rvykydal) - Resolves: rhbz#988483 -- Don't prompt for ssh on s390x if doing an image install. (sbueno) - Resolves: rhbz#983056 - -* Thu Jul 25 2013 Brian C. Lane - 19.31.2-1 -- Fix driver disk path for inst.dd= method (bcl) - Resolves: rhbz#987513 -- Allow logging into multiple iscsi nodes at once (clumens). - Resolves: rhbz#975831 -- Add support for NFS as install source in TUI. (sbueno+anaconda) - Resolves: rhbz#971298 -- Fix crash while parsing ntp servers from DHCP6 (dshea) - Resolves: rhbz#987978 -- Wait for device connections for iface-bound iscsi in kickstart (rvykydal) - Resolves: rhbz#740105 -- Refer to blivet instead of storage in iscsi kickstart (rvykydal) - Resolves: rhbz#740105 -- Mark disk 'selected' if only one present in TUI. (sbueno+anaconda) - Resolves: rhbz#975790 -- Update devicetree only if we logged in to some target in add iscsi dialog. - (rvykydal) - Related: rhbz#740105 -- Don't show multipath members in specialized disks overview (rvykydal) - Resolves: rhbz#740105 -- Do not populate devicetree after each single login in iscsi dialog (rvykydal) - Resolves: rhbz#740105 -- Match also iface when logging into selected iface-bound iscsi target - (rvykydal) - Resolves: rhbz#740105 -- Make sure proper installclass selected for RHEL installs. (sbueno+anaconda) - Resolves: rhbz#975720 - -* Tue Jul 09 2013 Brian C. Lane - 19.31.1-1 - -* Thu May 23 2013 Brian C. Lane - 19.30-1 -- Fix software selection in text UI. (#965974) (sbueno+anaconda) -- Don't call _update_summary from within _add_disk_overview. (clumens) -- getDisks should not return a list that has duplicates in it. (clumens) -- Fix the rescan button (#929299). (clumens) -- Let checkbox disable updates-testing (#962522) (bcl) -- disable updates when method is set in ks (#952791) (bcl) -- Fix string formatting on text UI storage spoke. (#965460) (sbueno+anaconda) - -* Tue May 21 2013 Brian C. Lane - 19.29-1 -- Handle empty text in simpleline (bcl) -- Fixup TUI source to work with kickstart (bcl) -- Add missing disk_selection XML (#962012,#962631) (bcl) -- Add ability for users to specify an installation source repo in text UI. - (sbueno+anaconda) -- Add the ability to select software in text UI. (sbueno+anaconda) -- Add 'refresh' option in TUI; lock users out of threads that aren't ready - (sbueno+anaconda) -- Add 'software' category to TUI summary hub (sbueno+anaconda) -- Only try to activate layouts if runtime system can be changed (vpodzime) -- Be more defensive in handling layouts from kickstart (#963103) (vpodzime) -- Return all layouts the XklWrapper knows about (#883555) (vpodzime) -- Fix issue where FS selection not applied in text UI. (#964069) - (sbueno+anaconda) - -* Thu May 16 2013 Brian C. Lane - 19.28-1 -- Remove testing leftover (#963503) (rvykydal) - -* Wed May 15 2013 Brian C. Lane - 19.27-1 -- Partial fix for screen resize problems (#869364) (clumens) -- Remove an extra call to page clicked handler from refresh. (#959722) - (dlehman) -- Always run through the full storage spoke. (#960732) (dlehman) -- Update apply button as appropriate after invoking dialogs. (#960254) - (dlehman) -- Don't allow setting btrfs subvolumes' size. (#959723) (dlehman) -- Drop btrfs-specific raid level "single" for non-btrfs. (#959688) (dlehman) -- Update btrfs volume label when changing volume name. (#959727) (dlehman) -- Don't allow setting labels for btrfs subvolumes. (#960601) (dlehman) - -* Wed May 15 2013 Brian C. Lane - 19.26-1 -- Pressing Delete on custom part should remove the selected mountpoint. - (clumens) -- Use the same text formatting on the langsupport spoke as on the welcome - spoke. (clumens) -- Remove the now-unused LanguageMixIn. (clumens) -- Do not BuildRequire python-bugzilla on RHEL (#953182) (dcantrell) -- Don't require network configuration in Live DVD (#962485) (rvykydal) -- Set default FS choice to LVM in text mode (#962600) (sbueno+anaconda) -- Move udev rules generation to pre-trigger (#958924) (bcl) -- Suggest names for btrfs mountpoints (bcl) -- Use a method to reset current_selector (#959707) (bcl) -- Fix non-default language being hidden in welcome spoke (mkolman) -- Mark placeholder text in add addtnl keyboard screen as translatable. - (sbueno+anaconda) -- Mark language search string translatable. (#955229) (sbueno+anaconda) -- Remove the get_current_layout_name function (#895766) (vpodzime) -- Add support for the realm command (mkolman) -- Revert "Add support for the realm command" (mkolman) -- Add support for the realm command (mkolman) -- Support for getting NTP servers from DHCP (#862755) (mkolman) - -* Thu May 09 2013 Brian C. Lane - 19.25-1 -- Change the buttons on the quit dialog. (clumens) -- Add FONT=latarcyrheb-sun16 to /etc/vconsole.conf (vpodzime) -- Use ntpdate instead of rdate (#950267) (vpodzime) -- Add layouts with a country if not added with a language (#960569) (vpodzime) -- Fixup xconf keymap code for text/dirinstall (bcl) -- Bump pykickstart to 1.99.30 for liveimg support (bcl) -- Add kickstart liveimg install command (bcl) -- Make sure all threads are done before install (bcl) -- Make sure stage1_disk isn't empty (#950487) (bcl) -- Add /boot/efi to suggested mountpoints (#960677) (bcl) -- Add extlinux command-line option. (mattdm) -- Add extlinux as a bootloader type. (mattdm) -- Bump the pykickstart requirement for the extlinux patches. (clumens) -- Revert "Busy cursor when applying changes in the custom spoke" (mkolman) -- Revert "Context manager for doing things with busied cursor" (mkolman) -- Use the F19 bootloader class from pykickstart, for --extlinux (mattdm) -- Transform bootloader --extlinux to extlinux command-line option (mattdm) -- Rework the layout of the storage spoke for low resolution setups. (clumens) -- Fix lower resolution display problems on the filter spoke. (clumens) -- Don't show iscsi passwords when focused, either. Enjoy typing blind. - (clumens) -- Add a couple more things to .gitignore. (clumens) -- Remove the bootloader class's obsoletes attribute. (clumens) -- Disable sort indicators on the filter UI. (clumens) -- Remove the Viewport from the disk shopping cart. (clumens) -- Cleaning up some of the TUI storage code (sbueno+anaconda) -- Add ability in TUI for users to select partitioning scheme. (sbueno+anaconda) -- Use the firmware-provided language if it's something we support. (pjones) -- Use systemd-localed for writing out xorg conf file (#958714) (vpodzime) -- Busy cursor when applying changes in the custom spoke (vpodzime) -- Make sure the "unbusy cursor" is used for the exception window (vpodzime) -- Context manager for doing things with busied cursor (vpodzime) -- Revert "Add signal handlers for controlling password entry visibility." - (#958608). (clumens) -- Force a password to be set if option checked in TUI. (#927956) - (sbueno+anaconda) -- Fix a minor display issue in TUI. (sbueno+anaconda) -- hostname has dropped -v option (bcl) -- Only override proxy and noverifyssl if specified (#880482) (bcl) - -* Fri May 03 2013 Brian C. Lane - 19.24-1 -- Fix check for early exit from on_container_changed. (dlehman) -- Add ability to manipulate container sizes directly. (dlehman) -- Don't lock users who chose custom storage out. (dlehman) -- Don't allow unhiding of hidden disks during disk image installs. (#956020) - (dlehman) -- Add layout indicator to the LUKS passphrase dialog (vpodzime) -- Add layout indicator to the BaseWindow (vpodzime) -- LayoutIndicator widget (vpodzime) -- self._password is set to None not "" initially (#958723) (vpodzime) -- Use constants for protocol's order instead of magic numbers (vpodzime) -- Support setting the name of a btrfs subvol (#892363). (clumens) -- If there are errors processing the kickstart file early on, just print them. - (clumens) -- Stop defining _, N_, and P_ all over the place. (clumens) -- Fix a probably rare traceback in resizing from the custom part UI. (clumens) -- Add methods to do some hiding/showing that we do several different places. + (#980479). (clumens) +- Display newly created partitions without a mountpoint, too (#886039). (clumens) -- Make it more obvious which fields on custom part are editable (#958251). +- Don't require pressing escape twice to kill the media check window (#965625). (clumens) -- Clean up some of the get_object usage in custom.py. (clumens) -- Streamline DatetimeSpoke's timezone updating (#953311) (vpodzime) -- Allow setting timezone on the map without signal (vpodzime) -- Sensitivity of the date&time settings doesn't depend on timezone (vpodzime) -- Give the RAID level label on custom a mnemonic widget. (clumens) -- Give the hostname entry a keyboard shortcut. (clumens) - -* Mon Apr 29 2013 Brian C. Lane - 19.23-1 -- Only check mandatory spokes in automated install (#956960,#895258) (bcl) -- Add scratch-bumpver target (bcl) -- Add Driver Update Disk repo handling to Anaconda (bcl) -- Add Driver Update Disk support to anaconda-dracut (bcl) -- Port driver update utilities from loader (bcl) -- Fix a typo. (clumens) -- Do not translate a blank window name. (clumens) -- Add a separator under the default language on the welcome screen. (clumens) -- Move the selected language to the top of the list on the welcome screen. - (clumens) -- Remove the unused LanguageSpoke. (clumens) -- Add the "Add FCoE" dialog (#903122). (clumens) -- Allow enabling /etc/anaconda.repos.d repos like the docs say (#955724). - (clumens) -- Move where the password quality checker is created (#956049). (clumens) -- Allow multiple disk selection with Shift-click (#864707) (vpodzime) -- Select all disks in the box with advanced storage as well (vpodzime) -- Don't change DiskOverview's background on 'chosen' changed (vpodzime) -- Fix number of arguments for languageGroups (liveDVD class) (#957038) - (rvykydal) -- Apply some minor padding fixes on the container editing dialog. (clumens) -- If no root password was given, lock root's account (#927922). (clumens) -- Remove some unneeded boxes and alignments in the NTP config dialog. (clumens) -- Default to using the iscsi discovery credentials for login, if provided. - (clumens) -- langsupport spoke: keep data.lang.lang first in status of spoke (rvykydal) -- Unpack property value returned by GDBus before using it (#956614) (rvykydal) -- Don't traceback when no activated devices were found for ks network default - (#956614) (rvykydal) -- Ask about VNC also in connecting state, not only connected (#952801) +- Fix display of weak password warning (#1011850) (dshea) +- Fix the tui simpleline imports. (dshea) +- Don't confuse users by misleading tooltip (#1011112) (vpodzime) +- Assorted other pylint fixes for scripts and utils (dshea) +- Pass string format arguments as paramters to logging (dshea) +- Ignore the use of func_globals in a test case (dshea) +- Fix issues in the AnacondaWidgets python wrapper (dshea) +- Make exception handling more specific (dshea) +- Remove unused imports and variables (dshea) +- Remove unnecessary lambdas (dshea) +- Remove obsolete files. (dshea) +- Check whether the commit matches the tree (dshea) +- Run pylint on all python files (dshea) +- Don't use relative imports (dshea) +- Use g_signal_handler_disconnect instead of g_object_disconnect (#1010486) + (vpodzime) +- Fixup Eula class (bcl) +- Allow searching for keyboard layouts in English (#1009806) (vpodzime) +- network: don't create ksdata for devices enslaved in GUI (#1011826) (rvykydal) +- Allow a proxy to be set before the method is saved (#1012096) (dshea) +- Export the pykickstart Eula command (vpodzime) -* Wed Apr 24 2013 Brian C. Lane - 19.22-1 -- Container management improvements. (dlehman) -- Include swap-related disk space needs in storage options dialogs. (#951269) - (dlehman) -- Show the summary screen before the luks passphrase dialog. (dlehman) -- Add language support spoke (#912364) (rvykydal) -- Add kickstart lang --addsupport option (#912364) (rvykydal) -- Add network --ipv6gateway kickstart option (#905226) (rvykydal) -- Remove pre-18.0 history from anaconda.spec. (clumens) -- Add free space information to DiskOverviews (#949746). (clumens) -- Raise exception if our module fails to be imported (vpodzime) -- Fix exception handling in rescue mode (vpodzime) -- Select all disks when Ctrl+A is pressed (#864707) (vpodzime) -- DiskOverview needs to grab focus if clicked (vpodzime) - -* Mon Apr 22 2013 Brian C. Lane - 19.21-1 -- Set seen for lang from option & use constant for default (mkolman) -- Hook the Geolocation module to Anaconda (mkolman) -- Add geolocation module (mkolman) -- Add logging to exception handling (vpodzime) -- Run exception handling in the main thread also in TUI (vpodzime) -- Update network ksdata with cmdline options (#893784) (rvykydal) -- Return network devices actually activated (instead of just active) (#949002) - (rvykydal) -- Don't traceback if we can't find PermHwAddr when looking for slaves (#949341) - (rvykydal) -- Add support for iSCSI iface binding. (rvykydal) -- Fix a traceback when handling node login authentication. (clumens) -- Add a requirement on python-IPy now. (clumens) -- Display individual buttons on the filter UI instead of a combo. (clumens) -- Hook up authentication for iSCSI discovery and node login. (clumens) -- When the clear button is clicked on the filter spoke, clear out the fields. - (clumens) -- Remove the extra "Target LUN" search option. (clumens) -- If all iSCSI nodes have been logged into, leave the dialog. (clumens) -- Populate the port combo on the filter spoke's search page. (clumens) -- Hook up filtering for iSCSI devices. (clumens) -- Add initial iSCSI support to the advanced storage UI. (clumens) -- Add a generic function to FilterPage for setting up a GtkComboBoxText. - (clumens) -- self.disks -> self.pages in filter UI refresh method. (clumens) -- Add a button to bring up the Add Additional dialogs. (clumens) -- Remove pixmaps no longer needed by newui. (clumens) -- Add a checkmark on a DiskOverview when it is selected. (clumens) -- Make a couple UI modifications to the resize slider. (clumens) -- Make several changes to how addons are displayed (#873498). (clumens) -- Allow clicking on environment and addon text to toggle them (#928010). - (clumens) -- Fix scrolling problems on the environment side of software selection - (#928008). (clumens) -- Handle quit messages on the text progress UI hub (#895756). (clumens) -- If there's an error while in text mode, display it. (clumens) -- Force sizes on the network toolbar buttons (#951580). (clumens) -- Disable the "Closest mirror" option if there's no fastestmirror plugin - (#876135). (clumens) -- Move text UI summary hub setup into the setup method (#927315, #950956). - (clumens) -- Bring the text storage spoke a little more in line with the graphical one. - (clumens) -- Make a home directory for the user by default (#950792). (clumens) -- Add some padding under the ransom notes on the progress hub. (clumens) -- Remove a lot of ancient crud from the installclasses. (clumens) -- Set the default fs type on RHEL (#951088). (clumens) -- Add a Spoke.changed attribute. (clumens) -- Display device names on MountpointSelectors (#888872). (clumens) -- Add signal handlers for controlling password entry visibility. (clumens) -- Ransom notes can be either PNGs or JPGs. (clumens) -- dracut/parse-kickstart: handle network --mtu (wwoods) -- Exclude a couple more password variables from dumps (bcl) -- Enlightbox dialogs in the custom spoke (vpodzime) -- Create and use GtkWindowGroup for our windows (vpodzime) -- We can import Gtk globally now (vpodzime) -- Handle both types of data we can get from libxklavier (#950921) (vpodzime) - -* Tue Apr 16 2013 Brian C. Lane - 19.20-1 -- Fix two more syntax errors in the custom spoke. (#952662) (dlehman) - -* Mon Apr 15 2013 Brian C. Lane - 19.19-1 -- Show device size with full precision to avoid spurious resize. (#951276) - (dlehman) -- Fix another typo (old_fstype->old_fs_type). (#951593) (dlehman) -- Fix typo encryption_changed->changed_encryption. (#950700) (dlehman) -- Remove some remnants of old multipath code. (#951259) (dlehman) -- Protect the block device containing the stage2 image. (dlehman) -- Clarify code for iutil.get_active_console() etc. (wwoods) - -* Thu Apr 11 2013 Brian C. Lane - 19.18-1 -- Revert "Revert "Don't emit "gfxterm" in grub2 configs (#821355)"" (pjones) -- Make "s" a hotkey for "Save Changes" on Advanced User Configuration. (pjones) -- Clean up tracebacks saved in pstore space (#950709) (pjones) -- Move anaconda-yum to /usr/libexec/anaconda/ (bcl) -- Cleanup: remove dead upgrade code (wwoods) -- Fix console= persistence, remove serial (#928269) (wwoods) -- Revert "Don't emit "gfxterm" in grub2 configs (#821355)" (pjones) -- Disable grub2-mkconfig's submenus by default. (pjones) -- Don't emit "gfxterm" in grub2 configs (#821355) (pjones) -- updates to boot-options.txt (wwoods) -- flags.py: remove unused flags (wwoods) -- remove flags.virtpconsole (wwoods) -- Call os.chdir("/") after calling os.chroot (vpodzime) - -* Tue Apr 09 2013 Brian C. Lane - 19.17-1 -- Pass open file to execWithRedirect for vncpasswd (#948638) (bcl) -- Fix ip= saving in parse-kickstart (hamzy) -- Fix initial raid level when switching to a raid-capable device type. - (dlehman) -- The raid level combo cannot be not sensitive for preexisting devices. - (dlehman) -- Make sure fstype combo is not sensitive for btrfs devices. (dlehman) -- Add an entry to the raid level combo for btrfs' single. (dlehman) -- Clean up _save_right_side and adapt to changes in blivet.devicefactory. - (dlehman) -- Remove anaconda's udev rules. (dlehman) -- Add requires for some things that aren't strictly required by blivet. - (dlehman) -- Parent's finalize method needs self (vpodzime) -- Use Sphinx syntax for docstrings (vpodzime) -- Use None for unbounded size requests. (dlehman) -- Disable yum lock debugging for the final release. (clumens) -- The source spoke should display something nicer than "Not ready" (#948112). - (clumens) -- Don't run storage execution in an endless loop (#948331, #948285). (clumens) -- If an incorrect source is given for a ks install, don't fallback (#948212). - (clumens) -- Fix a bug when creating a new mountpoint with no given size (#948228). - (clumens) -- memInstalled has moved (#947261). (clumens) -- Correctly report an error if OSError is hit when setting up the source - (#947634). (clumens) -- Add anaconda-yum to %%files (bcl) - -* Thu Apr 04 2013 Brian C. Lane - 19.16-1 -- Modify LocaledWrapper to use our safe_dbus module (#928287) (vpodzime) -- Add module providing safe DBus operations (vpodzime) -- Define a DEFAULT_DBUS_TIMEOUT constant and use it (vpodzime) -- Execute the yum transaction in another process (bcl) -- Add anaconda-yum (bcl) -- Add execReadlines utility (bcl) -- Use namedtuple instead of our magic tuples (vpodzime) -- Tell python-meh architecture of the anaconda package (vpodzime) -- Add release number to the result of getAnacondaVersion (vpodzime) -- Fix _isys.so location in the updates.img (vpodzime) -- Network spoke: Fix reading of device type from combobox (#947120) (rvykydal) - -* Tue Apr 02 2013 Brian C. Lane - 19.15-1 -- Fix two small problems with the UID/GID spin buttons (#929173, #929138). - (clumens) -- The Update Settings button should only be sensitive if you change something. - (clumens) -- Move datetime spoke initialization into its own thread, too. (clumens) -- Make it more clear nothing will happen immediately on custom storage - (#883195). (clumens) -- Replace the custom part size spinner with an entry. (clumens) -- Add a factory class for our various communications queues. (clumens) -- Make exception handling in the rescue mode work (#926913) (vpodzime) - -* Thu Mar 28 2013 Brian C. Lane - 19.14-1 -- Handle the end of the %%addon section (vpodzime) -- Don't allow setting a mountpoint for an fstype we cannot mount. (dlehman) -- Fix a bug I introduced with 3c78c1a5c. (clumens) -- Get rid of the customization expanders on custom partitioning. (clumens) -- Translate the "Create a new volume group..." text (#892782). (clumens) -- Move the Desired Capacity label and spinner into its own row (#907883, - #904999). (clumens) -- move Xorg test up so we might start vnc instead (hamzy) -- Set word wrapping on the label telling you how to switch layouts (#924885). - (clumens) -- gtk_thread_wait -> gtk_action_wait in custom.py (#926926). (clumens) -- Support multiple values for kicstart network --namserver= in dracut (#917481) - (rvykydal) -- get_widget -> get_object (#927898). (clumens) -- THREAD_* constants are in pyanaconda, not pykickstart. (clumens) -- Network spoke: fix model access thinko in Add device dialog (rvykydal) -- Use constants for thread names (mkolman) -- Move network connection timeout from network to constants (mkolman) -- udev-settle.service is now systemd-udev-settle.service (wwoods) -- Add boot-options.txt (wwoods) - -* Fri Mar 22 2013 Brian C. Lane - 19.13-1 -- Set Tip text on the create user spoke. (dcantrell) -- Use space instead of underscore when user uses the timezone name (#924352) - (msivak) -- Use only self.data in TUI timezone spoke's status (msivak) -- Use the named tuple in root password dialog (#924138) (msivak) -- Add message instructing users they can type to search for language. +* Wed Sep 25 2013 Brian C. Lane - 20.20-1 +- Encrypt normal user passwords when doing text install. (#977732) (sbueno+anaconda) -- Don't unbusy the cursor until the first action is ready to display. (clumens) -- Move custom storage setup into its own thread. (clumens) -- When you turn off NTP, clear the warning along the bottom of the screen. - (clumens) -- If the disk has no serial number, don't give the DiskOverview a popup. - (clumens) -- Reorder the columns on the shopping cart so name is next to description. - (clumens) -- Add device node names to the resize dialog as a new column. (clumens) -- Use an emblem for indicating spokes have not been completed. (clumens) -- If you remove all the disks in the shopping cart, disable the buttons. - (clumens) -- Apply a style to the network spoke's toolbar. (clumens) -- Add a little more space between the updates checkbox and the add repo stuff. - (clumens) -- Remove the partition scheme expanders. (clumens) -- Don't error out if a ks %%include is missing when looking for sshpw - (#923627). (clumens) -- Do not guess username immediately when user clears it (#924184) (msivak) -- Do not require password when no user is requested (#924150) (msivak) -- Refresh the checkboxes on AdvancedUser dialog properly (#924257) (msivak) -- Allow setting the default GID of the new user. (msivak) -- Add call to new-kernel-pkg --rpmposttrans (#922988) (bcl) -- Make our gtk_* decorators safer and more intelligent (vpodzime) -- Add method for checking if in main thread to the ThreadManager (vpodzime) -- Port the mandatory logic for User and Password spokes from GUI to TUI - (msivak) -- Use only self.data to determine completeness in User spoke (msivak) -- Make firstboot kickstart command aware of initial-setup (msivak) -- Add command and data updates to AnacondaKSHandler's __init__ (msivak) - -* Tue Mar 19 2013 Brian C. Lane - 19.12-1 -- _model -> model in filter.py. (clumens) -- Add some documentation to FilterPage. (clumens) -- Add the advanced storage UI and hook it up. (clumens) -- Don't wrap the DO creation in gtk_thread_wait. (clumens) -- Add a button to the specialized window to bring up the add dialog. (clumens) -- Filter out multipath devices from the getDisks results. (clumens) -- Reduce duplicated code between the GUI and TUI. (clumens) -- Set the horizontal and vertical scales to what we want. (clumens) -- Move DiskOverview creation out into its own method. (clumens) -- Add a slot on the storage spoke for display of advanced storage. (clumens) -- Log the actual exception for getPackage (bcl) -- Add the addon repos from a repo's treeinfo file (bcl) -- Disable failed repos, not remove them (bcl) -- Add repo addon to source spoke (bcl) -- Remove the previous addon repo code and UI (bcl) -- Addon repo glade changes (bcl) -- Enable updates repo by default (bcl) -- Adjust _getTreeInfo so that proxy_url can be passed (bcl) -- Add enable flag to RepoData object (bcl) -- Modify repo interface in packaging (bcl) -- Change the source DiskOverview to a label (bcl) -- Display the reason for payloadInstallHandler error (bcl) - -* Mon Mar 18 2013 Brian C. Lane - 19.11-1 -- Don't create temporary lists if not needed (vpodzime) -- Fix reclaiming disk space for non-us installations. (rvykydal) -- Allow for raising thread exceptions when threadMgr.get is called (bcl, - clumens). (clumens) -- Hook up the new refresh dialog. (clumens) -- Add a dialog prompting the user to refresh anaconda's view of storage. - (clumens) -- Add a refresh button to the custom partitioning toolbar. (clumens) -- Add a reset button to the bottom right of the custom spoke. (clumens) -- Hook up the new action summary dialog. (clumens) -- Add a summary screen of actions to be performed on all disks. (clumens) -- Catch error when incorrect nfs address entered (sbueno+anaconda) -- Use GDBus also for connection settings update. (rvykydal) -- Network spoke: improve message format parametrization for translators - (rvykydal) -- Don't set ibft device renaming for dracut, let it just do its job (#828505) - (rvykydal) -- Mark Timezone selection as firstboot spoke (msivak) -- Add user creation spoke to TUI (msivak) -- Refactor TUI password spoke to use the declarative EditTUISpoke (msivak) -- Use guess_username from pyanaconda.users in gui.spokes.UserSpoke (msivak) -- Add declarative EditTUISpoke (msivak) -- Allow modyfying exit question in TUI (msivak) -- Return False from TUI.run() if it was exited prematurely (msivak) -- Add guess_username function to users.py (msivak) -- Mark incomplete mandatory spokes in text mode (msivak) -- Network spoke: move formatting parameters out of translation function - (rvykydal) -- Network spoke: add keyboard accelerator to add device combobox (#906263) - (rvykydal) -- Network spoke: don't decorate add_device_dialog (#906263) (rvykydal) -- Don't pass undefined stdout from execWithCapture. (rvykydal) -- Network spoke: import network module instead of list of too many functions - (rvykydal) -- Vlan support: kickstart (#906272) (rvykydal) -- Vlan support: generate kickstart (#906272) (rvykydal) -- Vlan support: GUI - hub status information (#906272) (rvykydal) -- Network spoke: check whether added network device is already in list - (#906272) (rvykydal) -- Vlan support: GUI - add "Vlan ID" and "Parent" to vlan tab (#906272) - (rvykydal) -- Return correct nm_device_setting_value for bonds and vlans (#906272) - (rvykydal) -- Vlan support: GUI - show vlan devices (#906272) (rvykydal) -- Vlan support: GUI - add "Parent" and "Vlan ID" info (glade) (#906272) - (rvykydal) -- Vlan support: GUI - add vlan device (glade) (#906272) (rvykydal) -- Show that password was set by kickstart in TUI (msivak) -- Add settable quit message to TUI (msivak) -- Check _current_action for not being None before using it (vpodzime) - -* Mon Mar 11 2013 Brian C. Lane - 19.10-1 -- Bonding support: GUI - hub status information (#906263) (rvykydal) -- Bonding support: GUI - generate kickstart network command for bonds (#906263) - (rvykydal) -- Bonding support: GUI - add device dialog (#906263) (rvykydal) -- Bonding support: GUI - add device dialog (glade) (#906263) (rvykydal) -- Bonding support: GUI - device list, configuration and adding bond (#906263) - (rvykydal) -- Bonding support: GUI - Slaves line in Wired tab (glade) (#906263) (rvykydal) -- Crypt the root we get from the user (#918991). (jkeating) -- Adapt to the new libxklavier's behaviour (vpodzime) -- We use python-meh's interfaces instead of Anaconda's (vpodzime) -- Redraw screen in case of valid input and nothing new scheduled (vpodzime) -- Fix two places where we are locking up the main thread (#886680). (clumens) -- Log when we acquire and release the _yum_lock (dlehman, clumens). (clumens) -- Do not fail when the logging stream cannot be opened (in initial-setup..) - (msivak) -- Mark DateTime spoke as usable for Firstboot (msivak) -- Fix a missing import and move the addon KS output template (msivak) -- Make the TUI mainloop more resistant to screen implementation errors (msivak) -- Teach TUI how to react on async events (msivak) -- Could not load UI file advanced_user.glade (hamzy) -- Don't try to remove the timer when it's None (DatetimeSpoke) (vpodzime) -- Log failed imports in the collect functions (vpodzime) -- remove the remnants of sparc support (dennis) -- Remove installmethod.py (dead code) (wwoods) -- Make default media eject behavior match old behavior (wwoods) -- Silence "cp: cannot stat '/etc/cmdline'..." error message (wwoods) - -* Fri Mar 01 2013 Brian C. Lane - 19.9-1 -- Behave nice when root password is set by kickstart (msivak) -- Password spoke is mandatory if the created user is not an admin (msivak) -- Use the user data provided by kickstart (msivak) -- Add the User creation spoke including the Advanced dialog (msivak) -- Bonding support: kickstart (rvykydal) -- Condense some duplicated and overly wordy code in custom.py. (clumens) -- Add a new allMembers property that returns a list of pages and members. - (clumens) -- All Pages have a title, so get rid of the getattr games. (clumens) -- Allow more than one Page to be expanded at a time. (clumens) -- Get rid of the currentPage method. (clumens) -- Promote page._members to page.members. (clumens) -- Require passing the title to a Page's constructor. (clumens) -- Pressing F12 should do the same thing as clicking "Done" (#840998). (clumens) -- A bunch more "install" -> "installation" changes. (clumens) -- When the user clicks "Reclaim Space", go back to the hub (#911792). (clumens) -- Modify the logic that makes the reclaim button sensitive (#911793). (clumens) -- Add a free space line under every disk in the reclaim dialog. (clumens) -- Remove the initial sentence from the top of the reclaim dialog (#911793). - (clumens) -- Fix a traceback in verifying optical media on the source spoke. (clumens) -- Revert "Hook up the "Remove Packages" button on the dep solving error - screen." (#905899). (clumens) -- Don't display "(null)" as a MountpointSelector's mountpoint. (clumens) -- dracut: add anaconda-pre-shutdown.sh to fix eject (#809920) (wwoods) -- Continue booting when checkisomd5 is aborted (#891551) (bcl) -- Fix ksdevice= - instead of renaming the device to ksdev0 just use it - (rvykydal) -- Add pigz to initrd.img (wwoods) -- Use %%_prefix macro value when calling configure in makeupdates (vpodzime) -- Try to import modules the standard way first in collect (msivak) - -* Thu Feb 21 2013 Brian C. Lane - 19.8-1 -- Add more stuff to the exception reporting skip list. (clumens) -- Compare Sizes to Sizes in the reclaim dialog (#913484). (clumens) -- The disk cart summary does not need a mnemonic. (clumens) - -* Wed Feb 20 2013 Brian C. Lane - 19.7-1 -- Fix RAID level test (bcl) -- unpack product.img to /updates (#911873) (bcl) -- If you attempt to search on the network device pane, don't crash. (clumens) -- Don't treat the _ in x86_64 as a mnemonic. (clumens) -- If you set_markup, the label forgets set_use_underline from glade. (clumens) -- Don't try to update spokes that are indirect. (clumens) -- If you cannot reclaim more space, don't show the reclaim radio (#911791). - (clumens) -- Swap the order of the part scheme combo and encryption checkbox. (clumens) -- Fix for the addons kickstart support (vpodzime) -- kickstart.py needs udev that now lives in blivet (vpodzime) -- Refactor pieces of the Datetime spoke and move some parts to kickstart.py +- Escape the status before setting it as markup (vpodzime) +- network gui: do not crash on devices without settings (eg wireless) + (#1010519) (rvykydal) +- Make the keyboard layout preview dialog bigger (#1011140) (vpodzime) +- Return switching options with the same order as shown (#1011130) (vpodzime) +- Use a temporary directory for verifying ISO media (dshea) +- Skip devices not controllable by blivet (#1009809) (dshea) +- Add translation support to check_accelerators (dshea) +- Make sure autopart type is handled deterministicaly in text mode (#1010453) (vpodzime) -- Set ONBOOT=no for default autoconnections (#905918, #886090) (rvykydal) -- Don't use "type" to name a variable. (rvykydal) -- Update all spokes on a Hub when spoke is exited (msivak) -- Wait for continueButton in KS mode if the user changed anything (msivak) -- Fix up word wrap on the DetailedErrorDialog. (clumens) -- Display storage warnings, similar to how errors are displayed (#909410). - (clumens) -- Fix reprompting and screen redrawing on invalid input (vpodzime) -- Refresh addons_paths once we know if gui or tui takes place (vpodzime) -- Fixup anaconda.spec (bcl) - -* Thu Feb 14 2013 Brian C. Lane - 19.6-1 -- fix uuid reference in parse-kickstart (bcl) -- Fixup kickstart script logging (bcl) -- Tell libreport the crash happened in Anaconda (#885690) (vpodzime) -- Restore older behavior regarding ks argument without a file name (#910550). - (clumens) -- Move the encryption checkbox to the dialog (bcl) -- re-fetch metadata when proxy settings change (bcl) -- Apply some fixes to the spec file (#909592, metherid (clumens) -- install -> installation in a couple user-visible strings. (clumens) -- Restore support for partial kickstart files (#887254). (clumens) -- Get rid of packagesSeen. (clumens) -- Remove debugging print (DatetimeSpoke) (vpodzime) -- Honor modules' __all__ when doing collect (msivak) -- Use ksdata.addons instead of ksdata.addon and add ADDON_PATHS to sys.path +- Don't rely on X server adding empty variant for its defaults (#1011658) (vpodzime) -- Remove unused modules (dbus) and stuff from network.py (rvykydal) -- Replace get_NM_connection() using new nm module. (rvykydal) -- Replace get_NM_settings_value() using new nm module (rvykydal) -- Replace nmIsConnected() using new nm module (rvykydal) -- Replace hasActiveNetDev() using new nm module (rvykydal) -- Replace getDevicesProperies() using new nm module (rvykydal) -- Replace getIPAddresses() using new nm module (rvykydal) -- Replace getMacAddress() using new nm module (rvykydal) -- Replace isWirelessDevice() using new nm module (rvykydal) -- Replace getLinkStatus() using new nm module (rvykydal) -- Replace getActiveNetDevs() using new nm module (rvykydal) -- Replace getDevices() using new nm module (rvykydal) -- Move NM dbus calls to separate module. (rvykydal) -- Move networking functions from isys to network module. (rvykydal) -- Remove unused stuff from network.py (rvykydal) -- Remove unused networking stuff from isys (rvykydal) -- Network spoke: remove unused NM path and interface constants (rvykydal) -- Add 'eject' to the anaconda initramfs (wwoods) -- Ensure hookdir exists before creating eject script (wwoods) -- remove anaconda-cleanup-initramfs.service (wwoods) -- Add dracut/save-initramfs.sh (wwoods) -- Bring back the askmethod parameter (#889887). (clumens) -- Add a new selectorFromDevice method to the accordion. (clumens) -- The storage logger is now the blivet logger. (dlehman) -- DeviceFactory has moved from blivet to blivet.devicefactory. (dlehman) - -* Fri Feb 08 2013 Brian C. Lane - 19.5-1 -- Add --dirinstall command (bcl) -- Convert the mount point entry to one containing a drop down. (clumens) -- Move the Modify SW button into a link in the text. (clumens) -- Rework all the dialogs after you click Done on the storage spoke (#903501). - (clumens) -- Overrides for the Gdk have _2BUTTON_PRESS defined (vpodzime) -- Add entries with completions to the comboboxes (DatetimeSpoke) (vpodzime) -- Make the custom partitioning bullet points take up less horizontal space. - (clumens) -- Don't say you can reuse existing mountpoints unless there are some. (clumens) -- Point gobject-introspection at our updates directory for overrides. (clumens) - -* Mon Feb 04 2013 Brian C. Lane - 19.4-1 -- Remove libcurl requirement from configure.ac. (dlehman) -- DMI_CHASSIS_VENDOR has moved into blivet. (dlehman) - -* Fri Feb 01 2013 Brian C. Lane - 19.3-1 -- unpack product.img to correct location (#869098) (bcl) -- Fix including _isys.so and isys/__init__.py in updates.img (vpodzime) -- Fix typo "DHCPV6" (rvykydal) -- Don't crash on wireless connections created in Live CD desktop (#895736) - (rvykydal) -- Adapt ifcfg -> ksdata mapping to NM change from IPADDR to IPADDR0. (rvykydal) -- Fix static and dhcp of network --ipv6 command (set IPV6_AUTOCONF=no) - (rvykydal) -- NM defaults to IPV6_AUTOCONF=yes (rvykydal) -- Fix up spacing on installation options dialog buttons a little bit. (clumens) -- Ignore double clicks on the DiskOverviews (#902467). (clumens) -- When the user creates a new mountpoint, display it by default (#886039). - (clumens) -- Add device node name information to the storage spoke and disk cart - (#902617). (clumens) -- Do not include disks that have 0 size (#903131, #904977). (clumens) -- Preserve the state of the Customize... expanders on custom storage (#883134). - (clumens) -- Make it a little more clear what's happening on the disk selection spoke - (#903498). (clumens) -- Move Xorg to vt7 (bcl) -- Network: read ipv6 configuration type from NM settings instead of ifcfg file - (rvykydal) -- Don't fail on missing ifcfg file when setting default ONBOOT (#904817) - (rvykydal) -- Don't fail on invalid network --device kickstart specification. (rvykydal) -- Ignore ipv6 for a device (IPV6INIT=no) only for noipv6 option. (rvykydal) -- Network: fix disabling of ipv6 (noipv6 option) (rvykydal) -- Stop writing /etc/sysconfig/network (#895900) (rvykydal) -- We dont create missing ifcfg files on our own in anaconda anymore. (rvykydal) -- Use NM dbus interface to modify ifcfg configuration (#893892) (rvykydal) -- Document FileSystemSpaceChecker. (clumens) -- Add the customization category to POTFILES.in. (clumens) -- Add a license and overview to the g-i overrides file. (clumens) -- Create/clarify some documentation in the custom widgets. (clumens) -- Condense string formatting in a couple custom widgets. (clumens) -- Remove the widget-specific TODO list. (clumens) -- Add selinux to the list of parameters we pass on (#895860). (clumens) -- Display error status messages in a darker red color. (clumens) -- Add newline at the end of xorg.conf generated from ksdata (vpodzime) -- Move pyanaconda.packaging.get_mount_* into blivet.util. (dlehman) -- Remove obsolete references to simpleFilter. (dlehman) -- Remove the storage module and replace it with blivet. (dlehman) -- Move tsort, platform, and baseudev into storage. (dlehman) -- Start laying groundwork for splitting storage out of pyanaconda. (dlehman) -- Remove anaconda flag checking from OpticalDevice.eject. (dlehman) -- Remove unused functions and move storage-specific utils to storage. (dlehman) -- Remove installclass arch filtering. (dlehman) -- Handle sending program output to tty5 through the logging setup. (dlehman) -- Use dumpe2fs output to determine dirty fs. (dlehman) -- Remove filesystem migration code. (dlehman) -- Use threadMgr.wait to check threads (bcl) -- Add error reporting to threadMgr (bcl) - -* Fri Jan 25 2013 Brian C. Lane - 19.2-1 -- Use only one large grid for the hubs. (clumens) -- Indicate nothing will happen until "Begin Installation" is clicked (#883195). - (clumens) -- Exit anaconda correctly on SIGTERM (vpodzime) -- Move communication module to pyanaconda/ui (vpodzime) -- Function getDefaultHostname was renamed some time ago. (rvykydal) -- Use constant for default hostname ("localhost.localdomain" currently) - (rvykydal) -- Make update_hostname function do just one thing - update ksdata. (rvykydal) -- Rename wait_for_dhcp pieces to say what they actually do (rvykydal) -- Initialize network synchronously (#902090) (rvykydal) -- xgettext wants "utf-8", not "utf8". Python doesn't seem to care. (clumens) -- On the storage spoke, only show the summary button if a disk is selected. - (clumens) -- Add text letting people know they can use existing filesystems (#883150). - (clumens) -- Default to mirrored RAID instead of striped (#888867). (clumens) -- Replace the RAID level checkboxes with a single combo box. (clumens) -- Don't allow mountpoints to start with /proc or /sys either. (clumens) -- Add 'nmcli dev list' output to data gathered after crash (vpodzime) -- Add lsblk output to data gathered after crash (#879940) (vpodzime) -- Cleanup some trailing whitespace on otherwise empty lines (vpodzime) -- Refactor and cleanup exception handling pieces (vpodzime) -- Exception handling for text mode (#865325) (vpodzime) -- python-meh's saveExceptionWindow no longer uses the accountManager (vpodzime) -- Enable line wrapping in a couple more places (#901551). (clumens) -- Support /boot on RAID metadata version 1.2 (#896163). (clumens) -- Don't check memory for rescue mode (#895948). (clumens) -- Split __init__ and setup in TUI screens so we can set the environment and - search paths (msivak) -- Add a requirement on device-mapper-multipath (#895973) (msivak) -- Update default fs type code (#855401). (clumens) -- Display the background gradient image from a map signal handler. (clumens) -- Remove the old cmdline and script interfaces. (clumens) -- anaconda-cleanup doesn't use an interface at all. (clumens) -- Remove the old text mode UI. (clumens) -- Move constants_text out of the textw directory. (clumens) -- Remove more references to system-config-*. (clumens) -- Add device NM_DEVICE_TYPE_ETHERNET to isys (#893892) (rvykydal) -- Dump missing ifcfg ifles only for ethernet devices (#893892) (rvykydal) -- Take over dhcp connection by NM for network root (eg nfs) (#883451, #893656) - (rvykydal) -- Use DEFAULT_LANG instead of magic value "en_US.UTF-8" (vpodzime) -- fixup spec with 19.1 commits (bcl) - -* Mon Jan 14 2013 Brian C. Lane - 19.1-1 -- Rework the reclaim dialog to have a resize slider. (clumens) -- g_type_init call is no longer needed (bcl) - -* Fri Jan 11 2013 Brian C. Lane - 18.40-1 -- Prepare structures to save spoke completenes for firstboot and GIE (msivak) -- Do not call exit at the end of GUI interface, just quit the main loop - (msivak) -- Improve handling of .py and .pyc equivalence while collecting classes - (msivak) -- Set default language to en_US.UTF-8 (#891379) (msivak) -- Set the local hostname during installation (vpodzime) -- Refactor and cleanup our localization module (vpodzime) -- Network spoke: use correct state value to display device status. (rvykydal) -- drop fcoe-utils dependency for s390x (rhbz#894025) (sbueno+anaconda) -- More TODO list wrangling. (clumens) -- On storage, remove the "Continue" button and make "Done" do it all (#882737). - (clumens) -- getLUKSPassphrase is no longer used, so kill it. (clumens) -- "Hub" shouldn't be in the title for any text mode hub. (clumens) -- Do not lightbox any dialogs on the custom storage spoke (#875291). (clumens) -- Revert "Do not lightbox the Add Mountpoint dialog (#875291)." (clumens) -- Don't allow changing a VG name to empty in the VG editor (#892395). (clumens) -- Check country_layouts is not None when using it (#893026) (vpodzime) -- Don't redownload payload from closest mirror only if we actually have some - (#892665) (rvykydal) -- Remove some modules obsoleted by the packaging module. (dlehman) -- Prefer country over language when returning default layout (#867110) +- Make Keyboard spoke's status consistent with other statuses (#1011166) (vpodzime) -- Fix Quit button in standalone network spoke (#892120) (rvykydal) -- Network spoke: add sanity check for hostname setting (#856456) (rvykydal) -- Network spoke: add hostname setting (#856456) (rvykydal) -- Fix completeness check for md fwraid arrays. (#892621) (dlehman) -- Fix handling of failure to create a new container. (#892046) (dlehman) -- Force disk selection for interactive installs. (#888293) (dlehman) -- Mark another string for translation (#892760). (clumens) -- Do not lightbox the Add Mountpoint dialog (#875291). (clumens) -- Strip out pango markup before attempting to match languages (#892463). - (clumens) -- Mark the live progress hub message for translation (#892069). (clumens) -- Allow deleting whole disks using the reclaim dialog (#880686). (clumens) -- Don't allow mountpoints to start with /dev (#891447). (clumens) -- Disable the configure button for pre-existing devices (#888296). (clumens) -- Add keyboard mnemonics to the spoke selectors, too. (clumens) -- Add keyboard accelerators to a whole lot of widgets (#864964). (clumens) -- Try fallback if none exactly matching language is found (#891487) (vpodzime) -- Only skip welcome screen for ks installs (#891755) (bcl) -- protect getDirSize from vanishing files (#891759) (bcl) -- start vnc without ip address (#832510) (bcl) -- Update physical device's sysfs path for btrfs (sub)volumes. (#891443) - (dlehman) -- Wrap text on the updates checkbox to fix screen placement (#888880). - (clumens) -- The return value from execWithRedirect is an int (#891313). (clumens) -- Add placeholder names to a couple strings (#890157). (clumens) -- Fix multiple copies of spokes appearing from update image (msivak) -- Import pyanaconda.addons in the anaconda script (vpodzime) -- Update the API which controls where should spokes be displayed (msivak) -- Update the way we look for glade files, spokes, hubs and categories (msivak) -- Make screenshot routines reusable in Firstboot (msivak) -- Do not fail when missing directories are present in addon paths (msivak) -- Pass addons paths to user interfaces (msivak) -- hook up help window close button (#889570) (bcl) -- add setKeyboardCheckButton to list of things to translate (#889352) (bcl) -- Mark for translation and show translated some more GUI elements (#877658) +- LiveImageKSPayload skip the parent class setup method (#1010500) (bcl) +- Pass the actual format instead of Python built-in (#1009678) (vpodzime) +- Don't allow using updates with non-default network sources (#1008028) (vpodzime) -- Translate storage errors (#877658) (vpodzime) -- Don't allow changing the boot disk from inside the custom spoke. (#889585) - (dlehman) -- Add help text and a help button to the custom storage spoke. (#889570) - (dlehman) -- Allow /boot on btrfs subvol if using grub2. (#888603,868465) (dlehman) -- Don't keep old device name when switching to btrfs in custom. (dlehman) -- Fix container member set management for md arrays. (#889101) (dlehman) -- Include incomplete devices when listing dependant devices. (#889330) +- Use Sphinx documentation format in nm.py. (rvykydal) +- Changed the keyboard accelerator for iscsi "Retry Log In" (dshea) +- Only fail on a missing firewalld command if the firewall is enabled + (#1004976). (clumens) +- Cleanup some pylint failures in the network module (bcl) +- Add GtkNotebook support to the accelerators check. (dshea) + +* Fri Sep 20 2013 Brian C. Lane - 20.19-1 +- tui ErrorDialog needs to be modal (#983316) (bcl) +- Keyboard variant names may contain dashes (#1008730) (vpodzime) +- Forbid "root" as a user or group name. (#968451) (dshea) +- Set the password strength color based on strength (#965596) (dshea) +- Fix the password confirmation match check (#1009907) (dshea) +- Replace removed python modules with stubs in makeupdates (vpodzime) +- Unlock encrypted partitions before finding installations (#901917) (vpodzime) +- Network TUI: remove unused import, import nm. (rvykydal) +- Network TUI: show the same status as in gui. (rvykydal) +- Network TUI: don't traceback when applying config to device without link. + (rvykydal) +- Generate ifcfg VLAN_ID value for kickstart network --vlanid. (rvykydal) +- Network TUI: fix updating of ksdata in apply. (rvykydal) +- Network TUI: ignore slaves devices for configuration. (rvykydal) +- Clean up ifcfg file handling. (rvykydal) +- Check the validity of generated usernames in TUI (#965543) (dshea) +- Behave better when PYTHONPATH is already set (dshea) +- Decode keyboard layout descriptions as UTF-8 (#1009278) (dshea) +- Filter out devices with no media from custom (#960794) (bcl) + +* Wed Sep 18 2013 Brian C. Lane - 20.18-1 +- ProgressHub no longer exists in pyanaconda/ui/tui/hubs. (clumens) +- Search all disk types for install media (#1004726) (dshea) +- git commit check for ack flag on rhel branches (bcl) +- Fix Lightbox for compositing window managers (#1008446) (dshea) +- Add metalink support to yumpayload (bcl) +- Make progress screen in text mode standalone spoke instead of hub (vpodzime) +- Render the right arrow based on the widget direction (#1008397) (vpodzime) +- Mirror the GUI if an RTL language is chosen (#1008397) (vpodzime) +- Removed unused GUI elements (dshea) +- Clean up what is and isn't translatable and how. (dshea) +- Removed the exceptionsText constant (dshea) +- Add comments for translators to TUI input strings (#854226) (dshea) +- Use python-format on all intltool-extract strings (dshea) + +* Mon Sep 16 2013 Brian C. Lane - 20.17-1 +- Fix handling of blank size specs in the custom spoke. (#1004903) (dlehman) +- Block resize slider value changed handler when setting range. (#1007387) (dlehman) -- Use systemd to run checkisomd5 (#874486) (harald) -- fixup direct nfs iso url handling (#879187) (bcl) -- fixup nfs repo install code (#879187) (bcl) - -* Wed Dec 19 2012 Brian C. Lane - 18.39-1 -- Add more yum locking to yumpayload (#860022) (bcl) -- The percent bar can go in the same column as the space label. (clumens) -- Don't resize NTFS partitions to smaller than the filesystem on them - (#885912). (clumens) -- Remove some unused error handling code from old UI. (clumens) -- Don't generate ifcfg files for non-existing devices in parse-kickstart - (#886647) (rvykydal) -- Encode unicode strings returned by pytz.country_timezones() (#887236) +- Remove an unused import. (clumens) +- Create the XklWrapper singleton in background (vpodzime) +- Translate layout and switching options descriptions on the fly (vpodzime) +- Improve XklWrapper's API (vpodzime) +- Move upcase_first_letter function to iutil (vpodzime) +- Remove the Layout class and things we don't need in XklWrapper (vpodzime) +- Ignore the whole m4 directory (vpodzime) +- Do not schedule hubs with no spokes available (#1006357) (vpodzime) +- Retranslate language filtering placeholder texts (#1007090) (vpodzime) +- Use pigz to create updates.img (vpodzime) +- The Desktop class doesn't need to inherit from SimpleConfigFile. (clumens) +- Fix yet another pylint error caught after the fact. (clumens) +- Move all languages found by geoip to the top in Welcome spoke (mkolman) +- Don't set ksdata.lang.seen to True if using default value (mkolman) +- DNFPayload: reset the sack and repos on updateBaseRepo() (ales) +- refactor: YumPayload: selectKernelPackage()->_select_kernel_package() (ales) +- DNFPayload: mirrorlist can not be an empty string. (ales) +- DNFPayload: display the download step in progressQ. (ales) +- DNFPayload: logging the missed packages/groups. (ales) +- DNFPayload: select kernel packages. (ales) +- DNFPayload: log when the transaction process unexpectedly terminates. (ales) +- DNFpayload: disable all NSS operations in RPM. (ales) +- DNFPayload: keyerror in isRepoEnabled() (ales) +- DNFPayload: implement selectEnvironment() (ales) + +* Fri Sep 13 2013 Brian C. Lane - 20.16-1 +- add pre-commit hook to run pylint (bcl) +- Allow runpylint.sh to be passed files (bcl) +- handle case of no ifcfg and no hostname (#1002737) (bcl) +- Allow make targets to be run outside of $srcdir (dshea) +- Fix the wildcard usage in automake files. (dshea) +- Move the intltool Makefile rules into configure.ac (dshea) +- Fix a format parameter mapping (#1007472) (dshea) +- Check whether keyboard translations are stale (#972236) (dshea) +- Fix the handling of xklavier strings. (dshea) +- Center the Langsupport spoke's description (vpodzime) +- Set minimal width request for the locales box (vpodzime) +- Use constant for default keyboard layout (vpodzime) +- Try to use VConsole keymap name as X layout (#1007359) (vpodzime) +- Retranslate also layout indicator when retranslating BaseWindow (#1007087) (vpodzime) -- Always set passphrase for newly encrypted devices. (#888560) (dlehman) -- Handle edit of preexisting encrypted lv. (#885378) (dlehman) -- Raise DeviceError instead of ValueError from device ctor. (#888089) (dlehman) -- Set line wrap on the info bar (#888112). (clumens) -- Don't crash when vg edit triggers spurious change event. (#883699) (dlehman) -- Add handling for incomplete lvm/md devices. (#876441) (dlehman) -- Fallback to mdN if no name was found for incomplete md array. (#873224) - (dlehman) -- Add product.py to POTFILES (#858628). (clumens) -- Sort categories in GUI alphabetically (msivak) -- Fix typo in variable name (msivak) -- Collect addon paths properly (msivak) -- Move the import constants line below setupPythonUpdates (msivak) -- Only close AddLayout dialog on double-click if something is selected - (#887371) (vpodzime) -- Add warning to keyboard spoke on live installations (#886463) (vpodzime) -- Split ksdata execute and setup methods for addons (msivak) -- Add support for KS %%addon section and the API+code to use it (msivak) -- Import collected modules only once (msivak) -- Update run-spoke to use paths (msivak) -- Export QuitDialog and it's message string (msivak) -- Update the hack we use to preload AnacondaWidgets - we need to load the - typelib not just the .so file (msivak) -- Add FirstbootMixIn (msivak) -- Move the path definitions to Interface and pass it to the Hubs from there - (msivak) -- Make TUI ready for getting spokes from multiple directories (msivak) -- Make GUI more reusable and support multiple directories for spokes and - categories (msivak) -- Modify collect so it works with directories with missing __init__.py (msivak) -- Split completed and mandatory attributes (msivak) -- Move info about possible actions below the free space info (vpodzime) -- Fix a couple pylint errors (#867125). (clumens) -- Fix an undefined variable error (#867129). (clumens) -- The fs type combo should be sensitive when reformat is checked (#887201). - (clumens) -- Remove idiomatic, hard to translate text (#865598). (clumens) -- Activate default layout when it is changed (#882440) (vpodzime) -- Validate and correct vg names as needed. (dlehman) -- Don't allow resize of devices with no/unrecognized formatting. (#869841) - (dlehman) -- Add keyboard dracut setup args (#875567) (vpodzime) -- recheck software when source changes (#875599) (bcl) -- Include the new lib directory in the package (#886319, #886470). (clumens) -- Add a gradient background to spoke headers (mizmo, clumens). (clumens) -- Only allow changing filesystem type if the reformat combo is checked - (#885906). (clumens) -- It's possible for mountpoint to be None (#885279). (clumens) -- Explicitly set True/False in the bootloader setting (#885381). (clumens) - -* Tue Dec 11 2012 Brian C. Lane - 18.38-1 -- In interactive installs, default to bootloader in the MBR (#885284). - (clumens) -- Make sure software selection is checked against filesystem space. (#853636) - (dlehman) -- Update default install size and disk space estimate. (dlehman) -- Add checkbox for setting language default layout (#866887) (vpodzime) -- Change testing area label to something more appropriate (KeyboardSpoke) +- Check ready state before baseRepo (#1007448) (bcl) +- Fix po/Rules-extract so it doesn't remove itself (dshea) +- Include LayoutIndicator and TimezoneMap to the Micsellaneous Widgets (vpodzime) -- Fix getting country layout variants (vpodzime) -- Wait for slower dhcp before running vnc server (#868777) (rvykydal) -- Network spoke: fix NMClient signal callback arguments (#885488) (rvykydal) -- Add logging for networking and improve logging of ifcfg files (rvykydal) -- Honor user request via UI to not install a bootloader. (#885240) (dlehman) -- Handle partition removals regardless of deepcopy. (#884896) (dlehman) -- Default to partitions for /boot* instead of just /boot/efi. (#884606) - (dlehman) -- Fix a logic error in ActionDestroyFormat.obsoletes. (#885004) (dlehman) -- Take device type into account when making the config button sensitive - (#885051). (clumens) -- Hide VG-related widgets when displaying a non-LV mountpoint first (#885131). - (clumens) -- Install default system for %%packages --default (#869978) (bcl) -- Fix a typo in the live cd completion text (#884373). (clumens) -- Do not allow deleting or editing a protected device in custom part (#884599). - (clumens) -- If path doesn't exist, don't traceback. Return None. (clumens) -- Add/remove the HDISO source from protectedDevSpecs (#882147). (clumens) -- Put the bad VG name into the error message (#884359). (clumens) -- Use updated connection settings object for default auto config files - (#883383) (rvykydal) - -* Wed Dec 05 2012 Brian C. Lane - 18.36-1 -- Call udev_settle from inside udev_trigger. (dlehman) -- Prevent enabling the encryption checkbutton erroneously. (dlehman) -- Make sure Storage is initialized before refreshing the custom spoke. - (dlehman) -- Fix initialization of Storage.roots to use a list. (#884270) (dlehman) -- Don't allow reformat without setting a mountpoint. (#883076) (dlehman) -- Fix check for toggled encryption checkbutton. (#882722) (dlehman) -- Make sure FS minSize is never greater than its currentSize. (#876547) - (dlehman) -- When considering whether anything can be shrunk, throw out protected devs. - (clumens) -- In the UI, mark the HDISO source device as protected (#879610). (clumens) -- update mdraid superBlock space calculation (#883483) (bcl) -- Remove resetResolver function, we don't need it anymore (#868695) (rvykydal) -- Network spoke: improve logging. (rvykydal) -- Unify writeNetworkConf with other modules (rename, put in ks.execute) - (rvykydal) -- Fix network command --onboot and --activate options. (rvykydal) -- Fix two calls of self.window.set_info (#883632) (vpodzime) -- Use BaseWindow.set_warning and set_error in GUIObject's methods (vpodzime) - -* Tue Dec 04 2012 Brian C. Lane - 18.35-1 -- Fix a bug when switching back to an HDISO install source (#879612). (clumens) -- Lower case the DONE button on media check. (clumens) -- Change mirrorlist checkbox text (#883191). (clumens) -- Change the bootloader button to indicate you can also not install one. - (clumens) -- Stop writing /etc/sysconfig/keyboard (#871543) (mschmidt) -- Stop writing /etc/sysconfig/i18n (#871543) (mschmidt) -- Write /etc/hostname (#871543) (mschmidt) -- Correct doing string substitution for encryption. (clumens) -- Add install.py to POTFILES.in so a lot more strings can be translated. - (clumens) -- Only instantiate main line action objects when they are needed. (clumens) -- Add a category to POTFILES.in so "USER SETTINGS" gets translated. (clumens) -- Make sure product info and spoke titles are translated throughout. (clumens) -- Substitute on new_install_name when it's needed, not at the top of custom.py. - (clumens) -- Compare the protocol combox box on position, not text. (clumens) -- When we retranslate the welcome window, inform glibc. (clumens) -- Add gettext checks to widgets/configure.ac. (clumens) -- The initial welcome screen is the only one that needs to do retranslation. - (clumens) -- Remove the generic retranslate method from the python portion of the UI. - (clumens) -- Do not allow manipulating protected devices in the reclaim dialog (#882147). - (clumens) -- ISOImage needs to look at /run/install/source for the mounted image - (#879142). (clumens) -- Minor TODO list update. (clumens) -- Get rid of the unneeded action1. (clumens) -- Do not list some layouts twice (#882526) (vpodzime) -- Check if the given NTP server is a valid hostname (#865869) (vpodzime) -- Improve and document network.sanityCheckHostname (vpodzime) -- don't write network settings on image install (bcl) - -* Sat Dec 01 2012 Brian C. Lane - 18.34-1 -- remove extra space in custom.py (bcl) - -* Fri Nov 30 2012 Brian C. Lane - 18.33-1 -- Escape single percent signs in RPM changelog entries. (dcantrell) -- Fixes for PkgWrangler review. (dcantrell) -- Don't let defaults override user-specified container settings. (#879702) - (dlehman) -- Fix partition allocation when enabling container encryption. (#879702) - (dlehman) -- Remove partitions from all appropriate DiskLabel instances. (#870586) - (dlehman) -- Add a way for users to set the names of lvm and md devices. (dlehman) -- Update the RAID-specific UI after changing the device's disk set. (dlehman) -- Correctly handle the default vg not having been instantiated yet. (dlehman) -- Drop requested container disks that don't have enough space. (#873293) - (dlehman) -- Don't allow LVM disk set selection via configure button. (dlehman) -- Try to add new device to an existing container if disks are full. (dlehman) -- Fix code to lock encryption checkbutton for LV in existing VG (#877871) - (dlehman) -- Add support for changing a new LV's VG. (dlehman) -- Fix check for in-use LV name to include VG name. (#875477) (dlehman) -- Remove the automatic show_all from those info_bar related functions. - (clumens) -- Add set_info, set_error, set_warning functions to the BaseWindow object. - (clumens) -- set_info functions may not be called from outside the main thread (#873600). - (clumens) -- Test if path is valid before using it (NTPConfigDialog) (vpodzime) -* Wed Nov 28 2012 Brian C. Lane - 18.32-1 -- Bootloader checking should work in terms of self.stage1/2_ attrs (#880277). - (clumens) -- Catch OverflowError in manual partitioning. (sbueno+anaconda) -- Do not accept tabs in the keyboard layout test box (#897312). (clumens) -- Wait for slower dhcp for payload setup and hostname setting (#873468) +* Wed Sep 11 2013 Brian C. Lane - 20.15-1 +- Don't set up the resize slider for non-resizable devices. (#997690) (dlehman) +- Remove 'completed' property from Autopart spoke in text UI. (sbueno+anaconda) +- Clean up code for input handling in TUI spokes. (sbueno+anaconda) +- set_hostname should proceed only on DVD and live installations (vpodzime) +- Don't use temporary file and move when writing out an ifcfg file (vpodzime) +- Set hostname when leaving network spokes (vpodzime) +- Keep file-naming convention with the Lightbox widget (vpodzime) +- Let users configure autopart options in interactive text ks. (#1001061) + (sbueno+anaconda) +- Add parameters to format strings (dshea) +- Fix pre-processing of files for xgettext (#1005644) (dshea) +- Added a test to check for xgettext warnings (dshea) +- Make sure XklWrapper isn't dumped to the anaconda-tb file (vpodzime) +- Catch race of network device state vs reading its config properties (#980576) (rvykydal) -* Mon Nov 26 2012 Brian C. Lane - 18.31-1 -- Rename icons for liveinst (conflict with redhat-logos) (#878037) (rvykydal) -- Rework actions in the resize dialog to avoid shortcomings (#866209, #867770). - (clumens) -- Check that everything's a GDK window before attempting to manipulate it. - (clumens) -- On live installs, the progress hub should have a Quit button (#854904). - (clumens) -- If no bootloader is to be installed, pop up a warning. (clumens) -- Escape ampersands in spoke status text. (clumens) -- Allow not setting any boot device via the UI (#867469). (clumens) -- Allow specifying whether the URL you've given is a mirrorlist or not - (#868558). (clumens) -- Prevent false positives when checking for encryption change. (dlehman) -- Don't add incomplete VGs to the LVM reject filter. (#878225) (dlehman) -- Show device names for devices in the Unknown page/subsection. (#855646) - (dlehman) -- Add a page to the custom RHS notebook for uneditable devices. (#875942) - (dlehman) -- Fix error in iutil.execCapture when fatal and non-zero exit (stefw) -- Allow iutil.execWithCapture to work without a chroot (stefw) -- Handle hd iso leavings by dracut (#876897) (jkeating) -- show error when rsync fails (#868755) (bcl) - -* Mon Nov 19 2012 Brian C. Lane - 18.30-1 -- only raise rsync error on error 12 (#868755) (bcl) -- Dump default auto connection's ifcfg file instead of writing a new one - (#870922) (rvykydal) -- Number timezones starting with 1 (#859342) (msivak) -- only call bootloader.check() if bootloader is setup (#875278) (bcl) -- Fix operator precedence when checking for the presence of transifex-client. - (clumens) -- Make the custom and keyboard toolbar buttons larger (mizmo). (clumens) -- More changes to leave the spoke via a glib idle call, not calling directly. - (clumens) -- Hide the custom addon button. (clumens) -- Enable verbose yum logging once more (jkeating) -- rm transifex-client buildreq; check and install only if needed (sbueno) -- Handle nfsiso leavings by dracut (#876223) (jkeating) -- Prevent some raid-related tracebacks. (#874034) (dlehman) -- Don't try to save changes to a locked luks device. (#876180) (dlehman) -- Keyboard test layout padding fix (mizmo). (clumens) -- Correct colors for selected items in mountpoint selector widget (mizmo). - (clumens) -- Include hidden disks in the storage spoke's list of devices (#875475). - (clumens) -- Make the DetailedErrorDialog taller by default (#874620). (clumens) -- If there's only a Quit button, don't make it secondary. (clumens) -- Handle package dependency errors on kickstart installs too (#865073). - (clumens) -- Remove iso-codes dependency, libxklavier has it fixed now (vpodzime) -- Rework custom partitioning alignment too (mizmo). (clumens) -- Attempt to fix the shrunken storage UI (mizmo). (clumens) -- Do not allow TreeView search in AddLayout dialog (#876131) (vpodzime) -- DiskOverview widget selection color correction (mizmo). (clumens) -- Use the main loop to control displaying the resize dialog. (clumens) -- Use ksdata to set default runlevel (jkeating) -- Execute xconfig data (#874868) (jkeating) -- Write out xconfig data when executed (jkeating) -- Code cleanups (jkeating) -- Link to the correct default target (jkeating) -- Add a mapping of old run level to new systemd target (jkeating) - -* Mon Nov 12 2012 Brian C. Lane - 18.29-1 -- Quit after handling transaction errors. (clumens) -- Add a function to display relevant transaction errors (#873106). (clumens) -- Don't decorate error dialogs. (clumens) -- Fix error handling when new device ends up with size 0. (dlehman) -- Explicitly request all free space when no size given in custom. (#872833) - (dlehman) -- Disable the language spoke off the first hub, for now (#874263). (clumens) -- Wrap text on install options dialogs (#874265). (clumens) -- Encode unicode strings from XklWrapper (#873762) (vpodzime) -- New version (out of order) (bcl) -- Network spoke: fix traceback (number of callback parameters) (#875393) +* Tue Sep 10 2013 Brian C. Lane - 20.14-1 +- Convert the lightbox into a GObject (#1000927) (dshea) +- Remove some more unused imports. (clumens) +- Move the Anaconda class to a proper module (vpodzime) +- Firstboot should be disabled by default after automated installations + (vpodzime) +- Fix typo introduced in refactorization (#1005511) (vpodzime) +- Remove unused imports in the network spoke. (clumens) +- Get rid of the now-unused new_firmware variable. (clumens) +- Remove magic from the passphrase dialog (#921948) (vpodzime) +- Don't pass extra arguments to LangLocaleHandler.__init__() (vpodzime) +- Fix check for device state when reading its IPXConfig (#1001776, # 1005198) (rvykydal) -- Adjust right margin for MountpointSelector (mizmo). (clumens) -- Fix introspection warnings for widgets (stefw) - -* Fri Nov 09 2012 Brian C. Lane - 18.28-1 -- Show NFS as the source if dracut left it for us (#875235) (jkeating) -- Convert the accordion Button to a LinkButton (mizmo). (clumens) -- Buttons shouldn't scream at people (#868536, mizmo). (clumens) -- Don't attempt to handle exceptions when NFS mounts fail. (clumens) -- If there's an error setting up the source, display it as the status. - (clumens) -- Add logging around the messages that can be processed by the hub. (clumens) -- You can't reformat a btrfs volume/subvolume. (dlehman) -- Always account for device removals in their containers. (dlehman) -- Fix container member management for md devices. (dlehman) -- Use a more robust method for removing previous autopart. (#868589) (dlehman) -- Post-custom sanity check determines storage spoke completeness. (#868925) - (dlehman) -- Fix detection of inactive md arrays. (#873031) (dlehman) -- Vastly simplify the process for applying changes from custom spoke. (dlehman) -- Clean up container disk set and encryption change handling. (#874714) + +* Mon Sep 09 2013 Brian C. Lane - 20.13-1 +- Fix handling of flexible specs in onpart for member devices. (#1004885) (dlehman) -- Honor kickstart bootloader --location=none. (#871143) (dlehman) -- Use original raid level and disk set when reverting a device. (dlehman) -- Set raid level based on defined volume for not-yet-btrfs mounts. (dlehman) -- Network spoke: improve status info (shorten) (rvykydal) -- Network spoke: update list of connected devices in hub status (rvykydal) -- Network spoke: Add "Connecting..." state to status (#868704) (rvykydal) -- Network spoke: Update status of networking in hub (#868704) (rvykydal) -- check for small grub2 embed space (#737508) (bcl) -- Set SpokeSelector's tooltip to spoke's status (vpodzime) -- Don't let mount/umount block python threads (#873600). (clumens) -- Fix makeupdates to correctly detect and include changes in isys. (clumens) -- Update pot file with proper lower cased buttons (#868536, mizmo). (clumens) -- Default to LVM on text installs too (#874586). (clumens) -- Remove network enablement in anaconda from rescue mode (#873854) (rvykydal) -- Add very basic U-Boot support for ARM platforms (dmarlin) -- Fix test for changed disk set for partitions. (#873994) (dlehman) -- Add support for preexisting whole-disk formatting. (#870476) (dlehman) -- There is no Storage.destroyFormat method. (dlehman) -- Move DEVICE_TYPE constants into storage and use them everywhere. (dlehman) -- A device scheduled for reformat is not unused. (dlehman) -- Catch the right exception when settin up raid options ui. (#873486) (dlehman) -- Network spoke: Use connection state that triggered a callback (bug #871429) +- Always regenerate initramfs (#994180) (bcl) +- Avoid the use of NamedTuple._make (dshea) +- Add superclass __init__()s and fix an indent (dshea) +- Pass logging string format variables as parameters (dshea) +- Remove unnecessary variables, imports, semicolons (dshea) +- Fix the user/group name regex (dshea) +- Fix problems with the test scripts (dshea) +- Handle kickstarts that don't specify timezone (#1001598) (mkolman) +- Don't set "date of last password change" /etc/shadow field (#985572) + (hdegoede) + +* Fri Sep 06 2013 Brian C. Lane - 20.12-1 +- Cleanup arch tests (dshea) +- Rearranged the automake tests. (dshea) +- Update po/ build files to the current gettext (dshea) +- Use libtool with gtkdoc-scanobj (dshea) +- Use autoconf to set the spec file Version. (dshea) +- Use the ustar format with make dist (dshea) +- Fix widgets autotools generation. (dshea) +- Require gtk-doc and GObject. (dshea) +- dracut no longer auto assembles everything (#960496) (bcl) +- Only ignore missing packages entries (#983316) (bcl) +- Fix a string that was modified before translation (#1004960) (dshea) +- Let users configure keyboard via anaconda in live installations (#1002533) + (vpodzime) +- Use copy instead of move for NTP configuration (#985566) (hdegoede) +- Share code between the Welcome and Langsupport spokes (vpodzime) +- Do not try to set None as hostname (#1002737) (vpodzime) +- Fix crash on LiveCD if network is configured before installing (#1002373) (rvykydal) -- Use sr_Latn_RS instead of sr_RS (vpodzime) -* Wed Nov 07 2012 Brian C. Lane - 18.27-1 -- Mark more UI strings with N_ (#874276). (clumens) -- Pressing Enter on the passphrase dialog should continue (#788556). (clumens) -- Pressing Enter should activate the rightmost button on the detailed dialog. - (clumens) -- Pressing enter on a MountpointSelector should display it on the RHS - (#873352). (clumens) -- Make language groups work again (#873865) (jkeating) -- Update payload if slower dhcp succeeds in network pre-hub spoke (#873468) +* Thu Sep 05 2013 Brian C. Lane - 20.11-1 +- Add more details to iso device selector (#971290) (bcl) +- Warn user if they enter a weak password in TUI. (#1001039) (sbueno+anaconda) +- Don't mark spoke as completed if no repo is set. (#1001538) (sbueno+anaconda) +- Don't enable chronyd if disabled in kickstart (#1002583) (mkolman) +- Run firstboot-only spokes on first boot by default (vpodzime) +- Let hubs specify which environments they support (vpodzime) +- Don't mount cdroms that contain no mountable media. (#1000889) (dlehman) +- Don't try to parse langcode if none given (vpodzime) +- Get rid of the non-deterministic expand_langs and its usage (vpodzime) +- Rework the Langsupport spoke to work with all locales (vpodzime) +- Rework the Welcome spoke to allow users choose from all locales (vpodzime) +- Improve import in GUI utils a bit (vpodzime) +- Remove the cryptic "language-default keyboard" checkbutton (vpodzime) +- Allow seting up locale without modifying ksdata (vpodzime) +- Remove an unused argument of get_available_translations (vpodzime) +- Setup language early to a value we can figure out (vpodzime) + +* Tue Sep 03 2013 Brian C. Lane - 20.10-1 +- Optionally hide the GUI option to install updates (dshea) +- Move the really_hide and really_show functions to utils (vpodzime) +- Search for all translations, not only one per langauge (#1001446) (vpodzime) +- Use the DEFAULT_LANG if GeoIP suggestion cannot be used (#1000715) (vpodzime) +- Network spoke: fix showing of ipv6 addresses (rvykydal) +- Use the sensitive-info log for sensitive location info (#986844) (mkolman) +- Add new logger for sensitive information (mkolman) +- Handle %%define changes for autofetch (mkolman) +- Update dumping of network info for new nmcli interface. (rvykydal) +- Text network spoke: more strict ipv6 address input checking (#909299) (rvykydal) -- Fix group access after parsing btrfs subvol list output. (#868468) (dlehman) -- Account for autopart swap size when checking free space. (dlehman) -- ignoredisk.onlyuse contains names, not StorageDevice instances. (#873463) - (dlehman) -- Correctly handle toggle of encryption state for devices. (#873445) (dlehman) -- Handle changes to encryption state of container members. (#873445) (dlehman) -- Change custom spoke to apply encryption to PVs, not LVs. (dlehman) -- Widen the sidebar on custom partitioning (mizmo). (clumens) -- Fix spacing and padding on SpokeSelectors (mizmo). (clumens) -- Set the font globally (mizmo). (clumens) -- Handle if we get something other than a .treeinfo file (#872012). (clumens) -- If repo metadata fetching fails, set an info error message (#873605). - (clumens) -- Enable yum langpacks plugin to get conditional packages (#868869) (jkeating) -- Base whether an add-on is selected on the selectedGroups, not ksdata - (#873092). (clumens) -- Add UTC and GMT-X timezones (#863199) (vpodzime) -- TimezoneMap should handle "" timezone (vpodzime) -- raise error on rsync failure (#868755) (bcl) -- exclude bind mounts from rsync (#871637) (bcl) -- Fix up the InstallOptions3Dialog.refresh arguments (#873392). (clumens) -- Mark strings at the top of spokes with N_; translate later with _ (#872791). - (clumens) -- Do not decorate the dialog that appears when you click on storage info bar. - (clumens) -- You have to give "raise" an exception if you're outside a handler (#872874). - (clumens) -- Prompt for encryption passphrase in reclaim path. (#869391) (dlehman) -- Prevent user from hitting save without entering a passphrase. (#869391) - (dlehman) -- Font and padding updates for the network spoke (mizmo). (clumens) -- Fix alignment on the Add and Configure Mount Point dialogs. (clumens) -- Network spoke: activate wifi connection after setting secrets (#871132) +- Network spoke: show global ipv6 addresses (rvykydal) +- Text network spoke: add to translated files (po/POTFILES.in) (#902299) (rvykydal) -- Fix nfsiso as stage2 (#871554) (jkeating) -- Fix traceback when saving changes to an existing partition. (#872446) - (dlehman) -- Some more stuff for the mangleMap (#866730) (vpodzime) -- Handle locale's encoding and script in a better way (vpodzime) -- Use both language and country to guess layout (#861061) (vpodzime) -- Fix remaining issues with md fwraid. (#872739) (dlehman) -- Do not return None from Size.__str__ (#869405) (vpodzime) -- Add a platform weight for ARM images (dmarlin) -- Remove a bunch of stuff from the TODO list. (clumens) -- Don't decorate the main exception window. (clumens) -- Move the custom partitioning's Apply Changes button. (clumens) -- Indent partition type options under the expander further. (clumens) -- Left align the Label label, and indent the custom options further. (clumens) -- Lots of custom partitioning UI changes (mizmo). (clumens) -- Update fonts on the welcome language spoke (rlerch). (clumens) -- Lots of storage spoke font and spacing changes (mizmo). (clumens) -- Set the background of the custom partitioning accordion back to white - (mizmo). (clumens) -- Set the Local Standard Disks background back to white (mizmo). (clumens) -- Reorder Device Type options in custom part to match the Partition Type combo. - (clumens) -- Use the same terminology for partitions as is in use on the custom spoke. - (clumens) -- livecd specific code has moved (bcl) -- Add progress percentage info to liveinst (bcl) - -* Thu Nov 01 2012 Brian C. Lane - 18.23-1 -- Update parsing of 'btrfs subvol list' to match its new output. (#868468) - (dlehman) -- Add a way to select the default device type. (dlehman) -- Enable specification of disk(s) for individual mountpoints. (#870569) - (dlehman) -- Improve management of complex devices in custom spoke. (#865199) (dlehman) -- Save btrfs subvols' requested size. (dlehman) -- Reclaim extra set member growth evenly across members. (dlehman) -- Give lvmpv a slightly more realistic minimum size. (dlehman) -- Fix required space calculation for lvm. (dlehman) -- Don't filter disks when scanning storage after autopart fails. (#866717) - (dlehman) -- Fix detection of partitioned md devices. (#866519) (dlehman) -- Correct handling of disks with hidden formats. (#866519) (dlehman) -- Revert "Fall back to lvm autopart if the default fails." (dlehman) -- Revert the default autopart type to lvm. (#870207) (dlehman) -- Apparently necessary kpartx changes (#867593) (dlehman) -- Mark a few more important strings for translation. (clumens) -- If lang= was provided on the command line, set the installation language. - (clumens) -- Make the decision to skip the welcome screen more complicated. (clumens) -- Set a translation domain before loading a glade file. (clumens) -- Don't decorate the NTP config dialog. (clumens) -- Mark properties in existing glade files as translatable. (clumens) -- Widget properties exposed via glade need to be marked as translatable. - (clumens) -- Network spoke: don't try to call replace on None (traceback) (#869106) +- Text network spoke: require netmask and gateway for static ipv4 (#902299) (rvykydal) -- Fix nfsiso repo selection (#871648) (jkeating) - -* Wed Oct 31 2012 Brian C. Lane - 18.22-1 -- Revert "Update parsing of 'btrfs subvol list' to match its new output. - (#868468)" (dlehman) -- Pass RAID level to btrfs volume constructor. (#866101) (dlehman) -- Fix a traceback when removing non-existing partitions in custom. (#869839) - (dlehman) -- Update parsing of 'btrfs subvol list' to match its new output. (#868468) - (dlehman) -- Remove the word "review" from the label on the custom checkbutton. (#871109) - (dlehman) -- Require that the root filesystem be created by anaconda. (#871104) (dlehman) -- On error, reset the RHS to what it used to be (#869422). (clumens) -- Don't prompt when in cmdline mode (#869685) (jkeating) -- Force a root password to be set (#869675) (jkeating) -- Network spoke: fix hostname handling in standalone spoke (#868535) (rvykydal) -- Network spoke: fix config info update after switching device OFF and ON - (#871429) (rvykydal) -- Network spoke: connected requires activated (not active) connection (#871129) +- Text network spoke: Condense device configuration information (#902299) (rvykydal) -- Blank out passphrases from /root/anaconda-ks.cfg (#868519). (clumens) -- Setup package repo in the background (#870552) (jkeating) -- check disklabels when calculating free space (#863892) (bcl) -- updateBaseRepo does not need a storage argument. (clumens) -- Fix up calling superclass setup methods in packaging (#870556). (clumens) -- Fix a race condition with kickstarts (#868834) (jkeating) -- run checkisomd5 from anaconda-diskroot (#848764) (bcl) -- skip luks passphrase in exception dump (#868509) (bcl) -- Replace ' ' with '_' when looking for ifcfg files (#869106) (rvykydal) -- Remove storageComplete, which was only called from dispatch.py. (clumens) -- Remove dispatch.py and its associated test case. (clumens) -- Use a slightly different method to get supported languages (#858801, tagoh). - (clumens) -- Fix problems when changing things in the software spoke (#868742, #869424). - (clumens) -- Network spoke: fix callback arguments for device add/remove. (rvykydal) -- display storage errors in text mode storage spoke (bcl) -- only clear errors if re-running the check (#868707) (bcl) -- set boot flag and name for EFI partition (#866106) (bcl) -- clear pmbr_boot on EFI systems (#844551) (bcl) -- Lots of UI layout tweaks (mizmo). (clumens) -- /etc/sysconfig/keyboard doesn't support vconsole.xyz options. (notting) - -* Thu Oct 25 2012 Brian C. Lane - 18.21-1 -- Add PowerNV as a recognized PPC platform (nacc) -- anaconda should print unknown platform information (hamzy) -- Toggle chosen property on focus change (MountpointSelector) (vpodzime) -- Lock source spoke while depsolving (#867591) (jkeating) -- In custom part, don't display mountpoints without associated disks (#865942). - (clumens) -- Tie "Reclaim Space" button sensitivity to how much space the user freed - (#869375). (clumens) - -* Tue Oct 23 2012 Brian C. Lane - 18.20-1 -- Add dialog for configuring layout switching options (vpodzime) -- Initialize layout switching if needed (vpodzime) -- Save layout switching configuration (vpodzime) -- Add support for layout switching options to XklWrapper (vpodzime) -- We need to set _root in two places for a MountpointSelector. (clumens) -- Correctly destroy the deletion confirmation dialog. (clumens) -- Don't set self.data.method.url until after checking for a protocol (#869102). - (clumens) -- Fix an undetected bug when setting up an HTTPS method. (clumens) -- YabootSILOBase objects don't have an encrypted_password parameter (#869016). - (clumens) -- rprivate -> make-rprivate (#869246). (clumens) -- If NFS is selected in the source spoke, the URL must contain a colon - (#869103). (clumens) -- Modify behavior when leaving the reclaim storage dialog (#864128, #867770, - #868903). (clumens) -- Set the status text in the SpokeSelector widget differently now. (clumens) -- Use the correct font for each language on the welcome screen (#868836, - tagoh). (clumens) -- Everywhere we make a MountpointSelector, give it a _root attr (#868702). - (clumens) -- payloadInstallHandler should only optionally take a package argument - (#868542). (clumens) -- Add a reformat checkbutton to indicate a desire to reformat the device. - (dlehman) - -* Fri Oct 19 2012 Brian C. Lane - 18.19-1 -- Reset the comps to empty along with everything else in yum. (clumens) -- Hook up the "Remove Packages" button on the dep solving error screen. - (clumens) -- If nothing's changed in the software spoke, don't redo dep solving. (clumens) -- skip vnc prompt with text mode and kickstart (bcl) -- Use correct name for MD RAID device description text. (dlehman) -- Fix selector management after a reformat action is scheduled. (dlehman) -- Aqcuire yum lock before doing the work of _yumCacheDirHack. (#858993) - (dlehman) -- Reset error list on success of doKickstartStorage. (dlehman) -- Tighten up management of passphrases across Storage resets. (#865364) - (dlehman) -- Do not count not-yet-created filesystems as free space. (#866895) (dlehman) -- Remove any preexisting autopart layout before space check. (#866895) - (dlehman) -- Apply disk selections to the devicetree before the space check. (#866895) - (dlehman) -- Update free space totals before refresh after removing a device. (dlehman) -- Log exceptions raised from PartitionDevice constructor. (dlehman) -- Fix size specs for PartitionFactory. (dlehman) -- Reinitialize disks after removing the last partition from custom spoke. - (dlehman) -- Refactor shouldClear slightly. (dlehman) -- Use correct means for getting device type in the custom spoke. (dlehman) -- Repopulate the RHS after editing a device. (dlehman) -- Don't bother resizing a container that has just been emptied. (dlehman) -- Don't allow implicit fstype change via mountpoint. (#866953) (dlehman) -- Set up devices before trying to decrypt them. (#865247, #867533) (dlehman) -- Don't short-circuit devicetree populate based on clearpart setting. (dlehman) -- Keep hostname when updating ksdata after GUI network configuration (#866516) +- Text network spoke: fix ipv4 regex (#909299) (rvykydal) +- Resolved accelerator conflicts and marked excpetions. (dshea) +- Added tests for duplicated keyboard accelerators (dshea) +- Implement group creation with GID in GUI (#968085) (dshea) +- Remove unused imports. (dshea) +- Move dynamic labels out of custom.glade (#1000703) (dshea) + +* Mon Aug 26 2013 Brian C. Lane - 20.9-1 +- Text network spoke: basic configuration support (#909299) (rvykydal) +- Add support for network configuration in TUI. (#909299) (sbueno+anaconda) +- Remove partial matches from Koji search results (mkolman) +- Handle >=,<=,= for package version, fix -a/--add (mkolman) +- Return only network devices supported in installer from nm_devices (#999514) (rvykydal) -- don't save system time on s390 (#867856) (dan) -- Network spoke: make Configure button insensitive when running nmce (#865931) +- Obtain network device type specific dbus interface dynamically (#999514) (rvykydal) - -* Wed Oct 17 2012 Brian C. Lane - 18.18-1 -- remove firewall.py from POTFILES.in (bcl) -- Add missing pieces for kickstart's encryption cipher option. (dlehman) -- update to use firewalld (#815540) (bcl) -- Fix a typo in method name (#863765) (msivak) -- Add missing import (#867296) (msivak) -- There is no anaconda object available in writeSysconfigKernel (vpodzime) - -* Tue Oct 16 2012 Brian C. Lane - 18.17-1 -- Add an error handler for fatal package installation errors (#865291). - (clumens) -- Modify the status test for the software selection spoke. (clumens) -- Various layout and font improvements to the keyboard spoke (mizmo, rlerch). - (clumens) -- Just return the size string uppercased (#867074). (clumens) -- Revert "Use a capital "B" in the size module (#859932)." (clumens) -- Revert "Fix one more reference to bits (#859932)." (clumens) -- Fix padding around the addons view in the software spoke. (clumens) -- The Unknown page selectors/devices have no root. (dlehman) -- Avoid using mount --move on shared paths (#853508) (jkeating) -- Revert "Release Gdk lock in exception handling" (msivak) -- Make all Gtk calls from inside of it's main loop (and thread) (msivak) -- Remove Gdk thread initialization, introduce new helper functions and make - exception handler be called by Gtk only once (msivak) -- Fix threading initialization (msivak) -- Do not remove the layout if it was added back (#865830) (vpodzime) -- Release Gdk lock in exception handling (vpodzime) -- Configure new-kernel-pkg to keep tboot configuration on updates (#742885) - (pjones) -- Honor the nompath option. (dlehman) -- Validate lv names. (dlehman) -- Add support for specifying encryption cipher mode via kickstart. (dlehman) -- Acquire the yum lock before accessing YumBase.repos. (#858993) (dlehman) -- Remove the entry on the resize dialog's combo boxes. (clumens) -- disks_free -> disks_size (#863647). (clumens) -- Fix one more reference to bits (#859932). (clumens) -- Fix a traceback in media check (#865897). (clumens) -- Add support for deleting an entire root via the existing ConfirmDeleteDialog. - (clumens) -- Don't traceback when removing a mountpoint with no expanded selector - (#862746). (clumens) -- Remove the code for removing an entire Root all at once. (clumens) -- Yet more TODO list updates. (clumens) -- Don't display "None" in the name of a root. (clumens) -- Fix configuration of protected wireless connections (#855526) (rvykydal) -- Fix graphical kickstart with %%packages data (jkeating) -- Add password validation to text password spoke (jkeating) -- Make use of the validatePassword routine from users.py (jkeating) -- Add a password verification method to users.py (jkeating) -- Always honor the 'nokill' flag (vpodzime) -- Fall back to lvm autopart if the default fails. (#864708) (dlehman) -- Special boot devices are handled the same whether they exist or not. - (dlehman) -- Fix a bug allocating fixed-size partitions. (dlehman) -- Clean up size sets immediately after allocation run. (#864771) (dlehman) -- Make sure partition base sizes are adequate for their formatting. (dlehman) -- Don't fail to account for all set members' growth. (dlehman) -- Remove some extra calls to show_first_mountpoint. (dlehman) -- Show the correct raid options for btrfs. (dlehman) -- Support change of raid level in custom spoke. (dlehman) -- Use devicetree as partition list source instead of parted. (#864718) - (dlehman) -- Use Storage convenience methods to schedule reclaim actions. (dlehman) -- Pass disk list when trying to recover from device type change failure. - (dlehman) -- Fill in missing parts of the disabled raid features dict. (dlehman) -- Clear errors when entering or leaving the custom spoke. (dlehman) -- Hook up signal handler for raid feature checkbuttons. (dlehman) -- Raise MDRaidError instead of ValueError from devicelibs.mdraid. (dlehman) -- Minimum we have to do with HW clock (vpodzime) -- Check X layouts specified in kickstart for validity (vpodzime) -- Work with VConsole keymap and X layouts separately (vpodzime) -- Add class wrapping systemd-localed functionality (vpodzime) -- Don't write XkbVariants if none are specified (vpodzime) -- Add comment to the begining of generated xorg.conf file (vpodzime) -- Don't display "None" for NIC vendors and products NM can't identify (#859540) +- Catch no-hwaddr exception only for the respective call (#999514) (rvykydal) +- Don't catch hwaddr not found exception for ethernet devices (#999514) (rvykydal) - -* Thu Oct 11 2012 Brian C. Lane - 18.16-1 -- Don't try to load ifcfg files for wifi devices (#865355) (vpodzime) -- Rewrite isWirelessDevice to Python and DBus calls (#862801) (vpodzime) -- Use a capital "B" in the size module (#859932). (clumens) -- The environment window needs a vertical scroll bar (#865066). (clumens) -- liveinst should recognize inst.updates too (#865398). (clumens) -- Improve validation of device edit requests. (dlehman) -- Fix listing of subvolumes for existing btrfs volumes. (dlehman) -- Remove overzealous correction of device type for /boot*. (#863574) (dlehman) -- Pad filesystem minimum sizes to ensure other OS can still run. (dlehman) -- Handle encrypted partitions in size set classes. (dlehman) -- Don't set mountpoints of "(null)" in mountpoint selectors. (dlehman) -- Prevent crash trying to populate raid options on a one-disk system. (dlehman) -- Rework type combos and don't offer RAID on one-disk systems. (dlehman) -- Bundle more of data/ in updates.img (jkeating) -- Revive reipl (#860244) (jkeating) - -* Wed Oct 10 2012 Brian C. Lane - 18.15-1 -- add noverifyssl to anaconda-dracut (#852229) (bcl) -- Don't crash when running anaconda a second time (jkeating) -- Handle ssh prompt in new tmux world (jkeating) -- Add a service to run anaconda directly on the tty (jkeating) -- Add a script to attach to anaconda's tmux (jkeating) -- Add ARM-OMAP class to create a uboot partition to support the boot-loader. - (dmarlin) -- Avoid a loop of storage spoke executions during kickstart (#865048). +- Added a validation test for the GUI group list (dshea) +- Validate input fields on the user spoke. (#967245) (dshea) +- Added an input validation framework. (dshea) +- Pre-fetch widgets in advanced user dialog (dshea) +- Change validatePassword to be more flexible. (dshea) +- Moved regexes into regexes.py. (dshea) + +* Fri Aug 23 2013 Brian C. Lane - 20.8-1 +- Fix a SIGSEGV when returning from storage spoke (#983319) (dshea) +- makebumpver: Fix problem with single line body (bcl) +- For now, ignore checking dnfpayload.py with pylint. (clumens) +- Don't do str() on an exception we're passing into a string substitution. (clumens) -- Correct lookup of raid.XX "mountpoints" for kickstart installs (#864764). - (clumens) -- Change language matching on the welcome screen back around. (clumens) -- Another attempt at fixing the squished screen bug (#849211). (clumens) -- Fix a stupid typo in the disk shopping cart (#864842). (clumens) -- Reorder the buttons and labels on the bottom left of the storage spoke. - (clumens) -- Modify the DetailedErrorDialog buttons. (clumens) -- Sync up hidden/unhidden disks between the UI and storage module (#864180). - (clumens) -- When handling a storage error, reload self.disks (#862972). (clumens) -- Fix sshd bringup when also using a kickstart file (#863441) (jkeating) -- Require root password spoke be visited (#859069) (jkeating) -- add some thread logging (bcl) -- Reword the description on the resize dialog (#863577). (clumens) -- Present an error message if no disks are detected (#864093). (clumens) -- When changing environments, don't explicitly exclude groups (#863886). - (clumens) -- Fix marking the "Modify Software Selection" button as sensitive in one case. +- Check for hwaddress exceptions. (dshea) +- If LANG isn't set, set it to default value. (#997397) (sbueno+anaconda) +- Remove yet another unused import. (clumens) +- swap devices should be under the System portion (#962668). (clumens) +- Populate the repo store before changed can ever be called (#994940). (clumens) +- Make the ISO choosing widget wider (#973376). (clumens) +- Don't recommend /usr as a separate mount point anymore (#981465). (clumens) +- Do not run another instance of the TUI for errors (#997661) (vpodzime) +- Do not try to exit from the installation thread (vpodzime) +- Tell which thread failed to be added by the ThreadMgr (vpodzime) -* Mon Oct 08 2012 Brian C. Lane - 18.14-1 -- Add UI support for encrypted automatic partitioning. (dlehman) -- Add support to the custom spoke for encrypted block devices. (dlehman) -- Add a page for decrypting existing LUKS devices. (dlehman) -- Add a dialog for collecting a passphrase for newly encrypted devices. - (dlehman) -- Add a property that provides a list of all selectors in the accordion. - (dlehman) -- Handle luks formats during populate if they have a passphrase set. (dlehman) -- Add encryption support to the device factory classes. (dlehman) -- s/dev/disk in the disk shopping cart. (clumens) -- Set a default payload in InstallOptions1Dialog (#863582). (clumens) -- Pass disks into the SelectedDisksDialog (#863588). (clumens) - -* Fri Oct 05 2012 Chris Lumens - 18.13-1 -- Make sure packages anaconda requires are installed. (clumens) -- Add method returning current activated X layout (vpodzime) -- Fix a deadlock when trying to add a keyboard layout (#862612). (clumens) -- ntfsresize uses SI (MB) while the rest of us use IEC (MiB). (#862109) - (dlehman) -- Remove empty extended partitions after removing a logical partition. - (dlehman) -- Handle all logical/extended partitions in unusedDevices. (dlehman) -- Update autopart/custom setting before moving to reclaim dialog. (#863225) - (dlehman) -- Raise an exception early in newDevice if no disks were specified. (#858139) - (dlehman) -- Fix a regression in BTRFSVolumeDevice.listSubVolumes. (#862742) (dlehman) -- Fix behavior of resolveDevice when devspec is a device name. (dlehman) -- Prevent BTRFS volumes from ever having the name None. (dlehman) -- Prevent negative free value for filesystems. (#861812) (dlehman) -- Don't show extended partitions that contain logical partitions. (#862971) - (dlehman) -- Delete ts data instead of trying to undo dep installs. (#851114) (dlehman) -- Change the manglings for a couple locales (petersen). (clumens) -- Hook up the "Modify Software Selection" button on install opts dialogs. +* Wed Aug 21 2013 Brian C. Lane - 20.7-1 +- Modify the gtk_warning function in anaconda to use gtk3. (clumens) +- Fix some pylint warnings in the new DNF code. (clumens) +- Fix a couple more pykickstart handler version mismatches. (clumens) +- anaconda requires a later version of partitioning syntax now. (clumens) +- packaging: add dnf to the Anaconda's requires. (ales) +- Enable DNFPayload on specific triggers. (ales) +- DNFPayload: initial version. (ales) +- refactor: tear down the install device in PackagePayload.reset(). (ales) +- refactor: extract the device handling in YumPayload._configureBaseRepo up to + PackagePayload. (ales) +- refactor: move YumPayload._setUpMedia() up to PackagePayload._setupMedia(). + (ales) +- Tweaks in the Payload interface. (ales) +- remove: configureAddOnRepo from the Payload interface. (ales) +- Payload: forgotten comment in spaceRequired() (ales) +- Payload: define txID to None. (ales) +- The NFS text dialog should never attempt to use method.url (#998446). (clumens) -- More TODO list updates. (clumens) -- Add a label to the resize dialog for how much space is required. (clumens) -- Add a column to the disk shopping cart for setting the boot device (#860430). +- Remove the unittest target, since "make check" will do this for us. (clumens) +- Use the latest version of the RAID kickstart handler. (clumens) +- Update both the method and repo info. (dshea) +- remove the UBOOT class arm systems are now using EXTLINUX (dennis) +- ARM: switch to using extlinux by default (dennis) +- Update our pylint arguments. (clumens) +- Don't implicitly unpack exceptions. That won't be supporetd in the future. (clumens) -- Rework the disk shopping cart link a little bit. (clumens) -- Do not use constant value in SoftwareSpoke's completed property (vpodzime) -- Pull in existing swaps and bootloader devices whenever there are mounts. - (dlehman) -- Revert broken logic for newly formatted devices in unusedDevices. (dlehman) -- Add an apply button to the device/mountpoint configuration options. (dlehman) -- Don't base StorageSpoke.ready on storage execute thread presence. (#861574) - (dlehman) -- Prevent systemd timeout waiting for encryption passphrase. (#861123) - (dlehman) -- Fix traceback when switching device type to lvm. (#860990) (dlehman) -- Fix error handling in the add mountpoint dialog. (#860992) (dlehman) -- Allow xfs /boot. (dlehman) -- Fix makeupdates to work for glade files in subdirs of spokes/ or hubs/. +- Modify how we call logging functions to take a list of parameters. (clumens) +- Use "raise Exception()" instead of "raise Exception, ..." (clumens) +- Hook up pylint and our nosetests to be run via "make check". (clumens) +- Drop unneeded required_space_text variable. (#997690) (dlehman) +- Specify also query script when getting locale's native name (vpodzime) +- Update runpylint.sh for pylint 1.0.0 (bcl) +- Clean up translation placeholders (#890157) (bcl) +- Don't override multilib setting unless the option was passed. (#987557) (dlehman) -- Fix parsing of NFS method strings (#860966) (jkeating) -- Make the URL entry sensitive for NFS installs, too (#863014). (clumens) -- Add in a locale mapping to avoid incorrect system settings (#858591). +- Set the encoding of custom.py to utf-8 (dshea) +- Report if a package was not found in Koji during autofetch (mkolman) +- Convert makeupdates from getopt to argparse (mkolman) +- Fixed the interpretation of RAID levels (dshea) +- Consolidate get_object() calls. (dshea) +- Add ASCII-only upper and lower string functions. (dshea) +- Fix the User/Group already exists log messages. (dshea) +- Normalize keyboard layout and variant strings from langtable (vpodzime) +- A few tests for the keyboard layout and variant strings processing (vpodzime) +- More robust parsing of the layout and variant string specification (vpodzime) +- Move DEFAULT_VC_FONT to constants (vpodzime) +- Match langs with stripped accents when filtering languages (vpodzime) +- Fix the User subclass using an old version of the pykickstart superclass. (clumens) +- Bring the kickstart version test back to life. (clumens) +- Don't read proxy for methods that have no proxy (dshea) -* Wed Oct 03 2012 Brian C. Lane - 18.12-1 -- copy-logs changed names (bcl) -- Reference correct UI button name (#862409) (jkeating) -- Don't echo vnc password to the screen (#862593) (jkeating) -- Make the log copy script the last one to run (jkeating) -- Copy ks script logs into the install root as well (jkeating) -- Create ks script logs outside of chroot (jkeating) -- Don't look for ifcfgs of wireless devices (#860791) (rvykydal) -- doAutoPartition should raise errors instead of handle them. (clumens) -- In the install options dialogs, call out how much space is on selected disks. - (clumens) -- In order to display the resize prompt dialog, we need to compare Sizes to - Sizes. (clumens) -- Use a better starting value for required space than 0. (clumens) -- Default to CLEARPART_TYPE_NONE (#855976). (clumens) -- Remove some unused clearpart-related settings. (clumens) -- Hook up the new resize dialog. (clumens) -- Add a resize dialog. (clumens) -- Require the hostname package (#862419) (jkeating) - -* Tue Oct 02 2012 Chris Lumens - 18.11-1 -- Use gdk_threaded() when running AddLayout dialog (vpodzime) -- Work the anaconda object into the VNC test (jkeating) -- Use askvnc spoke to change vnc password (jkeating) -- Fix logic error in vnc password length check (jkeating) -- Allow vncpassword spoke text to be configurable (jkeating) -- Don't ask for VNC if we can't do it (jkeating) -- Skip VNC prompt if text is requested in kickstart (jkeating) -- KEYTABLE is now vconsole.keymap (#859298) (bcl) -- The partitionErrorHandler text needs a 's' in the format string (#861376). - (clumens) -- Fix a problem with storage error handling (#861376). (clumens) -- Fix bootloader setup on s390. (#857940) (dlehman) -- Make Keboard and Welcome spokes runtime-system friendly (vpodzime) -- Make DateTime spoke runtime-system friendly (vpodzime) -- Add a guard for testing if we can modify runtime system (vpodzime) -- Bring back prompt for VNC (jkeating) -- Add standalone spoke to prompt for VNC (jkeating) -- Fail on incomplete ksdata when in cmdline mode (jkeating) -- Add a flag attribute to handle cmdline mode (jkeating) -- fix libuser setup (#855481) (bcl) -- Remove obsolete requirement on comps-extras. (notting) - -* Wed Sep 26 2012 Chris Lumens - 18.10-1 -- isys.mount needs to be told when something should be mounted NFS (#860273). - (clumens) -- Disks with new disklabels don't count as new devices in custom. (dlehman) -- Fix thread synchronization issue going from storage to custom. (#860495) - (dlehman) -- Treat disks with unrecognized or no formatting as empty. (#858862) (dlehman) -- Improve management of mountpoint selectors in the custom spoke. (dlehman) -- Improve handling of existing devices when refreshing the custom spoke. - (dlehman) -- Apply custom changes not involving actions to the main devicetree. (dlehman) -- Add a mountpoint entry to the device options area. (dlehman) -- Move mountpoint validation out of the add mountpoint dialog. (dlehman) -- Only run the storage sanity check if we've run autopart. (dlehman) -- Add a method to reset a device to its original state. (dlehman) -- Make a copy of the original format instead of just storing another ref. - (dlehman) -- Reformatting effectively removes a device from an existing Root. (dlehman) -- Fix test for whether to create biosboot during autopart. (#853628) (dlehman) -- Close AddLayout dialog on double-click (vpodzime) -- Remove useless handler of Cancel button (AddLayout dialog) (vpodzime) -- Don't rely on having some month and year selected (#859185) (vpodzime) -- Add debug option to bumpver (bcl) -- Raise an error if bootDrive is invalid (jkeating) -- Handle automated installs (jkeating) -- Handle errors from text storage execute (jkeating) -- Fix ready and completed properties for text storage (jkeating) -- Use ksdata to determine text password completeness (jkeating) - -* Tue Sep 25 2012 Chris Lumens - 18.9-1 -- And remove compssort.py from POTFILES.in, too. (clumens) -- Select a default environment (#858180). (clumens) -- Remove compssort.py. (clumens) -- Don't attempt to catch and re-raise a SystemError from AnacondaThread.run. +* Wed Aug 14 2013 Brian C. Lane - 20.6-1 +- Import DBusGMainLoop directly (bcl) +- Catch AttributeError when looking for InstallClass (bcl) +- dracut/parse-kickstart should use the updated method-related classes + (#994978). (clumens) +- Ignore warnings about the global keyword and the DefaultInstall class. (clumens) -- Add a progress message for quitting the installer. (clumens) -- GUI error handling dialogs need to be protected from threading deadlocks. +- Fix all the pylint warnings in the anaconda file. (clumens) +- Deal with the last of the catching Exception warnings. (clumens) +- Always define a continueButton and quitButton property. (clumens) +- Fix pylint warnings in the installclasses. (clumens) +- Remove a directory that does not exist from the PYTHONPATH for pylint. (clumens) -- Initialize gdk threading as well. (clumens) -- Handle --ignoremissing in _applyYumSelections (#859021). (clumens) -- Fix the destination path for anaconda.xlog (#860041). (clumens) -- Hide the ISO install source if you've nuked all possible drives (#858088). +- Fix up some warnings about calling the superclass's __init__ method. (clumens) -- Don't write out /etc/sysconfig/clock anymore (#859217). (clumens) -- Index the exn mapping by string, not by object. (clumens) -- Don't write HOSTNAME=HOSTNAME=myhostnamehere (#859141). (clumens) -- Close temp file before moving it (#858681) (vpodzime) -- Update widget-specific TODO list. (clumens) -- Don't use grey for the status text of a SpokeSelector (#855638). (clumens) -- Fix a typo in makeupdates. (clumens) -- UEFI paths must include a leading backslash on some machines. (#856938) - (pjones) -- Read cmdline files from /run/install (jkeating) -- Copy command line files prior to pivot (jkeating) -- Grab the proxy username from the correct text entry (#858536). (clumens) -- Remove our use of scsi_wait_scan (#858393). (clumens) -- Don't overwrite the opts attribute on NFS installs (#858700). (clumens) -- Change the keyboard shortcut for the updates checkbox. (clumens) -- Add the storage category to POTFILES.in. (clumens) -- Don't explicitly start the progress spinner in python code. (clumens) -- Move the progress bar back down to the bottom of the progress hub. (clumens) -- Remove a bunch of stuff from the TODO list for a change. (clumens) -- Move check of new partition size against format limits. (dlehman) -- Improve growth check when deciding where to allocate new partitions. - (dlehman) -- Keep btrfs selectors' sizes in sync as volume size changes. (dlehman) -- Allow specification of a label for new swap space via custom ui. (dlehman) -- Don't allow stage2 as stage1 unless specified via location. (dlehman) -- Remove reference to PartitioningWarning, which was removed last week - (#875931). (clumens) -- Add a way to test exception handling (vpodzime) -- Fix dumpState to work with the new python-meh (#856235) (vpodzime) - -* Fri Sep 14 2012 Chris Lumens - 18.8-1 -- Make sure the InstallOptionsNDialogs get the correct space labels. (clumens) -- Get rid of the big pause going from the storage spoke back to the hub. +- Remove the reference to "anaconda" in reIPL. (clumens) +- Fix up almost all of the redefining warning messages. (clumens) +- Add a bunch of gobject-introspection related ignore lines. (clumens) +- StorageChecker ought to have a self.storage attribute. (clumens) +- Ignore another error pylint can't quite figure out. (clumens) +- pylint doesn't understand what's in AnacondaKSHandler. (clumens) +- Remove the "Add custom add-on" button. (clumens) +- Fix up places where overridden methods don't take the same number of args. (clumens) -- Don't fail when making updates if the symlink already exists. (clumens) -- Make sure to set the default TZ in ksdata so the completed method works. +- Fix up all unused variable warnings. (clumens) +- Added files to MAINTAINERCLEANFILES (dshea) +- Reenabled the pylint test target (dshea) +- Cleanup the autogen scripts. (dshea) +- Remove m4 files from the widgets project. (dshea) +- Install gettext files at build time. (dshea) +- Use the python checks provided by automake. (dshea) +- Added a missing type check found by autoscan (dshea) +- Cleanup the widgets autoconf file (dshea) +- Add detail to logs when creating users and groups (dshea) +- Fix miscellaneous errors in installclass.py. (clumens) +- Fix a variety of errors in the packaging module. (clumens) +- Do not run pylint against executable files in pyanaconda/. (clumens) +- Clean up deprecated uses of the string module. (clumens) +- Call the right superclass's method. (clumens) +- Straighten out text UI methods so they have the same method signature. (clumens) -- Allow creation of biosboot and prepboot partitions in the custom spoke. - (dlehman) -- Hide removable disks containing install media from the custom spoke. - (dlehman) -- Make the minimum size for custom spoke partitions 1MB. (dlehman) -- The return value of execWithRedirect is an integer. (dlehman) -- Only include following free space in partitions' max size. (dlehman) -- Handle btrfs volumes with a dataLevel of None. (dlehman) -- Handle newDevice partitions smaller than the default of 500MB. (#853125) - (dlehman) -- Add underlines to the expander and encryption checkbox in custom - partitioning. (clumens) -- Remember to mark an environment as selected in the store. (clumens) -- Rename the addon/environment store columns to make sense. (clumens) -- Use slightly less confusing labels for the various back buttons. (clumens) -- Add a property to SpokeWindow for setting the single button's label. +- Remove the lines to ignore E0611. (clumens) +- Bootloader.read is completely unused; cut it. (clumens) +- Fix all the "X is defined outside of __init__" warnings. (clumens) +- Display the correct string for the space required by packages. (clumens) +- Remove lines that clearly just don't do anything. (clumens) +- If we're not going to use the return value, don't grab it. (clumens) +- kernelVersionList in tarpayload.py should act the same as all other versions. (clumens) -- Rename the SpokeWindow's back button to just button. (clumens) -- Use the blocking read to avoid busy wait in TUI progress (msivak) -- Make progress hub spokes possible and move the root password there (msivak) -- Don't let user hit Add button if no new layouts are selected (vpodzime) -- Gtk.ListStore.iter_previous now returns new iterator (#849060) (vpodzime) -- Write storage configs after payload install for live installs. (#856836) - (dlehman) -- Update the pot file for various important string changes. (clumens) -- Attempt to fix word wrapping issues with the betanag dialog (#853913). +- If we're not going to use the exception object, don't grab it. (clumens) +- Define stage2_device in the BootLoader class. (clumens) +- Don't call getPassAlgo before running createGroup. (clumens) +- Remove some unused values out of constants.py. (clumens) +- Finish taking care of pylint warnings in image.py. (clumens) +- Remove the unused network and write methods from the Anaconda object. (clumens) -- CONTINUE -> BEGIN INSTALLATION (#856614). (clumens) -- Language selection should work the same as keyboard selection (#854570). +- Remove the disable-msg lines for a couple C messages. (clumens) +- Remove some easy unused argument warnings. (clumens) +- Remove everything from InstallInterfaceBase except what Rescue needs. (clumens) -- Fix ransom notes cycling. (clumens) -- Improve the clarity of the custom checkbutton label. (dlehman) -- Add error handling around significant ui-initiated storage operations. - (dlehman) -- Improve error granularity slightly in automatic partitioning. (dlehman) -- Fix detection of preexisting md arrays again. (dlehman) -- Handle changes to sizes of predefined devices in custom spoke. (dlehman) -- Fix traceback when switching device type to BTRFS. (dlehman) -- Validate mountpoints in the add-a-mountpoint dialog. (dlehman) -- Tell 'lvm' that yes, we really, really want to remove PV (vpodzime) -- Use 250ms interval for installation progress updating (vpodzime) -- network spoke: hide for live CD and image installs (#854586) (rvykydal) -- Fixed luks_add_key() (jsafrane) -- Display a radio button next to the environment choices. (clumens) -- Update TODO list. (clumens) -- Set the busy spinning cursor while the UI is loading. (clumens) -- network spoke: add "No network devices available" status (rvykydal) -- network spoke: clear device info if no network devices are found (#853903) - (rvykydal) -- fix root password setup (#855481) (bcl) -- Rewrite expand_langs to return more items (vpodzime) -- Don't try to setup X layouts in text installation (#852447) (vpodzime) -- Add UTF-8 enconding suffix to our language strings (#854688) (vpodzime) -- Require rsync (vpodzime) -- Don't rely on chrony.conf file being available (#854899) (vpodzime) -- Require chrony and rdate, because Anaconda needs them (#854899) (vpodzime) -- Use the real path to dracut-lib.sh (#851362) (jkeating) -- fixup live install (#853988, #854962) (bcl) -- Only check media if we really want it (#853404) (jkeating) -- Fix thinko in anaconda arg handling portion of multilib patch. (dlehman) -- Honor kickstart and command line switches to enable multilib. (dlehman) -- Quitting the live installer shouldn't reboot the system (#854904). (clumens) -- The kickstart language-related command is "lang", not "language". (clumens) -- Fix btrfs/lvm/raid kickstart installs (#853649). (clumens) -- Store "en" as the default, not "en_US". (clumens) -- Mark ksdata.*.execute invocations as another step (vpodzime) -- Reorder and comment options passed to rsync (vpodzime) -- Fix bug in writing keyboard configuration files (vpodzime) -- network spoke: require connection only for url and nfs methods (#853899) - (rvykydal) -- Drop the addBase handling in anaconda - if you want a group, list a group. - (notting) -- Don't depend on storage or instClass in EFIGRUB (pjones) -- Use self.stage1_device where appropriate in EFIGRUB. (pjones) -- Explicitly disable the rootpw lock (#853788) (jkeating) -- require nm-connection-editor (#854586) (bcl) -- Include packaging log in exception reports. (dlehman) -- Add Kazakh as a valid translation. (clumens) -- Deselect any existing environment when selecting a new one (#851510). +- Remove the duplicated imports. (clumens) +- Do not use a list or a dict as a default argument to a method. (clumens) +- Remove unneeded lambdas. (clumens) +- Fix up all the warnings where we used a reserved function name or keyword. (clumens) -- Use chvt command for tty switching (vpodzime) -- Use the disk's serial number instead of index as an ID. (clumens) -- Use the disk's ID for deleting from the shopping cart, not an index - (#853798). (clumens) -- Use the F18_Partition class (#853593). (clumens) -- Remove anaconda.instLanguage object and language module (vpodzime) -- Remove lang-table and localeinfo.py (vpodzime) -- parse-kickstart: handle 'network --ipv6=auto ...' (wwoods) -- parse-kickstart: set IPV6INIT=yes when using ipv6 (#830434) (wwoods) -- Make TUI password spoke behave the same as it's GUI counterpart (msivak) -- Remove ROOT_PATH/etc/localtime before symlinking timezone (vpodzime) -- Continue post-installation steps even if writing NTP configuration fails - (vpodzime) -- update transifex.txt for newui (bcl) -- Handle invalid spoke input (#853253) (jkeating) -- Remove unnecessary (and broken) import (#853576) (jkeating) -- Destroy the Add Mountpoint dialog when escape is pressed (#853058). (clumens) -- Keep the current spoke on top of the hub. (clumens) -- And then fix an assortment of non-packaging pylint errors, too. (clumens) -- Fix problems in the packaging module that pylint detected. (clumens) -- Update runpylint to find newui modules correctly. (clumens) -- Prevent duplicate mountpoint creation. (dlehman) -- If there's only one disk, select it by default. (dlehman) -- Evaulate growth potential for all reqs, even when allocating a fixed req. - (dlehman) -- Do not honor partitions' disk attr when reallocating them. (dlehman) -- Set size is a safe max size for partitions. (dlehman) -- Set the ANACONDA udev property in the post-switchroot udevdb. (dlehman) -- Calculate size func kwargs at call time to pick up changes. (dlehman) -- Add support md devices and btrfs raid features in the custom spoke. (dlehman) -- Move the BTRFS options to last and remove unsupported options. (dlehman) -- Remove "Technology" ComboBoxes from device options for now. (dlehman) -- Tweak setContainerMembers to work with a defined md array. (dlehman) -- Add support for named md devices. (dlehman) -- Make sure a disk is partitioned before treating it as such. (#849707) +- Fix up about half of the "except:" and "except Exception:" lines. (clumens) +- Fix a couple undefined variable errors that were real bugs. (clumens) +- Ignore statements that have no effect. (clumens) +- Fix up all the wildcard imports except two in packaging. (clumens) +- Remove all unused import lines. (clumens) +- Remove unnecessary pass statements. (clumens) +- Fix bad indentation and tab-instead-of-space warnings from pylint. (clumens) +- Put the pylint test back into service. (clumens) +- Run make with multiple jobs in makeupdates (vpodzime) +- Use gtk_image_new_from_icon_name (bcl) +- Remove caching of unused device list. (dlehman) +- Check MBR gap size even when /boot is on a plain partition. (#986431) (dlehman) -- Setup python path /after/ we've done updates (jkeating) -- Fix a string substitution think-o (jkeating) -- We now BuildRequires python-babel as well. (clumens) -- Update TODO list. (clumens) -- Only show groups in the UI if they have members that install by default - (default or manadtory packages). (notting) -- Symlink /run/initramfs/inst.{updates,product} to /tmp (jkeating) -- Use shutil.move for replacing old config with the new one (vpodzime) -- Honor user's choice on NTP (ON/OFF) (vpodzime) -- Don't crash if someone gives us bad timezone (vpodzime) -- Use expand_langs to find matching language (LanguageSpoke) (vpodzime) -- Move expandLangs to localization module (vpodzime) -- Use Gtk.main_level() to check if main loop is already running (vpodzime) -- Move setup from ImagePayload to LiveImagePayload. (clumens) -- Avoid duplicates in the packages property. (clumens) -- Set a progress message when liveinst starts installing software. (clumens) -- Fix default definitions of some payload class methods. (clumens) -- Add a spaceRequired property for LiveImagePayload. (clumens) -- getDirSize should stay on a single filesystem, not look at submounts. + +* Thu Aug 08 2013 Brian C. Lane - 20.5-1 +- Don't wait for systemctl shutdown command to exit (#974383) (bcl) +- Fix the logging of the spice-vdagent status (dshea) +- Update PYTHONPATH so unit tests work right out of the source tree. (clumens) +- Don't check for a firstboot service file before processing the command. (clumens) -- Don't look for existing installations on live devices. (clumens) -- We don't need image_file in the live payload. (clumens) -- Now that we're using rsync, the livecd and rootfs do not have to match. +- Strengthen the services command processing a bit. (clumens) +- Start spice-vdagent (#969405) (dshea) +- Skip password strength check for kickstart passwords (#986490) (dshea) +- Network spoke: fix refresh of device IP configuration (rvykydal) +- Add unsupported hardware dialog (#872728) (bcl) +- storage.py -> system.py in POTFILES.in (clumens) +- border_width=5 -> border_width=6 (clumens) +- No need to call threads_init anymore (bcl) +- Consolidate storage and networking under one category (#973013). (clumens) +- When doing a live install, set the ks method appropriately (#986069). (clumens) -- Disable software selection and source spokes on live installs. (clumens) -- Fix args to LiveImagePayload.setup (#852272). (clumens) -- require anaconda-widgets (bcl) -- Handle already mounted optical devices (#851274) (jkeating) -- Return full device object of selected optical drive (jkeating) -- Add a method to determine if device is mounted (jkeating) -- anaconda-cleanup: fix DeviceTree args (bcl) -- Unset install_device if repo setup fails (jkeating) -- _peopleRepositoriesFilter -> _peopleRepositoriesFilterEntry (#852182). +- Check that we're doing an HD install before examining the attr (#989428). (clumens) -- on_*_changed callbacks take one argument, not two. (clumens) -- Use the correct icon size constant. (clumens) -- remove dead code (setMethodstr, expandFTPMethod) (wwoods) -- parse-kickstart: update some TODO comments (wwoods) -- parse-kickstart: simplify logging (wwoods) -- enable fastestmirror yum plugin (#849797) (bcl) -- networking: remove Network() object (rvykydal) -- networking: use ksdata.network.hostname instead of actual installer hostname + +* Thu Aug 01 2013 Brian C. Lane - 20.4-1 +- POTFILES.in: rename time.py to time_spoke.py (bcl) +- Only move INSTALL_TREE when it is mounted (#888196) (bcl) +- Use ksdata.method.seen (#986069) (bcl) +- Threaded Koji RPM lookups and downloads (mkolman) +- Fix the langcode parsing regexp (vpodzime) +- Move tests to old_tests and add some new, working tests (vpodzime) +- Replace hostname with hostnamectl (#989584) (rvykydal) +- Require fcoe-utils only on ix86 and x86_64 architectures (#989913) (vpodzime) +- Fix searching for local RPMs with no version required (vpodzime) +- Expand the '~' in the RPM_FOLDER_NAME (vpodzime) +- Set system date and time with our own function (vpodzime) +- Remove the useless, confusing and lying PoolsNote (vpodzime) +- Use tiny, fast and thread-safe ntplib module instead of ntpdate (vpodzime) +- For vnc require network in intramfs (#989156) (rvykydal) +- Fix makeupdates' package fetching when no version is specified (vpodzime) +- Make it clear on the summary dialog that changes take effect later. (clumens) +- Don't mark the summary dialog's tree view as insensitive. (clumens) +- Work with files in a more pythonic way in makeupdates (vpodzime) +- Honor hostname set in kickstart (#988483) (rvykydal) +- Do not automatically set UTC mode on kickstart installs. (clumens) +- Add automatic fetching of RPMs for new Defines & Requires (mkolman) +- Don't prompt for ssh on s390x if doing an image install. (#983056) (sbueno) +- Rename tz spoke to avoid potential conflict with std 'time' module. (sbueno) + +* Thu Jul 25 2013 Brian C. Lane - 20.3-1 +- Fix driver disk path for inst.dd= method (#987513) (bcl) +- Add support for NFS as install source in TUI. (#971298) (sbueno+anaconda) +- Allow logging into multiple iscsi nodes at once (#975831). (clumens) +- Fix crash while parsing ntp servers from DHCP6 (#969303) (dshea) +- Use ExceptionInfo namedtuple when dumping anaconda (#982299) (vpodzime) +- Wait for device connections for iface-bound iscsi in kickstart (#740105) (rvykydal) -- networking: consolidate writing/copying of configuration files (rvykydal) -- networking: 70-persistent-net.rules doesn't exist anymore. (rvykydal) -- networking: disable ipv6 directly in installed system config file (rvykydal) -- networking: mirror end-of-installation network config tweaks in ksdata. +- Refer to blivet instead of storage in iscsi kickstart (#740105) (rvykydal) +- Mark disk 'selected' if only one present in TUI. (#975790) (sbueno+anaconda) +- Update devicetree only if we logged in to some target in add iscsi dialog. (rvykydal) -- networking: write configuration in doInstall (rvykydal) -- Add mounts before swaps so the default selection is a mount. (dlehman) -- Use MB if a new mountpoint size does not include a unit spec. (#850839) - (dlehman) -- Correctly handle partitions with sizes smaller than 500MB. (#850839) - (dlehman) -- Don't include removed devices in Storage.unusedDevices. (dlehman) -- Handle SameSizeSet growth trimming when all members are too large. (dlehman) -- Add several missing yum lock aqcuisitions. (#851212) (dlehman) -- Offer completions for new mountpoints. (dlehman) -- Add old_source checking for closest mirror and url methods too (#851336). - (clumens) -- Revert "Only use mounted media that has repodata" (jkeating) -- Only use mounted media that has repodata (jkeating) -- _bootloaderClass -> bootloaderClass for some platforms (#848173). (clumens) -- Make the storage info bar clickable to reveal error messages. (clumens) -- Move the software-specific error message out of the DetailedErrorDialog - class. (clumens) -- Add a gui password spoke (jkeating) -- Put traceback reports on a diet. (clumens) - -* Wed Aug 22 2012 Chris Lumens - 18.7-1 -- Do another _main_window -> main_window change. (clumens) -- Mark the storage category title for translation. (clumens) -- _actions should be set up in the __init__ method. (clumens) -- Don't require hfs-tools on RHEL (#849987). (clumens) -- dracut: remove workarounds for broken splitsep() (wwoods) -- dracut: update Requires: in spec (wwoods) -- Use ksdata.timezone and timezone module instead of anaconda.timezone - (vpodzime) -- Remove the last usage of the system-config-date in Anaconda (vpodzime) -- Add support for swap --hibernation on LVM (vpodzime) -- Don't rely on selection staying selected when doing crazy things to it - (vpodzime) -- Replace nonexisting icon with an existing one (DatetimeSpoke) (vpodzime) -- integer out of range for L format code (hamzy) -- Network spoke: use chr() instead of str() to convert dbus.Byte (#849395) +- Don't show multipath members in specialized disks overview (#740105) (rvykydal) -- verify package checksums against metadata (bcl) -- use F18_PartData for hibernation flag support. (bcl) -- fix Gtk import in software.py (bcl) -- dracut: fix rd.neednet use in parse-kickstart (#849672) (wwoods) -- parse-anaconda-net: Add missing semicolon for dhclient.conf (bcl) -- anaconda-modprobe: fix .ko removal (bcl) -- Only devices that already exist may be ISO install sources (#849482). - (clumens) -- Use python-meh's MainExceptionWindow's main_window property (vpodzime) -- dracut: fix syntax error in parse-kickstart (wwoods) -- Show fstype as "Unknown" for devices with unrecognised formatting. (dlehman) -- BTRFS magic for custom spoke. (dlehman) -- The device type of preexisting devices cannot be changed. (dlehman) -- Revert old hack that disabled btrfs in the old ui. (dlehman) -- Use correct device instance when updating selector w/ new device. (dlehman) -- Fix a traceback when clicking on the summary in custom spoke. (dlehman) -- Move device size calculation and setting into DeviceFactory. (dlehman) -- Stop pretending btrfs subvols can have a size. (dlehman) -- Fix a typo in StorageDevice._setSize. (dlehman) -- dracut: add info about special variables to README (wwoods) -- dracut: fix invalid use of 'eth0' (wwoods) -- dracut: drop upgrade-specific hack (wwoods) -- dracut: set "$netif" correctly in initqueue/online scripts (wwoods) -- dracut: fix old-style static ip=xxx gw=yyy... (wwoods) -- dracut: import anaconda-lib.sh in pre-udev hook (wwoods) -- dracut: fix set_neednet so network comes up (#849672) (wwoods) -- dracut: drop save_netinfo (wwoods) -- move anaconda-modprobe to pre-udev hook, silence modprobe errors (wwoods) -- parse-kickstart: fix crash with PXE + ks=file: (#844478) (wwoods) -- parse-kickstart: clarify/refactor Network handling (wwoods) -- Actually create default ifcfg files (#849012) (rvykydal) -- Don't fail on write of nonexisting IfcfgFile(SimpleConfigFile) (#849012, - #849095) (rvykydal) -- If dracut left the DVD mounted, don't try to remount it (#849152). (clumens) -- Add support for most device editing functions. (dlehman) -- Various fixes, cleanups, and added logging for the custom spoke. (dlehman) -- Work around some signal handling issues in the custom spoke. (dlehman) -- Make choosing an auto-selected page after refresh slightly less fallible. - (dlehman) -- Raise an exception if a new device ends up with size 0. (dlehman) -- Split out logic to determine container based on factory and/or device. - (dlehman) -- Allow adding disks to a container's disk set. (dlehman) -- Allow passing a device into newDevice for adjustment. (dlehman) -- Add PartitionFactory class so partitions don't need a separate code path. - (dlehman) -- Add a convenience method for scheduling resize actions. (dlehman) -- Return early from doKickstartStorage if there are no disks selected. - (dlehman) -- Remove isomd5sum-static from build requires (vpodzime) -- Don't rely on having some network devices available (vpodzime) -- Enlightbox mainExceptionWindow (vpodzime) -- Put mainExceptionWindow in a WindowGroup (vpodzime) -- Bump required yum version to get the environment code. (notting) -- Add a flag so we don't get spurious 'change' events from the treeview while - we're setting up the UI. (notting) -- Wire in the new environment logic through the UI. (notting) -- Add a local method for exposing group visibility from the comps file. - (notting) -- Add methods to yumpayload for handling environments. (notting) -- Add some nicer wording to the column heads in the software selection UI. - (notting) -- Rename 'description' to 'groupDescription'. (notting) -- dracut: add README (wwoods) - -* Thu Aug 16 2012 Chris Lumens - 18.6-1 -- Remove linuxrc.s390 (dcantrell) -- Source in url-lib.sh if we don't have it (#847831) (jkeating) -- parse-kickstart: add proc_cmdline (fix init_logger()) (wwoods) -- Remove the data/bootdisk directory tree. (clumens) -- Remove duplicate boot disk setting code (#848841). (clumens) -- Force authconfig to be installed on the target system (#848803). (clumens) - -* Wed Aug 15 2012 Chris Lumens - 18.5-1 -- Mark/unmark some strings for translation, as appropriate. (clumens) -- Save the distro label into the right variable for retranslation. (clumens) -- Add custom widget files to POTFILES.in. (clumens) -- Fix attribution on common UI code. (clumens) -- don't set armMachine in class definition (bcl) -- libudev now has a version of .1 (hamzy) -- Load anaconda-lib.sh if necessary (jkeating) -- Use shell code to work around missing basename (jkeating) -- Enable text mode once again! (jkeating) -- Update text prompt to include c for continue (jkeating) -- Don't continue if incomplete spokes exist (jkeating) -- Return a bool for timezone completed property (jkeating) -- Add a text progress hub to do the install (jkeating) -- text based storage spoke. (jkeating) -- Allow updating tmux.conf via makeupdates. (clumens) -- Prevent yum messages from showing on tty (jkeating) -- Remove unused imports from the installclasses. (clumens) -- NoSuchGroup is provided by packaging now. yuminstall is on the way out. - (clumens) -- Set transaction color in case of multilib install. (clumens) -- Add selinux-specific RPM macro setup. (clumens) -- Add the user-agent to urlgrabber from the old yuminstall.py. (clumens) -- Fix inheritance problems with the gui *Spoke classes. (clumens) -- Only setup python-meh when doing graphical installs (jkeating) -- Call the correct method to schedule the screen (jkeating) -- Add a missing import of os (jkeating) -- Don't display indirect spokes in the hub (jkeating) -- Revert "Remove unncessary __init__ definition. (clumens)" (jkeating) -- Honor displayMode from kickstart files (jkeating) -- Merge master into newtui (jkeating) -- Remove the base_tests file for now (jkeating) -- Remove unused import of UIObject (jkeating) -- Fix up detailederror for new common UI code (jkeating) -- Translate the base text hub class (jkeating) -- Translate the base tui class strings (jkeating) -- Remove unncessary __init__ definition. (clumens) (jkeating) -- Translate some strings in the base tui spokes classes (jkeating) -- Always use collect directly from common (jkeating) -- Add comment headers to the new files (jkeating) -- Ad source files to POTFILES.in (msivak) -- Merge remote-tracking branch 'origin/master' into newtui (msivak) -- import localization stuff and use it to translate more strings (msivak) -- finish renaming _mainloop (msivak) -- Fix naming for data attribute and move the NormalSpoke.__init__ under the - proper class (msivak) -- Improve documentation and add licensing headers (msivak) -- Add translations to the simpleline framework (msivak) -- Add translations to Password Spoke (msivak) -- Add elementary timezone spoke (msivak) -- Pass screen args argument to prompt and input methods + fix for run-text- - spoke (msivak) -- Merge master into newtui (msivak) -- Add automake files for TUI (msivak) -- add couple of tests and fix write method of widget (newline added unwanted - space) (msivak) -- add couple of tests and support for them (msivak) -- add documentation and comments to TUI classes (msivak) -- Add documentation to the simpleline library for TUI (msivak) -- Add the new Summary hub and Password TUI spokes + tools to test TUI stuff - (msivak) -- Fix bits and pieces to make TUI hub and spoke model work + example Hub and - Password spoke (msivak) -- Create common abstract classes usable for all types of UI (msivak) -- Create the base classes for TUI Hub and Spoke model (msivak) -- Make collect and part of UserInterface setup more generic (msivak) -- Text based UI framework core (msivak) - -* Mon Aug 13 2012 Chris Lumens - 18.4-1 -- dracut: fix inst.ks.sendmac (#826657) (wwoods) -- dracut: suppress ks errors from missing %%include (wwoods) -- dracut: add comment to run_kickstart() (wwoods) -- Remove unused writeKS methods. (clumens) -- Only show unused devices that haven't been removed/deleted. (dlehman) -- Don't unexpand already-expanded pages when trying to expand them again. - (dlehman) -- Make parents of hidden devices appear to be leaves. (dlehman) -- Remove the right device name from the lvm filter when unhiding device. - (dlehman) -- Take configured filesystems into account when checking package space. - (dlehman) -- Make sure the ksdata autopart type matches the storage one. (dlehman) -- Base auto-generated name prefixes on productName, not device type. (dlehman) -- Remove shrink code that was a workaround for the old ui flow. (dlehman) -- Remove old ui progress args from devicelibs.btrfs. (dlehman) -- Make sure we allocate partitions and grow lvm as needed in kickstart. - (dlehman) -- Streamline autopart request setup slightly. (dlehman) -- Make it possible to call setUpBootLoader safely at any time. (dlehman) -- Move setup of new partition weight arg to Storage.newPartition. (dlehman) -- Use a copy of the main Storage instance during custom partitioning. (dlehman) -- Track requested sizes of btrfs subvols. (dlehman) -- Add a method to retrieve a devicetree device by id number. (dlehman) -- Fix DiskLabel so it can be deep-copied. (dlehman) -- Add a method to produce a deep copy of a Storage instance. (dlehman) -- Fix subtraction for Size. (dlehman) -- Add support for creating device based on a top-down specification. (dlehman) -- Add size-set managers to keep a set of growable requests in sync. (dlehman) -- Add a function to estimate required disk space for an md array. (dlehman) -- Add a method to estimate disk space needs for a new logical volume. (dlehman) -- Add a convenience method for new btrfs subvols and drop subvol size args. - (dlehman) -- Use the UEFI shim to load grub. (pjones) -- Check that Gtk.main is not already running before starting another one - (vpodzime) -- With tmux, we no longer need to start up a shell during VNC installs. - (clumens) -- We no longer need getkeymaps, mapshdr, or readmap. (clumens) -- Remove the last references to isysLoadKeymap. (clumens) -- remove Security class (bcl) -- replace lokkit for selinux settings (#815540) (bcl) -- tests: Add tests for new SimpleConfigFile features (bcl) -- tests: cleanup whitespace in simpleconfig_test.py (bcl) -- simpleconfig: rewrite to better support commented config files (bcl) -- If the anaconda process crashes, don't delete its window. (clumens) -- On interactive installs, default the root account to locked. (clumens) -- Make the keyboard layout test a big text area instead of a single line. - (clumens) -- Remove our loadKeymap code from isys (vpodzime) -- Replace system-config-keyboard with our methods using ksdata.keyboard - (vpodzime) -- A little fix of newui -> master merge (iscsi offload devices) (rvykydal) -- Require new version of python-meh (vpodzime) -- Modify kernelPackages to select the right kernel for ARM systems. (dmarlin) -- ARM: clean up the kernel selection to be consistent with the rest of the code - (dennis) -- add command line option to set the arm platform. (dennis) -- Add support to determine the ARM processor variety and select the correct - kernel to install. (dmarlin) -- TODO list updates. (clumens) -- Sent pot file updates to the master branch in transifex, not f17. (clumens) - -* Fri Aug 03 2012 Chris Lumens - 18.3-1 -- New graphical user interface. -- Removed loader. - -* Wed Apr 18 2012 Brian C. Lane - 18.2-1 -- Fixes from F17 branch +- Do not populate devicetree after each single login in iscsi dialog (#740105) + (rvykydal) +- Match also iface when logging into selected iface-bound iscsi target + (#740105) (rvykydal) +- Fix handling of non-ASCII names (#969309) (dshea) +- Use inline completion for the region/city selection (vpodzime) +- Fix copyright of the main anaconda script (vpodzime) + +* Mon Jul 15 2013 Brian C. Lane - 20.2-1 +- Use the new wait for connectivity function (mkolman) +- Improve waiting for network connectivity (mkolman) +- Use langtable to get default layout instead of our magic (#485137) (vpodzime) +- Adapt to the new localization module (vpodzime) +- Rewrite the localization module (vpodzime) +- Make the Welcome spoke wait for Geolocation lookup to finish (#975193) + (mkolman) + +* Tue Jul 09 2013 Brian C. Lane - 20.1-1 +- bump major version number