From 305f8f58383b907e837d4c7f94bce427dda83c42 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Jan 19 2026 12:18:27 +0000 Subject: [PATCH 1/2] Restructure spec to have package definitions grouped together This makes it easier to conditionalize subpackages. --- diff --git a/asahi-repos.spec b/asahi-repos.spec index 8c31ddc..acd5d61 100644 --- a/asahi-repos.spec +++ b/asahi-repos.spec @@ -51,13 +51,53 @@ BuildArch: noarch Additional repositories for enablement packages for Apple Silicon hardware maintained by the Fedora Asahi SIG. +%files +%license LICENSE +%doc README.md +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-kernel.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-kernel +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-fedora-remix-branding.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-fedora-remix-branding +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-fedora-remix-scripts.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-fedora-remix-scripts +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-mesa.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-mesa +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-u-boot.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-u-boot +%config(noreplace) %{_sysconfdir}/yum.repos.d/fedora-asahi-remix-hotfixes.repo +%if 0%{?fedora} && 0%{?fedora} < 43 +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-flatpak.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-flatpak +%endif +%if "%{_arch}" == "aarch64" +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-mesa-i386.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-mesa-x86_64.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-steam.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-steam +%endif +%if 0%{?fedora} && 0%{?fedora} >= 43 +%{_datadir}/dnf5/libdnf.conf.d/30-asahi-sticky-vendors.conf +%endif + +%dnl -------------------------------------------------------------------------------------- + %package devel Summary: Additional repositories for Apple Silicon hardware enablement (pre-release) Requires: %{name}-common = %{version}-%{release} + %description devel Additional repositories for enablement packages for Apple Silicon hardware maintained by the Fedora Asahi SIG (pre-release). +%files devel +%license LICENSE +%doc README.md +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-kernel-devel.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-fedora-remix-scripts-devel.repo +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-u-boot-devel.repo + +%dnl -------------------------------------------------------------------------------------- + %package rawhide-rebuilds Summary: Repository tracking rawhide rebuilds for Apple Silicon packages Requires: %{name}-common = %{version}-%{release} @@ -66,6 +106,14 @@ Requires: %{name}-common = %{version}-%{release} Additional repository tracking rawhide rebuilds for Apple Silicon hardware enablement packages maintained by the Fedora Asahi SIG. +%files rawhide-rebuilds +%license LICENSE +%doc README.md +%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-rawhide-rebuilds.repo +%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-rawhide-rebuilds + +%dnl -------------------------------------------------------------------------------------- + %prep %setup -q -c -T cp -p %SOURCE0 %SOURCE1 . @@ -104,47 +152,6 @@ rm %{buildroot}%{_sysconfdir}/yum.repos.d/group_asahi-flatpak.repo rm %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-flatpak %endif -%files -%license LICENSE -%doc README.md -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-kernel.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-kernel -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-fedora-remix-branding.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-fedora-remix-branding -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-fedora-remix-scripts.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-fedora-remix-scripts -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-mesa.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-mesa -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-u-boot.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-u-boot -%config(noreplace) %{_sysconfdir}/yum.repos.d/fedora-asahi-remix-hotfixes.repo -%if 0%{?fedora} && 0%{?fedora} < 43 -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-flatpak.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-flatpak -%endif -%if "%{_arch}" == "aarch64" -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-mesa-i386.repo -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-mesa-x86_64.repo -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-steam.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-steam -%endif -%if 0%{?fedora} && 0%{?fedora} >= 43 -%{_datadir}/dnf5/libdnf.conf.d/30-asahi-sticky-vendors.conf -%endif - -%files devel -%license LICENSE -%doc README.md -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-kernel-devel.repo -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-fedora-remix-scripts-devel.repo -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-u-boot-devel.repo - -%files rawhide-rebuilds -%license LICENSE -%doc README.md -%config(noreplace) %{_sysconfdir}/yum.repos.d/group_asahi-rawhide-rebuilds.repo -%config(noreplace) %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-rawhide-rebuilds - %changelog * Sun Sep 21 2025 Janne Grunau - 1-25 - Prefer fedora repos over mesa copr repo for F43+ From 26cab83ae507f2ab4f7347c83d153462f96b887c Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Jan 19 2026 12:31:53 +0000 Subject: [PATCH 2/2] Add DNF5 vendor transition configuration for F43+ with libdnf5 >= 5.3 This will let us support transitioning packages from Fedora Asahi Remix back to Fedora Linux as packages are upstreamed. This is only reliably workable as long as everything uses DNF5, which is why this is gated on Fedora Linux 43 and higher. --- diff --git a/asahi-repos.spec b/asahi-repos.spec index acd5d61..233a3bf 100644 --- a/asahi-repos.spec +++ b/asahi-repos.spec @@ -1,6 +1,6 @@ Name: asahi-repos Version: 1 -Release: 25%{?dist} +Release: 26%{?dist} Summary: Additional repositories for Apple Silicon hardware enablement License: MIT @@ -27,6 +27,8 @@ Source20: group_asahi-mesa-x86_64.repo Source21: group_asahi-steam.repo Source22: RPM-GPG-KEY-group_asahi-steam Source23: 30-asahi-sticky-vendors.conf +Source24: dnf5vendor-asahicopr-to-asahitransition.toml +Source25: dnf5vendor-asahitransition-to-fedora.toml %global repo_sources %SOURCE2 %SOURCE4 %SOURCE6 %SOURCE8 %SOURCE10 %SOURCE14 %SOURCE15 %SOURCE17 %global key_sources %SOURCE3 %SOURCE5 %SOURCE7 %SOURCE9 %SOURCE11 %SOURCE16 %SOURCE18 @@ -44,6 +46,9 @@ Provides: %{name}-common = %{version}-%{release} %if (0%{?fedora} && 0%{?fedora} <= 43) Obsoletes: %{name}-edge <= 1-19 %endif +%if (0%{?fedora} && 0%{?fedora} >= 43) +Requires: (%{name}-dnf5-vendorchange-config = %{version}-%{release} if libdnf5 >= 5.3) +%endif BuildArch: noarch @@ -80,6 +85,23 @@ maintained by the Fedora Asahi SIG. %endif %dnl -------------------------------------------------------------------------------------- +%if 0%{?fedora} && 0%{?fedora} >= 43 +%package dnf5-vendorchange-config +Summary: DNF5 vendor change configuration for Fedora Asahi SIG +Requires: libdnf5 >= 5.3 +Requires: %{name}-common = %{version}-%{release} + +%description dnf5-vendorchange-config +DNF5 vendor change configuration for Fedora Asahi SIG packages to +allow automatic package transitions for obsolete SIG packages. + +%files dnf5-vendorchange-config +%license LICENSE +%doc README.md +%{_datadir}/dnf5/vendors.d/asahicopr-to-asahitransition.toml +%{_datadir}/dnf5/vendors.d/asahitransition-to-fedora.toml +%endif +%dnl -------------------------------------------------------------------------------------- %package devel Summary: Additional repositories for Apple Silicon hardware enablement (pre-release) @@ -147,12 +169,21 @@ install -Dpm0644 -t %{buildroot}%{_sysconfdir}/pki/rpm-gpg \ # Set `allow_vendor_change=False` via dnf drop-in config for f43 and later install -Dpm0644 -t %{buildroot}%{_datadir}/dnf5/libdnf.conf.d \ %SOURCE23 +# Install DNF vendor policy configuration, cf. dnf5.conf-vendorpolicy(5) +mkdir -p %{buildroot}%{_datadir}/dnf5/vendors.d +install -pm 0644 %{SOURCE24} \ + %{buildroot}%{_datadir}/dnf5/vendors.d/asahicopr-to-asahitransition.toml +install -pm 0644 %{SOURCE25} \ + %{buildroot}%{_datadir}/dnf5/vendors.d/asahitransition-to-fedora.toml rm %{buildroot}%{_sysconfdir}/yum.repos.d/group_asahi-flatpak.repo rm %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-group_asahi-flatpak %endif %changelog +* Mon Jan 19 2026 Neal Gompa - 1-26 +- Add DNF5 vendor transition configuration for F43+ with libdnf5 >= 5.3 + * Sun Sep 21 2025 Janne Grunau - 1-25 - Prefer fedora repos over mesa copr repo for F43+ diff --git a/dnf5vendor-asahicopr-to-asahitransition.toml b/dnf5vendor-asahicopr-to-asahitransition.toml new file mode 100644 index 0000000..f98e8ba --- /dev/null +++ b/dnf5vendor-asahicopr-to-asahitransition.toml @@ -0,0 +1,9 @@ +version = '1.0' + +[[outgoing_vendors]] +comparator = "EXACT" +vendor = "Fedora Copr - group @asahi" + +[[incoming_vendors]] +comparator = "EXACT" +vendor = "Fedora Asahi - Transitional" diff --git a/dnf5vendor-asahitransition-to-fedora.toml b/dnf5vendor-asahitransition-to-fedora.toml new file mode 100644 index 0000000..fe14425 --- /dev/null +++ b/dnf5vendor-asahitransition-to-fedora.toml @@ -0,0 +1,9 @@ +version = '1.0' + +[[outgoing_vendors]] +comparator = "EXACT" +vendor = "Fedora Asahi - Transitional" + +[[incoming_vendors]] +comparator = "EXACT" +vendor = "Fedora Project"