blob: 914bd61f8d715be6894e8cab8b643cae367a7e3e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Carlo Landmeter <clandmeter@alpinelinux.org>
pkgname=alpine-ipxe
pkgver=1.0_git20180327
_sha=8c17ee115d140ceb509f97158b581cd7a19ee586
pkgrel=2
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
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() {
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
}
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="60e6696f02d9b1e9e4f82c134ca093862654191f8b9ed969a79e923d03589e35bd964bb11da67362dd1ef4b5aa290844317927ea6f076cd75fec09d78ada1540 ipxe-1.0_git20180327.tar.gz
1f52b62aa9e3ec0656ea3cb5c8e52eda924d58728e64bb03ca6c112858b91b13cf0a9328b105bb232973e240406b240ed14e72b5bd325e82e6fddf3126dbcc58 DST_Root_CA_X3.pem
68030e3f30983ee45c7f740445a246ea0df225becdd0644e06ffdbd84682ac576934dab79fecceb31b70929d81ce85b40301a977862bf7beb042270be21e6d34 alpine-netboot-ca.crt
21b0f6fe0604b2a13a0514e74eef1c5af5d311bead5241fd5da8e3d76bfbaaed02d5517bd446a33f5642ff9ec6f20de73493b0cb3dd13692484076da9b6c4fde boot.ipxe"
|