On 04/22/2017 11:46 PM, Andrei Borzenkov wrote:
23.04.2017 08:38, Bernhard M. Wiedemann пишет:
On 2017-04-22 20:18, Axel Braun wrote:
Unarchive, make your changes in a copy of the source, create a diff and apply this as patch to your branched project. So the original source remains untouched.
and that part can be nicely done with a tool called 'quilt' when in the checkout of package foo, you typically do quilt setup foo.spec cd foo-VERSIONNUMBER quilt push -a quilt new NAME_OF_YOUR_NEW.patch quilt edit PATH/FILE_TO_EDIT quilt diff # optional
quilt header -e # to supply meaningful description to your patch
quilt refresh cp patches/NAME_OF_YOUR_NEW.patch ..
Not needed (or probably fails), quilt makes patches symlink to .. already.
cd .. /usr/lib/build/spec_add_patch NAME_OF_YOUR_NEW.patch
Note that quilt depends on RPM to extract sources/apply patches which means if any macro references in spec is missing quilt fails. This is especially the problem with spec files created for different distribution. Less so for openSUSE, still may happen.
Thanks everyone, this is really helpful. I've done all that and submitted request id #490042 for the sysconfig package, fixing https://bugzilla.opensuse.org/show_bug.cgi?id=1030936. Along the way, I updated the wiki (https://en.opensuse.org/openSUSE:Build_Service_Collaboration) and found a bug in `quilt` (https://savannah.nongnu.org/bugs/index.php?50862). Nate -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org