public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Alexis Ballier <aballier@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: [gentoo-dev-announce] EAPI 6 draft for review
Date: Mon, 19 Oct 2015 09:28:11 +0200	[thread overview]
Message-ID: <20151019092811.13162b00@gentoo.org> (raw)
In-Reply-To: <56249A3D.6040905@gentoo.org>

On Mon, 19 Oct 2015 03:22:37 -0400
"Anthony G. Basile" <blueness@gentoo.org> wrote:

> On 10/19/15 3:12 AM, Alexis Ballier wrote:
> > On Sun, 18 Oct 2015 12:17:58 +0200
> > Ulrich Mueller <ulm@gentoo.org> wrote:
> >  
> >>>>>>> On Sun, 18 Oct 2015, Michał Górny wrote:  
> >>> On Sun, 18 Oct 2015 11:54:40 +0200
> >>> Ulrich Mueller <ulm@gentoo.org> wrote:  
> >>>> So the question is if we should add a sentence like the following
> >>>> to the spec:
> >>>>
> >>>> In EAPIs where it is supported, all ebuilds must run
> >>>> \t{eapply\_user} in the \t{src\_prepare} phase.  
> >>> How about:
> >>>      In EAPIs listed in table blah blah blah, \t{eapply\_user}
> >>> must be called exactly once in the \t{src\_prepare} phase.
> >>> Which emphasizes that eclass or default may do it instead of
> >>> ebuild.  
> >> Yeah, that's better actually. We need not reference the table again
> >> though, since we do it in the sentence before.
> >>
> >>      In EAPIs where it is supported, \t{eapply\_user} must be
> >> called exactly once in the \t{src\_prepare} phase.  
> >
> > +1
> >
> > But there is something important we've overlooked: should eclasses
> > that export src_prepare call eapply_user ? I think yes, otherwise
> > they'd make packages inheriting them violate the 'at least once
> > rule'.
> >
> > Now, what about the not so uncommon case of a package inheriting
> > eclass1 & eclass2 both exporting src_prepare? this package would
> > define:
> >
> > src_prepare() {
> > 	eclass1-src_prepare
> > 	eclass2-src_prepare
> > }
> >
> > but then it would violate the 'call eapply_user at most once'
> > rule...
> >
> > sadly, I can't come up with a solution there...
> >  
> Why can't you just do something like this in the implementation of 
> eapply_user()?  I must be missing some subtle point.
> 
> foo() {
>          if [[ -z $DONE ]]; then
>                  DONE="all done"
>                  echo "in foo"
>          fi
> }

