Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37574913
en ru br
ALT Linux repos
S:2.5.0-alt1
5.0: 2.4.4-alt11
4.1: 2.4.4-alt10.M41.1
4.0: 2.4.4-alt10
+updates:2.4.4-alt10
3.0: 2.4.2-alt6
+updates:2.4.2-alt6.M30.1

Group :: System/Servers
RPM: ppp

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%set_verify_elf_method relaxed

%def_disable static

%def_with pam
%def_with cbcp
%def_with chapms
%def_with crypt
%def_with mppe
%def_with libatm

Name: ppp
Version: 2.4.4
Release: alt10
Summary: The PPP daemon and documentation
License: distributable
Group: System/Servers
Url: http://www.samba.org/ppp

%add_findprov_lib_path %_libdir/pppd/%version

%define srcname %name-%version
Source0: %srcname.tar.bz2
Source1: %name-2.4.1-sample.tar
Source2: %name.pamd
Source3: ppp-dhcpc.tar.bz2
Source4: ppp.control
Source5: ppp.logrotate

Patch1: ppp-2.4.4-alt-makefile.patch
Patch2: ppp-2.4.2-alt-pppd-lock.patch
Patch3: ppp-2.4.2-alt-pppd-noresolv.patch
Patch5: ppp-2.4.1-alt-scripts-callback.patch
Patch6: ppp-2.4.2-alt-opts.patch
#Patch7: ppp-2.4.2-asp-cbcp-mps.patch
#Patch8: ppp-2.4.2-asp-radius-chap.patch
Patch9: ppp-20031003-alt-cleardefaultroute.patch
Patch10: ppp-2.4.2-alt-optsigsegv.patch
Patch11: ppp-2.4.4-alt-killmypg.patch
Patch12: ppp-2.4.2-alt-holdoffhack.patch
Patch13: ppp-2.4.4-alt-lib64.patch
Patch14: ppp-2.4.3-includes-sha1.patch
Patch15: ppp-2.4.4-mppe-mppc-1.1.patch
Patch16: ppp-2.4.2-lvu-linkpidfile-backport.patch
Patch17: ppp-2.4.4-lvu-sigterm.patch
Patch18: ppp-2.4.2-alt-leave-ttyperms-alone.patch
Patch19: ppp-2.4.1-varargs.patch
Patch20: ppp-2.4.3-alt-openssl.patch
Patch21: ppp-2.4.4-deb-useopenssl.patch
Patch22: ppp-2.4.4-deb-fixmschapv2.patch
Patch23: ppp-2.4.4-deb-load_ppp_generic_if_needed.patch
Patch24: ppp-2.3.11-suse-oedod.patch
Patch25: ppp-2.4.2-__P.diff
Patch26: ppp-2.4.2-ifname.diff
Patch27: ppp-2.4.2-logwtmp.diff
Patch28: ppp-2.4.2-pie.patch
Patch29: ppp-2.4.2-pppoatm-mtu.patch
Patch30: ppp-2.4.2-smpppd.diff
Patch31: ppp-2.4.3-demand-fix.diff
Patch32: ppp-2.4.3-filter.diff
Patch33: ppp-2.4.3-fixprotoinc.patch
Patch34: ppp-2.4.3-fork-fix.diff
Patch35: ppp-2.4.3-hspeed.patch
Patch36: ppp-2.4.3-ipv6-accept-remote.patch
Patch37: ppp-2.4.3-winbind-setuidfix.patch
Patch38: ppp-2.4.1-pidfile-owner.patch
Patch39: ppp-2.4.2-rp-pppoe-macaddr.patch
Patch40: ppp-2.4.2-rp-pppoe-update.patch
Patch41: pppd-2.4.2-chapms-strip-domain.patch
Patch42: ppp-2.4.4-deb-readable_connerrs.patch
Patch43: ppp-2.4.4-alt-dhcp-makefile.patch
Patch44: ppp-2.4.2-cbcp.patch
Patch45: ppp-2.4.4-cbcp-alt.patch
Patch46: ppp-2.4.4-cbcp-alt-2.patch
Patch47: ppp-2.4.4-cbcp-alt-3.patch
Patch48: ppp-2.4.4-eaptls-mppe-0.9.patch
# next one is Patch18 rediffed for 2.4.4
Patch49: ppp-2.4.4-alt-leave-ttyperms-alone.patch
Patch50: ppp.overflow.fix.patch
Patch51: ppp-2.4.4-deb-cifdefroute.diff
Patch52: ppp-2.4.4-dontwriteetc.patch
Patch53: ppp-2.4.4-alt-minunit.patch
Patch54: ppp-2.4.4-alt-ipparam.patch

