Note: Due to technical difficulties, the Archives are currently not up to date.
GMANE provides an alternative service for most mailing lists. c.f. bug 424647
List Archive: gentoo-dev
| Navigation: |
|
Lists:
gentoo-dev:
< Prev
By Thread
Next >
< Prev
By Date
Next >
|
| Headers: |
|
To:
|
gentoo-dev@g.o, djc@g.o
|
|
From:
|
Peter Volkov <pva@g.o>
|
|
Subject:
|
Re: [gentoo-commits] gentoo-x86 commit in net-misc/openvpn: ChangeLog openvpn-2.1.3.ebuild
|
|
Date:
|
Fri, 01 Oct 2010 17:07:25 +0400
|
|
В Пнд, 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 "^[ \t]*(up|down)[ \t].*" "${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.
|
|