diff --git a/0001-build-customize-configuration.patch b/0001-build-customize-configuration.patch index 9763ba030b06db1f1b76896d04d7f9a98c279db8..d6c7eff9e5d606bb8e798e7886d9c57231523e89 100644 --- a/0001-build-customize-configuration.patch +++ b/0001-build-customize-configuration.patch @@ -1,8 +1,10 @@ -diff -rupN ipxe-20190125-git36a4c85f/src/config/local/general.h ipxe-20190125-git36a4c85f.new/src/config/local/general.h ---- ipxe-20190125-git36a4c85f/src/config/local/general.h 1970-01-01 01:00:00.000000000 +0100 -+++ ipxe-20190125-git36a4c85f.new/src/config/local/general.h 2019-02-01 16:40:42.725293033 +0000 -@@ -0,0 +1,4 @@ -+/* Enable IPv6. */ -+#define NET_PROTO_IPV6 -+/* Enable HTTPS */ -+#define DOWNLOAD_PROTO_HTTPS +diff -Naupr ipxe-20240119-gitde8a0821/src/config/local/general.h ipxe-20240119-gitde8a0821.new/src/config/local/general.h +--- ipxe-20240119-gitde8a0821/src/config/local/general.h 1970-01-01 03:00:00 ++++ ipxe-20240119-gitde8a0821.new/src/config/local/general.h 2024-02-24 13:34:58 +@@ -0,0 +1,6 @@ ++// enable additional options ++#define NET_PROTO_IPV6 /* IPv6 protocol */ ++#define DOWNLOAD_PROTO_HTTPS /* Secure Hypertext Transfer Protocol */ ++#define DOWNLOAD_PROTO_NFS /* Network File System Protocol */ ++#define REBOOT_CMD /* Reboot command */ ++#define POWEROFF_CMD /* Power off command */ diff --git a/ipxe-20220210-git64113751.tar.xz b/ipxe-20220210-git64113751.tar.xz deleted file mode 100644 index cc5b1a739604fd05aa62a247a37cfe892aa300c3..0000000000000000000000000000000000000000 Binary files a/ipxe-20220210-git64113751.tar.xz and /dev/null differ diff --git a/ipxe-20240119-gitde8a0821.tar.xz b/ipxe-20240119-gitde8a0821.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..3f73249b4f588aca0e1364a58a3ff02dfb4aa707 Binary files /dev/null and b/ipxe-20240119-gitde8a0821.tar.xz differ diff --git a/ipxe.spec b/ipxe.spec index 7b428afa7b87b8664c636fbba464f82df6f09b6f..827383e9c4f96444561ae3445da62851be2b1458 100644 --- a/ipxe.spec +++ b/ipxe.spec @@ -1,4 +1,4 @@ -%define anolis_release 3 +%define anolis_release 1 # We don't want to ship debuginfo packages for this package # because they are firmwares of ROMS, and we should not @@ -27,15 +27,15 @@ # # And then change these two: -%global git_hash 64113751 -%global date 20220210 +%global git_hash de8a0821 +%global date 20240119 Name: ipxe Version: %{date}.git%{git_hash} Release: %{anolis_release}%{?dist} Summary: A network boot loader -License: GPLv2 with additional permissions and BSD +License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND (GPL-2.0-only OR MPL-1.1) AND GPL-2.0-or-later AND GPL-2.0-or-later WITH UBDL-exception AND ISC AND MIT URL: http://ipxe.org/ Source0: https://github.com/%{name}/%{name}/%{name}-%{date}-git%{git_hash}.tar.xz @@ -67,16 +67,11 @@ Provides: %{name}-bootimgs = %{version}-%{release} Obsoletes: %{name}-bootimgs < 20200823-9.git4bd064de Obsoletes: gpxe-bootimgs <= 1.0.1 -%package roms -Summary: Network boot loader roms in .rom format -Requires: %{name}-roms-qemu = %{version}-%{release} -BuildArch: noarch -Obsoletes: gpxe-roms <= 1.0.1 - %package roms-qemu Summary: Network boot loader roms supported by QEMU, .rom format BuildArch: noarch Obsoletes: gpxe-roms-qemu <= 1.0.1 +Obsoletes: ipxe-roms < 20240119 %description bootimgs-x86 iPXE is a network bootloader that is open-source and offers a direct alternative to proprietary PXE ROMs. Additionally, it comes with various additional features such as DNS, HTTP, iSCSI, and more. @@ -84,11 +79,6 @@ iPXE is a network bootloader that is open-source and offers a direct alternative This package contains the iPXE boot images in USB, CD, floppy, and PXE UNDI formats. -%description roms -iPXE is a network bootloader that is open-source and offers a direct alternative to proprietary PXE ROMs. Additionally, it comes with various additional features such as DNS, HTTP, iSCSI, and more. - -This package contains the iPXE roms in .rom format. - %description roms-qemu iPXE is a network bootloader that is open-source and offers a direct alternative to proprietary PXE ROMs. Additionally, it comes with various additional features such as DNS, HTTP, iSCSI, and more. @@ -126,12 +116,10 @@ ipxe_build() { %ifarch x86_64 -ipxe_build bin-x86_64-efi/ipxe.efi \ - bin-x86_64-efi/snponly.efi +ipxe_build bin-x86_64-efi/snponly.efi ipxe_build ISOLINUX_BIN=/usr/share/syslinux/isolinux.bin \ - bin/undionly.kpxe bin/ipxe.dsk bin/ipxe.iso bin/ipxe.usb bin/ipxe.lkrn \ - allroms + bin/undionly.kpxe # build roms with efi support for qemu mkdir bin-combined @@ -161,9 +149,6 @@ done %ifarch aarch64 ipxe_build bin-arm64-efi/snponly.efi - -ipxe_build bin-arm64-efi/ipxe.efi - %endif %install @@ -173,35 +158,24 @@ mkdir -p %{buildroot}/%{_datadir}/%{name}.efi/ pushd src/bin/ install -m 0644 -p undionly.kpxe %{buildroot}/%{_datadir}/%{name}/ -install -m 0644 -p ipxe.iso %{buildroot}/%{_datadir}/%{name}/ -install -m 0644 -p ipxe.usb %{buildroot}/%{_datadir}/%{name}/ -install -m 0644 -p ipxe.dsk %{buildroot}/%{_datadir}/%{name}/ -install -m 0644 -p ipxe.lkrn %{buildroot}/%{_datadir}/%{name}/ - -for img in *.rom; do - if [ -e $img ]; then - install -m 0644 -p $img %{buildroot}/%{_datadir}/%{name}/ - echo %{_datadir}/%{name}/$img >> ../../rom.list - fi -done + popd -install -m 0644 -p src/bin-x86_64-efi/ipxe.efi %{buildroot}/%{_datadir}/%{name}/ipxe-x86_64.efi install -m 0644 -p src/bin-x86_64-efi/snponly.efi %{buildroot}/%{_datadir}/%{name}/ipxe-snponly-x86_64.efi mkdir -p %{buildroot}%{_datadir}/%{name}/qemu/ for rom in %{qemuroms}; do - # qemu roms should be installed in a separate package - # so add a qemu.list file with the roms to be installed + # the roms supported by qemu will be packaged separatedly + # remove from the main rom list and add them to qemu.list pci_id=$(echo "$rom" | cut -d "-" -f 1) qemuname=$(echo "$rom" | cut -d "-" -f 2) vendor_id=${pci_id%:*} device_id=${pci_id#*:} - sed -i -e "/\/${vendor_id}${device_id}.rom/d" rom.list echo %{_datadir}/%{name}/${vendor_id}${device_id}.rom >> qemu.rom.list + install -m 0644 -p src/bin/${vendor_id}${device_id}.rom %{buildroot}/%{_datadir}/%{name}/ install -m 0644 -p src/bin-combined/${vendor_id}${device_id}.rom %{buildroot}/%{_datadir}/%{name}.efi/ echo %{_datadir}/%{name}.efi/${vendor_id}${device_id}.rom >> qemu.rom.list @@ -215,25 +189,16 @@ done %ifarch aarch64 mkdir -p %{buildroot}/%{_datadir}/%{name}/arm64-efi install -m 0644 -p src/bin-arm64-efi/snponly.efi %{buildroot}/%{_datadir}/%{name}/arm64-efi/snponly.efi -install -m 0644 -p src/bin-arm64-efi/ipxe.efi %{buildroot}/%{_datadir}/%{name}/arm64-efi/ipxe.efi + %endif %ifarch x86_64 %files bootimgs-x86 %license COPYING COPYING.GPLv2 COPYING.UBDL %dir %{_datadir}/%{name} -%{_datadir}/%{name}/ipxe.dsk -%{_datadir}/%{name}/ipxe.iso -%{_datadir}/%{name}/ipxe.usb -%{_datadir}/%{name}/ipxe.lkrn -%{_datadir}/%{name}/ipxe-x86_64.efi %{_datadir}/%{name}/undionly.kpxe %{_datadir}/%{name}/ipxe-snponly-x86_64.efi -%files roms -f rom.list -%license COPYING COPYING.GPLv2 COPYING.UBDL -%dir %{_datadir}/%{name} - %files roms-qemu -f qemu.rom.list %license COPYING COPYING.GPLv2 COPYING.UBDL %dir %{_datadir}/%{name} @@ -245,11 +210,15 @@ install -m 0644 -p src/bin-arm64-efi/ipxe.efi %{buildroot}/%{_datadir}/%{name}/a %files bootimgs-aarch64 %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/arm64-efi -%{_datadir}/%{name}/arm64-efi/ipxe.efi %{_datadir}/%{name}/arm64-efi/snponly.efi %endif %changelog +* Wed Feb 19 2025 Xiaoping Liu - 20240119-1.gitde8a0821 +- update to 20240119 from 20220210 +- migrated to SPDX license +- remove from the main rom list and add them to qemu.list + * Sat Apr 8 2023 Kun(llfl) - 20220210.git64113751-3 - optimize spec file