aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormacmpi <spam@ipik.org>2023-03-18 21:22:25 +0000
committerpsykose <alice@ayaya.dev>2023-03-18 22:22:25 +0100
commit19fff1a1705e3e492a938593d55d6e8792353c1b (patch)
tree1f8cbbfc9f8b0cf3af8b6ecbd9d82d88b3697e8b
parent713b7995e7b7aa668f47fb2d075b29d3c8e920ad (diff)
downloadaports-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.rules7
-rw-r--r--main/raspberrypi-userland/APKBUILD102
-rw-r--r--main/raspberrypi-userland/raspberrypi-userland-udev.post-install9
-rw-r--r--main/raspberrypi/APKBUILD66
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
-"