mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
- 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>
104 lines
4.4 KiB
Plaintext
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)
|