install-patch-install cycles & install without activate

macports at parvis.nl macports at parvis.nl
Tue May 29 19:10:59 UTC 2018


> On 2018-05-29, at 20:41, Ryan Schmidt <ryandesign at macports.org> wrote:
> 
> 
> On May 29, 2018, at 13:31, macports at parvis.nl <mailto:macports at parvis.nl> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20180529/db3eab61/attachment-0001.html>


More information about the macports-dev mailing list