Fix s-s-d stopping on bsd when a pidfile is not specified
authorRoy Marples <uberlord@gentoo.org>
Thu, 19 Oct 2006 09:29:44 +0000 (09:29 +0000)
committerRoy Marples <uberlord@gentoo.org>
Thu, 19 Oct 2006 09:29:44 +0000 (09:29 +0000)
Package-Manager: portage-2.1.2_pre3-r4

sys-apps/baselayout/ChangeLog
sys-apps/baselayout/Manifest
sys-apps/baselayout/baselayout-1.13.0_alpha2-r1.ebuild [new file with mode: 0644]
sys-apps/baselayout/baselayout-1.13.0_alpha2.ebuild
sys-apps/baselayout/files/baselayout-1.13.0_alpha2-ssd-bsd.patch [new file with mode: 0644]
sys-apps/baselayout/files/digest-baselayout-1.13.0_alpha2-r1 [new file with mode: 0644]

index 266827f501bb6ae90bcdc5ed16bf0bbb23b203e3..43b0db65d7f50819a408770c177cd7150857d3be 100644 (file)
@@ -1,10 +1,17 @@
 # ChangeLog for sys-apps/baselayout
 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.354 2006/10/17 11:58:18 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.355 2006/10/19 09:29:43 uberlord Exp $
 
 # See the rc-scripts ChangeLog in subversion for release info:
 # http://sources.gentoo.org/viewcvs.py/*checkout*/baselayout/trunk/ChangeLog
 
+*baselayout-1.13.0_alpha2-r1 (19 Oct 2006)
+
+  19 Oct 2006; Roy Marples <uberlord@gentoo.org>
+  +files/baselayout-1.13.0_alpha2-ssd-bsd.patch,
+  +baselayout-1.13.0_alpha2-r1.ebuild:
+  Fix s-s-d stopping on bsd when a pidfile is not specified
+
   17 Oct 2006; Roy Marples <uberlord@gentoo.org>
   baselayout-1.13.0_alpha2.ebuild:
   Added ~sparc-fbsd keyword.
index 6cbcfacfdf51dcf8abebc161ab77dd3d74e685e5..d83bb6eb0d27b711aa4d3ae218fa5dba208b97ca 100644 (file)
@@ -90,6 +90,10 @@ AUX baselayout-1.13.0_alpha1-init-perms.patch 915 RMD160 3431cd28ce7ea8c3dc06922
 MD5 76be19b7d38409068e6fe56f3e618702 files/baselayout-1.13.0_alpha1-init-perms.patch 915
 RMD160 3431cd28ce7ea8c3dc069222c74a016d716bdd6e files/baselayout-1.13.0_alpha1-init-perms.patch 915
 SHA256 f873548f09ca94fd588a0c8d7472067d14b91b4fc9cb7b03528db316b5d2c48a files/baselayout-1.13.0_alpha1-init-perms.patch 915
+AUX baselayout-1.13.0_alpha2-ssd-bsd.patch 2110 RMD160 c2af027058e61f0f68f0b136b5603a850eaea956 SHA1 3564a2b49b7b17c82b4cbe09af37783b7199d10e SHA256 4574ae66e6ad61a75b7dd8431a53e2c241e1a63b63e3989787cd2c3ed84008de
+MD5 049706d1fa5f3818384f37200a304cde files/baselayout-1.13.0_alpha2-ssd-bsd.patch 2110
+RMD160 c2af027058e61f0f68f0b136b5603a850eaea956 files/baselayout-1.13.0_alpha2-ssd-bsd.patch 2110
+SHA256 4574ae66e6ad61a75b7dd8431a53e2c241e1a63b63e3989787cd2c3ed84008de files/baselayout-1.13.0_alpha2-ssd-bsd.patch 2110
 AUX copyright 2099 RMD160 43e295598125f39e375a1fcee6e642e37c8b8bd8 SHA1 3d5da783cc637392429ba2f63d321873fa1526ee SHA256 38db4636f65ce40ea505a6337138b041ac6be5998982193d16b1fbdeebb2bacd
 MD5 7c0cd50e4ac1dc062f5e6ab578e95659 files/copyright 2099
 RMD160 43e295598125f39e375a1fcee6e642e37c8b8bd8 files/copyright 2099
