Some checks failed
		
		
	
	Package builder / BuildPackage (push) Has been cancelled
				
			Signed-off-by: fbt <fbt@fleshless.org>
		
			
				
	
	
		
			158 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # Adapted from the Arch Linux systemd build script.
 | |
| # Maintainer: Jack L. Frost <fbt@fleshless.org>
 | |
| 
 | |
| pkgbase=systemd-libs
 | |
| pkgname=('systemd-libs-systemd' 'systemd-libs-udev')
 | |
| _tag='42f5ba1e56ddb81c244e0d85f13109acdb14cbee' # git rev-parse v${_tag_name}
 | |
| _tag_name=254.5
 | |
| pkgver="${_tag_name/-/}"
 | |
| 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-jinja' 'python-lxml' 'quota-tools' 'shadow' 'git'
 | |
|              'meson' 'libseccomp' 'pcre2' 'audit' 'kexec-tools' 'libxkbcommon'
 | |
|              'bash-completion' 'p11-kit' 'systemd' 'libfido2' 'tpm2-tss' 'rsync'
 | |
|              'bpf' 'libbpf' 'clang' 'llvm' 'curl' 'gnutls' 'python-pyelftools'
 | |
|              'lib32-gcc-libs')
 | |
| 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}"
 | |
|         "git+https://github.com/systemd/systemd#tag=v${_tag_name%.*}"
 | |
|         '0001-Use-Arch-Linux-device-access-groups.patch')
 | |
| 
 | |
| _backports=(
 | |
| )
 | |
| 
 | |
| _reverts=(
 | |
| )
 | |
| 
 | |
| prepare() {
 | |
|   cd "systemd-stable"
 | |
| 
 | |
|   # add upstream repository for cherry-picking
 | |
|   git remote add -f upstream ../systemd
 | |
| 
 | |
|   local _c
 | |
|   for _c in "${_backports[@]}"; do
 | |
|     if [[ $_c == *..* ]]; then
 | |
|       git log --oneline --reverse "${_c}"
 | |
|     else
 | |
|       git log --oneline -1 "${_c}"
 | |
|     fi
 | |
|     git cherry-pick -n -m1 "${_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=(
 | |
|     # internal version comparison is incompatible with pacman:
 | |
|     #   249~rc1 < 249 < 249.1 < 249rc
 | |
|     -Dversion-tag="${_tag_name/-/\~}-${pkgrel}-arch"
 | |
|     -Dshared-lib-tag="${pkgver}-${pkgrel}"
 | |
|     -Dmode=release
 | |
| 
 | |
|     -Dbootloader=true
 | |
|     -Dbpf-framework=true
 | |
|     -Dima=false
 | |
|     -Dlibidn2=true
 | |
|     -Dlz4=true
 | |
|     -Dman=true
 | |
|     -Dnscd=false
 | |
| 
 | |
|     # 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=unified
 | |
|     -Ddefault-kill-user-processes=false
 | |
|     -Ddefault-locale='C.UTF-8'
 | |
|     -Dlocalegen-path=/usr/bin/locale-gen
 | |
|     -Ddns-over-tls=openssl
 | |
|     -Dfallback-hostname='archlinux'
 | |
|     -Dnologin-path=/usr/bin/nologin
 | |
|     -Dntp-servers="${_timeservers[*]}"
 | |
|     -Ddns-servers="${_nameservers[*]}"
 | |
|     -Drpmmacrosdir=no
 | |
|     -Dsysvinit-path=
 | |
|     -Dsysvrcnd-path=
 | |
| 
 | |
|     -Dsbat-distro='arch'
 | |
|     -Dsbat-distro-summary='Arch Linux'
 | |
|     -Dsbat-distro-pkgname="${pkgname}"
 | |
|     -Dsbat-distro-version="${pkgver}"
 | |
|     -Dsbat-distro-url="https://archlinux.org/packages/core/x86_64/${pkgname}/"
 | |
|   )
 | |
| 
 | |
|   # this uses malloc_usable_size, which is incompatible with fortification level 3
 | |
|   export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
 | |
|   export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
 | |
| 
 | |
|   arch-meson "systemd-stable" build "${_meson_options[@]}"
 | |
| 
 | |
|   meson compile -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' 'systemd-libs')
 | |
|   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/"
 | |
| 
 | |
|   install -d -m0755 "$pkgdir"/usr/lib/include
 | |
|   cp --archive "$srcdir/full-install/usr/include/systemd" "$pkgdir/usr/include/"
 | |
| }
 | |
| 
 | |
| 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/"
 | |
| 
 | |
|   install -d -m0755 "$pkgdir"/usr/include
 | |
|   cp --archive "$srcdir/full-install/usr/include/libudev.h" "$pkgdir/usr/include/"
 | |
| }
 | |
| 
 | |
| sha1sums=('SKIP'
 | |
|           'SKIP'
 | |
|           '0486ab66087de95ac304d6f599d914172d740a7c')
 |