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
From: Mike Frysinger <vapier@g.o>
Subject: Re: autotools.eclass:eautoreconf now runs autopoint for you
Date: Mon, 21 May 2012 13:29:01 -0400
On Monday 21 May 2012 12:08:21 Alexandre Rostovtsev wrote:
> On Mon, 2012-05-21 at 11:36 -0400, Mike Frysinger wrote:
> > On Monday 21 May 2012 02:41:18 Alexandre Rostovtsev wrote:
> > > On Sun, 2012-05-20 at 06:32 -0400, Mike Frysinger wrote:
> > > > i've extended eautoreconf to automatically call autopoint when the
> > > > package uses gettext.  the configure check might seem naïve, but this
> > > > is how autoreconf itself does it.  this hopefully shouldn't break
> > > > any packages (at least, none that weren't already broken), but if
> > > > you guys start seeing eautoreconf failures where there were none
> > > > before, feel free to cc base-system. -mike
> > > > 
> > > > --- autotools.eclass
> > > > +++ autotools.eclass
> > > > @@ -162,6 +162,9 @@ eautoreconf() {
> > > > 
> > > >  	einfo "Running eautoreconf in '${PWD}' ..."
> > > >  	[[ -n ${auxdir}${macdir} ]] && mkdir -p ${auxdir} ${macdir}
> > > >  	eaclocal
> > > > 
> > > > +	if grep -q '^AM_GNU_GETTEXT_VERSION' configure.?? ; then
> > > > +		eautopoint --force
> > > > +	fi
> > > > 
> > > >  	[[ ${CHOST} == *-darwin* ]] && g=g
> > > >  	if ${LIBTOOLIZE:-${g}libtoolize} -n --install >& /dev/null ;then
> > > >  	
> > > >  		_elibtoolize --copy --force --install
> > > 
> > > This change broke many gnome-related packages, see bug #416789. You
> > > cannot assume that every package that uses AM_GNU_GETTEXT_VERSION wants
> > > (just) autopoint;
> > 
> > two things:
> >  - eautoreconf acts like autoreconf which means it can assume that use of
> > AM_GNU_GETTEXT_VERSION implies use of `autopoint`
> >  - it doesn't assume *just* autopoint -- nothing is stopping you from
> >  running any other random tools you like (such as intltool)
> 
> Changing eautoreconf's behavior to exactly match vanilla autoconf may
> make sense from your point of view as an autotools maintainer, but it
> breaks ebuilds that do not want vanilla autoconf semantics and that are
> relying on eautoreconf's old, intltool-friendly behavior.

it still makes sense.  i don't have a problem integrating a call to intltool, 
but your proposed code isn't the way to go.

> > > there are also packages that use intltool (to be run
> > > after autopoint) or glib-gettext (in which case autopoint should not be
> > > used at all).
> > 
> > so attempting to run `autoreconf` in those packages fails ?
> 
> It results in configure failure. E.g.

so the answer is "yes, these packages fail to work with `autoreconf`"

> > > +# @ECLASS-VARIABLE: WANT_INTLTOOL
> > > +# @DESCRIPTION:
> > > +# Do you want intltool?  Valid values here are "latest" and "none".
> > > +: ${WANT_INTLTOOL:=latest}
> > > ...
> > > +_intltool_atom="dev-util/intltool"
> > > +if [[ -n ${WANT_INTLTOOL} ]] ; then
> > > +	case ${WANT_INTLTOOL} in
> > > +		none)   _intltool_atom="" ;;
> > > +		latest) ;;
> > > +		*)      die "Invalid WANT_INTLTOOL value '${WANT_INTLTOOL}'" ;;
> > > +	esac
> > > +	export WANT_LIBTOOL
> > > +fi
> > > ...
> > > -AUTOTOOLS_DEPEND="${_automake_atom} ${_autoconf_atom} ${_libtool_atom}"
> > > +AUTOTOOLS_DEPEND="${_automake_atom} ${_autoconf_atom} ${_intltool_atom}
> > 
> > no.  this adds intltool as a dependency to every package inherting this
> > eclass.
> 
> Why is that unacceptable?

fairly obvious why

> Realistically, every Gentoo machine, with the exception of pure deployment
> installations that don't build any packages (and therefore don't care about
> autotools.eclass anyway), already has intltool installed.

extending the set of machines that you care about to include all setups is 
obviously wrong (i certainly have machines that "build packages" that don't 
have intltool installed).  and even if that wasn't true, it'd be entirely 
irrelevant.  spurious dependencies are not acceptable.
-mike
Attachment:
signature.asc (This is a digitally signed message part.)
Replies:
Re: autotools.eclass:eautoreconf now runs autopoint for you
-- Alexandre Rostovtsev
References:
autotools.eclass:eautoreconf now runs autopoint for you
-- Mike Frysinger
Re: autotools.eclass:eautoreconf now runs autopoint for you
-- Mike Frysinger
Re: autotools.eclass:eautoreconf now runs autopoint for you
-- Alexandre Rostovtsev
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: autotools.eclass:eautoreconf now runs autopoint for you
Next by thread:
Re: autotools.eclass:eautoreconf now runs autopoint for you
Previous by date:
Re: enhancement for doicon/newicon in eutils.eclass
Next by date:
Re: enhancement for doicon/newicon in eutils.eclass


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.