123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- # Maintainer: David P. <megver83@parabola.nu>
- # Maintainer (artix): Artoo <artoo@artixlinux.org>
- # Contributor: Christian Hesse <mail@eworm.de>
- # Contributor: Dave Reisner <dreisner@archlinux.org>
- # Contributor: Tom Gundersen <teg@jklm.no>
- _pkgbase=systemd-stable
- pkgbase=udev
- pkgname=('udev' 'libudev' 'esysusers' 'etmpfiles')
- pkgdesc='Userspace device file manager'
- _tag='b16ce4c7ab80665b65345ea030c51a5c758fe66b' # git rev-parse v${_tag_name}
- _tag_name=252.5
- pkgver="${_tag_name/-/}"
- pkgrel=1
- arch=('x86_64')
- arch+=('i686' 'armv7h')
- url='https://www.github.com/systemd/systemd'
- license=('GPL2' 'LGPL2.1')
- makedepends=('acl' 'kmod' 'util-linux' 'hwdata' 'libcap' 'kbd' 'gperf'
- 'intltool' 'git' 'meson' 'docbook-xsl' 'rsync' 'python-jinja')
- options=('strip')
- validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering <lennart@poettering.net>
- 'A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E' # Luca Boccassi <luca.boccassi@gmail.com>
- '9A774DB5DB996C154EBBFBFDA0099A18E29326E1' # Yu Watanabe <watanabe.yu+github@gmail.com>
- '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
- _alpm=57bcc7fee22d75df96fd546ee7215166cdfb1233
- source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}" #?signed
- "git+https://github.com/systemd/systemd#tag=v${_tag_name%.*}" #?signed
- '0001-Use-Arch-Linux-device-access-groups.patch'
- initcpio-{hook,install}-udev
- "git+https://gitea.artixlinux.org/artix/alpm-hooks.git#commit=${_alpm}"
- meson-install-tags.patch
- meson-artix.patch
- udev-log-msg.patch)
- sha512sums=('SKIP'
- 'SKIP'
- 'f26db75129f1f9a7b7235d77e4ec490864fa0a203431f515873443b227da3db7034d8d81f7974f23fc6fbeaa91727244ac8ab82762f02e87fb92ea19a6bd931f'
- '32606b42856b5f3ea7f485143e532671f58986237e14c58ea5ab17383dc39a375cb6c738c8a2db9e4a8c8be88ea44a876d6bbed129cb2f5c9aa3f8228b04d927'
- '38eed28d42ac8f70bc8d1058ace35f137f7f5c972442ee14b98c2146202e0615aa584304edbd59e8608d1b6bec3cb391fc69b25393740f6eabd8fc5ad3bde64f'
- 'SKIP'
- 'e936a4b245400140d2cb4ed250fe23639bc3aaf81fb958b9b10dc1ff5aeb094f37b657e044bf35e832fd4a69dccea5b19ef45d20852ce3aa49325ae2e59d8f51'
- 'a26003ddcac5a83ec1fec040b36ff46816869028dc79aebb2646f9f2ed090e6358601f911c9d6a04b426c7f3367595e12716e411fca34ffce59d718b067e4e5c'
- '268817ee63ca0b03d2a10bb952837052c1fa80a5d2f0fe933d2aa3d61a09d286f188a6358107114964930fcef7057392f9520f875a83f6e265d2f4bc2564c26e')
- _backports=(
- )
- _reverts=(
- )
- prepare() {
- cd "$_pkgbase"
- # add upstream repository for cherry-picking
- git remote add -f upstream ../systemd
- local _c
- for _c in "${_backports[@]}"; do
- git log --oneline -1 "${_c}"
- git cherry-pick -n "${_c}"
- done
- for _c in "${_reverts[@]}"; do
- git log --oneline -1 "${_c}"
- git revert -n "${_c}"
- done
- patch -Np1 -i ../meson-install-tags.patch
- patch -Np1 -i ../meson-artix.patch
- patch -Np1 -i ../udev-log-msg.patch
- # Replace cdrom/dialout/tape groups with optical/uucp/storage
- patch -Np1 -i ../0001-Use-Arch-Linux-device-access-groups.patch
- }
- build() {
- local _meson_options=()
- _meson_options+=(
- -Dversion-tag="${_tag_name/-/\~}-${pkgrel}-parabola"
- -Dshared-lib-tag="${pkgver}-${pkgrel}"
- -Dmode=release
- -Dstandalone-binaries=true
- -Dsysusers=true
- -Dtmpfiles=true
- -Dhwdb=true
- -Dblkid=true
- -Dgshadow=true
- -Dinstall-sysconfdir-standalone=true
- -Ddefault-udevd-symlink='udevd'
- -Ddefault-udevd-dir='/usr/bin'
- -Dsbat-distro='artix'
- -Dsbat-distro-summary='Artix Linux'
- -Dsbat-distro-pkgname="${pkgname}"
- -Dsbat-distro-version="${pkgver}"
- -Dtests=true
- -Dlink-udev-shared=false
- -Dlink-boot-shared=false
- -Dman=false
- -Ddns-servers=''
- -Dntp-servers=''
- -Defi=false
- -Dsysvinit-path=
- -Ddefault-dnssec=no
- -Dadm-group=false
- -Danalyze=false
- -Dapparmor=false
- -Daudit=false
- -Dbacklight=false
- -Dbinfmt=false
- -Dbzip2=false
- -Dcoredump=false
- -Ddbus=false
- -Delfutils=false
- -Denvironment-d=false
- -Dfdisk=false
- -Dgcrypt=false
- -Dglib=false
- -Dgnutls=false
- -Dhibernate=false
- -Dhostnamed=false
- -Didn=false
- -Dima=false
- -Dinitrd=false
- -Dfirstboot=false
- -Dkernel-install=false
- -Dldconfig=false
- -Dlibcryptsetup=false
- -Dlibcurl=false
- -Dlibfido2=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dlocaled=false
- -Dlogind=false
- -Dlz4=false
- -Dmachined=false
- -Dmicrohttpd=false
- -Dnetworkd=false
- -Dnscd=false
- -Dnss-myhostname=false
- -Dnss-resolve=false
- -Dnss-systemd=false
- -Doomd=false
- -Dopenssl=false
- -Dp11kit=false
- -Dpam=false
- -Dpcre2=false
- -Dpolkit=false
- -Dportabled=false
- -Dpstore=false
- -Dpwquality=false
- -Drandomseed=false
- -Dresolve=false
- -Drfkill=false
- -Dseccomp=false
- -Dsmack=false
- -Dsysext=false
- -Dtimedated=false
- -Dtimesyncd=false
- -Dtpm=false
- -Dqrencode=false
- -Dquotacheck=false
- -Duserdb=false
- -Dutmp=false
- -Dvconsole=false
- -Dwheel-group=false
- -Dxdg-autostart=false
- -Dxkbcommon=false
- -Dxz=false
- -Dzlib=false
- -Dzstd=false
- )
- artix-meson "$_pkgbase" build "${_meson_options[@]}"
- local _targets=()
- _targets+=(
- udev:shared_library
- src/libudev/libudev.pc
- udevadm
- systemd-hwdb
- src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,dmi_memory_id,scsi_id,v4l_id}
- src/udev/udev.pc
- rules.d/{50-udev-default,64-btrfs}.rules
- hwdb.d/60-autosuspend-chromiumos.hwdb
- man/{libudev.3,udev.conf.5,hwdb.7,udev.7,udevadm.8}
- systemd-{sysusers,tmpfiles}.standalone
- sysusers.d/basic.conf
- tmpfiles.d/{etc,static-nodes-permissions,var}.conf
- man/{sysusers,tmpfiles}.d.5
- man/systemd-{sysusers,tmpfiles}.8
- factory/templates/locale.conf
- systemd-detect-virt
- test/sys
- test-udev
- test-fido-id-desc
- test-udev-builtin
- test-udev-event
- test-udev-node
- test-udev-util
- systemd-runtest.env
- test-tmpfiles
- )
- meson compile -C build "${_targets[@]}"
- }
- check() {
- local tests=()
- tests+=(
- test-sysusers.standalone
- test-systemd-tmpfiles.standalone
- test-tmpfiles
- rule-syntax-check
- test-fido-id-desc
- test-udev-builtin
- test-udev-event
- test-udev-node
- test-udev-util
- # udev-test
- test-libudev
- test-libudev-sym
- test-udev-device-thread
- )
- meson test -C build --print-errorlogs "${tests[@]}"
- }
- _inst_doc(){
- install -d "${pkgdir}"/usr/share/doc/"${pkgname}"
- install -vm644 "$_pkgbase"/LICENSE.* "${pkgdir}"/usr/share/doc/"${pkgname}"
- }
- _inst_man_udev() {
- local x="$1" y=${1##*.}
- install -d "${pkgdir}"/usr/share/man/man"$y"
- install -vm644 build/man/"$x" "${pkgdir}"/usr/share/man/man"$y"
- }
- _inst_man_utils() {
- local u="$1"
- install -d "${pkgdir}"/usr/share/man/man{5,8}
- install -vm644 build/man/"$u".d.5 "${pkgdir}"/usr/share/man/man5
- install -vm644 build/man/systemd-"$u".8 "${pkgdir}"/usr/share/man/man8/"$u".8
- }
- package_udev() {
- pkgdesc='Userspace device file manager'
- depends=('acl' 'libacl.so' 'kmod' 'libkmod.so'
- 'util-linux' 'libblkid.so' 'libudev' 'hwdata' 'kbd')
- provides=("udev=$pkgver")
- provides+=('eudev')
- replaces=('eudev')
- meson install -C build --destdir "$pkgdir" --no-rebuild --tags udev,udev-devel,libudev-devel
- mv -v "${pkgdir}"/usr/bin/systemd-hwdb "${pkgdir}"/usr/bin/udev-hwdb
- for m in libudev.3 udev.conf.5 udev.7 udevadm.8; do
- _inst_man_udev "$m"
- done
- _inst_doc
- # initcpio
- install -vD -m0644 initcpio-install-udev "${pkgdir}"/usr/lib/initcpio/install/udev
- install -vD -m0644 initcpio-hook-udev "${pkgdir}"/usr/lib/initcpio/hooks/udev
- # pacman hooks
- make -C alpm-hooks DESTDIR="${pkgdir}" install_udev
- }
- package_libudev() {
- pkgdesc='udev library for enumerating and introspecting local devices'
- depends=('gcc-libs')
- provides=('libudev.so')
- provides+=(''libeudev')
- replaces=('libeudev')
- meson install -C build --destdir "$pkgdir" --no-rebuild --tags libudev
- }
- package_esysusers() {
- pkgdesc='the sysusers.d binary'
- groups=('base-devel')
- depends=('gcc-libs' 'libxcrypt')
- meson install -C build --destdir "$pkgdir" --no-rebuild --tags sysusers
- mv -v "${pkgdir}"/usr/bin/systemd-sysusers.standalone "${pkgdir}"/usr/bin/sysusers
- _inst_man_utils sysusers
- _inst_doc
- # pacman hooks
- make -C alpm-hooks DESTDIR="${pkgdir}" install_sysusers
- }
- package_etmpfiles() {
- pkgdesc='the tmpfiles.d binary'
- groups=('base-devel')
- depends=('acl' 'libacl.so' 'libcap' 'libcap.so')
- meson install -C build --destdir "$pkgdir" --no-rebuild --tags tmpfiles
- mv -v "${pkgdir}"/usr/bin/systemd-tmpfiles.standalone "${pkgdir}"/usr/bin/tmpfiles
- _inst_man_utils tmpfiles
- _inst_doc
- # pacman hooks
- make -C alpm-hooks DESTDIR="${pkgdir}" install_tmpfiles
- }
|