Feature changed by: Andreas Gruenbacher (agruen) Feature #310492, revision 2 Title: Integrate quilt with osc Buildservice: New Priority Requester: Important Requested by: Adrian Schröter (adriansuse) Developer: Marcus Hüwe (marcus_h) Description: Support a rebasing of patches and modification of specified patches. Quilt already offers to apply patches as described in spec files. This request is about to make the version upgrade workflow easy. This means, after updating the tar ball, re-applying the patches as describe in spec file, stop when they are not applying anymore and let the user fix. Afterwards it should be easy to continue, the changes store in the new version of the patch and follow up with next patches. Another use case is to modify patch X. This means all patches which have to apply before patch X according to spec file needs to get apply, current source needs to get tagged, patch X gets applied and user needs to fix/modify sources. Afterwards patch X gets re-recreated. (hg mqueue is offering similar functionality) + Discussion: + #1: Andreas Gruenbacher (agruen) (2010-09-07 21:32:38) + Quilt needs to know which patches to apply in which order and with + which options (like -p N, the number of pathname components to strip). + The quilt setup command uses a heuristic for finding that out: it + executes the %prep section of an rpm spec file and tracks which + tarballs are expanded and which patches are applied where and how. This + works well enough for most packages with a reasonably low number of + patches (i.e., not thousands). + It is also possible to provide a list of patches that defines the order + of patches and the patch options to use by hand (a "series file"), and + some packages with a large number of patches do that (for example, the + kernel). + The usual way to upgrade a tarball in a package is to run "quilt setup" + on the original spec file which will produce a series file, and to use + that series file against the new tarball. This is the recommended + approach. The tarball should not be upgraded first. Otherwise, some of + the patches may not apply anymore, the %prep section would fail, and + the resulting series file may be empty or incomplete. + Example: + $ quilt setup coreutils.spec + ### md5sum: .......x.x............. + ### rpmbuild: tpppppppppppppppp + Unpacking archive coreutils-7.1.tar.xz + $ xzcat coreutils-8.5.tar.xz | tar xf - + $ mv coreutils-7.1/{series,patches} coreutils-8.5/ + $ cd coreutils-8.5/ + $ # start working with the patches, for example: + $ quilt push -a + $ # edit the last patch + $ quilt refresh + There may be ways of automating the steps necessary for upgrading a + tarball, but nothing fundamental is missing as far as I can see. Quilt + already allows to go back and forth in a series file (the push and pop + commands) and to add, modify, and remove patches; that 's the whole + point of quilt. + This feature doesn't seem to be related to osc. -- openSUSE Feature: https://features.opensuse.org/310492