Packager: Denis Smirnov <mithraen at altlinux.ru>

PreReq: /var/lock/serial
Obsoletes: ppp-cbcp, ppp-mppe
Obsoletes: ppp-extra

BuildRequires: glibc-devel libatm-devel libpam-devel libpcap-devel libssl-devel perl-IPC-Signal perl-Proc-Daemon perl-Proc-WaitStat libcurl-devel
Requires: ppp-common libcurl libssl


%package devel
Summary: Header files needed for building extra pppd plugins
Group: Development/C
Requires: %name = %version-%release

%package radius
Summary: RADIUS authentication plugin for pppd
Group: System/Servers
Requires: %name = %version-%release

%package pppoatm
Summary: PPP over ATM plugin for pppd
Group: System/Servers
Requires: %name = %version-%release


%package pppoe
Summary: PPP over ethernet plugin for pppd
Group: System/Servers
Requires: %name = %version-%release

%package dhcp
Summary: DHCP plugin for %{name}
Group: System/Servers
Requires: %name = %version-%release

%description
The %name package contains the PPP (Point-to-Point Protocol) daemon
and documentation for PPP support.  The PPP protocol provides a
method for transmitting datagrams over serial point-to-point links.

The %name package should be installed if your machine need to support
the PPP protocol.

%description devel
Header files needed for building extra pppd plugins.

%description radius
The Remote Authentication Dial In User Service (RADIUS) plugin for pppd
permits pppd to perform PAP, CHAP, MS-CHAP and MS-CHAPv2 authentication
against a RADIUS server instead of the usual /etc/ppp/pap-secrets and
/etc/ppp/chap-secrets files.

%description pppoatm
PPP over ATM plugin for pppd.

%description pppoe
PPP over ethernet plugin for pppd.

%description    dhcp
DHCP plugin for pppd.


%prep
%setup -q -n %srcname -a1 -a2
pushd pppd/plugins
   tar -xjf %{SOURCE3}
popd

%patch1 -p1
%patch2 -p1
%patch3 -p1
#patch5 -p1
%patch6 -p1
#patch7 -p1
#patch8 -p1
# removed in favour of patch51, see #9256
#patch9 -p1
%patch10 -p1
# Conflicts with patch 17
#patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
#patch15 -p1
# patch16 -p1
%patch17 -p1
# NB: patch44 currently relies on patch18 it reverts :-/
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p0
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p0
%patch31 -p0
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p0
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p0
%patch45 -p0
%patch46 -p0
%patch47 -p1
%patch48 -p1
# NB: patch44 (cbcp) reverts patch18 (ttyperms) -- seems like
# somebody diffed it against wrong result tree which was missing
# that fix; to be less intrusive as a non-maintainer I'll just add
# updated patch18 again. -- mike on 20070927
%patch49 -p2
%patch50 -p2
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1

# enable the dhcp plugin

perl -p -i -e "s|^(PLUGINS :=)|SUBDIRS += dhcp\n\$1|g" pppd/plugins/Makefile.linux
#set the right paths in radiusclient.conf
sed -i -e "s|/usr/local/etc|%_sysconfdir|" \
    -e "s|/usr/local/sbin|%_sbindir|" pppd/plugins/radius/etc/radiusclient.conf