@@ -125,14 +129,18 @@ EBUILD baselayout-1.13.0_alpha1-r1.ebuild 9040 RMD160 94e54408a0db88b3a509f9abb0
 MD5 9d91ccd3a61ad222efd27e5f336eca11 baselayout-1.13.0_alpha1-r1.ebuild 9040
 RMD160 94e54408a0db88b3a509f9abb0ce7b68596258fd baselayout-1.13.0_alpha1-r1.ebuild 9040
 SHA256 25304dc27eddec352a6c9ecfbdcf3fa6e43051b76dd4d8f72ff4cf7b39695fc9 baselayout-1.13.0_alpha1-r1.ebuild 9040
-EBUILD baselayout-1.13.0_alpha2.ebuild 8896 RMD160 1e841ed2e59f5cfb1f3bc7636dec577c2fbdd88f SHA1 12b18f500d8aab4f7c8ed6d9ec7e84e1b160a4bc SHA256 5084d8a28080c905508a9603002d90001c715f10d2137d2d9d1f44a16c23bae2
-MD5 3c29fa4a6bc01c07f4ad3896d4972f18 baselayout-1.13.0_alpha2.ebuild 8896
-RMD160 1e841ed2e59f5cfb1f3bc7636dec577c2fbdd88f baselayout-1.13.0_alpha2.ebuild 8896
-SHA256 5084d8a28080c905508a9603002d90001c715f10d2137d2d9d1f44a16c23bae2 baselayout-1.13.0_alpha2.ebuild 8896
-MISC ChangeLog 80555 RMD160 83be9deb5ca084f5a7398c2b70129cd515c790e1 SHA1 0cbae0f49a1030616861d648984664e554a8b21a SHA256 f181de87ee65f6de789b6991edf8f8d926a54196367617084132b4ef3bd3fa0d
-MD5 ab860955a2c829b72869b690ed219aa5 ChangeLog 80555
-RMD160 83be9deb5ca084f5a7398c2b70129cd515c790e1 ChangeLog 80555
-SHA256 f181de87ee65f6de789b6991edf8f8d926a54196367617084132b4ef3bd3fa0d ChangeLog 80555
+EBUILD baselayout-1.13.0_alpha2-r1.ebuild 8885 RMD160 0d9d8f0e5662c1f393575f7becbcf5e8dc611f0f SHA1 cda39581a4af1c4ac58fd651c81cfae619d800f2 SHA256 d58d67446cb24330b9697219eff4af04d7c31cd92c69d73b1be6710b29530e0d
+MD5 24058b372e581254391b88697a70df68 baselayout-1.13.0_alpha2-r1.ebuild 8885
+RMD160 0d9d8f0e5662c1f393575f7becbcf5e8dc611f0f baselayout-1.13.0_alpha2-r1.ebuild 8885
+SHA256 d58d67446cb24330b9697219eff4af04d7c31cd92c69d73b1be6710b29530e0d baselayout-1.13.0_alpha2-r1.ebuild 8885
+EBUILD baselayout-1.13.0_alpha2.ebuild 8840 RMD160 0eece24c6ebc4d2758f0c09fdeef292771470702 SHA1 8d2012aaadf47ca33f799da649f3655e8d0e8f8c SHA256 fe9790cfee2a6f050ba72f20a6e7025b34c831607323ae54dff3883a0f2eff10
+MD5 d7de45b37002b0bf4bf1278799651e2a baselayout-1.13.0_alpha2.ebuild 8840
+RMD160 0eece24c6ebc4d2758f0c09fdeef292771470702 baselayout-1.13.0_alpha2.ebuild 8840
+SHA256 fe9790cfee2a6f050ba72f20a6e7025b34c831607323ae54dff3883a0f2eff10 baselayout-1.13.0_alpha2.ebuild 8840
+MISC ChangeLog 80797 RMD160 5e261038cf22c75ba6b6bd5d6df42e0adb75e7c5 SHA1 3ff997a8aae06789e43c6dbeded3112b02e20f48 SHA256 0de16c10d23cd2283349b4962653456988398f1cee389445fb4471cc080f2cfb
+MD5 a3476e0675acb26749c8997a32c01333 ChangeLog 80797
+RMD160 5e261038cf22c75ba6b6bd5d6df42e0adb75e7c5 ChangeLog 80797
+SHA256 0de16c10d23cd2283349b4962653456988398f1cee389445fb4471cc080f2cfb ChangeLog 80797
 MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164
