livecd-tools/livecd-tools.spec
Mikhail Novosyolov 0d5fccb09a Fix installing grub theme on aarch64
F**ing duplication of the same code in different classes!
2021-06-27 22:58:31 +03:00

185 lines
5.7 KiB
RPMSpec

# NOTE: This package is fully arched due to dependency sensitivity.
# Please do not remove archfulness on Requires/Provides.
%define debug_package %{nil}
%global min_dnf_ver 4.0
%global min_pykickstart_ver 2.25
Name: livecd-tools
Summary: Tools for building live CDs
Epoch: 1
Version: 28.2
Release: 6
License: GPLv2
Group: System/Base
URL: https://github.com/livecd-tools/livecd-tools
Source0: https://github.com/livecd-tools/livecd-tools/archive/refs/tags/%{name}-%{version}.tar.gz?/%{name}-%{name}-%{version}.tar.gz
# Git tree with patches: https://github.com/mikhailnov/livecd-tools/tree/rosa-v28.2
# https://github.com/livecd-tools/livecd-tools/issues/156
Patch0001: 0001-Add-ability-to-prevent-SELinux-relabelling-from-host.patch
# add "anaconda" and "livenet" dracut modules to LiveCD
Patch0002: 0002-Add-livenet-and-anaconda-initrd-modules.patch
Patch0003: 0003-Copy-all-files-that-match-a-glob.patch
Patch0004: 0004-Leave-etc-vconsole.conf-not-changed.patch
Patch0005: 0005-Off-sss-hack.patch
Patch0006: 0006-Do-not-check-for-installed-packages-they-are-pulled-.patch
Patch0007: 0007-Adapt-Grub-and-Shim-paths-for-ROSA.patch
# https://github.com/livecd-tools/livecd-tools/pull/193
Patch0008: 0008-Fix-name-of-x86_64-bootloader-according-to-UEFI-spec.patch
# https://github.com/livecd-tools/livecd-tools/pull/196
Patch0009: 0009-Fix-check-if-EFI-bootloader-exists.patch
# https://github.com/livecd-tools/livecd-tools/pull/198
Patch0010: 0010-mkdir-isolinux-on-aarch64.patch
# https://github.com/livecd-tools/livecd-tools/pull/197
Patch0011: 0011-Fix-missync-of-locations-of-efiboot.img.patch
# https://github.com/livecd-tools/livecd-tools/pull/199
Patch0012: 0012-Modernize-detection-of-checkisomd5.patch
Patch0013: 0013-ROSA-theme-and-config-of-bootloaders.patch
BuildRequires: python3-devel
# pod2man comes from perl
BuildRequires: perl
# %%autosetup -S git_am
BuildRequires: git-core
Requires: python3-imgcreate%{?_isa} = %{EVRD}
%ifarch %{ix86} %{x86_64}
Requires: livecd-iso-to-mediums = %{EVRD}
%endif
Requires: %{_bindir}/implantisomd5
Requires: %{_bindir}/checkisomd5
%description
Tools for generating live CDs on Fedora based systems including
derived distributions such as RHEL, CentOS and others. See
http://fedoraproject.org/wiki/FedoraLiveCD for more details.
%package -n python-imgcreate-sysdeps
Summary: Common system dependencies for python-imgcreate
Group: System/Base
Requires: coreutils
Requires: xorriso
Requires: isomd5sum
Requires: parted
Requires: util-linux
Requires: dosfstools
Requires: e2fsprogs
%ifarch %{ix86} %{x86_64} aarch64
Requires: mkefiboot
%endif
Requires: rsync
%ifarch %{ix86} %{x86_64} ppc ppc64
Requires: hfsplus-tools
%endif
%ifarch %{ix86} %{x86_64}
Requires: syslinux
%endif
%ifarch ppc
Requires: yaboot
%endif
Requires: dumpet
# https://github.com/livecd-tools/livecd-tools/commit/4dcf44f8
# https://bugzilla.redhat.com/show_bug.cgi?id=1127103
# For now off sss in /etc/nsswitch.conf in LiveCD build scripts
#Requires: sssd-client
Requires: cryptsetup
Requires: squashfs-tools
Requires: policycoreutils
# shim binaries are copied into the LiveCD, shim of native arch is copied always
# and shim of the secondary arch is copied only if it exists;
# RPM file coloring should make coinstalling shims of different arches possible
Requires: (shim%{_isa} or shim-unsigned%{_isa})
%ifarch %{x86_64}
Recommends: (shim(x86-32) or shim-unsigned(x86-32))
%endif
%description -n python-imgcreate-sysdeps
This package describes the common system dependencies for
python-imgcreate.
%package -n python3-imgcreate
Summary: Python 3 modules for building system images
Group: Development/Python
%{?python_provide:%python_provide python3-imgcreate}
Requires: python-imgcreate-sysdeps%{?_isa} = %{EVRD}
Requires: python3-parted
Requires: python3-dnf >= %{min_dnf_ver}
Requires: python3-kickstart >= %{min_pykickstart_ver}
Requires: python3-six
Requires: python3-libselinux
Requires: python3-dbus
Requires: python3-urlgrabber
%description -n python3-imgcreate
Python 3 modules that can be used for building images for things
like live image or appliances.
%ifarch %{ix86} %{x86_64}
%package -n livecd-iso-to-mediums
Summary: Tools for installing ISOs to different mediums
Group: System/Base
Requires: python-imgcreate-sysdeps%{?_isa} = %{EVRD}
Requires: syslinux-extlinux
Requires: syslinux-tftpboot
%description -n livecd-iso-to-mediums
Tools for installing Live CD ISOs to different mediums
(e.g. USB sticks, hard drives, PXE boot, etc.)
%endif
%prep
%autosetup -p1 -S git_am -n %{name}-%{name}-%{version}
%build
# Nothing to do
%install
%make_install PYTHON=python3
# Delete installed docs, we'll grab them later
rm -rf %{buildroot}%{_datadir}/doc/%{name}
%ifnarch %{ix86} %{x86_64}
# livecd-iso-to-mediums doesn't work without syslinux
rm -rfv %{buildroot}%{_bindir}/livecd-iso-to-*
rm -rfv %{buildroot}%{_mandir}/man8/livecd-iso-to-*
%endif
%files
%license COPYING
%doc AUTHORS README HACKING
%doc config/livecd-fedora-minimal.ks
%doc config/livecd-mageia-minimal-*.ks
%{_bindir}/livecd-creator
%{_bindir}/image-creator
%{_bindir}/liveimage-mount
%{_bindir}/editliveos
%{_bindir}/mkbiarch
%{_mandir}/man8/livecd-creator.8*
%{_mandir}/man8/mkbiarch.8*
%files -n python-imgcreate-sysdeps
# No files because empty metapackage
%files -n python3-imgcreate
%license COPYING
%doc API
%{python3_sitelib}/imgcreate
%ifarch %{ix86} %{x86_64}
%files -n livecd-iso-to-mediums
%license COPYING
%{_bindir}/livecd-iso-to-disk
%{_mandir}/man8/livecd-iso-to-disk.8*
%{_bindir}/livecd-iso-to-pxeboot
%endif