You can, but then PMS shouldn't mandate that it must be called at most
once; or rather mandate that that subsequent calls must be noops.
But then, this would mean in the above case that eclass2-src_prepare
could be applying patches that might be broken by user patches touching
the same files... I believe we can live with that though.


  reply	other threads:[~2015-10-19  7:28 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <22049.17676.1822.986579@a1i15.kph.uni-mainz.de>
2015-10-17 12:19 ` [gentoo-dev] Re: [gentoo-dev-announce] EAPI 6 draft for review Jason A. Donenfeld
2015-10-17 12:21   ` Jason A. Donenfeld
2015-10-17 12:24   ` Michał Górny
2015-10-17 12:28     ` hasufell
2015-10-17 12:52       ` Ulrich Mueller
2015-10-17 12:56         ` hasufell
2015-10-17 13:07           ` Ulrich Mueller
2015-10-17 15:22             ` hasufell
2015-10-17 16:40               ` Alexis Ballier
2015-10-17 22:16         ` Rich Freeman
2015-10-18  8:33           ` Alexis Ballier
2015-10-18  9:54           ` Ulrich Mueller
2015-10-18  9:56             ` Alexis Ballier
2015-10-18 10:13             ` Michał Górny
2015-10-18 10:17               ` Ulrich Mueller
2015-10-18 10:49                 ` Rich Freeman
2015-10-19  7:12                 ` Alexis Ballier
2015-10-19  7:22                   ` Anthony G. Basile
2015-10-19  7:28                     ` Alexis Ballier [this message]
2015-10-19  8:25                     ` Ulrich Mueller
2015-10-19  8:31                       ` Alexis Ballier
2015-10-19  7:58                   ` Michał Górny
2015-10-19  8:04                     ` Alexis Ballier
2015-10-19  8:09                       ` Michał Górny
2015-10-19  8:17                         ` Alexis Ballier
2015-10-19  8:07                     ` Anthony G. Basile
2015-10-19 22:07                     ` Andreas K. Huettel
2015-10-19 12:38                   ` Rich Freeman
2015-10-19 13:34                     ` Alexis Ballier
2015-10-19 13:51                       ` Rich Freeman
2015-10-19 14:21                         ` Alexis Ballier
2015-10-19 17:17                           ` Rich Freeman
2015-10-19 18:28                             ` Alexis Ballier
2015-10-19 19:49                               ` Rich Freeman
2015-10-20  7:51                                 ` Alexis Ballier
2015-10-20  8:57                                   ` Rich Freeman
2015-10-20  9:22                                     ` Alexis Ballier
2015-10-20 10:00                                       ` Rich Freeman
2015-10-20 10:25                                         ` Alexis Ballier
2015-10-21  1:24                                           ` Duncan
2015-10-21  7:29                                             ` Alexis Ballier
2015-10-18 10:36             ` Alexis Ballier
2015-10-20  7:47         ` Daniel Campbell
2015-10-20  8:00           ` Alexis Ballier
2015-10-17 12:42     ` Ulrich Mueller
2015-10-17 12:25   ` hasufell
2015-10-17 12:38     ` Rich Freeman
2015-10-17 12:49       ` hasufell
2015-10-17 12:56         ` Rich Freeman
2015-10-17 13:02           ` hasufell
2015-10-17 13:47         ` Alexis Ballier
2015-10-17 15:00           ` hasufell
2015-10-17 16:07             ` Anthony G. Basile
2015-10-17 16:35               ` Alexis Ballier
2015-10-17 18:03         ` Ciaran McCreesh
2015-10-18 11:37           ` hasufell
2015-10-18 11:43             ` Rich Freeman
2015-10-18 12:05               ` hasufell
2015-10-18 12:24                 ` Rich Freeman
2015-10-17 12:51       ` Michał Górny
2015-10-17 19:15         ` Rich Freeman
2015-10-17 20:08 ` Alexis Ballier
2015-10-17 20:47   ` Ulrich Mueller
2015-10-18  8:31     ` Alexis Ballier
2015-10-18  8:48       ` Michał Górny
2015-10-18  9:23         ` Alexis Ballier
2015-10-18 10:07           ` Michał Górny
2015-10-18 10:34             ` Alexis Ballier
2015-10-18 11:54           ` Andreas K. Huettel
2015-10-18 11:57             ` Alexis Ballier
2015-10-18 12:44       ` Ciaran McCreesh
2015-10-18 13:01         ` Rich Freeman
2015-10-18 18:00         ` Alexis Ballier
2015-10-18 18:06           ` Ciaran McCreesh
2015-10-18 18:19             ` Alexis Ballier
2015-10-18 18:36               ` Ciaran McCreesh
2015-10-18 19:20                 ` Alexis Ballier
2015-10-17 21:24   ` Michał Górny
2015-10-18  8:47     ` Alexis Ballier
2015-10-18  9:01       ` Michał Górny
2015-10-18  9:34         ` Alexis Ballier
2015-10-18 10:09           ` Michał Górny
2015-10-18 10:31             ` Alexis Ballier
2015-10-20 18:55 ` [gentoo-dev] utilizing BASH_COMPAT to smooth upgrades Mike Frysinger
2015-10-20 22:03   ` Ulrich Mueller
2015-10-20 22:51     ` Mike Frysinger
2015-10-21  7:34       ` [gentoo-dev] [PATCH] Recommend setting the bash compatibility level. (was: Re: utilizing BASH_COMPAT to smooth upgrades) Ulrich Mueller
2015-10-22 13:55         ` [gentoo-dev] " Mike Frysinger
2015-10-22 15:00           ` Ulrich Mueller
2015-10-22 15:21             ` Mike Frysinger

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=20151019092811.13162b00@gentoo.org \
    --to=aballier@gentoo.org \
    --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