428 lines
13 KiB
RPMSpec
428 lines
13 KiB
RPMSpec
|
Summary: Graphical system installer
|
||
|
Name: anaconda
|
||
|
Version: 34.25.5.0
|
||
|
Release: 1%{?dist}.oreon
|
||
|
License: GPLv2+ and MIT
|
||
|
URL: http://fedoraproject.org/wiki/Anaconda
|
||
|
|
||
|
# To generate Source0 do:
|
||
|
# git clone https://github.com/rhinstaller/anaconda
|
||
|
# git checkout -b archive-branch anaconda-%%{version}-%%{release}
|
||
|
# ./autogen.sh
|
||
|
# make dist
|
||
|
Source0: %{name}-%{version}.tar.bz2
|
||
|
|
||
|
# Oreon patches
|
||
|
Patch1000: anaconda-oreon-installer-colors.patch
|
||
|
Patch1001: anaconda-oreon-disable-subscription.patch
|
||
|
Patch1002: anaconda-oreon-disable-cdn-radiobutton.patch
|
||
|
Patch1003: anaconda-oreon-remove-visible-fedora-references.patch
|
||
|
Patch1004: anaconda-oreon-add-minimal-repo.patch
|
||
|
|
||
|
# Versions of required components (done so we make sure the buildrequires
|
||
|
# match the requires versions of things).
|
||
|
|
||
|
%if ! 0%{?rhel}
|
||
|
%define blivetguiver 2.1.12-1
|
||
|
%endif
|
||
|
%define dasbusver 1.3
|
||
|
%define dbusver 1.2.3
|
||
|
%define dnfver 3.6.0
|
||
|
%define dracutver 034-7
|
||
|
%define fcoeutilsver 1.0.12-3.20100323git
|
||
|
%define gettextver 0.19.8
|
||
|
%define gtk3ver 3.22.17
|
||
|
%define helpver 9.0.0-1
|
||
|
%define isomd5sumver 1.0.10
|
||
|
%define langtablever 0.0.54
|
||
|
%define libarchivever 3.0.4
|
||
|
%define libblockdevver 2.1
|
||
|
%define libreportanacondaver 2.0.21-1
|
||
|
%define libtimezonemapver 0.4.1-2
|
||
|
%define libxklavierver 5.4
|
||
|
%define mehver 0.23-1
|
||
|
%define nmver 1.0
|
||
|
%define pykickstartver 3.32.10-1
|
||
|
%define pypartedver 2.5-2
|
||
|
%define pythonblivetver 1:3.6.0-4
|
||
|
%define rpmver 4.10.0
|
||
|
%define simplelinever 1.8.3-1
|
||
|
%define subscriptionmanagerver 1.29.31
|
||
|
%define utillinuxver 2.15.1
|
||
|
|
||
|
BuildRequires: audit-libs-devel
|
||
|
BuildRequires: libtool
|
||
|
BuildRequires: gettext-devel >= %{gettextver}
|
||
|
BuildRequires: gtk3-devel >= %{gtk3ver}
|
||
|
BuildRequires: gtk-doc
|
||
|
BuildRequires: gtk3-devel-docs >= %{gtk3ver}
|
||
|
BuildRequires: glib2-doc
|
||
|
BuildRequires: gobject-introspection-devel
|
||
|
BuildRequires: glade-devel
|
||
|
BuildRequires: libgnomekbd-devel
|
||
|
BuildRequires: libxklavier-devel >= %{libxklavierver}
|
||
|
BuildRequires: make
|
||
|
BuildRequires: pango-devel
|
||
|
BuildRequires: python3-devel
|
||
|
BuildRequires: systemd
|
||
|
# rpm and libarchive are needed for driver disk handling
|
||
|
BuildRequires: rpm-devel >= %{rpmver}
|
||
|
BuildRequires: libarchive-devel >= %{libarchivever}
|
||
|
%ifarch s390 s390x
|
||
|
BuildRequires: s390utils-devel
|
||
|
%endif
|
||
|
BuildRequires: libtimezonemap-devel >= %{libtimezonemapver}
|
||
|
|
||
|
# Tools used by the widgets resource bundle generation
|
||
|
BuildRequires: gdk-pixbuf2-devel
|
||
|
BuildRequires: libxml2
|
||
|
|
||
|
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: python3-libs
|
||
|
Requires: python3-dnf >= %{dnfver}
|
||
|
Requires: python3-blivet >= %{pythonblivetver}
|
||
|
Requires: python3-blockdev >= %{libblockdevver}
|
||
|
Requires: python3-meh >= %{mehver}
|
||
|
Requires: libreport-anaconda >= %{libreportanacondaver}
|
||
|
Requires: libselinux-python3
|
||
|
Requires: python3-rpm >= %{rpmver}
|
||
|
Requires: python3-pyparted >= %{pypartedver}
|
||
|
Requires: python3-requests
|
||
|
Requires: python3-requests-file
|
||
|
Requires: python3-requests-ftp
|
||
|
Requires: python3-kickstart >= %{pykickstartver}
|
||
|
Requires: python3-langtable >= %{langtablever}
|
||
|
Requires: util-linux >= %{utillinuxver}
|
||
|
Requires: python3-gobject-base
|
||
|
Requires: python3-dbus
|
||
|
Requires: python3-pwquality
|
||
|
Requires: python3-systemd
|
||
|
Requires: python3-productmd
|
||
|
Requires: python3-dasbus >= %{dasbusver}
|
||
|
Requires: flatpak-libs
|
||
|
%if %{defined rhel} && %{undefined centos}
|
||
|
Requires: subscription-manager >= %{subscriptionmanagerver}
|
||
|
%endif
|
||
|
|
||
|
# pwquality only "recommends" the dictionaries it needs to do anything useful,
|
||
|
# which is apparently great for containers but unhelpful for the rest of us
|
||
|
Requires: cracklib-dicts
|
||
|
|
||
|
Requires: python3-pytz
|
||
|
Requires: teamd
|
||
|
%ifarch s390 s390x
|
||
|
Requires: openssh
|
||
|
%endif
|
||
|
Requires: NetworkManager >= %{nmver}
|
||
|
Requires: NetworkManager-libnm >= %{nmver}
|
||
|
Requires: NetworkManager-team
|
||
|
Requires: kbd
|
||
|
Requires: chrony
|
||
|
Requires: systemd
|
||
|
Requires: python3-pid
|
||
|
|
||
|
# Required by the systemd service anaconda-fips.
|
||
|
Requires: crypto-policies
|
||
|
Requires: /usr/bin/update-crypto-policies
|
||
|
|
||
|
# required because of the rescue mode and VNC question
|
||
|
Requires: anaconda-tui = %{version}-%{release}
|
||
|
|
||
|
# Make sure we get the en locale one way or another
|
||
|
Requires: (glibc-langpack-en or glibc-all-langpacks)
|
||
|
|
||
|
# anaconda literally runs its own dbus-daemon, so it needs this,
|
||
|
# even though the distro default is dbus-broker in F30+
|
||
|
Requires: dbus-daemon
|
||
|
|
||
|
# Ensure it's not possible for a version of grubby to be installed
|
||
|
# that doesn't work with btrfs subvolumes correctly...
|
||
|
Conflicts: grubby < 8.40-10
|
||
|
|
||
|
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 core
|
||
|
The anaconda-core package contains the program which was used to install your
|
||
|
system.
|
||
|
|
||
|
%package live
|
||
|
Summary: Live installation specific files and dependencies
|
||
|
BuildRequires: desktop-file-utils
|
||
|
# live installation currently implies a graphical installation
|
||
|
Requires: usermode
|
||
|
Requires: zenity
|
||
|
|
||
|
%description live
|
||
|
The anaconda-live package contains scripts, data and dependencies required
|
||
|
for live installations.
|
||
|
|
||
|
%package install-env-deps
|
||
|
Summary: Installation environment specific dependencies
|
||
|
Requires: udisks2-iscsi
|
||
|
Requires: libblockdev-plugins-all >= %{libblockdevver}
|
||
|
# active directory/freeipa join support
|
||
|
Requires: realmd
|
||
|
Requires: isomd5sum >= %{isomd5sumver}
|
||
|
%ifarch %{ix86} x86_64
|
||
|
Recommends: fcoe-utils >= %{fcoeutilsver}
|
||
|
%endif
|
||
|
# likely HFS+ resize support
|
||
|
%ifarch %{ix86} x86_64
|
||
|
%if ! 0%{?rhel}
|
||
|
Requires: hfsplus-tools
|
||
|
%endif
|
||
|
%endif
|
||
|
# kexec support
|
||
|
Requires: kexec-tools
|
||
|
# needed for proper driver disk support - if RPMs must be installed, a repo is needed
|
||
|
Requires: createrepo_c
|
||
|
# run's on TTY1 in install env
|
||
|
Requires: tmux
|
||
|
# install time crash handling
|
||
|
Requires: gdb
|
||
|
# support for installation from image and live & live image installations
|
||
|
Requires: rsync
|
||
|
# External tooling for managing NVMe-FC devices in the installation environment
|
||
|
Recommends: nvme-cli
|
||
|
|
||
|
%description install-env-deps
|
||
|
The anaconda-install-env-deps metapackage lists all installation environment dependencies.
|
||
|
This makes it possible for packages (such as Initial Setup) to depend on the main Anaconda package without
|
||
|
pulling in all the install time dependencies as well.
|
||
|
|
||
|
%package install-img-deps
|
||
|
Summary: Installation image specific dependencies
|
||
|
# This package must have no weak dependencies.
|
||
|
Requires: udisks2-iscsi
|
||
|
Requires: libblockdev-plugins-all >= %{libblockdevver}
|
||
|
# active directory/freeipa join support
|
||
|
Requires: realmd
|
||
|
Requires: isomd5sum >= %{isomd5sumver}
|
||
|
%ifarch %{ix86} x86_64
|
||
|
Requires: fcoe-utils >= %{fcoeutilsver}
|
||
|
%endif
|
||
|
# likely HFS+ resize support
|
||
|
%ifarch %{ix86} x86_64
|
||
|
%if ! 0%{?rhel}
|
||
|
Requires: hfsplus-tools
|
||
|
%endif
|
||
|
%endif
|
||
|
# kexec support
|
||
|
Requires: kexec-tools
|
||
|
# needed for proper driver disk support - if RPMs must be installed, a repo is needed
|
||
|
Requires: createrepo_c
|
||
|
# run's on TTY1 in install env
|
||
|
Requires: tmux
|
||
|
# install time crash handling
|
||
|
Requires: gdb
|
||
|
# support for installation from image and live & live image installations
|
||
|
Requires: rsync
|
||
|
# only WeakRequires elsewhere and not guaranteed to be present
|
||
|
Requires: device-mapper-multipath
|
||
|
Requires: zram-generator
|
||
|
# Submitting bugs to bugzilla
|
||
|
# Requires: libreport-rhel-anaconda-bugzilla
|
||
|
# External tooling for managing NVMe-FC devices in the installation environment
|
||
|
Requires: nvme-cli
|
||
|
|
||
|
%description install-img-deps
|
||
|
The anaconda-install-img-deps metapackage lists all boot.iso installation image dependencies.
|
||
|
Add this package to an image build (eg. with lorax) to ensure all Anaconda capabilities are supported in the resulting image.
|
||
|
|
||
|
%package gui
|
||
|
Summary: Graphical user interface for the Anaconda installer
|
||
|
Requires: anaconda-core = %{version}-%{release}
|
||
|
Requires: anaconda-widgets = %{version}-%{release}
|
||
|
Requires: python3-meh-gui >= %{mehver}
|
||
|
Requires: adwaita-icon-theme
|
||
|
Requires: tigervnc-server-minimal
|
||
|
Requires: libxklavier >= %{libxklavierver}
|
||
|
Requires: libgnomekbd
|
||
|
Requires: libtimezonemap >= %{libtimezonemapver}
|
||
|
Requires: nm-connection-editor
|
||
|
Requires: keybinder3
|
||
|
%ifnarch s390 s390x
|
||
|
Requires: NetworkManager-wifi
|
||
|
%endif
|
||
|
Requires: anaconda-user-help >= %{helpver}
|
||
|
Requires: yelp
|
||
|
%if ! 0%{?rhel}
|
||
|
Requires: blivet-gui-runtime >= %{blivetguiver}
|
||
|
%endif
|
||
|
Requires: system-logos
|
||
|
|
||
|
# 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}
|
||
|
Requires: python3-simpleline >= %{simplelinever}
|
||
|
|
||
|
%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
|
||
|
Requires: %{__python3}
|
||
|
|
||
|
%description widgets
|
||
|
This package contains a set of custom GTK+ widgets used by the anaconda installer.
|
||
|
|
||
|
%package widgets-devel
|
||
|
Summary: Development files for anaconda-widgets
|
||
|
Requires: glade
|
||
|
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||
|
|
||
|
%description widgets-devel
|
||
|
This package contains libraries and header files needed for writing the anaconda
|
||
|
installer. It also contains Python and Glade support files, as well as
|
||
|
documentation for working with this library.
|
||
|
|
||
|
%package dracut
|
||
|
Summary: The anaconda dracut module
|
||
|
Requires: dracut >= %{dracutver}
|
||
|
Requires: dracut-network
|
||
|
Requires: dracut-live
|
||
|
Requires: xz
|
||
|
Requires: python3-kickstart
|
||
|
|
||
|
%description dracut
|
||
|
The 'anaconda' dracut module handles installer-specific boot tasks and
|
||
|
options. This includes driver disks, kickstarts, and finding the anaconda
|
||
|
runtime on NFS/HTTP/FTP servers or local disks.
|
||
|
|
||
|
%prep
|
||
|
%autosetup -p 1
|
||
|
|
||
|
# Debrand
|
||
|
sed -e 's/RHEL/Oreon/g' -i po/*.po
|
||
|
sed -e 's/Red Hat Enterprise Linux/Oreon/g' -i po/*.po
|
||
|
|
||
|
%build
|
||
|
# use actual build-time release number, not tarball creation time release number
|
||
|
%configure ANACONDA_RELEASE=%{release}
|
||
|
%{__make} %{?_smp_mflags}
|
||
|
|
||
|
%install
|
||
|
%{make_install}
|
||
|
find %{buildroot} -type f -name "*.la" | xargs %{__rm}
|
||
|
|
||
|
# Create an empty directory for addons
|
||
|
mkdir %{buildroot}%{_datadir}/anaconda/addons
|
||
|
|
||
|
# required for live installations
|
||
|
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/liveinst.desktop
|
||
|
|
||
|
# If no langs found, keep going
|
||
|
%find_lang %{name} || :
|
||
|
|
||
|
|
||
|
# main package and install-env-deps are metapackages
|
||
|
%files
|
||
|
|
||
|
%files install-env-deps
|
||
|
|
||
|
# Allow the lang file to be empty
|
||
|
%define _empty_manifest_terminate_build 0
|
||
|
|
||
|
%files install-img-deps
|
||
|
|
||
|
# Allow the lang file to be empty here too
|
||
|
%define _empty_manifest_terminate_build 0
|
||
|
|
||
|
%files core -f %{name}.lang
|
||
|
%license COPYING
|
||
|
%{_unitdir}/*
|
||
|
%{_prefix}/lib/systemd/system-generators/*
|
||
|
%{_bindir}/instperf
|
||
|
%{_bindir}/anaconda-disable-nm-ibft-plugin
|
||
|
%{_bindir}/anaconda-nm-disable-autocons
|
||
|
%{_sbindir}/anaconda
|
||
|
%{_sbindir}/handle-sshpw
|
||
|
%{_datadir}/anaconda
|
||
|
%{_prefix}/libexec/anaconda
|
||
|
%exclude %{_datadir}/anaconda/gnome
|
||
|
%exclude %{_datadir}/anaconda/pixmaps
|
||
|
%exclude %{_datadir}/anaconda/ui
|
||
|
%exclude %{_datadir}/anaconda/window-manager
|
||
|
%exclude %{_datadir}/anaconda/anaconda-gtk.css
|
||
|
%exclude %{_prefix}/libexec/anaconda/dd_*
|
||
|
%{python3_sitearch}/pyanaconda
|
||
|
%exclude %{python3_sitearch}/pyanaconda/rescue.py*
|
||
|
%exclude %{python3_sitearch}/pyanaconda/__pycache__/rescue.*
|
||
|
%exclude %{python3_sitearch}/pyanaconda/ui/gui/*
|
||
|
%exclude %{python3_sitearch}/pyanaconda/ui/tui/*
|
||
|
%{_bindir}/analog
|
||
|
%{_bindir}/anaconda-cleanup
|
||
|
%dir %{_sysconfdir}/%{name}
|
||
|
%config %{_sysconfdir}/%{name}/*
|
||
|
%dir %{_sysconfdir}/%{name}/conf.d
|
||
|
%config %{_sysconfdir}/%{name}/conf.d/*
|
||
|
%dir %{_sysconfdir}/%{name}/product.d
|
||
|
%config %{_sysconfdir}/%{name}/product.d/*
|
||
|
|
||
|
%files live
|
||
|
%{_bindir}/liveinst
|
||
|
%{_sbindir}/liveinst
|
||
|
%config(noreplace) %{_sysconfdir}/pam.d/*
|
||
|
%config(noreplace) %{_sysconfdir}/security/console.apps/*
|
||
|
%{_libexecdir}/liveinst-setup.sh
|
||
|
%{_datadir}/applications/*.desktop
|
||
|
%{_datadir}/anaconda/gnome
|
||
|
%{_sysconfdir}/xdg/autostart/*.desktop
|
||
|
|
||
|
%files gui
|
||
|
%{python3_sitearch}/pyanaconda/ui/gui/*
|
||
|
%{_datadir}/anaconda/pixmaps
|
||
|
%{_datadir}/anaconda/ui
|
||
|
%if 0%{?rhel}
|
||
|
# Remove blivet-gui
|
||
|
%exclude %{_datadir}/anaconda/ui/spokes/blivet_gui.*
|
||
|
%exclude %{python3_sitearch}/pyanaconda/ui/gui/spokes/blivet_gui.*
|
||
|
%endif
|
||
|
%{_datadir}/anaconda/window-manager
|
||
|
%{_datadir}/anaconda/anaconda-gtk.css
|
||
|
|
||
|
%files tui
|
||
|
%{python3_sitearch}/pyanaconda/rescue.py
|
||
|
%{python3_sitearch}/pyanaconda/__pycache__/rescue.*
|
||
|
%{python3_sitearch}/pyanaconda/ui/tui/*
|
||
|
|
||
|
%files widgets
|
||
|
%{_libdir}/libAnacondaWidgets.so.*
|
||
|
%{_libdir}/girepository*/AnacondaWidgets*typelib
|
||
|
%{python3_sitearch}/gi/overrides/*
|
||
|
|
||
|
%files widgets-devel
|
||
|
%{_libdir}/libAnacondaWidgets.so
|
||
|
%{_libdir}/glade/modules/libAnacondaWidgets.so
|
||
|
%{_includedir}/*
|
||
|
%{_datadir}/glade/catalogs/AnacondaWidgets.xml
|
||
|
%{_datadir}/gtk-doc
|
||
|
|
||
|
%files dracut
|
||
|
%dir %{_prefix}/lib/dracut/modules.d/80%{name}
|
||
|
%{_prefix}/lib/dracut/modules.d/80%{name}/*
|
||
|
%{_prefix}/libexec/anaconda/dd_*
|
||
|
|
||
|
%changelog
|
||
|
* Thu Feb 14 2024 Brandon Lester <blester@deblast.com> - 9
|
||
|
- Added to OLR2 Repos
|
||
|
|
||
|
* Sun May 12 2024 Brandon Lester <blester@deblast.com>
|
||
|
- Update package and push to OLR2 repo
|