From: Steve Long <slong@rathaus.eclipse.co.uk>
To: gentoo-dev@lists.gentoo.org
Subject: [gentoo-dev] Re: Re: Re: Re: [RFC] What features should be included in EAPI 2?
Date: Sat, 23 Aug 2008 15:15:33 +0100 [thread overview]
Message-ID: <g8p68g$uvb$1@ger.gmane.org> (raw)
In-Reply-To: b41005390808211926i6dff4557q93d32a06f1e7146d@mail.gmail.com
Alec Warner wrote:
> At least one has...do you want to vote for each feature? What will it
> take to convince you?
>
It's not up to me, and I've already conceded on IRC that the consensus is
against me (just letting others know); that's life *shrug*
>>> (The one missing is a src_fetch_extra or somesuch, for use by the scm
>>> eclasses. But that wants special handling, and is probably best left to
>>> another EAPI...)
>>>
>> Yes, a defined, configurable API for dealing with any version control
>> would be useful, though your minion seemed to argue against it in
>> #-portage. I can think of a couple of things that would be more useful to
>> end-users: pkg_check for interactive ebuilds (eg license acceptance or
>> media access), proper support for cross-compiling, integration of prefix,
>> better handling of overlays, and of binpkgs..
>>
>
> Your comment is arguably about feature prioritization; not about
> whether a given feature is necessary.
>
> If we have two orthogonal features A and B; you can't argue that A is
> necessary and B is not because A is more important to work on; the
> only thing you have succeeded in doing is arguing that A should be
> done first.
>
My point was that pkg_check has been requested from years ago, and focus (on
the ml, not in terms of what gets done on portage) over the last year or so
seems to be much more on things which make it easier for devs to work on
live ebuilds (not surprising with kde-4) not on stuff which would make the
end-user experience easier, which is what would bring more new users (and
thus new devs) in. Both are important, but making your users' lives easier
means less support burden, which means you get more time to play with shiny
new (aka 'broken') code.
Further, I think it would be cleaner if the package manager had a defined
configuration to deal with any version control system via an eclass,
meaning adding a new one would simply be a case of adding the .eclass to
the tree and the eclass name to a profile, with no changes at all required
in the mangler, beyond support for the base API (which is in any event
handled by bash.)
Eclass versioning would be nice too.
>> In maintenance terms (when looking at the
>> lifecycle of an ebuild) I don't see the need, since there is no unpacking
>> required from a vcs pull. Once it's made into a normal ebuild, any
>> preparation would necessarily require review and might not be needed at
>> all.
>>
>> Call the function what you like (or add a new phase with the hooks) it's
>> still logically one point in time. For a live ebuild it's to prepare the
>> src, for a normal one to (possibly) unpack and prepare.
>>
>> src_configure is a logically distinct action which warrants a new phase,
>> since the e*conf call in compile makes retrying a long build (without
>> having to recompile stuff which doesn't need it) much more difficult; its
>> absence prevents full use of make. Prepare does not warrant a new phase
>> imo since it should only be run once per compilation instance; anything
>> it does can either be done in unpack, or in configure should that be more
>> useful.
>
> src_prepare is a logically distinct action (maybe if we called it
> src_patch it would be clearer?)
Er no you're fine, I've been thinking of it as src_patch for quite a while
now.
> Certainly we only want to patch sources once every time we want to
> build a package; what if patching is expensive?
>
Indeed, that was my point above; it only needs to be done once per instance,
whereas configure is something that might well be done more than once. How
does that change by having it in unpack (which is empty for a live vcs pull
in any case)?
Also, if you added support for declarative patches, I think you'd soon end
up in a similar situation as with unpack, where there simply isn't a need
for the ebuild author to write their own in the vast majority of cases.
Thing is you'd then be stuck with a new phase and unable to withdraw it,
cos it "only took 10 minutes to add."
> The point being the same argument that is for src_configure (that it
> is expensive and adding it makes ebuilds clearer) could be said for
> src_prepare (preparation could be expensive and it makes ebuilds
> clearer).
>
The compelling argument for configure isn't that it's clearer (although it
helps): it's that not having it makes it _impossible_ to restart an ebuild
which uses the standard configure make cycle, say if the user has turned
off collision-protect in order to get OpenOffice to install, or as recently
highlighted in #-dev-help, for an ebuild dev to do the same, via
FEATURES=noclean ebuild package.ebuild install.
Presumably that's the root cause of "confusion over where to put
eautoreconf," since putting it in unpack and not compile gets round the
issue.
> So why again should we not add it?
>
I have no issue with the function being part of the EAPI; adding it as a
_phase_ seems less wise, but like I said, I accept the consensus is against
me.
next prev parent reply other threads:[~2008-08-23 14:19 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-13 8:18 [gentoo-dev] [RFC] What features should be included in EAPI 2? Zac Medico
2008-08-13 12:03 ` Ciaran McCreesh
2008-08-13 21:02 ` Zac Medico
2008-08-19 11:12 ` [gentoo-dev] " Steve Long
2008-08-19 12:45 ` Ciaran McCreesh
2008-08-19 18:01 ` Arun Raghavan
2008-08-19 18:18 ` Ciaran McCreesh
2008-08-19 20:27 ` [gentoo-dev] " Steve Long
2008-08-19 20:43 ` Ciaran McCreesh
2008-08-21 15:35 ` [gentoo-dev] " Steve Long
2008-08-21 15:58 ` Ciaran McCreesh
2008-08-22 2:26 ` Alec Warner
2008-08-23 14:15 ` Steve Long [this message]
2008-09-01 14:31 ` Peter Volkov
2008-08-27 3:15 ` [gentoo-dev] " Ryan Hill
2008-08-21 17:37 ` Thomas Anderson
2008-08-13 20:28 ` [gentoo-dev] " Petteri Räty
2008-08-13 21:07 ` Zac Medico
2008-08-13 22:55 ` Petteri Räty
2008-08-25 20:03 ` Jorge Manuel B. S. Vicetto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='g8p68g$uvb$1@ger.gmane.org' \
--to=slong@rathaus.eclipse.co.uk \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox