A variety of problems

Kevin Ballard eridius at macports.org
Wed Dec 13 13:21:43 PST 2006


I'm coming in late to the discussion, but I decided to look into this.

It seems the -f switch doesn't take effect until after the current  
statefile is checked. This runs contrary to the documentation of the - 
f switch, but I'm not sure it's wrong. For example, if I have a port  
caml-extlib installed, and I do `port -f extract caml-extlib`, it  
will extract it anyway (the -f switch overrides the fact that the  
port is installed, in this case). Then if I do `port -f configure  
caml-extlib` it will avoid re-extracting it, since I already  
extracted it, and it will move on to patching and configuring it.  
This is potentially useful, because you can run steps in sequence  
without re-doing the same work over and over.

I would suggest that the documentation of the -f switch be updated to  
more accurately reflect what it does (makes it ignore the fact that  
the port is already installed) without changing current behaviour. If  
you want to re-run archive, you can either clean (and let it rebuild  
- if you don't rebuild, re-archiving isn't particularly helpful) or  
you can edit the stateful (yeah, ugly). For sake of argument, if the - 
f switch behaved as documented then trying to re-run archive would re- 
run all the previous steps anyway. If you think there's a valid  
reason for saying "perform this step again", maybe a new switch could  
be introduced that would edit the statefile and remove the given  
target (and any subsequent targets) from it, so you could say `port -- 
i-really-mean-it archive caml-extlib` and it would forget the fact  
that it had already run com.apple.archive (without forgetting any  
previous steps).

On Dec 13, 2006, at 10:56 AM, Daniel J. Luke wrote:

> On Dec 13, 2006, at 1:09 AM, Eric Angell wrote:
>> Done, sooner than expected.
>> http://trac.macports.org/projects/macports/ticket/11143
>
> Ok, it looks like it's not just a bug with the archive target (like  
> I originally thought), but force doesn't override the state file  
> for other targets too.
>
> If a base/ committer (or at least someone who has more familiarity  
> with base/ than I do) could comment, that would be appreciated. (I  
> can create a patch and test it, but it would be helpful for someone  
> to let me know if I'm going to break everything by changing  
> portutil.tcl and/or if I should look elsewhere).
>
>> Thanks for your help, despite my original tone.

-- 
Kevin Ballard
http://kevin.sb.org
eridius at macports.org
http://www.tildesoft.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-users/attachments/20061213/f543acec/attachment.html


More information about the macports-users mailing list