diff options
author | macmpi <spam@ipik.org> | 2023-03-18 21:22:25 +0000 |
---|---|---|
committer | psykose <alice@ayaya.dev> | 2023-03-18 22:22:25 +0100 |
commit | 19fff1a1705e3e492a938593d55d6e8792353c1b (patch) | |
tree | 1f8cbbfc9f8b0cf3af8b6ecbd9d82d88b3697e8b | |
parent | 713b7995e7b7aa668f47fb2d075b29d3c8e920ad (diff) | |
download | aports-19fff1a1705e3e492a938593d55d6e8792353c1b.tar.gz aports-19fff1a1705e3e492a938593d55d6e8792353c1b.tar.bz2 aports-19fff1a1705e3e492a938593d55d6e8792353c1b.tar.xz |
main/raspberrypi-userland: rename from raspberrypi and modernize
- rename as raspberrypi-userland to relate to package origin, and be clearer and consistent with other rpi related Alpine packages (keeping backwards compatibility)
- move main binary utilities into /usr/bin
- add udev rule to set relevant devices in video group (a related MR is sent to mdev.conf too)
fixes: https://gitlab.alpinelinux.org/alpine/aports/-/issues/14700
-rw-r--r-- | main/raspberrypi-userland/10-local-rpi.rules | 7 | ||||
-rw-r--r-- | main/raspberrypi-userland/APKBUILD | 102 | ||||
-rw-r--r-- | main/raspberrypi-userland/raspberrypi-userland-udev.post-install | 9 | ||||
-rw-r--r-- | main/raspberrypi/APKBUILD | 66 |
4 files changed, 118 insertions, 66 deletions
diff --git a/main/raspberrypi-userland/10-local-rpi.rules b/main/raspberrypi-userland/10-local-rpi.rules new file mode 100644 index 00000000000..43ad6db430c --- /dev/null +++ b/main/raspberrypi-userland/10-local-rpi.rules @@ -0,0 +1,7 @@ +# VC4 GPU devices created by vchiq driver: make them accessible to video group + +KERNEL=="vchiq", GROUP="video", MODE="0660" +KERNEL=="vc-mem", GROUP="video", MODE="0660" +KERNEL=="vcsm-cma", GROUP="video", MODE="0660" +KERNEL=="vcio", GROUP="video", MODE="0660" + diff --git a/main/raspberrypi-userland/APKBUILD b/main/raspberrypi-userland/APKBUILD new file mode 100644 index 00000000000..5305fd4c4bb --- /dev/null +++ b/main/raspberrypi-userland/APKBUILD @@ -0,0 +1,102 @@ +# Maintainer: Timo Teräs <timo.teras@iki.fi> +pkgname=raspberrypi-userland +pkgver=0.20220616 +pkgrel=0 +_commit="54fd97ae4066a10b6b02089bc769ceed328737e0" +pkgdesc="Raspberry Pi tools for interfacing to GPU" +url="https://github.com/raspberrypi/userland" +arch="armhf armv7 aarch64" +license="BSD-3-Clause" +provides="raspberrypi=$pkgver-r$pkgrel" # for backward compatibility +replaces="raspberrypi" # for backward compatibility +depends_dev="linux-headers $pkgname-static $pkgname-libs" +makedepends="cmake samurai $depends_dev" +options="!fhs !check" +subpackages="$pkgname-dev $pkgname-doc $pkgname-static $pkgname-libs $pkgname-udev:udev" +source="$pkgname-$_commit.tar.gz::https://github.com/raspberrypi/userland/archive/$_commit.tar.gz + 10-local-rpi.rules + " +builddir="$srcdir/userland-$_commit" + +prepare() { + default_prepare + sed -i 's/ bash / sh /g' host_applications/linux/apps/raspicam/CMakeLists.txt +} + +build() { + case "$CARCH" in + arm*) local _arm64=off;; + aarch64) local _arm64=on;; + esac + cmake -B build -G Ninja \ + -DCMAKE_C_FLAGS="$CFLAGS -D_GNU_SOURCE" \ + -DARM64=$_arm64 \ + -DCMAKE_BUILD_TYPE=MinSizeRel \ + -DCMAKE_INSTALL_RPATH=/opt/vc/lib \ + -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--no-as-needed" + cmake --build build +} + +package() { + DESTDIR="$pkgdir" cmake --build build --target install + + # nuke the unwanted stuff + rm -rf "$pkgdir"/opt/vc/src + + # move main binaries to /usr/bin (purposely omit dtmerge as is legacy vs utils package) + mkdir -p "$pkgdir"/usr/bin + for _app in mmal_vc_diag raspistill raspivid raspividyuv raspiyuv vcsmem \ + dtparam dtoverlay dtoverlay-post dtoverlay-pre \ + tvservice vcgencmd vchiq_test vcmailbox; do + [ -f "$pkgdir"/opt/vc/bin/"$_app" ] && mv "$pkgdir"/opt/vc/bin/"$_app" "$pkgdir"/usr/bin/"$_app" + done + + install -Dm644 -t "$pkgdir"/lib/udev/rules.d/ "$srcdir"/10-local-rpi.rules + + mkdir -p "$pkgdir"/usr/share + mv "$pkgdir"/opt/vc/man "$pkgdir"/usr/share +} + +static() { + pkgdesc="Static files for $pkgname" + provides="raspberrypi-static=$pkgver-r$pkgrel" # for backward compatibility + replaces="raspberrypi-static" # for backward compatibility + + amove opt/vc/lib/*.a +} + +libs() { + pkgdesc="Raspberry Pi libraries for interfacing to GPU" + provides="raspberrypi-libs=$pkgver-r$pkgrel" # for backward compatibility + replaces="raspberrypi-libs" # for backward compatibility + + amove opt/vc/lib +} + +dev() { + pkgdesc="Raspberry Pi tools for interfacing to GPU (development files)" + provides="raspberrypi-dev=$pkgver-r$pkgrel" # for backward compatibility + replaces="raspberrypi-dev" # for backward compatibility + default_dev + amove opt/vc/lib/pkgconfig +} + +udev() { + pkgdesc="VC4 GPU vchiq udev rules" + install="$subpkgname.post-install" + install_if="eudev" + + amove lib/udev/rules.d +} + +doc() { + provides="raspberrypi-doc=$pkgver-r$pkgrel" # for backward compatibility + replaces="raspberrypi-doc" # for backward compatibility + + default_doc +} + +sha512sums=" +aa03a06f5784b3fcdf40fa1c85719887075ff1ecd3376f17aff9f1e6f9410caf84eb7ee6dde970d9f32579817d03b93abf1dae7fdb0b3048019aa3a0da5bf7d1 raspberrypi-userland-54fd97ae4066a10b6b02089bc769ceed328737e0.tar.gz +256d1faa31ff43fbbc0fbbf814cb92aaa66f3fc1630e2260fefa6d206baa3bf2c98fc44aefb70a34ea0a092bf208b151a9c0ed1dc0f140fcc59d08ca1a629d6a 10-local-rpi.rules +" diff --git a/main/raspberrypi-userland/raspberrypi-userland-udev.post-install b/main/raspberrypi-userland/raspberrypi-userland-udev.post-install new file mode 100644 index 00000000000..c2ba0a207f9 --- /dev/null +++ b/main/raspberrypi-userland/raspberrypi-userland-udev.post-install @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ -S /run/udev/control ]; then + udevadm control --reload-rules + udevadm trigger --sysname-match=vcio --sysname-match=vchiq --sysname-match=vc-mem --sysname-match=vcsm-cma +fi + +exit 0 + diff --git a/main/raspberrypi/APKBUILD b/main/raspberrypi/APKBUILD deleted file mode 100644 index a64dcb49155..00000000000 --- a/main/raspberrypi/APKBUILD +++ /dev/null @@ -1,66 +0,0 @@ -# Maintainer: Timo Teräs <timo.teras@iki.fi> -pkgname=raspberrypi -pkgver=0.20220616 -pkgrel=0 -_commit="54fd97ae4066a10b6b02089bc769ceed328737e0" -pkgdesc="Raspberry Pi support tools" -url="https://github.com/raspberrypi/userland" -arch="armhf armv7 aarch64" -license="BSD-3-Clause" -depends_dev="linux-headers raspberrypi-static raspberrypi-libs" -makedepends="cmake samurai $depends_dev" -options="!fhs !check" -subpackages="$pkgname-dev $pkgname-doc $pkgname-static $pkgname-libs" -source="raspberrypi-$_commit.tar.gz::https://github.com/raspberrypi/userland/archive/$_commit.tar.gz" -builddir="$srcdir/userland-$_commit" - -prepare() { - default_prepare - sed -i 's/ bash / sh /g' host_applications/linux/apps/raspicam/CMakeLists.txt -} - -build() { - case "$CARCH" in - arm*) local _arm64=off;; - aarch64) local _arm64=on;; - esac - cmake -B build -G Ninja \ - -DCMAKE_C_FLAGS="$CFLAGS -D_GNU_SOURCE" \ - -DARM64=$_arm64 \ - -DCMAKE_BUILD_TYPE=MinSizeRel \ - -DCMAKE_INSTALL_RPATH=/opt/vc/lib \ - -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--no-as-needed" - cmake --build build -} - -package() { - DESTDIR="$pkgdir" cmake --build build --target install - - # nuke the unwanted stuff - rm -rf "$pkgdir"/opt/vc/src -} - -static() { - pkgdesc="Static files for $pkgname" - - mkdir -p "$subpkgdir"/opt/vc/lib - mv "$pkgdir"/opt/vc/lib/*.a "$subpkgdir"/opt/vc/lib -} - -libs() { - pkgdesc="Raspberry Pi support libraries" - - mkdir -p "$subpkgdir"/opt/vc/lib - mv "$pkgdir"/opt/vc/lib/* "$subpkgdir"/opt/vc/lib -} - -doc() { - mkdir -p "$subpkgdir"/usr/share - mv "$pkgdir"/opt/vc/man "$subpkgdir"/usr/share - - default_doc -} - -sha512sums=" -aa03a06f5784b3fcdf40fa1c85719887075ff1ecd3376f17aff9f1e6f9410caf84eb7ee6dde970d9f32579817d03b93abf1dae7fdb0b3048019aa3a0da5bf7d1 raspberrypi-54fd97ae4066a10b6b02089bc769ceed328737e0.tar.gz -" |