Bug 1235404 - Review Request: pristine-tar - Regenerate pristine tarballs from version control systems
Summary: Review Request: pristine-tar - Regenerate pristine tarballs from version cont...
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Orion Poplawski
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2015-06-24 17:34 UTC by Evgeni Golov
Modified: 2017-09-25 11:35 UTC (History)
3 users (show)

Clone Of:
Last Closed: 2017-09-25 11:35:10 UTC

Attachments (Terms of Use)

Description Evgeni Golov 2015-06-24 17:34:51 UTC
Spec URL: http://pinky.die-welt.net/~evgeni/rpm/pristine-tar.spec
SRPM URL: http://pinky.die-welt.net/~evgeni/rpm/pristine-tar-1.33-1.fc21.src.rpm
pristine-tar can regenerate a pristine upstream tarball using only a small
binary delta file and a revision control checkout of the upstream branch.

The package also includes a pristine-gz command, which can regenerate a
pristine .gz file, a pristine-bz2 for .bz2 files, and a pristine-xz for .xz

The delta file is designed to be checked into revision control along-side
the upstream branch, thus allowing Debian packages to be built entirely
using sources in revision control, without the need to keep copies of
upstream tarballs.

Fedora Account System Username: evgeni

Koji builds for f21 and f22:

pristine-tar.src: W: spelling-error %description -l en_US gz -> g, z, gs
pristine-tar.src: W: spelling-error %description -l en_US xz -> xx, x, z
pristine-tar.x86_64: W: spelling-error %description -l en_US gz -> g, z, gs
pristine-tar.x86_64: W: spelling-error %description -l en_US xz -> xx, x, z
(yeah, I do want to spell gz like that ;))

I am a newbie at packaging (for Fedora), so I need a sponsor and a patient one ;-)

Comment 1 Orion Poplawski 2015-07-13 17:25:11 UTC
This seems like fairly old code.  Is it of particular use to you or something else?  I'm also concerned that it appears to bundle gzip and bzip2 code.

Comment 2 Evgeni Golov 2015-07-14 07:35:19 UTC
Yes, it is quite old code, but it is heavily used for maintaining Debian packages in Git. I am currently discussing with a few Debian people to revive the upstream maintaineship inside of Debian.

It is of use for me (and hopefully others) who want to be able to maintain Debian packages on a Fedora system (crude setup, I know).

As for the bundled code, yes it is used. I can dig up the exact reason for using it (instead of bzip2-libs) later, if you want to.

Reminds me to upload a slightly refreshed version with xdelta3 compatibility.

Comment 3 Orion Poplawski 2015-09-20 16:05:55 UTC
Yes, I would need to know the bundling reasons.

Comment 4 Orion Poplawski 2015-10-28 04:16:46 UTC
Bundling has been relaxed substantially in Fedora.  Do you still want to pursue this review?

Comment 5 Evgeni Golov 2015-12-22 15:14:36 UTC
Hi Orion,

sorry for the long delay -- work has been keeping me busy and a working pristine-tar was not top of the priorities :)

The bundled bzip2 and gzip code is needed to be able to recreate byte-identical archives created with some (old) versions of these tools. Would this be OK for bundling in Fedora?

If I read https://fedoraproject.org/wiki/Bundled_Software_policy correctly, I'd "just" have to add proper provides, right?


Comment 6 Orion Poplawski 2015-12-22 15:45:23 UTC
Yes, now you just need to add the provides.

Comment 7 Evgeni Golov 2015-12-23 09:47:44 UTC
Ok, cool.

I have now added the following to the spec:
# zgz/gzip/*
Provides:       bundled(gzip)  = 1.3.12
# zgz/old-bzip2/*
Provides:       bundled(bzip2) = 0.9.5
# pit/suse-bzip2/*
Provides:       bundled(bzip2) = 1.0.6

Is it correct to list bzip2 as bzip2, and not as bzip2-libs or libbz2? https://fedoraproject.org/wiki/Bundled_Software_policy only says "<libname>" which is not really exact :)

Comment 8 Evgeni Golov 2015-12-23 09:49:46 UTC
rpmlint says it's an error to have the same provides twice, though:
pristine-tar.x86_64: E: useless-provides bundled(bzip2)
This package provides 2 times the same capacity. It should only provide it

Comment 9 Orion Poplawski 2016-11-24 04:57:38 UTC
Sorry for the delay here.  Do you want to continue?

For bzip2 I would do:

Provides:       bundled(bzip2-old) = 0.9.5
Provides:       bundled(bzip2) = 1.0.6

Comment 10 Evgeni Golov 2017-09-25 11:35:10 UTC
I must admit I lost time and interest in pristine-tar in Fedora, so I am closing this as WONTFIX.

Thanks Orion for the reviews!

Note You need to log in before you can comment on or make changes to this bug.