# Contributor: Carlo Landmeter # Maintainer: Carlo Landmeter pkgname=alpine-ipxe pkgver=1.0_git20180825 _sha=133f4c47baef6002b2ccb4904a035cda2303c6e5 pkgrel=1 pkgdesc="iPXE build for Alpine Linux netboot" url="https://boot.alpinelinux.org" arch="x86 x86_64 aarch64" license="GPL-2.0-or-later" depends="" makedepends="xz-dev perl coreutils bash syslinux xorriso" options="!strip !check !archcheck !tracedeps" # no tests install="" subpackages="" source="ipxe-$pkgver.tar.gz::https://github.com/ipxe/ipxe/archive/$_sha.tar.gz fix-aarch64.patch DST_Root_CA_X3.pem alpine-netboot-ca.crt boot.ipxe " builddir="$srcdir/ipxe-$_sha/src" # default build targets for x86 systems _targets="bin/ipxe.iso bin/ipxe.lkrn bin/ipxe.pxe bin/undionly.kpxe bin/ipxe.usb" case $CARCH in x86) _targets="$_targets bin-i386-efi/ipxe.efi";; x86_64) _targets="$_targets bin-x86_64-efi/ipxe.efi";; aarch64) _targets="bin-arm64-efi/snp.efi" makedepends="xz-dev perl coreutils bash";; esac for _target in $_targets; do _target=${_target##*/} _target=${_target/./_} subpackages="$subpackages $pkgname-$_target:_split" done prepare() { default_prepare cd "$builddir" local general="DIGEST_CMD NET_PROTO_IPV6 DOWNLOAD_PROTO_HTTPS IMAGE_TRUST_CMD NSLOOKUP_CMD PING_CMD REBOOT_CMD NTP_CMD PCI_CMD TIME_CMD VLAN_CMD" mkdir -p config/local local opt; for opt in $general; do echo "#define $opt" >> config/local/general.h done # need to disable OCSP else letsencrypt will fail. sed -i '/OCSP_CHECK/d' config/crypto.h } build() { cd "$builddir" # DST_Root_CA_X3.pem is need for https (letsencrypt) make EMBED="$srcdir/boot.ipxe" \ CERT="$srcdir"/alpine-netboot-ca.crt,"$srcdir"/DST_Root_CA_X3.pem \ TRUST="$srcdir"/alpine-netboot-ca.crt,"$srcdir"/DST_Root_CA_X3.pem \ $_targets } package() { local target; for target in $_targets; do install -Dm644 "$builddir"/$target \ "$pkgdir"/usr/share/$pkgname/${target##*/} done } _split() { local name=${subpkgname##*-} name=${name/_/.} pkgdesc="$pkgname $name binary" install_if="$pkgname=$pkgver-r$pkgrel" mkdir -p "$subpkgdir"/usr/share/$pkgname mv "$pkgdir"/usr/share/$pkgname/$name \ "$subpkgdir"/usr/share/$pkgname } sha512sums="fee3e1ab3951c9fed4c84a7f812341389873a919c8c38c45874d830fbaec3e40c02fa245a57cd0a251f41a8581d3f0739d9135009b1e644054faf6ef89130792 ipxe-1.0_git20180825.tar.gz b64be052649c62195000801b3d7762eb97f6a98a0c18f2d4bf719b35ceb07230adb71ed5452d7a6eeaf424ca3033552456a56fac99d40c18a04c94b79ad4a636 fix-aarch64.patch 1f52b62aa9e3ec0656ea3cb5c8e52eda924d58728e64bb03ca6c112858b91b13cf0a9328b105bb232973e240406b240ed14e72b5bd325e82e6fddf3126dbcc58 DST_Root_CA_X3.pem 68030e3f30983ee45c7f740445a246ea0df225becdd0644e06ffdbd84682ac576934dab79fecceb31b70929d81ce85b40301a977862bf7beb042270be21e6d34 alpine-netboot-ca.crt 5a4f1edd0178e696e919e93b90689091f669bffe77ebb9da10d4872d208205fe42b285551f541a07b2067054a2344639052e2b297a582a1f71d907797a77d719 boot.ipxe"