Gentoo Logo
Gentoo Spaceship




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.



Replies:
Re: [gentoo-commits] gentoo-x86 commit in net-misc/openvpn: ChangeLog openvpn-2.1.3.ebuild
-- Dirkjan Ochtman
Re: Re: [gentoo-commits] gentoo-x86 commit in net-misc/openvpn: ChangeLog openvpn-2.1.3.ebuild
-- Thomas Sachau
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
.la files removal news item (GLEP 42)
Next by thread:
Re: Re: [gentoo-commits] gentoo-x86 commit in net-misc/openvpn: ChangeLog openvpn-2.1.3.ebuild
Previous by date:
Re: Re: [gentoo-commits] gentoo-x86 commit in dev-python/sympy/files: sympy-0.6.7-python-2.7.patch
Next by date:
Re: [gentoo-commits] gentoo-x86 commit in net-libs/libproxy: ChangeLog libproxy-0.4.6.ebuild


Updated Jun 29, 2012

Summary: Archive of the gentoo-dev mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.