diff options
Diffstat (limited to 'main/u-boot/APKBUILD')
-rw-r--r-- | main/u-boot/APKBUILD | 140 |
1 files changed, 109 insertions, 31 deletions
diff --git a/main/u-boot/APKBUILD b/main/u-boot/APKBUILD index e61b1e4fedc..f49183a662c 100644 --- a/main/u-boot/APKBUILD +++ b/main/u-boot/APKBUILD @@ -1,53 +1,89 @@ # Contributor: He Yangxuan <yangxuan8282@gmail.com> # Contributor: Timo Teras <timo.teras@iki.fi> -# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +# Maintainer: Milan P. Stanić <mps@arvanta.net> pkgname=u-boot -pkgver=2020.04 -pkgrel=0 +pkgver=2024.04 +pkgrel=1 pkgdesc="u-boot bootloader common files" -url="http://www.denx.de/wiki/U-Boot/" -arch="armhf armv7 aarch64" -license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause eCos-2.0 IBM-pibs +url="https://www.denx.de/wiki/U-Boot/" +arch="all !s390x !ppc64le" +license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause WITH eCos-exception-2.0 IBM-pibs ISC LGPL-2.0-only LGPL-2.1-only X11" -makedepends="$depends_dev bc dtc python3-dev swig bison flex openssl-dev" +options="!check" # no tests +makedepends=" + bc + bison + dtc + flex + gnutls-dev + linux-headers + openssl-dev + py3-elftools + py3-setuptools + python3-dev + swig + util-linux-dev + " if [ "$CARCH" = "aarch64" ]; then - makedepends="$makedepends arm-trusted-firmware-sun50i" + makedepends="$makedepends arm-trusted-firmware" fi -source="ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver//_/-}.tar.bz2 +source="https://ftp.denx.de/pub/u-boot/u-boot-${pkgver//_/-}.tar.bz2 README.txt update-u-boot + fix-tools-build.patch " builddir="$srcdir"/u-boot-${pkgver//_/-} +if [ "$CARCH" = "riscv64" ]; then + makedepends="$makedepends opensbi" + export OPENSBI=/usr/share/opensbi/generic/firmware/fw_dynamic.bin +fi + +# secfixes: +# 2021.04-r0: +# - CVE-2021-27097 +# - CVE-2021-27138 + case "$CARCH" in arm*) board_configs=" beagleboard:am335x_boneblack_vboot - cubieboard:Cubieboard,Cubieboard2 - leemaker:Bananapi,Lamobo_R1 linksprite:Linksprite_pcDuino3_Nano cuboxi:mx6cuboxi raspberrypi:rpi_0_w,rpi,rpi_2,rpi_3_32b wandboard:wandboard qemu:qemu_arm + odroid:odroid,odroid-xu3 + sunxi:LicheePi_Zero,Bananapi,Lamobo_R1,Cubieboard,Cubieboard2,orangepi_pc ";; aarch64) board_configs=" thunderx:thunderx_88xx - raspberrypi:rpi_3 - odroid:odroid-c2 + raspberrypi:rpi_3,rpi_arm64 + odroid:odroid-c2,odroid-n2 + snapdragon:starqltechn + exynos:a3y17lte,a5y17lte,a7y17lte libretech:libretech-cc + rockchip:rockpro64-rk3399,roc-pc-rk3399,roc-cc-rk3328,pinebook-pro-rk3399 qemu:qemu_arm64 - pine64:pine64-lts + sunxi:pine64-lts,pinebook,orangepi_3,teres_i,a64-olinuxino,a64-olinuxino-emmc,nanopi_neo2,pine64_plus + ";; +riscv64) board_configs=" + qemu:qemu-riscv64,qemu-riscv64_smode + unleashed:sifive_unleashed + unmatched:sifive_unmatched + starfive:starfive_visionfive2 ";; esac -_allboards="" for board_config in $board_configs; do _allboards="$_allboards $pkgname-${board_config%%:*}" done -subpackages="$pkgname-all:_all $_allboards" + +subpackages="$_allboards $pkgname-tools" +case "$CARCH" in + arm*|aarch64|riscv64) subpackages="$pkgname-all:_all $_allboards $pkgname-tools";; +esac build() { - cd "$builddir" touch include/config.h LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"' > include/timestamp_autogenerated.h LC_ALL=C date +'#define U_BOOT_TIME "%T"' >> include/timestamp_autogenerated.h @@ -59,24 +95,55 @@ build() { msg "Building u-boot for $board" case "$board" in - "pine64-lts") - export BL31="/usr/share/arm-trusted-firmware-sun50i/bl31.bin" - ;; + "pine64-lts"|"pinebook"|"teres_i"|"a64-olinuxino"|"a64-olinuxino-emmc"|"pine64_plus") + export BL31="/usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin" + export SCP=/dev/null;; + "orangepi_3") + export BL31="/usr/share/arm-trusted-firmware/sun50i_h6/bl31.bin";; + "pinebook-pro-rk3399"|"rockpro64-rk3399"|"roc-pc-rk3399") + export BL31="/usr/share/arm-trusted-firmware/rk3399/bl31.elf";; + "roc-cc-rk3328") + export BL31="/usr/share/arm-trusted-firmware/rk3328/bl31.elf";; esac export BUILD_DIR="$builddir"/build/$board mkdir -p "$BUILD_DIR" - make O="$BUILD_DIR" ${board}_config || return 1 - make O="$BUILD_DIR" all || return 1 + make O="$BUILD_DIR" ${board}_config + make O="$BUILD_DIR" all done done + msg "Building u-boot-tools" + make tools-only_defconfig + make tools-all } package() { + case "$CARCH" in + mips64|x86*) return;; + esac cd "$builddir"/build mkdir -p "$pkgdir"/usr/share/$pkgname "$pkgdir"/usr/sbin - install "$srcdir"/README.txt "$pkgdir"/usr/share/$pkgname/README.txt || return 1 - install "$srcdir"/update-u-boot "$pkgdir"/usr/sbin || return 1 + install "$srcdir"/README.txt "$pkgdir"/usr/share/$pkgname/README.txt + install "$srcdir"/update-u-boot "$pkgdir"/usr/sbin +} + +tools() { + pkgdesc="u-boot bootloader utility tools" + provides="uboot-tools" + replaces="uboot-tools" + mkdir -p $pkgdir + mkdir $subpkgdir + cd "$builddir" + for tool in dumpimage env/fw_printenv \ + fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr img2srec \ + mkenvimage mkimage ncb proftool; do + install -D tools/$tool \ + $subpkgdir/usr/bin/"$(basename $tool)" + done + install -Dm644 tools/env/fw_env.config \ + "$subpkgdir/usr/share/doc/$pkgname/examples/fw_env.config" + cd "$subpkgdir"/usr/bin + ln -sf fw_printenv fw_setenv } _all() { @@ -96,28 +163,39 @@ _split_boards() { msg "Including board $board" mkdir -p "$subpkgdir"/usr/share/$pkgname/$board export BUILD_DIR="$builddir"/build/$board + + local board_images="" + case "$board" in + "sifive_unleashed") board_images="u-boot.itb spl/u-boot-spl.bin --" ;; + "sifive_unmatched") board_images="u-boot.itb spl/u-boot-spl.bin --" ;; + "starfive_visionfive2") board_images="u-boot.itb spl/u-boot-spl.bin.normal.out --" ;; + "pinebook-pro-rk3399"|"rockpro64-rk3399"|"roc-pc-rk3399"|"roc-cc-rk3328") board_images="u-boot-rockchip.bin --" ;; + esac + local ok=no - for image in u-boot-sunxi-with-spl.bin -- MLO SPL u-boot.img -- u-boot.bin; do + for image in $board_images u-boot-sunxi-with-spl.bin -- MLO SPL u-boot.img -- u-boot.bin; do if [ "$image" = "--" ]; then [ "$ok" = yes ] && break continue fi if [ -e "$BUILD_DIR"/$image ]; then - cp "$BUILD_DIR"/$image "$subpkgdir"/usr/share/$pkgname/$board \ - || return 1 + cp "$BUILD_DIR"/$image "$subpkgdir"/usr/share/$pkgname/$board ok=yes fi done - [ "$ok" = yes ] || return 1 + [ "$ok" = yes ] || return done } for board_config in $board_configs; do _board="${board_config%%:*}" _configs="${board_config#*:}" - eval "${_board}() { _split_boards $_board ${_configs//,/ }; }" + eval "$_board() { _split_boards $_board ${_configs//,/ }; }" done -sha512sums="e04fe54883149123730605b084324ac0d1d72ce6913467bbe587a5a2675bcf7bb393405d9a446dc0c64ba42abc1e862ae5a132e9e51aa7390e2e9fce045af8d8 u-boot-2020.04.tar.bz2 +sha512sums=" +a71270302b38e9e68a83b3acdf8f7635f72d9fa75169e3c2241cdfa21eab834b8f25dfd35c281191bccb2fcec1e86d6b64afcf1d2ed5cd4fdc02258cd75fc236 u-boot-2024.04.tar.bz2 f8c9bb6e84d6f0620c976ac7ad5dd7ec7ff9dfdd4b1d03d2bf6653e7beccf80bdf2debfc92fb1f696dba92fb40287d3c45897e0078951451d0835cb61a5f16d1 README.txt -b3b4fb70c4eea2034bae45c513bca7b738be7507b46d3f2d62b31c794cd238d492acf960c95078cb1c945520debd5d2762103df7cef0fc36acfe9ff9a94549fc update-u-boot" +6cf882785fa12abcfdfa82119f6a3446229bc75f4c19d5751676625dda81df5ca428c2b631187ecbc39261b081b1a8b53bceeac9f43a3229f7610abc4d9862a2 update-u-boot +83fc42c698f8236ba1f7d71383863e0bda255ada85bb885856a24b2036944d230d918a9d965d5ff90720726c9ee85ffda5e88eefc27b94ef9e7b4f456dcfb195 fix-tools-build.patch +" |