## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 5;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

Name:           asahi-scripts
Version:        20250130
Release:        %autorelease
Summary:        Miscellaneous admin scripts for Asahi Linux

License:        MIT
URL:            https://github.com/AsahiLinux/asahi-scripts
Source:         %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Source:         update-m1n1.sysconfig

BuildArch:      noarch

BuildRequires:  make
BuildRequires:  sed
BuildRequires:  systemd-rpm-macros

Requires:       bash
Requires:       coreutils
Requires:       grep
Requires:       sed
Requires:       util-linux-core

%description
This package contains miscellaneous admin scripts for the Asahi Linux reference
distro.

%package -n     asahi-fwupdate
Summary:        Asahi Linux firmware extractor

Requires:       %{name} = %{version}-%{release}
# Not using python3dist(asahi-firmware) because its version is fixed
Requires:       python3-asahi_firmware >= 0.5.4

%description -n asahi-fwupdate
Asahi Linux firmware updater.

%package -n     dracut-asahi
Summary:        Dracut config for Apple Silicon Macs

Requires:       dracut
Requires:       linux-firmware-vendor = %{version}-%{release}

%description -n dracut-asahi
Dracut config for Apple Silicon Macs.

%package -n     linux-firmware-vendor
Summary:        Ensure /lib/firmware/vendor exists for firmware handoff
Requires:       linux-firmware

%description -n linux-firmware-vendor
This package ensures /lib/firmware/vendor exists so that firmware can be handed
over properly from the initramfs.

%package -n     update-m1n1
Summary:        Keep m1n1 up to date

Requires:       %{name} = %{version}-%{release}
Requires:       bash
Requires:       gzip
Requires:       m1n1
Requires:       uboot-images-armv8

%description -n update-m1n1
Keep m1n1 up to date on Apple Silicon systems.

%package -n     asahi-battery
Summary:        Asahi Linux battery charge control scripts

Requires:       %{name} = %{version}-%{release}
Requires:       systemd
Requires:       systemd-udev

%description -n asahi-battery
Asahi Linux battery charge control scripts restore charge_control_end_threshold
on system start.

%prep
%autosetup -p1

%build
# nothing to do here

%install
%make_install install-fedora \
  PREFIX="%{_prefix}" \
  BIN_DIR="%{_sbindir}" \
  CONFIG_DIR="%{_sysconfdir}/sysconfig"

install -Ddpm0755 %{buildroot}%{_prefix}/lib/firmware/vendor
install -Dpm0644 %SOURCE1 %{buildroot}%{_sysconfdir}/sysconfig/update-m1n1

%transfiletriggerin -n asahi-fwupdate -- %{_sbindir}/asahi-fwupdate %{_bindir}/asahi-fwextract
%{_sbindir}/asahi-fwupdate || :

# This needs to be a separate trigger because we can't use python3_sitearch here
%transfiletriggerin -n asahi-fwupdate -- /usr/lib/python
grep -q 'asahi_firmware' && %{_sbindir}/asahi-fwupdate || :

# We can't use _libdir here because it gets incorrectly expanded to /usr/lib
%transfiletriggerin -n update-m1n1 -- /usr/lib/m1n1 /usr/lib64/m1n1 /usr/share/uboot/apple_m1 /boot/dtb-
%{_sbindir}/update-m1n1 || :

%files
%license LICENSE
%{_datadir}/%{name}/
%{_sbindir}/asahi-diagnose

%files -n asahi-fwupdate
%license LICENSE
%{_sbindir}/asahi-fwupdate

%files -n dracut-asahi
%license LICENSE
%{_prefix}/lib/dracut/dracut.conf.d/10-asahi.conf
%{_prefix}/lib/dracut/modules.d/91kernel-modules-asahi/
%{_prefix}/lib/dracut/modules.d/99asahi-firmware/

%files -n linux-firmware-vendor
%license LICENSE
%dir %{_prefix}/lib/firmware/vendor

%files -n update-m1n1
%license LICENSE
%config(noreplace) %{_sysconfdir}/sysconfig/update-m1n1
%{_sbindir}/update-m1n1

%files -n asahi-battery
%{_unitdir}/macsmc-battery-charge-control-end-threshold.path
%{_unitdir}/macsmc-battery-charge-control-end-threshold.service
%{_udevrulesdir}/93-macsmc-battery-charge-control.rules

%changelog
## START: Generated by rpmautospec
* Mon Feb 03 2025 Hector Martin <marcan@fedoraproject.org> - 20250130-5
- Give up on the obsoletes dance

* Mon Feb 03 2025 Hector Martin <marcan@fedoraproject.org> - 20250130-4
- Argh.

* Mon Feb 03 2025 Hector Martin <marcan@fedoraproject.org> - 20250130-3
- Fix dependencies again?

* Mon Feb 03 2025 Hector Martin <marcan@fedoraproject.org> - 20250130-2
- Fix dependencies

* Thu Jan 30 2025 Hector Martin <marcan@fedoraproject.org> - 20250130-1
- Update to 20250130

* Wed Jan 29 2025 Davide Cavalca <dcavalca@fedoraproject.org> - 20250128-2
- Drop expired obsoletes

