On 11/03/2018 03:44 PM, Zac Medico wrote:
> On 11/03/2018 01:10 AM, Michał Górny wrote:
>> On Fri, 2018-11-02 at 19:35 -0700, Zac Medico wrote:
>>> On 11/02/2018 12:35 PM, Michał Górny wrote:
>>>> On Fri, 2018-11-02 at 12:22 -0700, Zac Medico wrote:
>>>>> On 11/02/2018 12:16 PM, Michał Górny wrote:
>>>>>> On Fri, 2018-11-02 at 11:49 -0700, Zac Medico wrote:
>>>>>>> On 11/01/2018 02:50 AM, Michał Górny wrote:
>>>>>>>> diff --git a/lib/portage/package/ebuild/doebuild.py 
>>>>>>>> b/lib/portage/package/ebuild/doebuild.py
>>>>>>>> index 9706de422..d7b535698 100644
>>>>>>>> --- a/lib/portage/package/ebuild/doebuild.py
>>>>>>>> +++ b/lib/portage/package/ebuild/doebuild.py
>>>>>>>> @@ -674,7 +674,7 @@ def doebuild(myebuild, mydo, 
>>>>>>>> _unused=DeprecationWarning, settings=None, debug=0,
>>>>>>>>                        "config", "info", "setup", "depend", "pretend",
>>>>>>>>                        "fetch", "fetchall", "digest",
>>>>>>>>                        "unpack", "prepare", "configure", "compile", 
>>>>>>>> "test",
>>>>>>>> -                      "install", "rpm", "qmerge", "merge",
>>>>>>>> +                      "install", "instprep", "rpm", "qmerge", "merge",
>>>>>>>>                        "package", "unmerge", "manifest", "nofetch"]
>>>>>>>>  
>>>>>>>>        if mydo not in validcommands:
>>>>>>>> @@ -1402,6 +1402,7 @@ def _spawn_actionmap(settings):
>>>>>>>>  "compile":  {"cmd":ebuild_sh, "args":{"droppriv":droppriv, 
>>>>>>>> "free":nosandbox, "sesandbox":sesandbox, "fakeroot":0}},
>>>>>>>>  "test":     {"cmd":ebuild_sh, "args":{"droppriv":droppriv, 
>>>>>>>> "free":nosandbox, "sesandbox":sesandbox, "fakeroot":0}},
>>>>>>>>  "install":  {"cmd":ebuild_sh, "args":{"droppriv":0,        "free":0,  
>>>>>>>>        "sesandbox":sesandbox, "fakeroot":fakeroot}},
>>>>>>>> +"instprep": {"cmd":misc_sh,   "args":{"droppriv":0,        "free":0,  
>>>>>>>>        "sesandbox":sesandbox, "fakeroot":fakeroot}},
>>>>>>>>  "rpm":      {"cmd":misc_sh,   "args":{"droppriv":0,        "free":0,  
>>>>>>>>        "sesandbox":0,         "fakeroot":fakeroot}},
>>>>>>>>  "package":  {"cmd":misc_sh,   "args":{"droppriv":0,        "free":0,  
>>>>>>>>        "sesandbox":0,         "fakeroot":fakeroot}},
>>>>>>>>                }
>>>>>>>
>>>>>>> The feature seems find but the instprep phase is not needed if we use
>>>>>>> MiscFunctionsProcess instead of EbuildPhase. Here's a list of odd things
>>>>>>> about the instprep ebuild phase implementation as it is:
>>>>>>>
>>>>>>> 1) You can call instprep explicitly via the ebuild(1) command, but I
>>>>>>> doubt that we really want or need to allow that.
>>>>>>
>>>>>> I was actually wondering about that.  I suppose it might be useful for
>>>>>> debugging purposes.
>>
>> Ok, I've rechecked it and ebuild(1) currently rejects it as not a valid
>> phase name.
> 
> I have your patches applied, and for me it treats 'instprep' as a valid
> phase which I'm able to call. It also lists it in the list of available
> phases if I choose an invalid phase named 'foo', since 'instprep' is
> listed in validcommands:
> 
> !!! doebuild: 'foo' is not one of the following valid commands:
> !!! clean      cleanrm    compile    config     configure  depend
> !!! digest     fetch      fetchall   help       info       install
> !!! instprep   manifest   merge      nofetch    package    postinst
> !!! postrm     preinst    prepare    prerm      pretend    qmerge
> !!! rpm        setup      test       unmerge    unpack
> 
>> So we can either ignore the problem until somebody finds it
>> useful to call it directly, or work on it.  Would the existing patch be
>> ok, provided that ebuild(1) doesn't allow calling prepinst manually?
> 
> Lets clarify our intention here, since apparently it works for me but
> not for you when you tested. I think it's fine as-is, but let's make
> sure that the behavior is what we collectively intend.

If we allow the 'instprep' phase to be directly invoked, then we should
also document it in man/ebuild.1.
-- 
Thanks,
Zac

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to