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@macports.org http://www.tildesoft.com