Bump version to 26.0 (ngompa13)

imgcreate/kickstart: Exclude /sys from SELinux labeling (ngompa13)
imgcreate/live: Switch to single-step ISO hybridization by xorrisofs
  (ngompa13)
Use xorrisofs instead of genisoimage (ngompa13)
imgcreate/live: Drop UDF support (ngompa13)
Fix excludeWeakdeps for older pykickstart versions (pablo)
README: Update to include --flat-squashfs option. (fgrose)
editliveos: Fix inconsistent ops argument. (fgrose)
livecd-iso-to-disk: Accept both dracut 045-8 and 049+ for OverlayFS. (fgrose)
README: Update to include liveimage-mount & editliveos tools. (fgrose)
config/livecd-fedora-minimal.ks:  Increase root partition size. (fgrose)
Support a flattened squashfs.img & non-standard image & overlay paths.
  (fgrose)
livecd-iso-to-disk: Support netinstall .iso (fgrose)
edit-livecd: Delete unmaintained script superceded by editliveos. (fgrose)
Handle dnf config option showing as tuple, not list, in DNF 3.6 (awilliam)
live.py: Fix unreported logging.error (fgrose)
livecd-iso-to-disk: Skip Multi Image query on --skipcopy condition. (fgrose)
livecd-iso-to-disk: Tighten permissions on some files. (fgrose)
DNF 3: workaround a bug with config values that are lists (awilliam)
Add support for RISC-V (riscv64) (david.abdurachmanov)
Revert "Use restorecon instead of setfiles for relabeling" (puiterwijk)
imgcreate: Copy gcdia32.efi in __copy_efi_files if it exists (Kevin)
Fix the io.open() and utf-8 problems in imgcreate/util.py (david.l.cantrell)
Remove get_modules(). (david.l.cantrell)
livecd-iso-to-disk: adjust efi boot configuration code. (fgrose)
fs.py & editliveos: remove code glitches (fgrose)
editliveos: Bind mount /etc/resolv.conf (fgrose)
fs.py & editliveos: Fix overlay changing. (fgrose)
util.py: Captured output from subprocesses should always be decoded. (scott)
Update livecd-creator manpage with info about imcomplete options
  (zhang.xianwei8)
livecd-iso-to-disk: Revert change that broke EFI/MBR hybrid booting (scott)
livecd-iso-to-disk: Fix faulty --efi boot config code. (fgrose)
livecd-iso-to-disk: Fix overlay size reporting & type testing. (fgrose)
livecd-iso-to-disk: Accommodate multiple BOOT*.EFI files. (fgrose)
This commit is contained in:
Neal Gompa 2018-11-23 19:34:44 -05:00
parent e6aeb2e218
commit 980f639f59
8 changed files with 56 additions and 194 deletions

1
.gitignore vendored
View File

@ -14,3 +14,4 @@
/livecd-tools-24.3.tar.gz
/livecd-tools-24.4.tar.gz
/livecd-tools-25.0.tar.gz
/livecd-tools-26.0.tar.gz

View File

@ -1,38 +0,0 @@
From 676b1e1261b442a80cdf2cbb96d192b1db02b894 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Wed, 27 Jun 2018 11:51:50 -0700
Subject: [PATCH] DNF 3: workaround a bug with config values that are lists
There's a bug / overly-clever-design flaw in DNF 3 that prevents
us appending to config values that appear to be lists, even
though lists should be mutable objects and this *ought* to work
(and did work in DNF 2):
https://bugzilla.redhat.com/show_bug.cgi?id=1595917
This works around it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
imgcreate/dnfinst.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/imgcreate/dnfinst.py b/imgcreate/dnfinst.py
index 8e28f34..a81f04b 100644
--- a/imgcreate/dnfinst.py
+++ b/imgcreate/dnfinst.py
@@ -179,7 +179,10 @@ class DnfLiveCD(dnf.Base):
# dnf 1
repo = dnf.repo.Repo(name, cachedir = self.conf.cachedir)
if url:
- repo.baseurl.append(_varSubstitute(url))
+ # some overly clever trickery in dnf 3 prevents us just
+ # using repo.baseurl.append here:
+ # https://bugzilla.redhat.com/show_bug.cgi?id=1595917
+ repo.baseurl = repo.baseurl + [_varSubstitute(url)]
if mirrorlist:
repo.mirrorlist = _varSubstitute(mirrorlist)
repo.enable()
--
2.18.0.rc2

View File

@ -1,28 +0,0 @@
From 4412b55ed2eb6db1180933701b66d7ae4a7fcbd3 Mon Sep 17 00:00:00 2001
From: Pablo Greco <pablo@fliagreco.com.ar>
Date: Thu, 22 Nov 2018 16:12:40 +0000
Subject: [PATCH] Fix excludeWeakdeps for older pykickstart versions
---
imgcreate/kickstart.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index 1b8ac88..aa587b6 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -614,7 +614,10 @@ def exclude_docs(ks):
return ks.handler.packages.excludeDocs
def exclude_weakdeps(ks):
- return ks.handler.packages.excludeWeakdeps
+ if hasattr(ks.handler.packages, "excludeWeakdeps"):
+ if ks.handler.packages.excludeWeakdeps:
+ return ks.handler.packages.excludeWeakdeps
+ return None
def nocore(ks):
return ks.handler.packages.nocore
--
2.17.2

View File

@ -1,38 +0,0 @@
From 4354448197beb7c3d68c2bfc0d50d22b25822564 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Wed, 26 Sep 2018 18:30:01 -0700
Subject: [PATCH] Handle dnf config option showing as tuple, not list, in DNF
3.6
See https://bugzilla.redhat.com/show_bug.cgi?id=1595917 again.
This is a follow-up to 2cbd239 - after I reported the bug,
upstream changed in DNF 3.6 to present these values as tuples
rather than lists, to indicate that they cannot be mutated. So
we can't add a list to the retrieved value, like we did before,
but using += (tuple) like this seems to work both in DNF 3.6
and in older DNFs.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
imgcreate/dnfinst.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/imgcreate/dnfinst.py b/imgcreate/dnfinst.py
index a81f04b..720dd7d 100644
--- a/imgcreate/dnfinst.py
+++ b/imgcreate/dnfinst.py
@@ -182,7 +182,10 @@ class DnfLiveCD(dnf.Base):
# some overly clever trickery in dnf 3 prevents us just
# using repo.baseurl.append here:
# https://bugzilla.redhat.com/show_bug.cgi?id=1595917
- repo.baseurl = repo.baseurl + [_varSubstitute(url)]
+ # with the change to representing it as a tuple in DNF 3.6
+ # this '+= (tuple)' approach seems to work for DNF 2,
+ # 3.0-3.5 *and* 3.6
+ repo.baseurl += (_varSubstitute(url),)
if mirrorlist:
repo.mirrorlist = _varSubstitute(mirrorlist)
repo.enable()
--
2.19.0

View File

@ -1,50 +0,0 @@
From 491a49ff9aedf5197af3e4dcb0f50351db3cddf0 Mon Sep 17 00:00:00 2001
From: David Cantrell <david.l.cantrell@gmail.com>
Date: Thu, 18 Jan 2018 15:20:18 -0500
Subject: [PATCH] Remove get_modules().
This kickstart command has been deprecated for a long time anyway and it
has been removed in pykickstart 3.9.
---
imgcreate/kickstart.py | 15 ---------------
imgcreate/live.py | 1 -
2 files changed, 16 deletions(-)
diff --git a/imgcreate/kickstart.py b/imgcreate/kickstart.py
index e7997ca..7d92b5b 100644
--- a/imgcreate/kickstart.py
+++ b/imgcreate/kickstart.py
@@ -533,21 +533,6 @@ def get_image_fstype(ks, default = None):
return p.fstype
return default
-def get_modules(ks):
- devices = []
- if not hasattr(ks.handler.device, "deviceList"):
- devices.append(ks.handler.device)
- else:
- devices.extend(ks.handler.device.deviceList)
-
- modules = []
- for device in devices:
- if not device.moduleName:
- continue
- modules.extend(device.moduleName.split(":"))
-
- return modules
-
def get_timeout(ks, default = None):
if not hasattr(ks.handler.bootloader, "timeout"):
return default
diff --git a/imgcreate/live.py b/imgcreate/live.py
index 1f332dd..b3da184 100755
--- a/imgcreate/live.py
+++ b/imgcreate/live.py
@@ -90,7 +90,6 @@ def __init__(self, ks, name, fslabel=None, releasever=None, tmpdir="/tmp",
"=mmc", "=pcmcia", "mptsas", "udf", "virtio_blk",
"virtio_pci", "virtio_scsi", "virtio_net", "virtio_mmio",
"virtio_balloon", "virtio-rng"]
- self.__modules.extend(kickstart.get_modules(self.ks))
self._isofstype = "iso9660"
self.base_on = False

View File

@ -1,20 +0,0 @@
diff -rup livecd-tools-25.0.orig/imgcreate/kickstart.py livecd-tools-25.0/imgcreate/kickstart.py
--- livecd-tools-25.0.orig/imgcreate/kickstart.py 2018-03-22 12:52:20.229454637 +0100
+++ livecd-tools-25.0/imgcreate/kickstart.py 2018-03-22 14:12:41.619989962 +0100
@@ -479,12 +479,12 @@ class SelinuxConfig(KickstartConfig):
return
try:
- rc = subprocess.call(['restorecon', '-p', '-e', '/proc', '-e',
- '/sys', '-e', '/dev', '-F', '-R', '/'],
- preexec_fn=self.chroot)
+ rc = self.call(["/sbin/setfiles", "-p", "-e", "/proc", "-e",
+ "/sys", "-e", "/dev",
+ selinux.selinux_file_context_path(), "/"])
except OSError as e:
if e.errno == errno.ENOENT:
- logging.info('The restorecon command is not available.')
+ logging.info('The fixfiles command is not available.')
return
if rc:
if ksselinux.selinux == ksconstants.SELINUX_ENFORCING:

View File

@ -16,26 +16,14 @@
Summary: Tools for building live CDs
Name: livecd-tools
Version: 25.0
Release: 14%{?dist}
Version: 26.0
Release: 1%{?dist}
Epoch: 1
License: GPLv2
Group: System Environment/Base
URL: https://github.com/livecd-tools/livecd-tools
Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.gz
Patch0: https://github.com/livecd-tools/livecd-tools/commit/491a49ff9aedf5197af3e4dcb0f50351db3cddf0.patch
Patch1: livecd-tools-revert-restorecon.patch
# Workaround an issue in DNF 3:
# https://bugzilla.redhat.com/show_bug.cgi?id=1595917
# https://github.com/livecd-tools/livecd-tools/pull/102
Patch2: 0001-DNF-3-workaround-a-bug-with-config-values-that-are-l.patch
# Work around same issue again, for DNF 3.6 changes:
# https://github.com/livecd-tools/livecd-tools/pull/108
Patch3: 0001-Handle-dnf-config-option-showing-as-tuple-not-list-i.patch
# Workaround lack of excludeWeakDeps with EL7 pykickstart
Patch4: 0001-Fix-excludeWeakdeps-for-older-pykickstart-versions.patch
%if %{with python2}
BuildRequires: python2-devel
%endif
@ -66,7 +54,7 @@ http://fedoraproject.org/wiki/FedoraLiveCD for more details.
Summary: Common system dependencies for python-imgcreate
Group: System Environment/Base
Requires: coreutils
Requires: genisoimage
Requires: xorriso >= 1.4.8
Requires: isomd5sum
Requires: parted
Requires: util-linux
@ -74,17 +62,28 @@ Requires: dosfstools >= 2.11-8
Requires: e2fsprogs
Requires: lorax >= 18.3
Requires: rsync
# hfs+ support for Macs
%ifarch %{ix86} x86_64 ppc ppc64
Requires: hfsplus-tools
%endif
# syslinux dependency
%ifarch %{ix86} x86_64
%if 0%{?rhel} && 0%{?rhel} < 8
Requires: syslinux >= 4.05-13
%else
Requires: syslinux >= 6.02-4
Requires: syslinux-nonlinux >= 6.02-4
%endif
Requires: /sbin/extlinux
%endif
# For legacy ppc32 systems
%ifarch ppc
Requires: yaboot
%endif
Requires: dumpet
Requires: sssd-client
Requires: cryptsetup
@ -93,6 +92,7 @@ Requires: policycoreutils
Requires: selinux-policy-targeted
# dracut 045+ required for overlayfs live media support
Requires: dracut
%if ! %{with python2}
Obsoletes: python2-imgcreate < 1:25.0-12
%endif
@ -150,9 +150,6 @@ like live image or appliances.
Summary: Tools for installing ISOs to different mediums
Group: System Environment/Base
Requires: python-imgcreate-sysdeps%{?_isa} = %{epoch}:%{version}-%{release}
Requires: syslinux >= 6.02-4
Requires: syslinux-nonlinux >= 6.02-4
Requires: /sbin/extlinux
Conflicts: livecd-tools < 25.0
%description -n livecd-iso-to-mediums
@ -196,7 +193,6 @@ rm -rfv %{buildroot}%{_mandir}/man8/livecd-iso-to-*
%{_bindir}/livecd-creator
%{_bindir}/image-creator
%{_bindir}/liveimage-mount
%{_bindir}/edit-livecd
%{_bindir}/editliveos
%{_bindir}/mkbiarch
@ -226,6 +222,45 @@ rm -rfv %{buildroot}%{_mandir}/man8/livecd-iso-to-*
%endif
%changelog
* Fri Nov 23 2018 Neal Gompa <ngompa13@gmail.com> - 1:26.0-1
- Bump version to 26.0 (ngompa13)
- imgcreate/kickstart: Exclude /sys from SELinux labeling (ngompa13)
- imgcreate/live: Switch to single-step ISO hybridization by xorrisofs
(ngompa13)
- Use xorrisofs instead of genisoimage (ngompa13)
- imgcreate/live: Drop UDF support (ngompa13)
- Fix excludeWeakdeps for older pykickstart versions (pablo)
- README: Update to include --flat-squashfs option. (fgrose)
- editliveos: Fix inconsistent ops argument. (fgrose)
- livecd-iso-to-disk: Accept both dracut 045-8 and 049+ for OverlayFS. (fgrose)
- README: Update to include liveimage-mount & editliveos tools. (fgrose)
- config/livecd-fedora-minimal.ks: Increase root partition size. (fgrose)
- Support a flattened squashfs.img & non-standard image & overlay paths.
(fgrose)
- livecd-iso-to-disk: Support netinstall .iso (fgrose)
- edit-livecd: Delete unmaintained script superceded by editliveos. (fgrose)
- Handle dnf config option showing as tuple, not list, in DNF 3.6 (awilliam)
- live.py: Fix unreported logging.error (fgrose)
- livecd-iso-to-disk: Skip Multi Image query on --skipcopy condition. (fgrose)
- livecd-iso-to-disk: Tighten permissions on some files. (fgrose)
- DNF 3: workaround a bug with config values that are lists (awilliam)
- Add support for RISC-V (riscv64) (david.abdurachmanov)
- Revert "Use restorecon instead of setfiles for relabeling" (puiterwijk)
- imgcreate: Copy gcdia32.efi in __copy_efi_files if it exists (Kevin)
- Fix the io.open() and utf-8 problems in imgcreate/util.py (david.l.cantrell)
- Remove get_modules(). (david.l.cantrell)
- livecd-iso-to-disk: adjust efi boot configuration code. (fgrose)
- fs.py & editliveos: remove code glitches (fgrose)
- editliveos: Bind mount /etc/resolv.conf (fgrose)
- fs.py & editliveos: Fix overlay changing. (fgrose)
- util.py: Captured output from subprocesses should always be decoded. (scott)
- Update livecd-creator manpage with info about imcomplete options
(zhang.xianwei8)
- livecd-iso-to-disk: Revert change that broke EFI/MBR hybrid booting (scott)
- livecd-iso-to-disk: Fix faulty --efi boot config code. (fgrose)
- livecd-iso-to-disk: Fix overlay size reporting & type testing. (fgrose)
- livecd-iso-to-disk: Accommodate multiple BOOT*.EFI files. (fgrose)
* Thu Nov 22 2018 Neal Gompa <ngompa13@gmail.com> - 1:25.0-14
- Backport workaround for lack of excludeWeakDeps with EL7 pykickstart

View File

@ -1 +1 @@
SHA512 (livecd-tools-25.0.tar.gz) = 8b42fce8148d699e08611a8dcfa49a1f90c53f8df57d6debd1d873727ca8d097445c02b25a990f57e5778fb4e4235ea7a3cd2bf8af21d9431cad666b9823ef4d
SHA512 (livecd-tools-26.0.tar.gz) = b32c7de5570693a91aebc46e33b04f51b83ababe58614da9c8961267e0ba8120615ff76c4e612d6afce6da5e6f24fb494076044c7340e26b20c8177fe99f7c41