record applied patches in state file?

René J.V. Bertin rjvbertin at gmail.com
Thu Feb 12 08:01:32 PST 2015


Hello,

I don't know how other port maintainers work, but I often find myself rewinding the state file to repeat given steps (configure, build, etc) in incremental fashion.
This works with all phases except potentially for destroot (not much to be done about that), and by definition for the patch phase.

It can probably be argued that doing that step in incremental fashion isn't useful ... except when you're upgrading a port, and in the process of verifying which patches still apply, which need to be modified, etc.

Debian has dquilt which can be used in a loop to refresh all patches that need refreshing (fuzz removal), and that loop can be restarted as many times as required until all patches apply cleanly. That is because a record is kept which patches have been applied (and that information is also used by the packaging scripts).

It seems to me that it shouldn't be very costly to add each successfully applied patch to the state file, and no re-apply that patch as long as the entry is there. I suppose that there must be a function that adds an entry to the file, and (an)other function(s) that can check for the presence of an entry?
BTW, this information can also serve as a reminder in which order patches have been applied (not always straightforward to deduce from a Portfile).

I'd be interested to have a look at the tcl files someone can give me some relevant pointers into the tcl source code.

R.


More information about the macports-dev mailing list