@@ -158,3 +166,6 @@ SHA256 be59fd1488ef13ab615bf33bcbd3d49c5b41ce8505f587354641243670d83478 files/di
 MD5 b7bb6cb0985423c2dd5b6327a4d81a7d files/digest-baselayout-1.13.0_alpha2 277
 RMD160 7416d97be01ccf1729669622512c1c851a475a4b files/digest-baselayout-1.13.0_alpha2 277
 SHA256 7f790702d2ff391cad3c14ef7346aad9ec4fb1745f5778f72746187086a0ee1e files/digest-baselayout-1.13.0_alpha2 277
+MD5 b7bb6cb0985423c2dd5b6327a4d81a7d files/digest-baselayout-1.13.0_alpha2-r1 277
+RMD160 7416d97be01ccf1729669622512c1c851a475a4b files/digest-baselayout-1.13.0_alpha2-r1 277
+SHA256 7f790702d2ff391cad3c14ef7346aad9ec4fb1745f5778f72746187086a0ee1e files/digest-baselayout-1.13.0_alpha2-r1 277
diff --git a/sys-apps/baselayout/baselayout-1.13.0_alpha2-r1.ebuild b/sys-apps/baselayout/baselayout-1.13.0_alpha2-r1.ebuild
new file mode 100644 (file)
index 0000000..7d1d83d
--- /dev/null
@@ -0,0 +1,269 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.13.0_alpha2-r1.ebuild,v 1.1 2006/10/19 09:29:43 uberlord Exp $
+
+inherit flag-o-matic eutils toolchain-funcs multilib
+
+DESCRIPTION="Filesystem baselayout and init scripts"
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+       http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
+       http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
+       http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="bootstrap build pam static unicode kernel_linux kernel_FreeBSD"
+
+# This version of baselayout needs awk in /bin, but as we do not have
+# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
+# or "build" are in USE.
+RDEPEND="kernel_linux? ( >=sys-apps/sysvinit-2.86-r3 )
+               !build? (
+                       !bootstrap? (
+                               >=sys-libs/readline-5.0-r1
+                               >=app-shells/bash-3.1_p7
+                               kernel_linux? (
+                                       >=sys-apps/coreutils-5.2.1
+                               )
+                               kernel_FreeBSD? (
+                                       sys-process/fuser-bsd
+                                       sys-process/pidof-bsd
+                               )
+                       )
+               )
+               pam? ( virtual/pam )
+               !<net-misc/dhcpcd-2.0.0"
+DEPEND="virtual/os-headers"
+PROVIDE="virtual/baselayout"
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       epatch "${FILESDIR}/${P}-ssd-bsd.patch"
+
+       # Setup unicode defaults for silly unicode users
+       if use unicode ; then
+               sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
+       fi
+
+       # SPARC does not like stty, so we disable RC_INTERACTIVE which requires it
+       # see Gentoo bug #104067.
+       if use sparc ; then \
+               sed -i -e  '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
+               sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
+       fi
+}
+
+make_opts() {
+       # Standard options
+       local opts="ROOT=\"${ROOT}\" DESTDIR=\"${D}\" ARCH=\"$(tc-arch)\""
+       local libdir="lib"
+
+       [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
+
+       opts="${opts} LIB=${libdir}"
+
+       if use kernel_linux ; then
+               opts="${opts} OS=Linux"
+       else
+               opts="${opts} OS=BSD"
+       fi
+
+       use pam && opts="${opts} HAVE_PAM=1"
+
+       echo "${opts}"
+}
+
+src_compile() {
+       use static && append-ldflags -static
+       emake $(make_opts) || die
+}
+
+# Support function for remapping old wireless dns vars
+remap_dns_vars() {
+       if [[ -f "${ROOT}/etc/conf.d/$1" ]]; then
+               sed -e 's/\<domain_/dns_domain_/g' \
+                       -e 's/\<mac_domain_/mac_dns_domain_/g' \
+                       -e 's/\<nameservers_/dns_servers_/g' \
+                       -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
+                       -e 's/\<searchdomains_/dns_search_domains_/g' \
+                       -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
+                       "${ROOT}/etc/conf.d/$1" > "${IMAGE}/etc/conf.d/$1"
+       fi
+}
+
+pkg_preinst() {
+       cd "${S}"
+
+       if use build || use bootstrap ; then
+               make $(make_opts) layout || die "failed to layout filesystem"
+       fi
+
+       if use kernel_linux ; then
+               if use build || use bootstrap ; then
+                       # Create base directories
+                       if [[ ! -e ${ROOT}/dev/.udev && ! -e ${ROOT}/dev/.devfsd ]] ; then
+                               einfo "Creating dev nodes"
+                               make $(make_opts) dev || die "failed to create /dev nodes"
+                       fi
+               elif [[ -w ${ROOT} ]] ; then
+                       # Ensure that we have /dev/null and /dev/console at least
+                       einfo "Ensuring that /dev/null and /dev/console exist on ${ROOT}dev"
+                       mount -o bind / "${T}"
+                       make DESTDIR="${T}" ARCH="$(tc-arch)" basedev &>/dev/null
+                       umount "${T}"
+               fi
+       fi
+
+       # Change some vars introduced in baselayout-1.11.0 before we go stable
+       # The new names make more sense and allow nis_domain
+       # for use in baselayout-1.12.0
+       remap_dns_vars net
+       remap_dns_vars wireless
+}
+
+src_install() {
+       make $(make_opts) install
+       dodoc ChangeLog COPYRIGHT
+
+       # Should this belong in another ebuild? Like say binutils?
+       # List all the multilib libdirs in /etc/env/04multilib (only if they're
+       # actually different from the normal
+       if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
+               local libdirs="$(get_all_libdirs)" libdirs_env=
+               : ${libdirs:=lib}       # it isn't that we don't trust multilib.eclass...
+               for dir in ${libdirs}; do
+                       libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
+               done
+
+               # Special-case uglyness... For people updating from lib32 -> lib amd64
+               # profiles, keep lib32 in the search path while it's around
+               if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
+                       libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
+               fi
+               echo "LDPATH=\"${libdirs_env}\"" > "${D}"/etc/env.d/04multilib
+       fi
+
+       # rc-scripts version for testing of features that *should* be present
+       echo "Gentoo Base System version ${PV}" > "${D}"/etc/gentoo-release
+
+       # Remove the installed runlevels, as we don't know about $ROOT yet
+       rm -rf "${D}/etc/runlevels"
+}
+
+pkg_postinst() {
+       # We installed some files to /usr/share/baselayout instead of /etc to stop
+       # (1) overwriting the user's settings
+       # (2) screwing things up when attempting to merge files
+       # (3) accidentally packaging up personal files with quickpkg
+       # If they don't exist then we install them
+       for x in master.passwd passwd shadow group fstab ; do
+               [[ -e "${ROOT}etc/${x}" ]] && continue
+               [[ -e "${ROOT}usr/share/baselayout/${x}" ]] || continue
+               cp -p "${ROOT}usr/share/baselayout/${x}" ${ROOT}etc
+       done
+
+       # Make our runlevels if they don't exist
+       if [[ ! -e ${ROOT}etc/runlevels ]] ; then
+               einfo "Making default runlevels"
+               cd "${S}"
+               make $(make_opts) DESTDIR="${ROOT}" runlevels_install >/dev/null
+       fi
+
+       # Reload init to fix unmounting problems of / on next reboot.
+       # This is really needed, as without the new version of init cause init
+       # not to quit properly on reboot, and causes a fsck of / on next reboot.
+       if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
+               # We need to copy svcdir if it's empty
+               if [[ ! -e ${ROOT}lib/rcscripts/init.d/deptree ]] ; then
+                       (
+                       source "${ROOT}etc/conf.d/rc"
+                       svcdir="${svcdir:-/var/lib/init.d}"
+                       if [[ -e ${ROOT}${svcdir}/deptree ]] ; then
+                               cp -RPp "${ROOT}${svcdir}"/* ${ROOT}lib/rcscripts/init.d
+                       fi
+                       )
+               fi
+
+               # Regenerate init.d dependency tree
+               /sbin/depscan.sh --update >/dev/null
+
+               # Regenerate /etc/modules.conf, else it will fail at next boot
+               if [[ -x /sbin/modules-update ]] ; then
+                       einfo "Updating module dependencies..."
+                       /sbin/modules-update force >/dev/null
+               fi
+       else
+               rm -f "${ROOT}"/etc/modules.conf
+       fi
+
+       # This is also written in src_install (so it's in CONTENTS), but
+       # write it here so that the new version is immediately in the file
+       # (without waiting for the user to do etc-update)
+       rm -f "${ROOT}"/etc/._cfg????_gentoo-release
+       echo "Gentoo Base System version ${PV}" > "${ROOT}"/etc/gentoo-release
+
+       echo
+       einfo "Please be sure to update all pending '._cfg*' files in /etc,"
+       einfo "else things might break at your next reboot!      You can use 'etc-update'"
+       einfo "to accomplish this:"
+       einfo
+       einfo "  # etc-update"
+       echo
+
+       local lo="net.lo0"
+       use kernel_linux && lo="net.lo"
+       for f in ${ROOT}etc/init.d/net.*; do
+               [[ -L ${f} ]] && continue
+               echo
+               einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
+               einfo "They need to be converted to symlinks to ${lo}.  If you haven't"
+               einfo "made personal changes to those files, you can update with the"
+               einfo "following command:"
+               einfo
+               einfo "  /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/${lo}$' | xargs -n1 ln -sfvn ${lo}"
+               echo
+               break
+       done
+
+       if sed -e 's/#.*//' "${ROOT}"etc/conf.d/{net,wireless} 2>/dev/null \
+               | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
+                       echo
+                       ewarn "You have depreciated variables in ${ROOT}etc/conf.d/net"
+                       ewarn "or ${ROOT}etc/conf.d/wireless"
+                       ewarn
+                       ewarn "domain_* -> dns_domain_*"
+                       ewarn "nameservers_* -> dns_servers_*"
+                       ewarn "searchdomains_* -> dns_search_domains_*"
+                       ewarn
+                       ewarn "They have been converted for you - ensure that you"
+                       ewarn "update them via 'etc-update'"
+                       echo
+       fi
+
+       if sed -e 's/#.*//' "${ROOT}"etc/conf.d/net 2>/dev/null \
+               | egrep -q '\<(ifconfig|aliases|broadcasts|netmasks|inet6|ipaddr|iproute)_'; then
+                       echo
+                       ewarn "You are using deprecated variables in ${ROOT}etc/conf.d/net"
+                       ewarn
+                       ewarn "You are advised to review the new configuration variables as"
+                       ewarn "found in ${ROOT}etc/conf.d/net.example as there is no"
+                       ewarn "guarantee that they will work in future versions."
+                       echo
+       fi
+
+       # Remove old stuff that may cause problems.
+       if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
+               rm -f "${ROOT}"/etc/env.d/01hostname
+       fi
+       if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
+               rm -f "${ROOT}"/etc/{conf.d,init.d}/domainname \
+                       "${ROOT}"/etc/runlevels/*/domainname
+               ewarn "The domainname init script has been removed in this version."
+               ewarn "Consult ${ROOT}etc/conf.d/net.example for details about how"
+               ewarn "to apply dns/nis information to the loopback interface."
+       fi
+}
index ec2dd834739676b6dfd39a8ffc323c39bb742826..bfac657d22d53aaa5c19b410a704de75893fc131 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2006 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.13.0_alpha2.ebuild,v 1.2 2006/10/17 11:58:18 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.13.0_alpha2.ebuild,v 1.3 2006/10/19 09:29:43 uberlord Exp $
 
 inherit flag-o-matic eutils toolchain-funcs multilib
 
@@ -126,7 +126,6 @@ pkg_preinst() {
 src_install() {
        make $(make_opts) install
        dodoc ChangeLog COPYRIGHT
-       use kernel_linux && dodoc sbin.Linux/MAKEDEV.copyright
 
        # Should this belong in another ebuild? Like say binutils?
        # List all the multilib libdirs in /etc/env/04multilib (only if they're
diff --git a/sys-apps/baselayout/files/baselayout-1.13.0_alpha2-ssd-bsd.patch b/sys-apps/baselayout/files/baselayout-1.13.0_alpha2-ssd-bsd.patch
new file mode 100644 (file)
index 0000000..f8dff5e
--- /dev/null
@@ -0,0 +1,81 @@
+Index: src/start-stop-daemon.c
+===================================================================
+--- src/start-stop-daemon.c    (revision 2314)
++++ src/start-stop-daemon.c    (working copy)
+@@ -768,7 +768,7 @@
+ /* WTA: this  needs to be an autoconf check for /proc/pid existance.
+  */
+-#if defined(OSLinux) || defined (OSsunos) || defined(OSfreebsd)
++#if defined(OSLinux) || defined (OSsunos)
+ static void
+ do_procinit(void)
+ {
+@@ -814,16 +814,18 @@
+ #endif /* OSHURD */
+-#if defined(OSOpenBSD) || defined(OSFreeBSD) || defined(OSNetBSD)
++#if defined(OSFreeBSD) || defined(OSFreeBSD) || defined(OSOpenBSD)
+-# if defined(OSNetBSD)
+-#  define _KINFO_PROC2 kinfo_proc2
++# if defined(OSFreeBSD) || defined(OSOpenBSD)
++#  define _KINFO_PROC kinfo_proc
++#  define _GET_KINFO_UID(kp) (kp->ki_ruid)
++#  define _GET_KINFO_COMM(kp) (kp->ki_comm)
++#  define _GET_KINFO_PID(kp) (kp.ki_pid)
++# else
++#  define _KINFO_PROC kinfo_proc2
+ #  define _GET_KINFO_UID(kp) (kp->p_ruid)
+ #  define _GET_KINFO_COMM(kp) (kp->p_comm)
+-# else
+-#  define _KINFO_PROC2 kinfo_proc
+-#  define _GET_KINFO_UID(kp) (kp->ki_ruid)
+-#  define _GET_KINFO_COMM(kp) (kp->ki_comm)
++#  define _GET_KINFO_PID(kp) (kp.p_pid)
+ # endif
+ static int
+@@ -872,7 +874,7 @@
+       kvm_t *kd;
+       int nentries;   /* Value not used */
+       uid_t proc_uid;
+-      struct _KINFO_PROC2 *kp;
++      struct _KINFO_PROC *kp;
+       char  errbuf[_POSIX2_LINE_MAX];
+       kd = kvm_openfiles(NULL, NULL, NULL, O_RDONLY, errbuf);
+@@ -893,7 +895,7 @@
+ {
+       kvm_t *kd;
+       int nentries;
+-      struct _KINFO_PROC2 *kp;
++      struct _KINFO_PROC *kp;
+       char *pidexec;
+       char *bname = basename(name);
+@@ -911,10 +913,21 @@
+ static void
+ do_procinit(void)
+ {
+-      /* Nothing to do */
++      static kvm_t *kd = NULL;
++      struct _KINFO_PROC *kp;
++      int i, n_processes = 0; 
++
++      if ((kd = kvm_open("/dev/null", "/dev/null", "/dev/null", O_RDONLY, NULL)) == NULL)
++              errx(2, "%s", kvm_geterr(kd));
++
++      kp = kvm_getprocs(kd, KERN_PROC_PROC, 0, &n_processes);
++      for (i = 0; i < n_processes; i++)
++              check(_GET_KINFO_PID(kp[i]));
++      
++      kvm_close(kd);
+ }
+-#endif /* OSOpenBSD */
++#endif /* OSBSD */
+ #if defined(OSDarwin)
+ int
diff --git a/sys-apps/baselayout/files/digest-baselayout-1.13.0_alpha2-r1 b/sys-apps/baselayout/files/digest-baselayout-1.13.0_alpha2-r1
new file mode 100644 (file)
index 0000000..4cb221d
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 96ba59e87ae50ac590219fd104cc72f2 baselayout-1.13.0_alpha2.tar.bz2 249320
+RMD160 ae8a9acd02461d025d3d0751053bdd697ea5538d baselayout-1.13.0_alpha2.tar.bz2 249320
+SHA256 62a61de646650662ffc0e19d0f7cb409320cc633aa36d25a2127f140948aea54 baselayout-1.13.0_alpha2.tar.bz2 249320