commit:     c6e45be273accf314fb925d977597adde67ba825
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 14 05:31:29 2021 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Oct 14 05:32:00 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6e45be2

sys-apps/openrc:  0.44.6-r1 bump

Closes: https://bugs.gentoo.org/816900
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 .../openrc/files/openrc-0.44.6-fix-checkpath.patch |  33 ++++
 sys-apps/openrc/openrc-0.44.6-r1.ebuild            | 168 +++++++++++++++++++++
 2 files changed, 201 insertions(+)

diff --git a/sys-apps/openrc/files/openrc-0.44.6-fix-checkpath.patch 
b/sys-apps/openrc/files/openrc-0.44.6-fix-checkpath.patch
new file mode 100644
index 00000000000..e1ef97d981d
--- /dev/null
+++ b/sys-apps/openrc/files/openrc-0.44.6-fix-checkpath.patch
@@ -0,0 +1,33 @@
+From cc45b55f895d0c21b5ac3e5a65b0bf00f76adeb7 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+Date: Fri, 8 Oct 2021 04:52:55 +0100
+Subject: [PATCH 1/2] checkpath: fix allocation size of path buffer
+
+strlen's return value isn't enough to be used
+directly for (x)malloc; it doesn't include
+the null byte at the end of the string.
+
+X-Gentoo-Bug: 816900
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/816900
+Fixes: #459
+Fixes: #462
+---
+ src/rc/checkpath.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/rc/checkpath.c b/src/rc/checkpath.c
+index bab22692..c4dd7d9d 100644
+--- a/src/rc/checkpath.c
++++ b/src/rc/checkpath.c
+@@ -151,7 +151,7 @@ static char *clean_path(char *path)
+       char *ch;
+       char *ch2;
+       char *str;
+-      str = xmalloc(strlen(path));
++      str = xmalloc(strlen(path) + 1);
+       ch = path;
+       ch2 = str;
+       while (true) {
+-- 
+2.32.0
+

diff --git a/sys-apps/openrc/openrc-0.44.6-r1.ebuild 
b/sys-apps/openrc/openrc-0.44.6-r1.ebuild
new file mode 100644
index 00000000000..4886ab05cc4
--- /dev/null
+++ b/sys-apps/openrc/openrc-0.44.6-r1.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic meson pam toolchain-funcs
+
+DESCRIPTION="OpenRC manages the services, startup and shutdown of a host"
+HOMEPAGE="https://github.com/openrc/openrc/";
+
+if [[ ${PV} =~ ^9{4,}$ ]]; then
+       EGIT_REPO_URI="https://github.com/OpenRC/${PN}.git";
+       inherit git-r3
+else
+       SRC_URI="https://github.com/OpenRC/openrc/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv 
~s390 ~sparc ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="audit bash debug ncurses pam newnet +netifrc selinux sysv-utils unicode"
+
+COMMON_DEPEND="
+       ncurses? ( sys-libs/ncurses:0= )
+       pam? ( sys-libs/pam )
+       audit? ( sys-process/audit )
+       sys-process/psmisc
+       !<sys-process/procps-3.3.9-r2
+       selinux? (
+               sys-apps/policycoreutils
+               >=sys-libs/libselinux-2.6
+       )
+       !<sys-apps/baselayout-2.1-r1
+       !<sys-fs/udev-init-scripts-27"
+DEPEND="${COMMON_DEPEND}
+       virtual/os-headers
+       ncurses? ( virtual/pkgconfig )"
+RDEPEND="${COMMON_DEPEND}
+       bash? ( app-shells/bash )
+       !prefix? (
+               sysv-utils? (
+                       !sys-apps/systemd[sysv-utils(-)]
+                       !sys-apps/sysvinit
+               )
+               !sysv-utils? ( >=sys-apps/sysvinit-2.86-r6[selinux?] )
+               virtual/tmpfiles
+       )
+       selinux? (
+               >=sec-policy/selinux-base-policy-2.20170204-r4
+               >=sec-policy/selinux-openrc-2.20170204-r4
+       )
+       !<app-shells/gentoo-bashcomp-20180302
+       !<app-shells/gentoo-zsh-completions-20180228
+"
+
+PDEPEND="netifrc? ( net-misc/netifrc )"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-fix-checkpath.patch
+)
+
+src_configure() {
+       local emesonargs=(
+       $(meson_feature audit)
+       "-Dbranding=\"Gentoo Linux\""
+               $(meson_use newnet)
+               -Dos=Linux
+               $(meson_use pam)
+               $(meson_feature selinux)
+               -Dshell=$(usex bash /bin/bash /bin/sh)
+               $(meson_use sysv-utils sysvinit)
+               -Dtermcap=$(usev ncurses)
+       )
+       # export DEBUG=$(usev debug)
+       meson_src_configure
+}
+
+# set_config <file> <option name> <yes value> <no value> test
+# a value of "#" will just comment out the option
+set_config() {
+       local file="${ED}/$1" var=$2 val com
+       eval "${@:5}" && val=$3 || val=$4
+       [[ ${val} == "#" ]] && com="#" && val='\2'
+       sed -i -r -e "/^#?${var}=/{s:=([\"'])?([^ 
]*)\1?:=\1${val}\1:;s:^#?:${com}:}" "${file}"
+}
+
+set_config_yes_no() {
+       set_config "$1" "$2" YES NO "${@:3}"
+}
+
+src_install() {
+       meson_install
+
+       keepdir /lib/rc/tmp
+
+       # Setup unicode defaults for silly unicode users
+       set_config_yes_no /etc/rc.conf unicode use unicode
+
+       # Cater to the norm
+       set_config_yes_no /etc/conf.d/keymaps windowkeys '(' use x86 '||' use 
amd64 ')'
+
+       # On HPPA, do not run consolefont by default (bug #222889)
+       if use hppa; then
+               rm -f "${ED}"/etc/runlevels/boot/consolefont
+       fi
+
+       # Support for logfile rotation
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/openrc.logrotate openrc
+
+       if use pam; then
+               # install gentoo pam.d files
+               newpamd "${FILESDIR}"/start-stop-daemon.pam start-stop-daemon
+               newpamd "${FILESDIR}"/start-stop-daemon.pam supervise-daemon
+       fi
+
+       # install documentation
+       dodoc ChangeLog *.md
+}
+
+pkg_preinst() {
+       # avoid default thrashing in conf.d files when possible #295406
+       if [[ -e "${EROOT}"/etc/conf.d/hostname ]] ; then
+               (
+               unset hostname HOSTNAME
+               source "${EROOT}"/etc/conf.d/hostname
+               : ${hostname:=${HOSTNAME}}
+               [[ -n ${hostname} ]] && set_config /etc/conf.d/hostname 
hostname "${hostname}"
+               )
+       fi
+
+       # set default interactive shell to sulogin if it exists
+       set_config /etc/rc.conf rc_shell /sbin/sulogin "#" test -e /sbin/sulogin
+       return 0
+}
+
+pkg_postinst() {
+       if use hppa; then
+               elog "Setting the console font does not work on all HPPA 
consoles."
+               elog "You can still enable it by running:"
+               elog "# rc-update add consolefont boot"
+       fi
+
+       # Added for 0.35.
+       if [[ ! -h "${EROOT}"/lib ]]; then
+               if [[ -d "${EROOT}/$(get_libdir)"/rc ]]; then
+                       cp -RPp "${EROOT}/$(get_libdir)/rc" "${EROOT}"/lib
+               fi
+       fi
+
+       if ! use newnet && ! use netifrc; then
+               ewarn "You have emerged OpenRc without network support. This"
+               ewarn "means you need to SET UP a network manager such as"
+               ewarn " net-misc/netifrc, net-misc/dhcpcd, net-misc/connman,"
+               ewarn " net-misc/NetworkManager, or net-vpn/badvpn."
+               ewarn "Or, you have the option of emerging openrc with the 
newnet"
+               ewarn "use flag and configuring /etc/conf.d/network and"
+               ewarn "/etc/conf.d/staticroute if you only use static 
interfaces."
+               ewarn
+       fi
+
+       if use newnet && [ ! -e "${EROOT}"/etc/runlevels/boot/network ]; then
+               ewarn "Please add the network service to your boot runlevel"
+               ewarn "as soon as possible. Not doing so could leave you with a 
system"
+               ewarn "without networking."
+               ewarn
+       fi
+}

Reply via email to