Since we're generating ideas for the summer ...

I see there's a port:quilt, which means we're about halfway to being able to do 
something like

%> while dquilt push; do dquilt refresh; done

like on Debian/Ubuntu to regenerate a port's patches when updating it for a new 
upstream version. In case you don't know, that expression applies a series of 
patches iteratively until they all apply cleanly, without fuzz.

On Debian, patches are found in a specific package subdirectory comparable to 
`port dir foo`/files, but there's an additional file that provides the list of 
patches that are applied, and in what order. MacPorts doesn't have that, and I 
think it's not always trivial to determine the exact list and order from the 
Portfile, because it can depend on the variants selected (and possibly the 
order in which variants are given on the commandline??).

So, if there's not already a hidden command or official script somewhere that 
just outputs the list of patchfiles for a given install command, would it be an 
idea for a, probably quite easy, GSoC project to come up with the framework 
required to refresh a port's patch files? Handling all combinations of variants 
could be left to the port maintainer or actually done by the script too as it 
shouldn't be particularly hard to program once the rest is in place.

I think it'd be quite useful. When I started working on a portfile for Qt 5.4.0 
based on the one for Qt 5.3.2, I actually set up a stub debian package 
directory with debian/patches linked to `port dir qt5-mac-devel`/files and an 
appropriate series file so that I could use above expression to test and 
refresh the rather huge list of patches these ports apply. I would have hated 
to do all that by hand (and I'd have left in all the fuzz).         

Cheers,
R.
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to