# $Id$ PNAME="ppp" PVER="2.4.7" PBUILD="r1" PCAT="net-dialup" DESCRIPTION="PPP (Point-to-Point Protocol) client and utilities." HOMEPAGE="http://ppp.samba.org/" DEPEND=">= net-libs/libpcap-1.5 >= sys-libs/pam-1.1" SDEPEND=">= virtual/sed" SRCFILE="${PNAME}-${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude mtools IPUP_REV="1.2" IPUP_DNS_REV="1.2" IPDOWN_REV="1.2" IPDOWN_DNS_REV="1.2" SRC_URI=( ftp://ftp.samba.org/pub/${PNAME}/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${PNAME}-2.4.5-make-vars.patch mirror://${PNAME}/${PNAME}-2.4.5-mpls.patch mirror://${PNAME}/${PNAME}-2.4.4-killaddr-smarter.patch mirror://${PNAME}/${PNAME}-2.4.4-wait-children.patch mirror://${PNAME}/${PNAME}-2.4.4-defaultgateway.patch mirror://${PNAME}/${PNAME}-2.4.4-linkpidfile.patch mirror://${PNAME}/${PNAME}-2.4.4-qa-fixes.patch mirror://${PNAME}/${PNAME}-2.4.5-kill-pg-reworked.patch mirror://${PNAME}/${PNAME}-2.4.4-auth-fail.patch mirror://${PNAME}/${PNAME}-2.4.4-defaultmetric.patch mirror://${PNAME}/${PNAME}-2.4.4-gtk2.patch mirror://${PNAME}/${PNAME}-2.4.4-passwordfd-read-early.patch mirror://${PNAME}/${PNAME}-2.4.5-connect-errors.patch mirror://${PNAME}/ip-up-${IPUP_REV} mirror://${PNAME}/ip-down-${IPDOWN_REV} mirror://${PNAME}/ip-upd-30-wins.sh mirror://${PNAME}/ip-upd-40-dns.sh-${IPUP_DNS_REV} mirror://${PNAME}/ip-upd-50-initd.sh mirror://${PNAME}/ip-downd-30-wins.sh mirror://${PNAME}/ip-downd-40-dns.sh-${IPDOWN_DNS_REV} mirror://${PNAME}/ip-downd-50-initd.sh mirror://${PNAME}/modules.ppp mirror://${PNAME}/provider.example mirror://${PNAME}/ppp.pam-systemauth ) UP2DATE="updatecmd ${HOMEPAGE} | grep latest | sed 's/.* \(.*\), .*/\1/'" src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # several patches from gentoo mpatch ${PNAME}-2.4.5-make-vars.patch || die mpatch ${PNAME}-2.4.5-mpls.patch || die mpatch ${PNAME}-2.4.4-killaddr-smarter.patch || die mpatch ${PNAME}-2.4.4-wait-children.patch || die mpatch ${PNAME}-2.4.4-defaultgateway.patch || die mpatch ${PNAME}-2.4.4-linkpidfile.patch || die mpatch ${PNAME}-2.4.4-qa-fixes.patch || die mpatch ${PNAME}-2.4.5-kill-pg-reworked.patch || die mpatch ${PNAME}-2.4.4-auth-fail.patch || die mpatch ${PNAME}-2.4.4-defaultmetric.patch || die mpatch ${PNAME}-2.4.4-passwordfd-read-early.patch || die mpatch ${PNAME}-2.4.5-connect-errors.patch || die # enable ipv6 support sed -i "s:^#HAVE_INET6:HAVE_INET6:" pppd/Makefile.linux || die # enable pam support sed -i "s:^#USE_PAM=y:USE_PAM=y:" pppd/Makefile.linux || die # enable Microsoft proprietary Callback Control Protocol sed -i "s:^#CBCP=y:CBCP=y:" pppd/Makefile.linux || die # fix libdir on 64bit arches sed -i "s:/lib/pppd:/$(mlibdir)/pppd:" pppd/pathnames.h || die sed -i "s:/lib/pppd:/$(mlibdir)/pppd:" pppd/pppd.8 || die sed -i "s:^\(LIBDIR =\).*:\1 \$(DESTDIR)/$(mlibdir)/pppd/\$(VERSION):" \ pppd/plugins/Makefile.linux || die sed -i "s:^\(LIBDIR =\).*:\1 \$(DESTDIR)/$(mlibdir)/pppd/\$(VERSION):" \ pppd/plugins/*/Makefile.linux || die } src_compile() { cd ${SRCDIR} # -as-needed not suported export LDFLAGS="${LDFLAGS//-Wl,--as-needed}" # fix cflags and add -fPIC and print all errors, # -D_GNU_SOURCE is needed for ipv6 to work apparently export CFLAGS="${CFLAGS} -D_GNU_SOURCE -fPIC -Wall" mconfigure || die mmake || die # compile pppgetpass too mmake -C contrib/pppgetpass pppgetpass.vt || die } src_install() { cd ${SRCDIR} minstalldir /etc/ppp || die mmake INSTROOT=${BINDIR} install || die mmake INSTROOT=${BINDIR} install-etcppp || die # fix permissions mchmod u+s-w /usr/sbin/pppd || die # pam related stuff minstallpam ppp.pam-systemauth ppp || die # install module aliases minstalldir /etc/modprobe.d || die minstallfile -s modules.ppp /etc/modprobe.d/ppp.conf || die # helper scripts minstallexec -s ip-up-${IPUP_REV} /etc/ppp/ip-up || die minstallexec -s ip-down-${IPDOWN_REV} /etc/ppp/ip-down || die # ip-up helpers minstalldir /etc/ppp/ip-up.d || die minstallexec -s ip-upd-30-wins.sh /etc/ppp/ip-up.d/30-wins.sh || die minstallexec -s ip-upd-40-dns.sh-${IPUP_DNS_REV} /etc/ppp/ip-up.d/40-dns.sh || die minstallexec -s ip-upd-50-initd.sh /etc/ppp/ip-up.d/50-initd.sh || die # ip-down helpers minstalldir /etc/ppp/ip-down.d || die minstallexec -s ip-downd-30-wins.sh /etc/ppp/ip-down.d/30-wins.sh || die minstallexec -s ip-downd-40-dns.sh-${IPDOWN_DNS_REV} /etc/ppp/ip-down.d/40-dns.sh || die minstallexec -s ip-downd-50-initd.sh /etc/ppp/ip-down.d/50-initd.sh || die # install a provider example mkeepdir /etc/ppp/peers || die minstallfile -s provider.example /etc/ppp/peers || die # some nice scripts and progs minstallexec scripts/pon /usr/sbin || die minstallexec scripts/poff /usr/sbin || die minstallexec scripts/plog /usr/sbin || die minstallexec contrib/pppgetpass/pppgetpass.vt /usr/sbin/pppgetpass || die # missing man pages minstallman scripts/pon.1 || die minstallman contrib/pppgetpass/pppgetpass.8 || die # more example scripts minstalldir /usr/share/doc/${PNAME}-${PVER} || die cp -R scripts ${BINDIR}/usr/share/doc/${PNAME}-${PVER} || die minstalldocs Changes* FAQ PLUGINS README* SETUP || die } postinstall() { # get rid of /etc/modules.d/ppp if [[ -f ${MROOT}/etc/modules.d/ppp ]] then rm ${MROOT}/etc/modules.d/ppp || die fi }