FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 10-01-2010, 01:07 PM
Peter Volkov
 
Default gentoo-x86 commit in net-misc/openvpn: ChangeLog openvpn-2.1.3.ebuild

В Пнд, 27/09/2010 в 11:37 +0000, Dirkjan Ochtman (djc) пишет:
> src_prepare() {
> epatch "${FILESDIR}/${PN}-2.1_rc13-peercred.patch"
> epatch "${FILESDIR}/${PN}-2.1_rc20-pkcs11.patch"
> use ipv6 && epatch "${WORKDIR}/${PN}-2.1.1-ipv6-${IPV6_VERSION}.patch"
> use eurephia && epatch "${DISTDIR}/${PN}-2.1.0_eurephia.patch"
> sed -i
> -e "s/gcc ${CC_FLAGS}/${CC} ${CFLAGS} -Wall/"
> -e "s/-shared/-shared ${LDFLAGS}/"
> plugin/*/Makefile || die "sed failed"
> eautoreconf

Is autoreconf really necessary here? Looks like it is redundant in case
ipv6 or eurephia are disabled.

> src_configure() {

> econf ${myconf}
> $(use_enable passwordsave password-save)
> $(use_enable ssl)
> $(use_enable ssl crypto)
> $(use_enable iproute2)
> || die "configure failed"

|| die is redundant here.


> src_compile() {
> use static && sed -i -e '/^LIBS/s/LIBS = /LIBS = -static /' Makefile
>
> emake || die "make failed"
>
> if ! use minimal ; then
> cd plugin
> for i in $( ls 2>/dev/null ); do

This is bad construction:
http://mywiki.wooledge.org/BashPitfalls#for_i_in_.24.28ls_.2A.mp3.29

> [[ ${i} == "README" || ${i} == "examples" || ${i} == "defer" ]] && continue
> [[ ${i} == "auth-pam" ]] && ! use pam && continue
> einfo "Building ${i} plugin"
> cd "${i}"
> emake CC=$(tc-getCC) || die "make failed"
> cd ..

I think pushd/popd are better suited for this then cd "${dir}" / cd ..

> done
> cd ..
> fi
> }

> # remove empty dir
> rmdir "${D}/usr/share/doc/openvpn"

|| die is prudent here.

> # Empty dir
> dodir /etc/openvpn
> keepdir /etc/openvpn

dodir is redundant: keepdir will create directory.

> # Install some helper scripts
> exeinto /etc/openvpn
> doexe "${FILESDIR}/up.sh"
> doexe "${FILESDIR}/down.sh"

|| die after doexe is really good idea.

> # Install the init script and config file
> newinitd "${FILESDIR}/${PN}-2.1.init" openvpn
> newconfd "${FILESDIR}/${PN}-2.1.conf" openvpn

|| die absent

> # install examples, controlled by the respective useflag
> if use examples ; then
> # dodoc does not supportly support directory traversal, #15193
> insinto /usr/share/doc/${PF}/examples
> doins -r sample-{config-files,keys,scripts} contrib
> prepalldocs
> fi

> # Install plugins and easy-rsa
> if ! use minimal ; then
> cd easy-rsa/2.0
> make install "DESTDIR=${D}/usr/share/${PN}/easy-rsa"
> cd ../..
>
> exeinto "/usr/$(get_libdir)/${PN}"
> doexe plugin/*/*.so
> fi
> }
>
> pkg_postinst() {
> # Add openvpn user so openvpn servers can drop privs
> # Clients should run as root so they can change ip addresses,
> # dns information and other such things.
> enewgroup openvpn
> enewuser openvpn "" "" "" openvpn
>
> if [[ -n $(ls /etc/openvpn/*/local.conf 2>/dev/null) ]] ; then

I'd suggested [ -e /etc/openvpn/*/local.conf ] here, but probably there
are better alternatives. Also ${ROOT} is missed here.

> ewarn "WARNING: The openvpn init script has changed"
> ewarn ""
> fi
>
> einfo "The openvpn init script expects to find the configuration file"
> einfo "openvpn.conf in /etc/openvpn along with any extra files it may need."

This information is for users, so, please, use elog here.

> einfo ""
> einfo "To create more VPNs, simply create a new .conf file for it and"
> einfo "then create a symlink to the openvpn init script from a link called"
> einfo "openvpn.newconfname - like so"
> einfo " cd /etc/openvpn"
> einfo " ${EDITOR##*/} foo.conf"
> einfo " cd /etc/init.d"
> einfo " ln -s openvpn openvpn.foo"
> einfo ""
> einfo "You can then treat openvpn.foo as any other service, so you can"
> einfo "stop one vpn and start another if you need to."
>
> if grep -Eq "^[ ]*(up|down)[ ].*" "${ROOT}/etc/openvpn"/*.conf 2>/dev/null ; then
> ewarn ""
> ewarn "WARNING: If you use the remote keyword then you are deemed to be"
> ewarn "a client by our init script and as such we force up,down scripts."
> ewarn "These scripts call /etc/openvpn/$SVCNAME-{up,down}.sh where you"
> ewarn "can move your scripts to."
> fi
>
> if ! use minimal ; then
> einfo ""
> einfo "plugins have been installed into /usr/$(get_libdir)/${PN}"
> fi
>
> if use ipv6 ; then
> einfo ""
> einfo "This build contains IPv6-Patch from JuanJo Ciarlante."
> einfo "For more information please visit:"
> einfo "http://github.com/jjo/openvpn-ipv6"
> fi
>
> if use eurephia ; then
> einfo ""
> einfo "This build contains eurephia patch."
> einfo "For more information please visit:"
> einfo "http://www.eurephia.net/"
> fi
> }

--
Peter.
 

Thread Tools




All times are GMT. The time now is 07:03 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org