commit:     a82f57a0e358e78b0fdfc88f0f75b4fc4e9431d2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug  8 20:14:00 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug  8 20:14:06 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a82f57a0

sys-apps/systemd-utils: add 251.4

Closes: https://bugs.gentoo.org/863872
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-apps/systemd-utils/Manifest                   |   1 +
 sys-apps/systemd-utils/files/251-glibc-2.36.patch | 154 -------
 sys-apps/systemd-utils/systemd-utils-251.4.ebuild | 514 ++++++++++++++++++++++
 3 files changed, 515 insertions(+), 154 deletions(-)

diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
index 3ad23a287f3f..ba1726b9a6b2 100644
--- a/sys-apps/systemd-utils/Manifest
+++ b/sys-apps/systemd-utils/Manifest
@@ -4,3 +4,4 @@ DIST systemd-stable-250.7.tar.gz 11214975 BLAKE2B 
5d94b4b1f8b0cd6e8284a89ac0d4bd
 DIST systemd-stable-250.8.tar.gz 11215608 BLAKE2B 
2a66a2d8cb70f265b59640ace907b8d927018fe11c8977e134a33d67683f06b26c1eb3fd5afe40431bc2c15827ba60c46a37ff1a0a4c716dd24b73aca1583d00
 SHA512 
653f527f10779a31213da06f7587a3617bd4b823bd3e5a43d626c5a4a7301e4a0fb42cf1fd056d28af6d87e52f258da59d5f0d4a2d98076905f9d3fcda6d18fd
 DIST systemd-stable-251.2.tar.gz 11434645 BLAKE2B 
a7e118649a7d27b789206ea9f6f2d0314e44561367506ee763a9e98fb97579b3fc49c7a402c8da142945dc98444558f0e311557f52c50863cebc7532c17c651f
 SHA512 
0c4011b685a1e8d535af123cbaf79ab53d59ea665ca5350ab1077ad4e962b49c1fd5b1b5bb3f28c3e28145dfd02aa83023f78de5edec15afe84e3e06e742a67c
 DIST systemd-stable-251.3.tar.gz 11435458 BLAKE2B 
544238536848ab390b2476d5ad95d33998674be50020b8db0627bb9d0c86be6576c404ce786b01ceec86f1c75b174c6fc2d7e0d7fbab802a78f48c9d0915c2b8
 SHA512 
fb5b8dc1742562ef95469e90d406cfb6dfcb337860ad1208b460414b88ff0565071bde797d195faa62761206abc881829de6b1009e5d727cad2dfe0764310d5f
+DIST systemd-stable-251.4.tar.gz 11440203 BLAKE2B 
58a0ee4adcc9d35b15b9cc98b3da81d1103b61a6c0bee722468a5113cd7d6de1d40c46ef964ba9ecc4746e81b516ae4b2f1d046874d62db066735c652592612e
 SHA512 
7bbfadd80b88a4c3510a5e4e3572e4eab71dafbf6289da038e552988e09ee8da16da3c9bb8a4fbbde6c6236e0e3c352b0a33f9ee0b84f10241f3499383387738

diff --git a/sys-apps/systemd-utils/files/251-glibc-2.36.patch 
b/sys-apps/systemd-utils/files/251-glibc-2.36.patch
deleted file mode 100644
index 65693d747ca3..000000000000
--- a/sys-apps/systemd-utils/files/251-glibc-2.36.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-https://bugs.gentoo.org/863218
-https://github.com/systemd/systemd/issues/23984
-https://github.com/systemd/systemd/commit/3657d3a01c7e25ff86d7a4642065b367c4ff7484
-https://github.com/systemd/systemd/commit/0a58cd00454cc7b57b04f3a4a334584d743d7f7a
-
-From: Rudi Heitbaum <[email protected]>
-Date: Sat, 23 Jul 2022 10:38:49 +0000
-Subject: [PATCH] glibc: Remove #include <linux/fs.h> to resolve
- fsconfig_command/mount_attr conflict with glibc 2.36
-
---- a/meson.build
-+++ b/meson.build
-@@ -511,7 +511,6 @@ decl_headers = '''
- #include <uchar.h>
- #include <sys/mount.h>
- #include <sys/stat.h>
--#include <linux/fs.h>
- '''
- 
- foreach decl : ['char16_t',
-@@ -523,6 +522,17 @@ foreach decl : ['char16_t',
-         # We get -1 if the size cannot be determined
-         have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') 
> 0
- 
-+        if decl == 'struct mount_attr'
-+                if have
-+                        want_linux_fs_h = false
-+                else
-+                        have = cc.sizeof(decl,
-+                                         prefix : decl_headers + '#include 
<linux/fs.h>',
-+                                         args : '-D_GNU_SOURCE') > 0
-+                        want_linux_fs_h = have
-+                endif
-+        endif
-+
-         if decl == 'struct statx'
-                 if have
-                         want_linux_stat_h = false
-@@ -538,6 +548,7 @@ foreach decl : ['char16_t',
- endforeach
- 
- conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
-+conf.set10('WANT_LINUX_FS_H', want_linux_fs_h)
- 
- foreach ident : ['secure_getenv', '__secure_getenv']
-         conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident))
---- a/src/basic/fd-util.c
-+++ b/src/basic/fd-util.c
-@@ -3,7 +3,9 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <linux/btrfs.h>
-+#if WANT_LINUX_FS_H
- #include <linux/fs.h>
-+#endif
- #include <linux/magic.h>
- #include <sys/ioctl.h>
- #include <sys/resource.h>
---- a/src/core/namespace.c
-+++ b/src/core/namespace.c
-@@ -7,7 +7,9 @@
- #include <sys/file.h>
- #include <sys/mount.h>
- #include <unistd.h>
-+#if WANT_LINUX_FS_H
- #include <linux/fs.h>
-+#endif
- 
- #include "alloc-util.h"
- #include "base-filesystem.h"
---- a/src/shared/mount-util.c
-+++ b/src/shared/mount-util.c
-@@ -7,7 +7,9 @@
- #include <sys/statvfs.h>
- #include <unistd.h>
- #include <linux/loop.h>
-+#if WANT_LINUX_FS_H
- #include <linux/fs.h>
-+#endif
- 
- #include "alloc-util.h"
- #include "chase-symlinks.h"
-
-From 0a58cd00454cc7b57b04f3a4a334584d743d7f7a Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <[email protected]>
-Date: Tue, 26 Jul 2022 20:03:12 +0900
-Subject: [PATCH] home: drop conflicted headers
-
-Fixes #24117.
---- a/src/basic/missing_fs.h
-+++ b/src/basic/missing_fs.h
-@@ -64,3 +64,8 @@
- #ifndef FS_PROJINHERIT_FL
- #define FS_PROJINHERIT_FL 0x20000000
- #endif
-+
-+/* linux/fscrypt.h */
-+#ifndef FS_KEY_DESCRIPTOR_SIZE
-+#define FS_KEY_DESCRIPTOR_SIZE 8
-+#endif
---- a/src/home/homework-cifs.c
-+++ b/src/home/homework-cifs.c
-@@ -1,5 +1,10 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- 
-+#include <sys/mount.h>
-+#if WANT_LINUX_FS_H
-+#include <linux/fs.h>
-+#endif
-+
- #include "dirent-util.h"
- #include "fd-util.h"
- #include "fileio.h"
---- a/src/home/homework-luks.c
-+++ b/src/home/homework-luks.c
-@@ -4,7 +4,6 @@
- #include <poll.h>
- #include <sys/file.h>
- #include <sys/ioctl.h>
--#include <sys/mount.h>
- #include <sys/xattr.h>
- 
- #if HAVE_VALGRIND_MEMCHECK_H
---- a/src/home/homework-mount.c
-+++ b/src/home/homework-mount.c
-@@ -2,7 +2,9 @@
- 
- #include <sched.h>
- #include <sys/mount.h>
-+#if WANT_LINUX_FS_H
- #include <linux/fs.h>
-+#endif
- 
- #include "alloc-util.h"
- #include "fd-util.h"
---- a/src/home/homework.h
-+++ b/src/home/homework.h
-@@ -1,13 +1,14 @@
- /* SPDX-License-Identifier: LGPL-2.1-or-later */
- #pragma once
- 
--#include <linux/fs.h>
- #include <sys/vfs.h>
- 
- #include "sd-id128.h"
- 
-+#include "cryptsetup-util.h"
- #include "homework-password-cache.h"
- #include "loop-util.h"
-+#include "missing_fs.h" /* for FS_KEY_DESCRIPTOR_SIZE, do not include 
linux/fs.h */
- #include "missing_keyctl.h"
- #include "missing_syscall.h"
- #include "user-record.h"
-

diff --git a/sys-apps/systemd-utils/systemd-utils-251.4.ebuild 
b/sys-apps/systemd-utils/systemd-utils-251.4.ebuild
new file mode 100644
index 000000000000..d66f463cc001
--- /dev/null
+++ b/sys-apps/systemd-utils/systemd-utils-251.4.ebuild
@@ -0,0 +1,514 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+
+QA_PKGCONFIG_VERSION=$(ver_cut 1)
+
+inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 
toolchain-funcs udev usr-ldscript
+
+DESCRIPTION="Utilities split out from systemd for OpenRC users"
+HOMEPAGE="https://systemd.io/";
+
+if [[ ${PV} == *.* ]]; then
+       MY_P="systemd-stable-${PV}"
+       S="${WORKDIR}/${MY_P}"
+       
SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz
 -> ${MY_P}.tar.gz"
+else
+       MY_P="systemd-${PV}"
+       S="${WORKDIR}/${MY_P}"
+       
SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> 
${MY_P}.tar.gz"
+fi
+
+MUSL_PATCHSET="systemd-musl-patches-251.2"
+SRC_URI+=" elibc_musl? ( 
https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
+
+LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="+acl boot +kmod selinux sysusers +tmpfiles test +udev"
+REQUIRED_USE="|| ( boot tmpfiles sysusers udev )"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+       elibc_musl? ( >=sys-libs/musl-1.2.3 )
+       selinux? ( sys-libs/libselinux:0= )
+       tmpfiles? (
+               acl? ( sys-apps/acl:0= )
+       )
+       udev? (
+               >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
+               sys-libs/libcap:0=[${MULTILIB_USEDEP}]
+               virtual/libcrypt:=[${MULTILIB_USEDEP}]
+               acl? ( sys-apps/acl:0= )
+               kmod? ( >=sys-apps/kmod-15:0= )
+       )
+       !udev? (
+               >=sys-apps/util-linux-2.30:0=
+               sys-libs/libcap:0=
+               virtual/libcrypt:=
+       )
+"
+DEPEND="${COMMON_DEPEND}
+       >=sys-kernel/linux-headers-3.11
+       boot? ( >=sys-boot/gnu-efi-3.0.2 )
+"
+RDEPEND="${COMMON_DEPEND}
+       boot? ( !<sys-boot/systemd-boot-250 )
+       tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
+       udev? (
+               acct-group/audio
+               acct-group/cdrom
+               acct-group/dialout
+               acct-group/disk
+               acct-group/input
+               acct-group/kmem
+               acct-group/kvm
+               acct-group/lp
+               acct-group/render
+               acct-group/sgx
+               acct-group/tape
+               acct-group/tty
+               acct-group/video
+               !sys-apps/gentoo-systemd-integration
+               !sys-apps/hwids[udev]
+               !<sys-fs/udev-250
+               !sys-fs/eudev
+       )
+       !sys-apps/systemd
+"
+PDEPEND="
+       udev? ( >=sys-fs/udev-init-scripts-34 )
+"
+BDEPEND="
+       $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
+       app-text/docbook-xml-dtd:4.2
+       app-text/docbook-xml-dtd:4.5
+       app-text/docbook-xsl-stylesheets
+       dev-libs/libxslt
+       dev-util/gperf
+       >=sys-apps/coreutils-8.16
+       sys-devel/gettext
+       virtual/pkgconfig
+"
+
+TMPFILES_OPTIONAL=1
+UDEV_OPTIONAL=1
+
+python_check_deps() {
+       python_has_version "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
+QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
+
+src_prepare() {
+       local PATCHES=(
+       )
+
+       if use elibc_musl; then
+               PATCHES+=( "${WORKDIR}/${MUSL_PATCHSET}" )
+               # Applied upstream in 251.3
+               rm 
"${WORKDIR}/${MUSL_PATCHSET}/0001-Add-sys-file.h-for-LOCK_.patch" || die
+       fi
+       default
+
+       # Remove install_rpath; we link statically
+       local rpath_pattern="install_rpath : rootlibexecdir,"
+       grep -q -e "${rpath_pattern}" meson.build || die
+       sed -i -e "/${rpath_pattern}/d" meson.build || die
+}
+
+multilib_src_configure() {
+       # When bumping to 251, please keep this, but add the revert patch
+       # like in sys-apps/systemd!
+       #
+       # Broken with FORTIFY_SOURCE=3 without a patch. And the patch
+       # wasn't backported to 250.x, but it turns out to break Clang
+       # anyway:  bug #841770.
+       #
+       # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
+       # to unset F_S first, then explicitly set 2, to negate any default
+       # and anything set by the user if they're choosing 3 (or if they've
+       # modified GCC to set 3).
+       #
+       if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
+               # We can't unconditionally do this b/c we fortify needs
+               # some level of optimisation.
+               filter-flags -D_FORTIFY_SOURCE=3
+               append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
+       fi
+
+       local emesonargs=(
+               -Drootprefix="${EPREFIX:-/}"
+               -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
+               -Dsysvinit-path=
+               $(meson_native_use_bool boot efi)
+               $(meson_native_use_bool boot gnu-efi)
+               $(meson_native_use_bool boot kernel-install)
+               $(meson_native_use_bool selinux)
+               $(meson_native_use_bool sysusers)
+               $(meson_use test tests)
+               $(meson_native_use_bool tmpfiles)
+               $(meson_use udev hwdb)
+
+               -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
+
+               # Link staticly with libsystemd-shared
+               -Dlink-boot-shared=false
+               -Dlink-udev-shared=false
+
+               # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" 
target
+               -Dstandalone-binaries=true
+
+               # Disable all optional features
+               -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
+               -Dgshadow=false
+               -Dgnutls=false
+               -Dhibernate=false
+               -Dhostnamed=false
+               -Didn=false
+               -Dima=false
+               -Dinitrd=false
+               -Dfirstboot=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
+       )
+
+       if use tmpfiles || use udev; then
+               emesonargs+=( $(meson_native_use_bool acl) )
+       else
+               emesonargs+=( -Dacl=false )
+       fi
+
+       if use udev; then
+               emesonargs+=( $(meson_native_use_bool kmod) )
+       else
+               emesonargs+=( -Dkmod=false )
+       fi
+
+       if use elibc_musl; then
+               # Avoid redefinition of struct ethhdr.
+               append-cppflags -D__UAPI_DEF_ETHHDR=0
+       fi
+
+       if multilib_is_native_abi || use udev; then
+               meson_src_configure
+       fi
+}
+
+efi_arch() {
+       case "$(tc-arch)" in
+               amd64) echo x64 ;;
+               arm)   echo arm ;;
+               arm64) echo aa64 ;;
+               x86)   echo x86 ;;
+       esac
+}
+
+multilib_src_compile() {
+       local targets=()
+       if multilib_is_native_abi; then
+               if use boot; then
+                       targets+=(
+                               bootctl
+                               kernel-install
+                               man/bootctl.1
+                               man/kernel-install.8
+                               src/boot/efi/linux$(efi_arch).{efi,elf}.stub
+                               src/boot/efi/systemd-boot$(efi_arch).efi
+                       )
+               fi
+               if use sysusers; then
+                       targets+=(
+                               systemd-sysusers.standalone
+                               man/sysusers.d.5
+                               man/systemd-sysusers.8
+                       )
+                       if use test; then
+                               targets+=(
+                                       systemd-runtest.env
+                               )
+                       fi
+               fi
+               if use tmpfiles; then
+                       targets+=(
+                               systemd-tmpfiles.standalone
+                               man/tmpfiles.d.5
+                               man/systemd-tmpfiles.8
+                       )
+                       if use test; then
+                               targets+=( test-tmpfiles )
+                       fi
+               fi
+               if use udev; then
+                       targets+=(
+                               udevadm
+                               systemd-hwdb
+                               src/udev/ata_id
+                               src/udev/cdrom_id
+                               src/udev/fido_id
+                               src/udev/mtd_probe
+                               src/udev/scsi_id
+                               src/udev/udev.pc
+                               src/udev/v4l_id
+                               man/udev.conf.5
+                               man/systemd.link.5
+                               man/hwdb.7
+                               man/udev.7
+                               man/systemd-hwdb.8
+                               man/systemd-udevd.service.8
+                               man/udevadm.8
+                               hwdb.d/60-autosuspend-chromiumos.hwdb
+                               rules.d/50-udev-default.rules
+                               rules.d/64-btrfs.rules
+                       )
+                       if use test; then
+                               targets+=(
+                                       # Used by udev-test.pl
+                                       systemd-detect-virt
+                                       test/sys
+                                       test-udev
+
+                                       test-fido-id-desc
+                                       test-udev-builtin
+                                       test-udev-event
+                                       test-udev-netlink
+                                       test-udev-node
+                                       test-udev-util
+                               )
+                       fi
+               fi
+       fi
+       if use udev; then
+               targets+=(
+                       udev:shared_library
+                       src/libudev/libudev.pc
+               )
+               if use test; then
+                       targets+=(
+                               test-libudev
+                               test-libudev-sym
+                               test-udev-device-thread
+                       )
+               fi
+       fi
+       if multilib_is_native_abi || use udev; then
+               meson_src_compile "${targets[@]}"
+       fi
+}
+
+multilib_src_test() {
+       local tests=()
+       if multilib_is_native_abi; then
+               if use sysusers; then
+                       tests+=(
+                               test-sysusers.standalone
+                       )
+               fi
+               if use tmpfiles; then
+                       tests+=(
+                               test-systemd-tmpfiles.standalone
+                               test-tmpfiles
+                       )
+               fi
+               if use udev; then
+                       tests+=(
+                               rule-syntax-check
+                               test-fido-id-desc
+                               test-udev-builtin
+                               test-udev-event
+                               test-udev-netlink
+                               test-udev-node
+                               test-udev-util
+                       )
+                       if [[ -w /dev ]]; then
+                               tests+=( udev-test )
+                       else
+                               ewarn "Skipping udev-test (needs write access 
to /dev)"
+                       fi
+               fi
+       fi
+       if use udev; then
+               tests+=(
+                       test-libudev
+                       test-libudev-sym
+                       test-udev-device-thread
+               )
+       fi
+       if [[ ${#tests[@]} -ne 0 ]]; then
+               meson_src_test "${tests[@]}"
+       fi
+}
+
+multilib_src_install() {
+       if multilib_is_native_abi; then
+               if use boot; then
+                       into /usr
+                       dobin bootctl kernel-install
+                       doman man/{bootctl.1,kernel-install.8}
+                       insinto usr/lib/systemd/boot/efi
+                       doins 
src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
+               fi
+               if use sysusers; then
+                       into /
+                       newbin systemd-sysusers{.standalone,}
+                       doman man/{systemd-sysusers.8,sysusers.d.5}
+               fi
+               if use tmpfiles; then
+                       into /
+                       newbin systemd-tmpfiles{.standalone,}
+                       doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
+               fi
+               if use udev; then
+                       into /
+                       dobin udevadm systemd-hwdb
+                       dosym ../../bin/udevadm /lib/systemd/systemd-udevd
+
+                       exeinto /lib/udev
+                       doexe 
src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
+
+                       insinto /lib/udev/rules.d
+                       doins rules.d/*.rules
+
+                       insinto /lib/udev/hwdb.d
+                       doins hwdb.d/*.hwdb
+
+                       insinto /usr/share/pkgconfig
+                       doins src/udev/udev.pc
+
+                       doman 
man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
+                       newman man/systemd-udevd.service.8 systemd-udevd.8
+               fi
+       fi
+       if use udev; then
+               meson_install --no-rebuild --tags libudev
+               gen_usr_ldscript -a udev
+               insinto "/usr/$(get_libdir)/pkgconfig"
+               doins src/libudev/libudev.pc
+       fi
+}
+
+multilib_src_install_all() {
+       einstalldocs
+       if use boot; then
+               into /usr
+               exeinto usr/lib/kernel/install.d
+               doexe src/kernel-install/*.install
+               dobashcomp shell-completion/bash/bootctl
+               insinto /usr/share/zsh/site-functions
+               doins shell-completion/zsh/{_bootctl,_kernel-install}
+       fi
+       if use tmpfiles; then
+               doinitd "${FILESDIR}"/systemd-tmpfiles-setup
+               doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
+               insinto /usr/share/zsh/site-functions
+               doins shell-completion/zsh/_systemd-tmpfiles
+       fi
+       if use udev; then
+               doheader src/libudev/libudev.h
+
+               insinto /etc/udev
+               doins src/udev/udev.conf
+               keepdir /etc/udev/{hwdb.d,rules.d}
+
+               insinto /lib/systemd/network
+               doins network/99-default.link
+
+               # Remove to avoid conflict with elogind
+               # https://bugs.gentoo.org/856433
+               rm rules.d/70-power-switch.rules || die
+               insinto /lib/udev/rules.d
+               doins rules.d/*.rules
+               doins "${FILESDIR}"/40-gentoo.rules
+
+               insinto /lib/udev/hwdb.d
+               doins hwdb.d/*.hwdb
+
+               dobashcomp shell-completion/bash/udevadm
+
+               insinto /usr/share/zsh/site-functions
+               doins shell-completion/zsh/_udevadm
+       fi
+}
+
+add_service() {
+       local initd=$1
+       local runlevel=$2
+
+       ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
+       mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
+       ln -snf "${EPREFIX}/etc/init.d/${initd}" 
"${EROOT}/etc/runlevels/${runlevel}/${initd}"
+       eend $?
+}
+
+pkg_postinst() {
+       if [[ -z ${REPLACING_VERSIONS} ]]; then
+               add_service systemd-tmpfiles-setup-dev sysinit
+               add_service systemd-tmpfiles-setup boot
+       fi
+       if use udev; then
+               ebegin "Updating hwdb"
+               systemd-hwdb --root="${ROOT}" update
+               eend $?
+               udev_reload
+       fi
+}

Reply via email to