кейс многоярусного пакета

This commit is contained in:
2025-05-30 15:35:16 +03:00
parent c1b1b560a8
commit 67cffd400b
5 changed files with 183 additions and 0 deletions

86
openrazer/alr.sh Normal file
View File

@ -0,0 +1,86 @@
basepkg_name='openrazer'
name=(
openrazer-daemon
openrazer-driver-dkms
python3-openrazer
)
version='3.10.2'
release='5'
desc='Community-led effort to support Razer peripherals on Linux'
desc_ru='Коммьюнити-проект, который поддерживает периферийные устройства Razer на Linux'
homepage='https://openrazer.github.io'
maintainer='Evgeny Khramov <xpamych@yandex.ru>'
maintainer_ru="Евгений Храмов <xpamych@yandex.ru>"
architectures=('all')
license=('GPL')
provides=( 'openrazer-daemon')
sources=("https://github.com/openrazer/openrazer/releases/download/v$version/openrazer-$version.tar.xz")
checksums=('SKIP')
scripts=(
['postinstall']='postinstall.sh'
)
meta_openrazer-daemon() {
desc="Userspace daemon that abstracts access to the kernel driver. Provides a DBus service for applications to use."
desc_ru="Пользовательский демон, который абстрагирует доступ к драйверу ядра. Предоставляет D-Bus сервис для приложений для использования."
deps+=(
'openrazer-driver-dkms'
'python3-dbus'
'python3-daemonize'
'python3-gobject'
'python3-pyudev'
'python3-setproctitle'
'xautomation'
)
opt_deps+=('libnotify: for the battery notifier')
}
package_openrazer-daemon() {
cd $srcdir/$basepkg_name-$version
make DESTDIR="$pkgdir" daemon_install
}
files_openrazer-daemon() {
echo ./usr/bin/openrazer-daemon
printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer_daemon/**/*
printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer_daemon-$version-py3.11.egg-info/*
echo ./usr/lib/systemd/user/openrazer-daemon.service
printf '"%s" ' ./usr/share/**/*
}
package_openrazer-driver-dkms() {
cd $srcdir/$basepkg_name-$version
make DESTDIR="$pkgdir" setup_dkms udev_install
}
meta_openrazer-driver-dkms() {
deps+=('dkms')
desc="OpenRazer kernel modules sources."
desc_ru="Исходные коды модулей ядра OpenRazer."
}
files_openrazer-driver-dkms() {
echo ./usr/lib/udev/rules.d/99-razer.rules
echo ./usr/lib/udev/razer_mount
}
meta_python3-openrazer() {
deps+=(
'openrazer-daemon'
'python3-numpy'
)
desc="Library for interacting with the OpenRazer daemon"
desc_ru="Библиотека для взаимодействия с OpenRazer демоном"
}
package_python3-openrazer() {
cd $srcdir/$basepkg_name-$version
make DESTDIR="$pkgdir" python_library_install
}
files_python-openrazer() {
printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer/**/*
printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer-$version-py3.11.egg-info/*
}

14
openrazer/postinstall.sh Normal file
View File

@ -0,0 +1,14 @@
#!/usr/bin/bash
getent group plugdev >/dev/null || groupadd -r plugdev
cat << EOF
The daemon requires you add the user to the \`plugdev\` group:
# gpasswd -a \$USER plugdev
Enable the OpenRazer daemon systemd service:
\$ systemctl --user enable openrazer-daemon.service
Reboot for changes to take effect.
EOF