public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/m1n1] rawhide: Update to 1.6.0-rc1 and switch to noarch
@ 2026-06-15 9:06 Davide Cavalca
0 siblings, 0 replies; only message in thread
From: Davide Cavalca @ 2026-06-15 9:06 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/m1n1
Branch : rawhide
Commit : 56e1d2d098faea34983d186bae5579550a13c927
Author : Davide Cavalca <dcavalca@fedoraproject.org>
Date : 2026-06-15T09:53:31+02:00
Stats : +153/-97 in 7 file(s)
URL : https://src.fedoraproject.org/rpms/m1n1/c/56e1d2d098faea34983d186bae5579550a13c927?branch=rawhide
Log:
Update to 1.6.0-rc1 and switch to noarch
---
diff --git a/.gitignore b/.gitignore
index 043660e..efe3427 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,5 @@
/m1n1-1.4.21.tar.gz
/m1n1-1.5.0.tar.gz
/m1n1-1.5.2.tar.gz
+/m1n1-1.6.0-rc1.tar.gz
+/rust-fatfs-4eccb50d011146fbed20e133d33b22f3c27292e7.tar.gz
diff --git a/42349e5e2e4a552054fc1b73c99016bd8cfa4d98.patch b/42349e5e2e4a552054fc1b73c99016bd8cfa4d98.patch
new file mode 100644
index 0000000..7839644
--- /dev/null
+++ b/42349e5e2e4a552054fc1b73c99016bd8cfa4d98.patch
@@ -0,0 +1,63 @@
+From 42349e5e2e4a552054fc1b73c99016bd8cfa4d98 Mon Sep 17 00:00:00 2001
+From: Davide Cavalca <dcavalca@fedoraproject.org>
+Date: Mon, 4 May 2026 09:35:38 -0700
+Subject: [PATCH] convert -> magick
+
+ImageMagick 7 and later deprecate the convert command, which now prints
+a warning. Use the new magick one instead, which takes the same
+arguments.
+
+Signed-off-by: Davide Cavalca <dcavalca@fedoraproject.org>
+---
+ data/makelogo.sh | 6 +++---
+ font/makefont.sh | 2 +-
+ proxyclient/m1n1/agx/render.py | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/data/makelogo.sh b/data/makelogo.sh
+index 20dcffbd5..f4e36540f 100755
+--- a/data/makelogo.sh
++++ b/data/makelogo.sh
+@@ -1,4 +1,4 @@
+ #!/usr/bin/env sh
+-convert bootlogo_48.png -background black -flatten -depth 8 rgba:bootlogo_48.bin
+-convert bootlogo_128.png -background black -flatten -depth 8 rgba:bootlogo_128.bin
+-convert bootlogo_256.png -background black -flatten -depth 8 rgba:bootlogo_256.bin
++magick bootlogo_48.png -background black -flatten -depth 8 rgba:bootlogo_48.bin
++magick bootlogo_128.png -background black -flatten -depth 8 rgba:bootlogo_128.bin
++magick bootlogo_256.png -background black -flatten -depth 8 rgba:bootlogo_256.bin
+diff --git a/font/makefont.sh b/font/makefont.sh
+index 37235fad5..ddadb9130 100755
+--- a/font/makefont.sh
++++ b/font/makefont.sh
+@@ -10,7 +10,7 @@ shift 5
+ for ord in $(seq 32 126); do
+ printf "\\x$(printf %x $ord)\\n"
+ done
+-) | convert \
++) | magick \
+ -page ${width}x$((height*95)) \
+ -background black \
+ -fill white \
+diff --git a/proxyclient/m1n1/agx/render.py b/proxyclient/m1n1/agx/render.py
+index b86f2510c..d243371b3 100644
+--- a/proxyclient/m1n1/agx/render.py
++++ b/proxyclient/m1n1/agx/render.py
+@@ -1329,7 +1329,7 @@ def wait(self):
+
+ #unswizzle(agx, obj._paddr, work.width, work.height, 4, "fb.bin", grid=False)
+ #open("fb.bin", "wb").write(self.agx.u.iface.readmem(obj._paddr, work.width*work.height*4))
+- #os.system(f"convert -size {work.width}x{work.height} -depth 8 rgba:fb.bin -alpha off frame{self.frames}.png")
++ #os.system(f"magick -size {work.width}x{work.height} -depth 8 rgba:fb.bin -alpha off frame{self.frames}.png")
+ self.agx.p.fb_blit(0, 0, work.width, work.height, obj._paddr, work.width, PIX_FMT.XBGR)
+
+ if False: #work.depth is not None:
+@@ -1342,7 +1342,7 @@ def wait(self):
+ chexdump(obj.val)
+
+ unswizzle(self.agx, obj._paddr, work.width, work.height, 4, "depth.bin", grid=False)
+- os.system(f"convert -size {work.width}x{work.height} -depth 8 rgba:depth.bin -alpha off depth.png")
++ os.system(f"magick -size {work.width}x{work.height} -depth 8 rgba:depth.bin -alpha off depth.png")
+
+ for i in self.work:
+ i.free()
diff --git a/569.patch b/569.patch
new file mode 100644
index 0000000..4d1bd5f
--- /dev/null
+++ b/569.patch
@@ -0,0 +1,27 @@
+From b41dfd2283c04a86715230ee72b1c8cb1e1d0a0a Mon Sep 17 00:00:00 2001
+From: Davide Cavalca <dcavalca@fedoraproject.org>
+Date: Tue, 5 May 2026 13:29:08 -0700
+Subject: [PATCH] proxyclient: add missing xml namespace declaration
+
+This should make the XML validate properly, which is needed for
+rpminspect to pass:
+https://artifacts.dev.testing-farm.io/90d12277-5b49-4343-aa1e-e9f8645cf997/
+
+Signed-off-by: Davide Cavalca <dcavalca@fedoraproject.org>
+---
+ proxyclient/m1n1/hv/gdbserver/features/target.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/proxyclient/m1n1/hv/gdbserver/features/target.xml b/proxyclient/m1n1/hv/gdbserver/features/target.xml
+index ca0454a8c..6a011041a 100644
+--- a/proxyclient/m1n1/hv/gdbserver/features/target.xml
++++ b/proxyclient/m1n1/hv/gdbserver/features/target.xml
+@@ -1,7 +1,7 @@
+ <?xml version="1.0"?>
+ <!-- SPDX-License-Identifier: MIT -->
+ <!DOCTYPE target SYSTEM "gdb-target.dtd">
+-<target version="1.0">
++<target version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
+ <architecture>aarch64</architecture>
+ <xi:include href="aarch64-core.xml" />
+ <xi:include href="aarch64-fpu.xml" />
diff --git a/m1n1-rust-deps.patch b/m1n1-rust-deps.patch
index d94852b..10f9976 100644
--- a/m1n1-rust-deps.patch
+++ b/m1n1-rust-deps.patch
@@ -1,18 +1,15 @@
-diff -Naur a/rust/Cargo.toml b/rust/Cargo.toml
---- a/rust/Cargo.toml 2024-04-29 00:46:20.000000000 -0700
-+++ b/rust/Cargo.toml 2024-05-13 08:43:28.387201165 -0700
-@@ -12,10 +12,7 @@
+diff --git a/rust/Cargo.toml b/rust/Cargo.toml
+index ced3ee0..cbad509 100644
+--- a/rust/Cargo.toml
++++ b/rust/Cargo.toml
+@@ -12,7 +12,9 @@ crate-type = [ "staticlib" ]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
- fatfs = { path = "vendor/rust-fatfs", default-features = false, features = ["lfn", "alloc"] }
--uuid = { version = "1.7.0", default-features = false }
--
--[patch.crates-io]
--uuid = { path = "vendor/uuid" }
--log = { path = "vendor/log" }
--bitflags = { path = "vendor/bitflags" }
--cfg-if = { path = "vendor/cfg-if" }
-+uuid = { version = "1.8", default-features = false }
+ fatfs = { path = "vendor/rust-fatfs", default-features = false, features = ["lfn", "alloc"], optional = true }
+-uuid = { version = "1.7.0", default-features = false, optional = true }
++uuid = { version = "1.23", default-features = false, optional = true }
+log = "0.4"
-+bitflags = "1"
-+cfg-if = "1.0"
++bitflags = "2"
+ versions = { path = "./versions" }
+
+ [features]
diff --git a/m1n1.spec b/m1n1.spec
index 1a37c13..71919ef 100644
--- a/m1n1.spec
+++ b/m1n1.spec
@@ -1,46 +1,41 @@
%global debug_package %{nil}
-
-# Chainloading support requires the aarch64-unknown-none-softfloat rust target,
-# which is only available on aarch64
-%ifarch aarch64
-%bcond chainloading 1
-%else
-%bcond chainloading 0
-%endif
+%global buildflags RELEASE=1 LOGO=fedora
# We need to vendor fatfs because m1n1 stage1 relies on unreleased changes
# (notably, the lfn feature): https://github.com/rafalh/rust-fatfs/issues/81
-%global fatfs_commit 87fc1ed5074a32b4e0344fcdde77359ef9e75432
+%global fatfs_commit 4eccb50d011146fbed20e133d33b22f3c27292e7
%global _description %{expand:
m1n1 is the bootloader developed by the Asahi Linux project to bridge the Apple
(XNU) boot ecosystem to the Linux boot ecosystem.}
+%global srcversion 1.6.0-rc1
+
Name: m1n1
-Version: 1.5.2
+Version: %(echo '%{srcversion}' | tr '-' '~')
Release: %autorelease
Summary: Bootloader and experimentation playground for Apple Silicon
# m1n1 proper is MIT licensed, but it relies on a number of vendored projects
# See the "License" section in README.md for the breakdown
-License: MIT AND CC0-1.0 AND OFL-1.1-RFN AND Zlib AND (BSD-2-Clause OR GPL-2.0-or-later) AND (BSD-3-Clause OR GPL-2.0-or-later)
+#
+# The following breakdown only covers the rust dependencies
+# MIT
+# MIT OR Apache-2.0
+# LICENSE.dependencies contains a full license breakdown of the rust dependencies
+License: MIT AND CC0-1.0 AND OFL-1.1-RFN AND Zlib AND (BSD-2-Clause OR GPL-2.0-or-later) AND (BSD-3-Clause OR GPL-2.0-or-later) AND MIT AND (MIT OR Apache-2.0)
URL: https://github.com/AsahiLinux/m1n1
-Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+Source: %{url}/archive/v%{srcversion}/%{name}-%{srcversion}.tar.gz
Source: https://github.com/rafalh/rust-fatfs/archive/%{fatfs_commit}/rust-fatfs-%{fatfs_commit}.tar.gz
-# Use distribution packages instead of the vendored ones
+# * Ensure all required rust dependencies are pulled in
+# * Bump uuid to 1.23: https://github.com/AsahiLinux/m1n1/pull/600
Patch: m1n1-rust-deps.patch
-# https://github.com/rafalh/rust-fatfs/commit/eb274ca10d035c176e5eac79420ca734c02613ae
-Patch: rust-fatfs-fix-build-log.patch
+# convert -> magick
+Patch: %{url}/commit/42349e5e2e4a552054fc1b73c99016bd8cfa4d98.patch
+# proxyclient: add missing xml namespace declaration
+Patch: %{url}/pull/569.patch
-%ifarch aarch64
-# On aarch64 m1n1 does a native build
BuildRequires: gcc
-%else
-# On non-aarch64 m1n1 does a cross build
-BuildRequires: gcc-aarch64-linux-gnu
-%endif
-
-%global buildflags RELEASE=1
BuildRequires: make
# For the bootloader logos and the framebuffer console
@@ -48,15 +43,22 @@ BuildRequires: adobe-source-code-pro-fonts
BuildRequires: coreutils
BuildRequires: fontconfig
BuildRequires: system-logos
-BuildRequires: ImageMagick
+BuildRequires: ImageMagick >= 7
# For the udev rule
BuildRequires: systemd-rpm-macros
-%if %{with chainloading}
+# For the rust dependencies
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: rust-std-static-aarch64-unknown-none-softfloat
-%endif
+
+# m1n1 is a bootloader and runs on aarch64 metal, but we declare the package as
+# noarch to support remote debugging/development usecases via m1n1-tools
+BuildArch: noarch
+# The aarch64-unknown-none-softfloat rust target is only available on aarch64
+ExclusiveArch: aarch64 noarch
+# Ensure we obsolete the old arched packages; drop once f45 is EOL
+Obsoletes: %{name} < 1.5.2-3
# These are bundled, modified and statically linked into m1n1
Provides: bundled(arm-trusted-firmware)
@@ -69,7 +71,6 @@ Provides: bundled(tinf)
%description %_description
-%if %{with chainloading}
%package stage1
Summary: %{summary}
# The following breakdown only covers the rust dependencies
@@ -86,23 +87,24 @@ Provides: bundled(crate(fatfs))= 0.4.0
This package contains the stage1 build of m1n1 that is used by the Asahi Linux
Installer.
-%endif
%package tools
Summary: Developer tools for m1n1
+License: MIT
Requires: %{name} = %{version}-%{release}
Requires: python3
Requires: python3dist(construct)
Requires: python3dist(pyserial)
Requires: systemd-udev
-BuildArch: noarch
%description tools %_description
This package contains various developer tools for m1n1.
%prep
-%autosetup -N
+%autosetup -N -n %{name}-%{srcversion}
+tar -xf %{SOURCE1} -C rust/vendor/rust-fatfs --strip-components 1
+%autopatch -p1
# Use our logos
pushd data
@@ -123,57 +125,50 @@ rm SourceCodePro-Bold.ttf font.bin font_retina.bin
./makefont.sh 16 32 25 "$font" font_retina.bin
popd
-%if %{with chainloading}
-tar -xf %{SOURCE1} -C rust/vendor/rust-fatfs --strip-components 1
-%autopatch -p1
-
+# Generate rust dependencies
%cargo_prep
-
%generate_buildrequires
cd rust
-%cargo_generate_buildrequires
-%endif
+%cargo_generate_buildrequires -f chainload
%build
-%if %{with chainloading}
-%make_build %{buildflags} CHAINLOADING=1 LOGO=fedora
+%make_build %{buildflags} CHAINLOADING=1
mv build build-stage1
pushd rust
-%{cargo_license_summary}
-%{cargo_license} > LICENSE.dependencies
+%{cargo_license_summary} -f chainload
+%{cargo_license} -f chainload > ../build-stage1/LICENSE.dependencies
popd
-%endif
-%make_build %{buildflags} LOGO=fedora
+%make_build %{buildflags}
+pushd rust
+%{cargo_license_summary}
+%{cargo_license} > ../build/LICENSE.dependencies
+popd
%install
install -Dpm0644 -t %{buildroot}%{_libdir}/%{name} \
build/%{name}.{bin,macho} build/%{name}-asahi.bin
-%if %{with chainloading}
install -Dpm0644 -t %{buildroot}%{_libdir}/%{name}-stage1 \
build-stage1/%{name}.{bin,macho} build-stage1/%{name}-asahi.bin
-%endif
install -Ddpm0755 %{buildroot}%{_libexecdir}/%{name}
cp -pr proxyclient tools %{buildroot}%{_libexecdir}/%{name}/
install -Dpm0644 -t %{buildroot}%{_udevrulesdir} udev/80-m1n1.rules
install -Dpm0644 m1n1.conf.example %{buildroot}%{_sysconfdir}/m1n1.conf
%files
-%license LICENSE 3rdparty_licenses/LICENSE.*
+%license LICENSE 3rdparty_licenses/LICENSE.* build/LICENSE.dependencies
%doc README.md
%doc m1n1.conf.example
-%{_libdir}/%{name}
+%{_libdir}/%{name}/
%config(noreplace) %{_sysconfdir}/m1n1.conf
-%if %{with chainloading}
%files stage1
-%license LICENSE 3rdparty_licenses/LICENSE.* rust/vendor/rust-fatfs/LICENSE.txt rust/LICENSE.dependencies
+%license LICENSE 3rdparty_licenses/LICENSE.* rust/vendor/rust-fatfs/LICENSE.txt build-stage1/LICENSE.dependencies
%doc README.md
-%{_libdir}/%{name}-stage1
-%endif
+%{_libdir}/%{name}-stage1/
%files tools
-%{_libexecdir}/%{name}
+%{_libexecdir}/%{name}/
%{_udevrulesdir}/80-m1n1.rules
%changelog
diff --git a/rust-fatfs-fix-build-log.patch b/rust-fatfs-fix-build-log.patch
deleted file mode 100644
index ed6f9f0..0000000
--- a/rust-fatfs-fix-build-log.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From eb274ca10d035c176e5eac79420ca734c02613ae Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Harabie=C5=84?= <rafalh92@outlook.com>
-Date: Mon, 9 Oct 2023 23:30:57 +0200
-Subject: [PATCH] Fix build with log v0.4.20
-
-Fixes #87
----
- src/log_macros.rs | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/rust/vendor/rust-fatfs/src/log_macros.rs b/rust/vendor/rust-fatfs/src/log_macros.rs
-index 5d2e9d2..36a195d 100644
---- a/rust/vendor/rust-fatfs/src/log_macros.rs
-+++ b/rust/vendor/rust-fatfs/src/log_macros.rs
-@@ -51,7 +51,12 @@ macro_rules! log {
- log::log!(target: $target, lvl, $($arg)+);
- }
- });
-- ($lvl:expr, $($arg:tt)+) => (log!(target: log::__log_module_path!(), $lvl, $($arg)+))
-+ ($lvl:expr, $($arg:tt)+) => ({
-+ let lvl = $lvl;
-+ if lvl <= $crate::log_macros::MAX_LOG_LEVEL {
-+ log::log!(lvl, $($arg)+);
-+ }
-+ })
- }
-
- #[macro_export]
diff --git a/sources b/sources
index 474871d..a2ea3b4 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (m1n1-1.5.2.tar.gz) = 16b5c35b05325e4754c98269b86a6e27725a208ac058554b5b75b9984cc35daf96bf8a51feae040875c8ac84c38b79a9363020352092abd3cb892a53df214f19
-SHA512 (rust-fatfs-87fc1ed5074a32b4e0344fcdde77359ef9e75432.tar.gz) = ecfab788647e41573b7904199ca7e60c0845e4cb09b06dc7f4b2cb3e837f4e2571ab043dae6fb065658ffe6793748e1e09ee1a4f1edd7e1fd9e63580c3237b4e
+SHA512 (m1n1-1.6.0-rc1.tar.gz) = 2c5aed3194caa0081c38232dd2c8e6c56b89769cc46ac8d0bc54254daebdf7a43469276a9b3977ae62e095f7b9829013e89def48ec5856caa7a4817726443350
+SHA512 (rust-fatfs-4eccb50d011146fbed20e133d33b22f3c27292e7.tar.gz) = 28539df26d715d34b5fba861c62115cd4696c4cac4c7a4eb3bafdaf32e7fece49d7b3cdd986c409323e05eab7c0596f6c7dfa63bc2572551f1107b1447cf3711
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-15 9:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-15 9:06 [rpms/m1n1] rawhide: Update to 1.6.0-rc1 and switch to noarch Davide Cavalca
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox