commit:     e5e772b10ee7d0329a5eb0618a914ed9c620379d
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Tue May 12 20:36:35 2020 +0000
Commit:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Tue May 12 20:43:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e5e772b1

sys-libs/glibc: Use etc files from FILESDIR instead of patchset

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>

 sys-libs/glibc/files/host.conf-1    | 24 +++++++++++
 sys-libs/glibc/files/nscd-1         | 85 +++++++++++++++++++++++++++++++++++++
 sys-libs/glibc/glibc-2.31-r3.ebuild | 13 +++---
 sys-libs/glibc/glibc-9999.ebuild    | 13 +++---
 4 files changed, 123 insertions(+), 12 deletions(-)

diff --git a/sys-libs/glibc/files/host.conf-1 b/sys-libs/glibc/files/host.conf-1
new file mode 100644
index 00000000000..4c58e52d6b3
--- /dev/null
+++ b/sys-libs/glibc/files/host.conf-1
@@ -0,0 +1,24 @@
+# /etc/host.conf:
+# $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/host.conf,v 1.1 
2006/09/29 23:52:23 vapier Exp $
+
+# The  file /etc/host.conf contains configuration information specific to
+# the resolver library.  It should contain one configuration keyword  per
+# line,  followed by appropriate configuration information.  The keywords
+# recognized are order, trim, mdns, multi, nospoof, spoof, and reorder.
+
+
+
+# This keyword specifies how host lookups are to be performed. It
+# should be followed by one or more lookup methods, separated by
+# commas.  Valid methods are bind, hosts, and nis.
+#
+order hosts, bind
+
+
+# Valid  values are on and off.  If set to on, the resolv+ library
+# will return all valid addresses for a host that appears  in  the
+# /etc/hosts  file,  instead  of  only  the first.  This is off by
+# default, as it may cause a substantial performance loss at sites
+# with large hosts files.
+#
+multi off

diff --git a/sys-libs/glibc/files/nscd-1 b/sys-libs/glibc/files/nscd-1
new file mode 100644
index 00000000000..f69c8e2eacd
--- /dev/null
+++ b/sys-libs/glibc/files/nscd-1
@@ -0,0 +1,85 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="The 'Name Service Cache Daemon' is a daemon that provides a cache"
+description="${description} for the most common name service requests"
+
+extra_started_commands="flush_all flush_hosts flush_group flush_passwd 
flush_netgroup flush_services"
+
+description_flush_all="Will invalidate hosts, group, passwd, netgroup and 
services cache"
+description_flush_hosts="Will invalidate hosts cache"
+description_flush_group="Will invalidate group cache"
+description_flush_passwd="Will invalidate passwd cache"
+description_flush_netgroup="Will invalidate netgroup cache"
+description_flush_services="Will invalidate services cache"
+
+pidfile="/run/nscd/nscd.pid"
+command="/usr/sbin/nscd"
+
+depend() {
+       use dns ldap net slapd logger
+}
+
+checkconfig() {
+       if [ ! -d /run/nscd ] ; then
+               checkpath -d -m 755 /run/nscd
+       fi
+
+       if [ -z "${NSCD_PERMS_OK}" ] && [ "$(stat -c %a /run/nscd)" != "755" ] 
; then
+               ewarn "nscd run dir is not world readable, you should reset the 
perms:"
+               ewarn "chmod 755 /run/nscd"
+               ewarn "chmod a+rw /run/nscd/socket"
+               ewarn "To disable this warning, set 'NSCD_PERMS_OK' in 
/etc/conf.d/nscd"
+       fi
+
+       if grep -qs '^[[:space:]]*persistent\>' /etc/nscd.conf ; then
+               checkpath -d -m 700 /var/db/nscd
+       fi
+}
+
+_flush() {
+       local table=$1
+
+       ebegin "Flushing ${table} table"
+       ${command} --invalidate ${table}
+       eend $?
+}
+
+flush_all() {
+       local has_errors=0
+
+       ebegin "Flushing all caches"
+
+       local table=
+       for table in passwd group hosts netgroup services; do
+               ${command} --invalidate ${table}
+               [ $? -ne 0 ] && has_errors=1
+       done
+
+       eend ${has_errors}
+}
+
+flush_hosts() {
+       _flush hosts
+}
+
+flush_group() {
+       _flush group
+}
+
+flush_passwd() {
+        _flush passwd
+}
+
+flush_netgroup() {
+       _flush netgroup
+}
+
+flush_services() {
+       _flush services
+}
+
+start_pre() {
+       checkconfig
+}

diff --git a/sys-libs/glibc/glibc-2.31-r3.ebuild 
b/sys-libs/glibc/glibc-2.31-r3.ebuild
index b11334fe86e..c05055b8811 100644
--- a/sys-libs/glibc/glibc-2.31-r3.ebuild
+++ b/sys-libs/glibc/glibc-2.31-r3.ebuild
@@ -1313,11 +1313,15 @@ glibc_do_src_install() {
 
        # Install misc network config files
        insinto /etc
-       doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
-       doins "${WORKDIR}"/extra/etc/*.conf
+       doins posix/gai.conf nss/nsswitch.conf
+
+       # Gentoo-specific
+       newins "${FILESDIR}"/host.conf-1 host.conf
 
        if use nscd ; then
-               doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)"
+               doins nscd/nscd.conf
+
+               newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
 
                local nscd_args=(
                        -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep 
nscd.pid):"
@@ -1327,9 +1331,6 @@ glibc_do_src_install() {
 
                systemd_dounit nscd/nscd.service
                systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf
-       else
-               # Do this since extra/etc/*.conf above might have nscd.conf.
-               rm -f "${ED}"/etc/nscd.conf
        fi
 
        echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc

diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 32cac60af6e..cc1528ef61a 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -1316,11 +1316,15 @@ glibc_do_src_install() {
 
        # Install misc network config files
        insinto /etc
-       doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf
-       doins "${WORKDIR}"/extra/etc/*.conf
+       doins posix/gai.conf nss/nsswitch.conf
+
+       # Gentoo-specific
+       newins "${FILESDIR}"/host.conf-1 host.conf
 
        if use nscd ; then
-               doinitd "$(prefixify_ro "${WORKDIR}"/extra/etc/nscd)"
+               doins nscd/nscd.conf
+
+               newinitd "$(prefixify_ro "${FILESDIR}"/nscd-1)" nscd
 
                local nscd_args=(
                        -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep 
nscd.pid):"
@@ -1330,9 +1334,6 @@ glibc_do_src_install() {
 
                systemd_dounit nscd/nscd.service
                systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf
-       else
-               # Do this since extra/etc/*.conf above might have nscd.conf.
-               rm -f "${ED}"/etc/nscd.conf
        fi
 
        echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc

Reply via email to