Feature changed by: Sascha Peilicke (saschpe) Feature #310492, revision 3 Title: Integrate quilt with osc Buildservice: New Priority Requester: Important Requested by: Adrian Schröter (adriansuse) Developer: Marcus Hüwe (marcus_h) Technical Contact: Andreas Gruenbacher (agruen) Partner organization: openSUSE.org 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. + #2: Sascha Peilicke (saschpe) (2010-12-17 15:16:25) + What would you want to keep as (local) patches to a package? Would you + want to manage a stack for each package? Goal is unclear to me. -- openSUSE Feature: https://features.opensuse.org/310492