Files
bpfire/lfs/ppp
Adolf Belka 2d94a852a8 ppp: Fix definition of directory for pid files
- When ppp was updated from version 2.5.0 to e1266c7 I missed that a new configure option
   was introduced. This is --with-runtime-dir=DIR.
- If this option is used then the run time directory for the pid files is defined by that
   DIR entry. If the option is not used then the pid directory is fixed as /var/run/pppd/
- Even if the --runstatedir=DIR option is used then it is ignored if the
   --with-runtime-dir=DIR option is used or not used even though both effectively deal
   with the same aspect.
- Some users in the forum had noticed that they had log messages saying that pid files
   could not be created because the files or directories did not exist. The pid files
   were being tried to be stored in /var/run/pppd/ but the pppd directory did not exist.
- This patch submission adds the --with-runtime-dir=/var/run option to the ppp configure
   command. This basically makes ppp act the same as it used to do previously with version
   2.5.0 and earlier.
- Changing IPFire to use /var/run/pppd/ is not a good idea as then there are several
   locations in IPFire that specify the pid directory location to /var/run/ as hard coded
   path. All of these locations would need to be identified and changed.
- Leaving IPFire to use /var/run means that only the ppp configure command needs to be
   modified.
- I hope that @adamgibbo and @markadewwet will be able to test out this change in CU187
   Testing when it is accepted. Those two users have got the pid error messages.
- Even if the ppp pid file can not be stored ppp will still successfully start. However
   the likelihood is that stoppinf ppp will not work as would be expected. This patch
   ensures that ppp will be able to store its pid files asa required whyen starting up.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-02 09:08:43 +00:00

104 lines
4.4 KiB
Plaintext

###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = e1266c7
THISAPP = ppp-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
CFLAGS += -fno-strict-aliasing
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = be60fadeed632ae2511e2d60148905da9868bd4271139b4fecab6b4b93e4a403e645d84204f907a8661748fb1a18b59c893925d91565520b9af791a45b0aaf4f
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && autoreconf -vfi
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-1-we-don-t-want-to-accidentally-leak-fds.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-e1266c7-2-everywhere-O_CLOEXEC-harder.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-3-everywhere-use-SOCK_CLOEXEC-when-creating-socket.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-4-increase-max-padi-attempts.patch
cd $(DIR_APP) && patch -Np0 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-5-headers_4.9.patch
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ppp/ppp-2.5.0-6-patch-configure-to-handle-cflags-properly.patch
cd $(DIR_APP) && ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--with-logfile-dir=/var/log \
--localstatedir=/var \
--with-runtime-dir=/var/run \
cc="gcc" \
cflags="$(CFLAGS)"
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
touch /var/log/connect-errors
-mkdir -p /etc/ppp
for i in $(DIR_SRC)/src/ppp/* ; do \
if [ -f $$i ]; then \
sed 's%CONFIG_ROOT%$(CONFIG_ROOT)%g' $$i > /etc/ppp/`basename $$i`; \
fi; \
done
chmod 755 /etc/ppp/{dialer,ip-up,ip-down}
ln -sf $(CONFIG_ROOT)/ppp/secrets /etc/ppp/pap-secrets
ln -sf $(CONFIG_ROOT)/ppp/secrets /etc/ppp/chap-secrets
@rm -rf $(DIR_APP)
@$(POSTBUILD)