140 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # Maintainer: Christian Hesse <mail@eworm.de>
 | |
| # Maintainer: Dave Reisner <dreisner@archlinux.org>
 | |
| # Maintainer: Tom Gundersen <teg@jklm.no>
 | |
| 
 | |
| pkgbase=systemd-libs
 | |
| pkgname=('systemd-libs-systemd' 'systemd-libs-udev')
 | |
| _tag='8dff57da7abcb15e69936a8af9780475eb961a73' # git rev-parse v${pkgver}
 | |
| pkgver=247.2
 | |
| pkgrel=1
 | |
| arch=('x86_64')
 | |
| url='https://www.github.com/systemd/systemd'
 | |
| makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf'
 | |
|              'intltool' 'iptables' 'kmod' 'libcap' 'libidn2' 'libgcrypt'
 | |
|              'libmicrohttpd' 'libxcrypt' 'libxslt' 'util-linux' 'linux-api-headers'
 | |
|              'python-lxml' 'quota-tools' 'shadow' 'gnu-efi-libs' 'git'
 | |
|              'meson' 'libseccomp' 'pcre2' 'audit' 'kexec-tools' 'libxkbcommon'
 | |
|              'bash-completion' 'p11-kit')
 | |
| options=('strip')
 | |
| validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4'  # Lennart Poettering <lennart@poettering.net>
 | |
|               '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
 | |
| source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}?signed"
 | |
|         "git+https://github.com/systemd/systemd#tag=v${pkgver%.*}?signed"
 | |
|         '0001-Use-Arch-Linux-device-access-groups.patch')
 | |
| 
 | |
| _backports=(
 | |
|   # set: introduce set_strjoin()
 | |
|   '4dbce717873000cff7b56f89266d1d2fe53f9284'
 | |
|   # sd-device: use set_strjoin()
 | |
|   '6f3ac0d51766b0b9101676cefe5c4ba81feba436'
 | |
|   # sd-device: keep escaped strings in DEVLINK= property
 | |
|   '31063db0b4842a452c6eadde5b969aaee2a0516a'
 | |
|   # test: add tests for device_new_from_nulstr()
 | |
|   'e6f882871568e4a331ac473871ee8a884f6e48d6'
 | |
| )
 | |
| 
 | |
| _reverts=(
 | |
| )
 | |
| 
 | |
| prepare() {
 | |
|   cd "$pkgbase-stable"
 | |
| 
 | |
|   # 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
 | |
| 
 | |
|   # Replace cdrom/dialout/tape groups with optical/uucp/storage
 | |
|   patch -Np1 -i ../0001-Use-Arch-Linux-device-access-groups.patch
 | |
| }
 | |
| 
 | |
| build() {
 | |
|   local _timeservers=({0..3}.arch.pool.ntp.org)
 | |
|   local _nameservers=(
 | |
|     # We use these public name services, ordered by their
 | |
|     # privacy policy (hopefully):
 | |
|     #  * Cloudflare (https://1.1.1.1/)
 | |
|     #  * Quad9 without filtering (https://www.quad9.net/)
 | |
|     #  * Google (https://developers.google.com/speed/public-dns/)
 | |
|     1.1.1.1
 | |
|     9.9.9.10
 | |
|     8.8.8.8
 | |
|     2606:4700:4700::1111
 | |
|     2620:fe::10
 | |
|     2001:4860:4860::8888
 | |
|   )
 | |
| 
 | |
|   local _meson_options=(
 | |
|     -Dversion-tag="${pkgver}-${pkgrel}-arch"
 | |
|     -Dmode=release
 | |
| 
 | |
|     -Dgnu-efi=true
 | |
|     -Dima=false
 | |
|     -Dlibidn2=true
 | |
|     -Dlz4=true
 | |
|     -Dman=true
 | |
| 
 | |
|     # We disable DNSSEC by default, it still causes trouble:
 | |
|     # https://github.com/systemd/systemd/issues/10579
 | |
| 
 | |
|     -Ddbuspolicydir=/usr/share/dbus-1/system.d
 | |
|     -Ddefault-dnssec=no
 | |
|     -Ddefault-hierarchy=hybrid
 | |
|     -Ddefault-kill-user-processes=false
 | |
|     -Ddefault-locale=C
 | |
|     -Ddns-over-tls=openssl
 | |
|     -Dfallback-hostname='archlinux'
 | |
|     -Dnologin-path=/usr/bin/nologin
 | |
|     -Dntp-servers="${_timeservers[*]}"
 | |
|     -Ddns-servers="${_nameservers[*]}"
 | |
|     -Drpmmacrosdir=no
 | |
|     -Dsysvinit-path=
 | |
|     -Dsysvrcnd-path=
 | |
|   )
 | |
| 
 | |
|   arch-meson "$pkgbase-stable" build "${_meson_options[@]}"
 | |
| 
 | |
|   ninja -C build
 | |
| }
 | |
| 
 | |
| #check() { meson test -C build; }
 | |
| 
 | |
| package_systemd-libs-systemd() {
 | |
|   pkgdesc='systemd client libraries'
 | |
|   depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz' 'zstd')
 | |
|   license=('LGPL2.1')
 | |
|   provides=('libsystemd' 'libsystemd.so' 'libudev.so')
 | |
|   conflicts=('libsystemd')
 | |
|   replaces=('libsystemd')
 | |
| 
 | |
|   DESTDIR="$srcdir/full-install" meson install -C build
 | |
| 
 | |
|   install -d -m0755 "$pkgdir"/usr/lib
 | |
|   cp --archive "$srcdir/full-install/usr/lib/"lib{nss,systemd}*.so* "$pkgdir/usr/lib/"
 | |
| }
 | |
| 
 | |
| package_systemd-libs-udev() {
 | |
|   pkgdesc="udev client libraries"
 | |
|   depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz')
 | |
|   license=('LGPL2.1')
 | |
|   provides=('libudev' 'libudev.so')
 | |
| 
 | |
|   # udev libs
 | |
|   install -d -m0755 "$pkgdir"/usr/lib
 | |
|   cp --archive "$srcdir/full-install/usr/lib/"libudev* "$pkgdir/usr/lib/"
 | |
| }
 | |
| 
 | |
| sha1sums=('SKIP'
 | |
|           'SKIP'
 | |
|           'db7ac1d9b083d5d48230fd194477f32ab497a0b3')
 | |
| 
 | |
| # vim:ft=sh syn=sh et sw=2:
 |