> On 2018-05-29, at 20:41, Ryan Schmidt <[email protected]> wrote:
>
>
> On May 29, 2018, at 13:31, [email protected] <mailto:[email protected]>
> wrote:
>
>> I'm trying to work as much as possible with scripted procedures.
>>
>> After an initial install of a new/modified port, I need to apply/change
>> patches.
>>
>> My workflow is:
>>
>> port install munin
>>
>> #- cycle start
>> port clean --work munin
>> create patches against the unmodified tarball
>> port clean --work munin
>> port install munin
>> test
>> #- cycle end
>>
>> Problem here is that if Portfile isn't changed, install will skip all
>> phases, including checksum, extract, patch, configure, build, destroot,
>> "install", activate.
>> I can port clean --all munin but then I need to fetch again, and that is not
>> needed.
>
> Then don't use "sudo port clean --all". Just use "sudo port clean".
I do: port clean --work should be the same as port clean.
> Or, sometimes it's helpful to edit the state file. (The file named
> .macports.${subport}.state inside the directory identified by the command
> `port work`.) You can delete the lines for the phases that you want MacPorts
> to run again.
That is what I did originally, but then i thought that clean
work/create/patches/clean work is a "cleaner" way.
>> Q1) What is the port command to execute all needed phases, starting with
>> patch?
>>
>> Somewhere it says something like install creates a tarball from destroot,
>> activate unpackes that tarball.
>> Above I wrote "install" because I'm looking for the port verb that does
>> exactly this.
>> I would like to be able to do the complete installation process without
>> activate.
>>
>> My experience is this:
>> port install does
>> - if activated: nothing
>> - else: do all steps from $(port work munin)/.macportsmunin.state
>> Is this correct? If this is true, port deactivate munin && port install
>> munin would be enough.
Could you answer this one please?
>> Q2) What is the port command to execute all needed phases, except activate?
>
> I don't think any such command exists. Why do you want this?
I don't really think I need it. It is -maybe- a solution to the problem stated
above.
If I change the contents of a patch without changing the Portfile, port install
does notihng.
This *maybe* missing verb could *maybe* force a rebuild.
Alternate suggestion above: use deactivate + install to force that rebuild.
>> Possible solutions:
>> - using this unknown port "install" verb
>> - rm $(port location munin)*
>> is this safe?
>> - somehow manipulating the registry
>> doesn't sound safe
paul.