quilt and GSoC

René J.V. Bertin rjvbertin at gmail.com
Sat Mar 7 02:06:43 PST 2015


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.


More information about the macports-dev mailing list