commit:     fdeaefbbdb36dfdf8bd040fb3f11fd99bea5136e
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Sun May 28 21:16:18 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Sun May 28 21:25:54 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdeaefbb

net-dialup/ppp: fix pidfile path

Bug: https://bugs.gentoo.org/907311
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 net-dialup/ppp/files/ppp-2.5.0-pidfile.patch |  37 +++++++++
 net-dialup/ppp/ppp-2.5.0-r3.ebuild           | 115 +++++++++++++++++++++++++++
 2 files changed, 152 insertions(+)

diff --git a/net-dialup/ppp/files/ppp-2.5.0-pidfile.patch 
b/net-dialup/ppp/files/ppp-2.5.0-pidfile.patch
new file mode 100644
index 000000000000..0196dff2929f
--- /dev/null
+++ b/net-dialup/ppp/files/ppp-2.5.0-pidfile.patch
@@ -0,0 +1,37 @@
+From 0c9f2cb93f56d2a14ffcc97f53f4665b7728d8e4 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <flop...@gentoo.org>
+Date: Sun, 28 May 2023 17:01:12 -0400
+Subject: [PATCH] Ensure there is a '/' between PPP_PATH_VARRUN and the PID
+ filename
+
+Bug: https://bugs.gentoo.org/907311
+Signed-off-by: Mike Gilbert <flop...@gentoo.org>
+---
+ pppd/main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pppd/main.c b/pppd/main.c
+index 4455199..c207d10 100644
+--- a/pppd/main.c
++++ b/pppd/main.c
+@@ -888,7 +888,7 @@ create_pidfile(int pid)
+ {
+     FILE *pidfile;
+ 
+-    slprintf(pidfilename, sizeof(pidfilename), "%s%s.pid",
++    slprintf(pidfilename, sizeof(pidfilename), "%s/%s.pid",
+            PPP_PATH_VARRUN, ifname);
+     if ((pidfile = fopen(pidfilename, "w")) != NULL) {
+       fprintf(pidfile, "%d\n", pid);
+@@ -907,7 +907,7 @@ create_linkpidfile(int pid)
+     if (linkname[0] == 0)
+       return;
+     ppp_script_setenv("LINKNAME", linkname, 1);
+-    slprintf(linkpidfile, sizeof(linkpidfile), "%sppp-%s.pid",
++    slprintf(linkpidfile, sizeof(linkpidfile), "%s/ppp-%s.pid",
+            PPP_PATH_VARRUN, linkname);
+     if ((pidfile = fopen(linkpidfile, "w")) != NULL) {
+       fprintf(pidfile, "%d\n", pid);
+-- 
+2.40.1
+

diff --git a/net-dialup/ppp/ppp-2.5.0-r3.ebuild 
b/net-dialup/ppp/ppp-2.5.0-r3.ebuild
new file mode 100644
index 000000000000..7dd9216c9f76
--- /dev/null
+++ b/net-dialup/ppp/ppp-2.5.0-r3.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info pam tmpfiles
+
+PATCH_TARBALL_NAME="${PN}-2.4.9-patches-03"
+DESCRIPTION="Point-to-Point Protocol (PPP)"
+HOMEPAGE="https://ppp.samba.org/";
+SRC_URI="https://download.samba.org/pub/ppp/${P}.tar.gz
+       
https://raw.githubusercontent.com/ppp-project/ppp/${P}/contrib/pppgetpass/pppgetpass.8";
+
+LICENSE="BSD GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+IUSE="activefilter atm gtk pam systemd"
+
+DEPEND="
+       dev-libs/openssl:0=
+       virtual/libcrypt:=
+       activefilter? ( net-libs/libpcap )
+       atm? ( net-dialup/linux-atm )
+       gtk? ( x11-libs/gtk+:2 )
+       pam? ( sys-libs/pam )
+       systemd? ( sys-apps/systemd )
+"
+RDEPEND="${DEPEND}
+       !<net-misc/netifrc-0.7.1-r2"
+BDEPEND="virtual/pkgconfig"
+PDEPEND="net-dialup/ppp-scripts"
+
+PATCHES=(
+       "${FILESDIR}"/ppp-2.5.0-passwordfd-read-early.patch
+       "${FILESDIR}"/ppp-2.5.0-pidfile.patch
+)
+
+pkg_setup() {
+       local CONFIG_CHECK="~PPP ~PPP_ASYNC ~PPP_SYNC_TTY"
+       local ERROR_PPP="CONFIG_PPP:\t missing PPP support (REQUIRED)"
+       local ERROR_PPP_ASYNC="CONFIG_PPP_ASYNC:\t missing asynchronous serial 
line discipline"
+       ERROR_PPP_ASYNC+=" (optional, but highly recommended)"
+       local WARNING_PPP_SYNC_TTY="CONFIG_PPP_SYNC_TTY:\t missing synchronous 
serial line discipline"
+       WARNING_PPP_SYNC_TTY+=" (optional; used by 'sync' pppd option)"
+       if use activefilter ; then
+               CONFIG_CHECK+=" ~PPP_FILTER"
+               local ERROR_PPP_FILTER="CONFIG_PPP_FILTER:\t missing PPP 
filtering support (REQUIRED)"
+       fi
+       CONFIG_CHECK+=" ~PPP_DEFLATE ~PPP_BSDCOMP ~PPP_MPPE"
+       local ERROR_PPP_DEFLATE="CONFIG_PPP_DEFLATE:\t missing Deflate 
compression (optional, but highly recommended)"
+       local ERROR_PPP_BSDCOMP="CONFIG_PPP_BSDCOMP:\t missing BSD-Compress 
compression (optional, but highly recommended)"
+       local WARNING_PPP_MPPE="CONFIG_PPP_MPPE:\t missing MPPE encryption 
(optional, mostly used by PPTP links)"
+       CONFIG_CHECK+=" ~PPPOE ~PACKET"
+       local WARNING_PPPOE="CONFIG_PPPOE:\t missing PPPoE support (optional, 
needed by pppoe plugin)"
+       local WARNING_PACKET="CONFIG_PACKET:\t missing AF_PACKET support 
(optional, used by pppoe plugin)"
+       if use atm ; then
+               CONFIG_CHECK+=" ~PPPOATM"
+               local WARNING_PPPOATM="CONFIG_PPPOATM:\t missing PPPoA support 
(optional, needed by pppoatm plugin)"
+       fi
+
+       linux-info_pkg_setup
+}
+
+src_configure() {
+       local args=(
+               --localstatedir="${EPREFIX}"/var
+               --runstatedir="${EPREFIX}"/run
+               $(use_enable systemd)
+               $(use_with atm)
+               $(use_with pam)
+               $(use_with activefilter pcap)
+               $(use_with gtk)
+               --enable-cbcp
+       )
+       econf "${args[@]}"
+}
+
+src_install() {
+       default
+
+       find "${ED}" -name '*.la' -type f -delete || die
+
+       if use pam; then
+               pamd_mimic_system ppp auth account session
+       fi
+
+       insinto /etc/modprobe.d
+       newins "${FILESDIR}/modules.ppp" ppp.conf
+
+       dosbin scripts/p{on,off,log}
+       doman scripts/pon.1
+       dosym pon.1 /usr/share/man/man1/poff.1
+       dosym pon.1 /usr/share/man/man1/plog.1
+
+       # Adding misc. specialized scripts to doc dir
+       dodoc -r scripts
+
+       if use gtk ; then
+               dosbin contrib/pppgetpass/pppgetpass.{gtk,vt}
+               newsbin contrib/pppgetpass/pppgetpass.sh pppgetpass
+       else
+               newsbin contrib/pppgetpass/pppgetpass.vt pppgetpass
+       fi
+
+       newtmpfiles "${FILESDIR}/pppd.tmpfiles" pppd.conf
+
+       # Missing from upstream tarball
+       # https://github.com/ppp-project/ppp/pull/412
+       #doman contrib/pppgetpass/pppgetpass.8
+       doman "${DISTDIR}/pppgetpass.8"
+}
+
+pkg_postinst() {
+       tmpfiles_process pppd.conf
+}

Reply via email to