File asahi-scripts.spec of Package asahi-scripts

Name:           asahi-scripts
Version:        20250713
Release:        1
Summary:        Miscellaneous scripts for Asahi Linux

License:        MIT
URL:            https://github.com/AsahiLinux/asahi-scripts
Vendor:         asahi-opensuse
Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Source1:        sysconfig.update-m1n1
Patch0:         00-pre-release.patch
Requires:       bash
Requires:       dracut
Requires:       coreutils
Requires:       sed
Requires:       tar
Requires:       m1n1 >= 1.4.20
Requires:       u-boot-asahi
Requires:       asahi-fwextract

Provides:       %{name} = %{version}-%{release}
Obsoletes:      asahi-scripts < %{version}

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

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

Requires:       %{name} = %{version}-%{release}
Provides:       asahi-fwupdate = %{version}-%{release}

%description -n asahi-fwupdate
A tool to update firmware in Asahi Linux

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

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

Requires:       bash
Requires:       gzip
Requires:       m1n1 >= 1.4.20
Requires:       u-boot-asahi
Requires(post): %fillup_prereq

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

%prep
%setup -n asahi-scripts-%{version}
%patch -P 0 -p1

%build

%install
make BIN_DIR=%{_sbindir} DESTDIR=%{buildroot} PREFIX=%{_prefix} CONFIG_DIR=%{_sysconfdir}/sysconfig install
make BIN_DIR=%{_sbindir} DESTDIR=%{buildroot} PREFIX=%{_prefix} CONFIG_DIR=%{_sysconfdir}/sysconfig install-dracut
make BIN_DIR=%{_sbindir} DESTDIR=%{buildroot} PREFIX=%{_prefix} CONFIG_DIR=%{_sysconfdir}/sysconfig install-macsmc-battery
make BIN_DIR=%{_sbindir} DESTDIR=%{buildroot} PREFIX=%{_prefix} CONFIG_DIR=%{_sysconfdir}/sysconfig install-udev-hwdb
install -Dpm0644 %SOURCE1 %{buildroot}%{_fillupdir}/sysconfig.update-m1n1
install -Ddpm0755 %{buildroot}%{_prefix}/lib/firmware/vendor
install -Dpm0755 %{buildroot}%{_sbindir}/asahi-diagnose %{buildroot}%{_bindir}/asahi-diagnose
rm %{buildroot}%{_sbindir}/asahi-diagnose

%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 /boot/u-boot- /boot/dtb-
%{_sbindir}/update-m1n1 || :

%post -n update-m1n1
%{fillup_only -n update-m1n1 }

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

%files -n update-m1n1
%license LICENSE
%{_sbindir}/update-m1n1
%{_fillupdir}/sysconfig.update-m1n1

%files
%license LICENSE
%dir %{_prefix}/lib/dracut/
%dir %{_prefix}/lib/dracut/dracut.conf.d/
%dir %{_prefix}/lib/dracut/modules.d/
%dir %{_prefix}/lib/dracut/modules.d/91kernel-modules-asahi/
%dir %{_prefix}/lib/dracut/modules.d/99asahi-firmware/
%dir %{_udevhwdbdir}
%{_bindir}/asahi-diagnose
%{_datadir}/asahi-scripts/
%{_prefix}/lib/dracut/dracut.conf.d/10-asahi.conf
%{_prefix}/lib/dracut/modules.d/91kernel-modules-asahi/module-setup.sh
%{_prefix}/lib/dracut/modules.d/99asahi-firmware/install-asahi-firmware.sh
%{_prefix}/lib/dracut/modules.d/99asahi-firmware/load-asahi-firmware.sh
%{_prefix}/lib/dracut/modules.d/99asahi-firmware/module-setup.sh
%{_prefix}/lib/firmware/vendor
%{_unitdir}/macsmc-battery-charge-control-end-threshold.path
%{_unitdir}/macsmc-battery-charge-control-end-threshold.service
%{_udevrulesdir}/93-macsmc-battery-charge-control.rules
%{_udevhwdbdir}/65-autosuspend-override-asahi-sdhci.hwdb

%changelog
openSUSE Build Service is sponsored by