* Tue Jan 28 2025 Hector Martin <marcan@fedoraproject.org> - 20250128-1
- Update to 20250128

* Tue Jan 28 2025 Janne Grunau <j@jannau.net> - 20240822-5
- update-m1n1: limit config to DTBs Mx (Pro/Max/Ultra) based devices

* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 20240822-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild

* Thu Aug 22 2024 Janne Grunau <j@jannau.net> - 20240822-3
- Add missing build requirement systemd-rpm-macros for asahi-battery

* Thu Aug 22 2024 Janne Grunau <j@jannau.net> - 20240822-2
- Add missed .gitignore update for asahi-scripts-20240822

* Thu Aug 22 2024 Janne Grunau <j@jannau.net> - 20240822-1
- Update to 20240822

* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20240429-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Mon Apr 29 2024 Davide Cavalca <dcavalca@fedoraproject.org> - 20240429-1
- Update to 20240429

* Wed Apr 24 2024 Janne Grunau <j@jannau.net> - 20240411-3
- Add dracut kernel mod robustness patches, try 2

* Wed Apr 24 2024 Janne Grunau <j@jannau.net> - 20240411-2
- Add dracut kernel mod robustness patches

* Thu Apr 18 2024 Janne Grunau <j@jannau.net> - 20240411-1
- Update to 20240411

* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20231219.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 20231219.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Tue Dec 19 2023 Hector Martin <marcan@fedoraproject.org> - 20231219.1-1
- Update to 20231219.1

* Tue Dec 19 2023 Hector Martin <marcan@fedoraproject.org> - 20231219-1
- Update to 20231219

* Sun Dec 17 2023 Hector Martin <marcan@fedoraproject.org> - 20231218-1
- Update to 20231218

* Sun Dec 17 2023 Hector Martin <marcan@fedoraproject.org> - 20231217-1
- Update to 20231217

* Wed Oct 11 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230821-2
- Fix trigger for asahi-fwupdate

* Mon Aug 21 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230821-1
- Update to 20230821

* Thu Aug 03 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230606-9
- Rework and fix file triggers

* Sun Jul 30 2023 Neal Gompa <ngompa@fedoraproject.org> - 20230606-8
- Revert "Use stable dtbs path to always pick the latest"

* Mon Jul 24 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230606-7
- Use stable dtbs path to always pick the latest

* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20230606-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Sun Jun 18 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230606-5
- Expand fwupdate trigger to fire on fwextract updates

* Fri Jun 09 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230606-4
- Add trigger for asahi-fwupdate

* Thu Jun 08 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230606-3
- Fix Requires for asahi-fwupdate

* Wed Jun 07 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230606-2
- Rename asahi-fwextract to asahi-fwupdate to match upstream

* Wed Jun 07 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230606-1
- Update to 20230606; Fixes: RHHBZ#2213093

* Tue May 30 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20230530-1
- Update to 20230530; Fixes: RHBZ#2209183

* Sat May 06 2023 Davide Cavalca <dcavalca@fedoraproject.org> - 20221220-1
- Update to 20221220; Fixes: RHBZ#2155355

* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20221206-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Fri Dec 09 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221206-1
- Update to 20221206; Fixes: RHBZ#2151445

* Sun Dec 04 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221129-1
- Update to 20221129; Fixes: RHBZ#2149785

* Sat Nov 26 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221122-1
- Update to 20221122; Fixes: RHBZ#2145036

* Mon Nov 14 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221027-7
- Relax uboot-images-armv8 versioned dependency; Fixes: RHBZ#2140827

* Fri Nov 04 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221027-6
- Backport one more upstream fix

* Thu Nov 03 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221027-5
- Refresh PR#9 patch again

* Tue Nov 01 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221027-4
- Refresh PR#9 patch

* Tue Nov 01 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221027-3
- Add linux-firmware-vendor subpackage

* Tue Nov 01 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221027-2
- Backport asahi-fwextract bugfix

* Mon Oct 31 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20221027-1
- Update to 20221027; Fixes: RHBZ#2137760

* Mon Sep 19 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220918.2-7
- Add asahi-fwextract subpackage

* Mon Sep 19 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220918.2-6
- Refresh dracut module patch

* Mon Sep 19 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220918.2-5
- Add missing Requires for dracut-asahi

* Sun Sep 18 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220918.2-4
- Add trailing slash to folders

* Sun Sep 18 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220918.2-3
- Rename dracut-config-asahi to dracut-asahi

* Sun Sep 18 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220918.2-2
- Add dracut module

* Sun Sep 18 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220918.2-1
- Update to 20220918.2

* Sun Sep 18 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220821-4
- Refresh dracut config and install it in the correct path

* Sun Aug 28 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220821-3
- Add dracut-config-asahi subpackage

* Sat Aug 27 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220821-2
- Add update-m1n1 subpackage

* Sat Aug 27 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220821-1
- Update to 20220821

* Sun Aug 14 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220712-1
- Update to 20220712; Fixes: RHBZ#2118188

* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20220318.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Fri Mar 25 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 20220318.1-1
- Initial import; Fixes: RHBZ#2068554

## END: Generated by rpmautospec