[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pristine tarball generator



Junichi Uekawa wrote:
> > joey@kodama:~> pristine-tar stash lib/debian/unstable/uqm-voice_0.3.orig.tar.gz uqm-voice.delta
> 
> Hmm.. I don't quite understand why this stashing is required.  Why
> would that be. Also another question would be, would it work, for
> example, with upstream who creates tarballs with GNU tar vs star
> format?

In the stashing step, it builds a new tar from available
information, and the generates a binary diff between the two
tar files. So when the time comes to regenerate the tarball, it has
the diff (and other needed information) available in the delta file.
Then it builds a new tar again, and uses the binary diff to tweak it to
be an exact match of the pristine tar file.

Since it does use a binary diff, it can handle any differences caused
by the pristine tar file being produced by a strange version of tar. In
unlucky cases, the binary diff might get large.

star is not a problem though. I created this using star and generated a
delta for it, which is nicely small:

-rw-r--r-- 1 joey joey 17M Oct  2 16:09 foo.tar
-rw-r--r-- 1 joey joey 81K Oct  2 16:10 foo.tar.delta


BTW, the next release of pristine-tar will support generating pristine
gz files too, so will fully support pristine .orig.tar.gz. Regenerating
pristine gz files from small deltas is quite a lot trickier, and
currently works for about 99% of the .orig.tar.gz files in the Debian
archive. Many thanks to paravoid for making it happen..

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: