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

Re: Packaging Ray for Debian Med



OK, so the things in my pristine-tar branch are not good at all !

I checked the pristine-tar branch of debian-med/bwa.git, and it contains
delta between orig tarballs.
But is the first orig tarball stored somewhere ?

The ray tarball from sourceforge (Ray-v2.1.0.tar.bz2) is constructed
from two git repositories with a script called scripts/ShipProduct.sh
in the ray upstream repository.


The script does this


release=$1
base=~/git-clones

RayGit=$base/ray
RayPlatformGit=$base/RayPlatform
productName=Ray-$release
productDirectory=~/ProductReleases/$productName

mkdir -p $productDirectory
cd $productDirectory

git clone $RayGit $productName &> /dev/null
cd $productName
git log|grep ^commit|head -n1|awk '{print $2}' > tag.txt
echo https://github.com/sebhtml/ray > github.txt
echo git://github.com/sebhtml/ray.git > git.txt
rm -rf .git
rm -rf RayPlatform

git clone $RayPlatformGit &> /dev/null
cd RayPlatform
git log|grep ^commit|head -n1|awk '{print $2}' > tag.txt
echo https://github.com/sebhtml/RayPlatform > github.txt
echo git://github.com/sebhtml/RayPlatform.git > git.txt
rm -rf .git
cd ..


tar cjf $productName.tar.bz2 $productName &> /dev/null


RayPlatform is a separate project, but I am not sure that it
deserves its own package at this point as it is only used by
Ray as far as I know.


On 11/03/2012 10:23 PM, Charles Plessy wrote:
Le Sat, Nov 03, 2012 at 06:39:30PM -0400, Sébastien Boisvert a écrit :

The pristine-tar branch contains the content of Ray-v2.1.0.tar.bz2 (tag
pristine-tar/2.1.0)


Bonjour Sébastien,

this is not the purpose of the pristine-tar branch, as otherwise
pristine-tar/2.1.0 would be entirely rendundant with upstream/2.1.0.

Pristine-tar solves a techinical problem that is not obvious at first. If on
two computers one regenerates a tarball using upstream/2.1.0, results man not
be byte-identical.  Difficulties go beyond simple timestamp gymnastics.

Pristine-tar was therefore invented to store a binary delta, with which a
regenerated tarball is made byte-identical with a reference tarball, in a
space-efficient manner (storing all the tarballs would take unreasonable
space).

This is important because when a Debian package is updated with no changes
to the upstream sources (that is, when only the debian revision number changes),
the previously uploaded upstream source is used.  The "orig.tar.gz" of the updated
source package will not be uploaded, but as you can see in the Debian source
control file (".dsc"), its check sums are recorded, for comparison with the
one in the Debian archive.

You can see examples of pristine-tar branches in the Git repositories for bwa
or samtools for example.

Pristine-tar branches are not strictly mandatory, but are especially useful
when working collectively on a package.  In the absence of pristine-tar
branches, the best way retreive the proper "orig.tar.gz" is to downolad the
previous source package from the Debian archive.

Bon dimanche !



--
Sent from my IBM Blue Gene/Q


Reply to: