Compare commits

..

No commits in common. "f40-riscv64" and "master" have entirely different histories.

5 changed files with 6 additions and 242 deletions

7
.gitignore vendored
View File

@ -18,10 +18,3 @@
/livecd-tools-26.1.tar.gz
/livecd-tools-27.0.tar.gz
/livecd-tools-27.1.tar.gz
/livecd-tools-28.0.tar.gz
/livecd-tools-28.1.tar.gz
/livecd-tools-28.2.tar.gz
/livecd-tools-28.3.tar.gz
/livecd-tools-29.0.tar.gz
/livecd-tools-30.0.tar.gz
/livecd-tools-31.0.tar.gz

View File

@ -1,11 +0,0 @@
--- livecd-tools-31.0/Makefile.py312 2022-06-15 20:49:24.000000000 +0900
+++ livecd-tools-31.0/Makefile 2023-07-27 14:10:19.460042745 +0900
@@ -14,7 +14,7 @@ define COMPILE_PYTHON
$(PYTHON_PROGRAM) -c "import compileall as c; c.compile_dir('$(1)', force=1)"
$(PYTHON_PROGRAM) -O -c "import compileall as c; c.compile_dir('$(1)', force=1)"
endef
-PYTHONDIR := $(shell $(PYTHON_PROGRAM) -c "from __future__ import print_function; from distutils.sysconfig import get_python_lib; print(get_python_lib())")
+PYTHONDIR := $(shell $(PYTHON_PROGRAM) -c "import sysconfig; print(sysconfig.get_path('purelib', vars={'platbase': '/usr', 'base': '/usr'}))")
all:

View File

@ -16,20 +16,15 @@
Summary: Tools for building live CDs
Name: livecd-tools
Version: 31.0
Release: 8.0.riscv64%{?dist}
Version: 27.1
Release: 6%{?dist}
%if 0%{?fedora}
Epoch: 1
%endif
License: GPLv2
URL: https://github.com/livecd-tools/livecd-tools
Source0: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.gz
Patch0: livecd-tools-31.0-py312-distutils-removal.patch
# RISCV (riscv64)
Patch1: test-fix.patch
BuildRequires: make
%if %{with python2}
BuildRequires: python2-devel
%endif
@ -67,15 +62,11 @@ Requires: dosfstools >= 2.11-8
Requires: e2fsprogs
Requires: lorax >= 18.3
Requires: rsync
Requires: lsof
Requires: psmisc
%if ! 0%{?rhel}
# hfs+ support for Macs
%ifarch %{ix86} x86_64 ppc ppc64
Requires: hfsplus-tools
%endif
%endif
# syslinux dependency
%ifarch %{ix86} x86_64
@ -101,9 +92,6 @@ Requires: policycoreutils
Requires: selinux-policy-targeted
# dracut 045+ required for overlayfs live media support
Requires: dracut
%if ! (0%{?rhel} && 0%{?rhel} < 8)
Requires: dracut-live
%endif
%if ! %{with python2}
Obsoletes: python2-imgcreate < %{?epoch:%{epoch}:}%{version}-%{release}
@ -124,13 +112,13 @@ Requires: pyparted
Requires: pykickstart
Requires: libselinux-python
Requires: dbus-python
Requires: python-urlgrabber
Requires: python-six
%else
Requires: python2-pyparted
Requires: python2-kickstart
Requires: python2-libselinux
Requires: python2-dbus
Requires: python2-urlgrabber
Requires: python2-six
%endif
%description -n python2-imgcreate
@ -146,7 +134,7 @@ Requires: python-imgcreate-sysdeps%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rel
Requires: python3-pyparted
Requires: python3-dnf >= 1.1.0
Requires: python3-kickstart
Requires: python3-urlgrabber
Requires: python3-six
Requires: libselinux-python3
Requires: python3-dbus
@ -231,134 +219,6 @@ rm -rfv %{buildroot}%{_mandir}/man8/livecd-iso-to-*
%endif
%changelog
* Fri Mar 22 2024 David Abdurachmanov <davidlt@rivosinc.com> - 1:31.0-8.0.riscv64
- Collect more information what is blocking mount point.
- Special bind-mounts can be lazy unmounted.
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:31.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:31.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 27 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1:31.0-6
- Workaround for python3.12 distutils removal
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:31.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1:31.0-4
- Rebuilt for Python 3.12
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:31.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:31.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jun 15 2022 Neal Gompa <ngompa@fedoraproject.org> - 1:31.0-1
- Release 31.0 (neal)
- imgcreate/creator.py: fix SELinux unmount order (3526918+cbs228)
- livecd-iso-to-disk: Remove useless test to fix issue #237 (fgrose)
- imgcreate/kickstart.py: correct setfiles relabeling (3526918+cbs228)
- fs.py: Avoid bind mounting an existing file target. (fgrose)
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1:30.0-2
- Rebuilt for Python 3.11
* Tue Apr 26 2022 Neal Gompa <ngompa@fedoraproject.org> - 1:30.0-1
- Release 30.0 (ngompa13)
- imgcreate/fs.py: abort on hard-unmount failure (lersek)
- imgcreate/util: Fix errors import (T-vK) (#2078710)
* Sun Apr 24 2022 Neal Gompa <ngompa@fedoraproject.org> - 1:29.0-1
- Release 29.0 (ngompa13)
- Makefile: Drop creating signed tags (ngompa13)
- Preload the libnss_systemd library (#2007045) (sergey)
- livecd-iso-to-disk, editliveos: Add option to skip macboot.img processing.
(fgrose)
- Copy 'unicode.pf2' from correct path (zhanggyb)
- editliveos: Refresh vmlinuz & initrd.img files upon kernel updates. (fgrose)
- livecd-iso-to-disk & editliveos: Preserve extra-kernel-args from source.
(fgrose)
- add livenet dracut module to allow for pxe boot (sobjerke)
- switch from authconfig to authselect (pbrezina)
- live.py: Support either /images or /isolinux directories for efi images.
(fgrose)
- livecd-iso-to-disk & editliveos: Expand partitioning & filesystem support
(fgrose)
- make live image the default boot option (sobjerke)
- Modernize detection of checkisomd5 (m.novosyolov)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:28.3-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jan 11 2022 Neal Gompa <ngompa@fedoraproject.org> - 1:28.3-4
- Backport fix for finding unicode grub2 font file (rhbz#2037096)
* Mon Aug 23 2021 Pavel Březina <pbrezina@redhat.com> - 1:28.3-3
- Switch from authconfig to authselect (rhbz#1982159)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:28.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sun Jun 27 2021 Neal Gompa <ngompa13@gmail.com> - 1:28.3-1
- Release 28.3 (ngompa13)
- imgcreate/live: Make EFI packages optional for x86 (ngompa13)
- Fix missync of locations of efiboot.img (m.novosyolov)
- mkdir isolinux on aarch64 (m.novosyolov)
- Fix check if EFI bootloader exists (m.novosyolov)
* Sat Jun 26 2021 Neal Gompa <ngompa13@gmail.com> - 1:28.2-1
- Release 28.2 (ngompa13)
- rearrange xorrisofs options to make image efi bootable (sobjerke)
- place efiboot.img and macboot.img in /isolinux (sobjerke)
- Remove duplicate sentence (35056002+BessieTheCookie)
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1:28.1-2
- Rebuilt for Python 3.10
* Fri May 21 2021 Neal Gompa <ngompa13@gmail.com> - 1:28.1-1
- Release 28.1 (ngompa13)
- imgcreate/live: Add missing comma for xorrisofs options (ngompa13)
- prevent urlgrabber.urlgrab() from overwriting ks files in current directory (sobjerke)
* Sat May 08 2021 Neal Gompa <ngompa13@gmail.com> - 1:28.0-2
- Add missing dependencies (urlgrabber, dracut-live)
- Remove hfsplus-tools as a dependency for EL8+
* Sat May 08 2021 Neal Gompa <ngompa13@gmail.com> - 1:28.0-1
- Release 28.0 (ngompa13)
- HACKING: Fix URL for the Git repository (ngompa13)
- imgcreate/live: Add missing variable "_isDracut" (ngompa13)
- imgcreate/live: Use the right EFI binaries for x86 images (ngompa13)
- imgcreate/live: Add AArch64 support (ngompa13)
- imgcreate/live: Rework ISO creation to split x86 specific parts out (ngompa13)
- Add missing files to uninstall section of makefile (quanterium)
- Separate the errors for no ks specified and file not found (bcotton)
- Pass package_types to dnf base group_install as tuple, not set (awilliam)
- imgcreate: Allow more SquashFS compression options. (fgrose)
- BindChrootMount: Expand this class to include bind mounting of files. (fgrose)
- Obsolete osmin.img processing. (fgrose)
- live.py: harmonize xorrisofs arguments with lorax live/x86.tmpl (fgrose)
- imgcreate/kickstart: Use urlgrabber again instead of urllib (ngompa13)
- Make --livedir & --multi handling more robust. (fgrose)
- editliveos: Use USERNAME now instead of LOGNAME. (fgrose)
- livecd-iso-to-disk: Update test for 'gio' presence. (fgrose)
- live.py: Store EFI boot images in /images/. (fgrose)
- livecd-iso-to-disk: Use -E, --exit-if-exists option to udevadm settle. (fgrose)
- live.py: Update xorrisofs_options for x86 images. (fgrose)
- editliveos: Rework installing packages into image (khoidinhtrinh)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Oct 08 2020 Adam Williamson <awilliam@redhat.com> - 1:27.1-8
- Backport PR #168 to fix a compatibility issue with DNF 4.4.0+
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1:27.1-6
- Rebuilt for Python 3.9

View File

@ -1 +1 @@
SHA512 (livecd-tools-31.0.tar.gz) = 19d9c5db422e32593b675de7d577ea3f205129ddebef81b62e3e2b300fd9cf44cc70c4080a6eb8120caa60e0223940b766c043c3d55679f1e8588a03627f8cbd
SHA512 (livecd-tools-27.1.tar.gz) = f5a744248d04b89e930e35fd52917412c6e97a800c4da6f9064a74a1bd7fd37bcc64eb38c222018d7e4fcb0686ede79ac4f3db5ea2b70fb7d062e79b441a2bd1

View File

@ -1,78 +0,0 @@
diff --git a/imgcreate/fs.py b/imgcreate/fs.py
index f999d05..5c5a003 100644
--- a/imgcreate/fs.py
+++ b/imgcreate/fs.py
@@ -820,8 +820,18 @@ class DiskMount(Mount):
def unmount(self):
if self.mounted:
logging.info("Unmounting directory %s" % self.mountdir)
+ time.sleep(10)
rc = call(['umount', self.mountdir])
if rc != 0:
+ logging.info("- - - lsof %s - - -" % self.mountdir)
+ call(['lsof', '+c0', self.mountdir])
+ logging.info("- - - lsof %s - - -" % self.mountdir)
+ logging.info("- - - fuser %s - - -" % self.mountdir)
+ call(['fuser', '-v', '-m', self.mountdir])
+ logging.info("- - - fuser %s - - -" % self.mountdir)
+ logging.info("- - - pstree - - -")
+ call(['pstree', '-Talp'])
+ logging.info("- - - pstree - - -")
call(['umount', '-l', self.mountdir])
raise MountError(umount_fail_fmt % self.mountdir)
self.mounted = False
@@ -981,8 +991,18 @@ class OverlayFSMount(Mount):
if not self.mounted:
return
+ time.sleep(10)
rc = call(['umount', self.mountdir])
if rc != 0:
+ logging.info("- - - lsof %s - - -" % self.mountdir)
+ call(['lsof', '+c0', self.mountdir])
+ logging.info("- - - lsof %s - - -" % self.mountdir)
+ logging.info("- - - fuser %s - - -" % self.mountdir)
+ call(['fuser', '-v', '-m', self.mountdir])
+ logging.info("- - - fuser %s - - -" % self.mountdir)
+ logging.info("- - - pstree - - -")
+ call(['pstree', '-Talp'])
+ logging.info("- - - pstree - - -")
call(['umount', '-l', self.mountdir])
raise MountError(umount_fail_fmt % self.mountdir)
if self.cowmnt:
@@ -1059,10 +1079,21 @@ class BindChrootMount():
self.mounted = False
return
+ time.sleep(10)
rc = call(['umount', self.dest])
if rc != 0:
+ logging.info("- - - lsof %s - - -" % self.dest)
+ call(['lsof', '+c0', self.dest])
+ logging.info("- - - lsof %s - - -" % self.dest)
+ logging.info("- - - fuser %s - - -" % self.dest)
+ call(['fuser', '-v', '-m', self.dest])
+ logging.info("- - - fuser %s - - -" % self.dest)
+ logging.info("- - - pstree - - -")
+ call(['pstree', '-Talp'])
+ logging.info("- - - pstree - - -")
call(['umount', '-l', self.dest])
- raise MountError(umount_fail_fmt % self.dest)
+ if self.src.strip() not in ('/sys', '/proc', '/dev/pts'):
+ raise MountError(umount_fail_fmt % self.dest)
self.mounted = False
def cleanup(self):
diff --git a/imgcreate/util.py b/imgcreate/util.py
index fad6772..04380c9 100644
--- a/imgcreate/util.py
+++ b/imgcreate/util.py
@@ -32,7 +32,7 @@ def call(*popenargs, **kwargs):
stderr=subprocess.STDOUT, **kwargs)
rc = p.wait()
fp = io.open(p.stdout.fileno(), mode="r", encoding="utf-8", closefd=False)
- stdout = fp.read().split()
+ stdout = fp.read().splitlines()
fp.close()
# Log output using logging module