/rdopkg-tar

combine many changes with rdopkg

Primary LanguagePython

rdopkg tar-changes

This is a tool that works in a similar way to rdopkg patch. It uses rdopkg's APIs to tar up all the changes in the Git -patches branch into a "-changes.tar.gz" tarball and adds the tarball to the RPM packaging.

I use this to combine all our downstream changes into a single file suitable for dist-git.

Comparing rdopkg patch with this tar-changes script:

"rdopkg patch" this "tar-changes" script
Transforms a downstream -patches branch into output suitable for dist-git
Operates in conjuction with an unchanging upstream tarball
Applies changes during the %prep stage of rpmbuild
Generates .patch files Generates a tarball of changed files
Limited by RHEL 7's static buffer limit for %prep in rpmbuild. rpmbuild's %prep script does not grow with the number of patches.
Ability to delete files entirely from the tree downstream. Unable to delete files (only add or edit existing files).
Unable to edit binary files Able to apply edits to binary files
Does not require the %commit macro in your spec file in order to generate the %changelog. Requires the %commit macro in your spec file in order to generate the %changelog.
Slightly more visibility into changes when browsing dist-git, since you can see the individual .patch files changing. Slightly less visibility into changes when browsing dist-git, since you only see a tarball and Git sha1 changing.
To reconstruct a -patches branch commit-by-commit, without the ref or sha1, use git am No simple way to reconstruct a -patches branch if a ref is dangling/lost. More important to tag every -patches branch change with rdopkg tag-patches.