#set config dir to /etc/ppp/radius
sed -i -e "s|/etc/radiusclient|/etc/ppp/radius|g" \
pppd/plugins/radius/{*.8,*.c,*.h} \
pppd/plugins/radius/etc/*

find -type f -name \*.orig -print -delete

%build
CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" %configure
%make_build %{?_with_pam:USE_PAM=y} \
   %{?_with_cbcp:CBCP=y} \
   %{?_with_chapms:CHAPMS=y} \
   %{?_with_crypt:USE_CRYPT=y} \
   %{?_with_mppe:MPPE=y} \
   %{?_with_libatm:HAVE_LIBATM=y} \
   COPTS=" $RPM_OPT_FLAGS -fPIC -Wall -D_GNU_SOURCE -fno-strict-aliasing " \
   CC="gcc" \
   libdir=%_libdir

%install
%make_install install DESTDIR=$RPM_BUILD_ROOT \
BINDIR=$RPM_BUILD_ROOT/%_sbindir \
INCDIR=$RPM_BUILD_ROOT/%_includedir \
libdir=%_libdir \
MANDIR=$RPM_BUILD_ROOT/%_man8dir \
RUNDIR=%buildroot%_var/run/ppp \
LOGDIR=%buildroot%_logdir/ppp
%make_install install-etcppp INSTROOT=$RPM_BUILD_ROOT \
ETCDIR=$RPM_BUILD_ROOT/%_sysconfdir/%name

for f in `find scripts/ sample/ -type f`; do
chmod 644 "$f"
if fgrep -qs /usr/local/bin/ "$f"; then
subst -p 's|/usr/local/bin|%_bindir|g' "$f"
fi
if file -b "$f" |fgrep -qs 'shell script'; then
chmod a+x "$f"
fi
done

install -pD -m640 %SOURCE2 $RPM_BUILD_ROOT%_sysconfdir/pam.d/%name

mkdir -p $RPM_BUILD_ROOT%_sysconfdir/%name/peers
install -p -m600 sample/callback-* $RPM_BUILD_ROOT%_sysconfdir/%name/

mkdir -p $RPM_BUILD_ROOT%_sysconfdir/%name/radius
cp -a pppd/plugins/radius/etc/* $RPM_BUILD_ROOT%_sysconfdir/%name/radius/

install -pD -m755 %SOURCE4 %buildroot%_controldir/%name

# Provide pointers for people who expect stuff in old places

mkdir -p %buildroot%_logdir/%name
mkdir -p %buildroot%_var/run/%name
touch %buildroot%_logdir/%name/connect-errors
touch %buildroot%_var/run/%name/resolv.conf

ln -s ../..%_logdir/%name/connect-errors %buildroot%_sysconfdir/%name/connect-errors
ln -s ../..%_var/run/%name/resolv.conf %buildroot%_sysconfdir/%name/resolv.conf

# Logrotate script

install -pD -m644 %SOURCE5 %buildroot%_sysconfdir/logrotate.d/%name

%pre
%pre_control %name

%post
%post_control -s traditional %name

%files
%attr(711,root,root) %_sbindir/*
%attr(700,root,root) %dir %_logdir/%name
%attr(755,root,root) %dir %_sysconfdir/%name
%attr(711,root,root) %dir %_sysconfdir/%name/peers
%attr(600,root,root) %config(noreplace) %_sysconfdir/%name/*-secrets
%attr(600,root,root) %config(noreplace) %_sysconfdir/%name/eaptls-*
%attr(750,root,root) %config(noreplace) %_sysconfdir/%name/callback-*
%attr(644,root,root) %config(noreplace) %_sysconfdir/%name/options
%attr(600,root,root) %_sysconfdir/%name/connect-errors
%attr(644,root,root) %_sysconfdir/%name/resolv.conf
%config(noreplace) %_sysconfdir/logrotate.d/%name
%config(noreplace) %_sysconfdir/pam.d/%name
%config %_controldir/%name
%_libdir/pppd
%_var/run/%name
%_logdir/%name/*
%exclude %_libdir/pppd/%version/pppoatm.so
%exclude %_libdir/pppd/%version/rp-pppoe.so
%exclude %_libdir/pppd/%version/rad*
%exclude %_libdir/pppd/%version/dhcpc.so
%_man8dir/*.8*
%exclude %_man8dir/*rad*
%doc PLUGINS SETUP FAQ README* scripts sample

%files devel
%_includedir/pppd

%files pppoatm
%_libdir/pppd/%version/pppoatm.so

%files pppoe
%_libdir/pppd/%version/rp-pppoe.so
%attr(755,root,root) %_sbindir/pppoe-discovery

%files radius
%_libdir/pppd/%version/rad*.so
%_man8dir/*rad*
%config(noreplace) %_sysconfdir/%name/radius/

%files dhcp
%doc pppd/plugins/dhcp/README
%doc pppd/plugins/dhcp/AUTHORS
%doc pppd/plugins/dhcp/COPYING
%_libdir/pppd/%version/dhcpc.so

# TODO:

# - cleanup patchy mess of patch18 and patch49, see 2.4.4-alt7.1
# - more spec cleanup re $RPM_BUILD_ROOT and friends

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin