Re: Bug#35781: samba has no pristine source.
[CCed also to debian-mentors, as I suppose its the right place]
On Tue, Apr 13, 1999 at 09:34:18AM -0400, Eloy A. Paris wrote:
> On Tue, Apr 13, 1999 at 12:21:38PM +0300, Fabrizio Polacco wrote:
> > Hi, the source for samba 2.0.3, as archived in potato, is not *exactly*
> > the pristine one:
> > -rw-rw-r-- 1 polacco system 2081264 Apr 9 09:27 samba-2.0.3.tar.gz
> > -rw-rw-r-- 1 polacco system 2060644 Apr 9 09:34 samba_2.0.3.orig.tar.gz
> > I suppose the difference in dimension (and in md5sums) is due to the
> > renaming of the directory in the sources: the original unpacks in
> > samba-2.0.3/ while the debian one unpacks in samba-2.0.3.orig
> > I suggest that you symply _rename_ the original source package with
> > mv samba-2.0.3.tar.gz samba_2.0.3.orig.tar.gz
> > (which preserves the md5sum intact) without renaming the internal dir.
> > One of dpkg strengths is that it uses (whenever possible) the pristine
> > source package. In this case it is possible, then we should do it.
> Fab, I disagree with you here. I don't think this is a bug and we can
> ask the other developers in debian-devel just to be sure.
Ok, but let me try to convince you with my arguments :-)
> The samba_2.0.3.orig.tar.gz was created by dh_make, not by myself. I
> can't just rename the original samba-2.0.3.tar.gz
> samba_2.0.3.orig.tar.gz because then the packaging tools would not
I knew that debmake made this, but I thought that dh_* tools were
debmake made this because at these time this was the only way to create
source. But later dpkg-source was modifyed to get pristine sources as well
as modifyed sources (as before).
The packaging tools work perfectly.
> When you untar samba_2.0.3.orig.tar.gz, it must untar in
> samba-2.0.3.orig, _not_ in samba-2.0.3/ as would be the case if you
> just rename the original tarball to samba_2.0.3.orig.tar.gz.
> What I could do is untar the original tarball, then rename the
> samba-2.0.3/ directory to samba-2.0.3.orig/ and then create a new
> tarball as samba_2.0.3.orig.tar.gz, but this is basically the same
> thing that dh_make does.
And I continue to say that there is a better way.
> Just to be sure, I did the following: I downloaded from ftp.samba.org
> the original tarball (samba-2.0.3.tar.gz). I untar this file and the
> samba_2.0.3.orig.tar.gz file. So, I got two directories:
> samba-2.0.3/ (from the original tarball)
> samba-2.0.3.orig/ (from samba_2.0.3.orig.tar.gz)
> Then I ran the command
> diff -u --recursive --new-file samba-2.0.3 samba-2.0.3.orig/
> Guess what? The _only_ difference between the directories was a hidden
> file that was present in the original tarball but that I deleted
> before dh_make created samba_2.0.3.orig.tar.gz: .#WHATSNEW.txt.220.127.116.11
I also have to delete binary files from the upstreame tarball, but this
does not affect the tarball itself, just only the diff
(dpkg-source ignores deleted files)
I don't delete these "wrong" files directly, but I add a command in the
clean: target of the debian/rules, so the files are deleted before the
diff is taken, and I will propagate the deletion to newer tarballs
without problem, as it is in the rules.
> This file is just a bug in the upstream tarball, they left it there
> some how, and I deleted it because it is the same as the WHATSNEW.txt
> file. That explains the difference between samba_2.0.3.orig.tar.gz and
> samba-2.0.3.tar.gz in size. These two files will _always_ have
> different md5sums because their contents are different because one
> untars in samba-2.0.3/ and the other one in samba-2.0.3.orig/.
Exactly what I suggest to avoid.
> So, no my friend, I don't think this is a bug and I am closing this
> bug. If you are not satisfied with my explanation, talk to me before
> re-opening the bug.
well, my friend, I would have suggested that *you* wait for my reply
before closing the bug :-)
I have reopened it, as you see :-) (hope you don't go upset because of
this, it's only for the record!)
> The problem with this hidden .#WHATSNEW.txt.18.104.22.168 file will be
> solved, hopefully, in samba-2.0.4, and then, the
> samba_2.0.4.orig.tar.gz and the original samba-2.0.4.tar.gz will have
> no differences.
So here is my suggestion; please give it a try and you'll discover a new
download the original tarball (you already did this) and put it in a
different place (even /tmp/smthng ).
$ md5sum samba-2.0.3.tar.gz
mv samba-2.0.3.tar.gz samba_2.0.3.orig.tar.gz
tar -xzvf samba_2.0.3.orig.tar.gz
it will untar in samba-2.0.3/ (don't rename it!)
apply the diff
zcat somewhereelse/samba_2.0.3-1*diff.gz | patch -p1
chmod a+x debian/rules
edit debian/rules and, in the clean: target, add a dashed line to remove
your binary files:
-rm -f .#WHATSNEW.txt.22.214.171.124
then build the package
dpkg-buildpackage -rfakeroot 2>&1 | tee ../log
the log says:
dpkg-source: warning: ignoring deletion of file .#WHATSNEW.txt.126.96.36.199
dpkg-source: building samba using existing samba_2.0.3.orig.tar.gz
dpkg-source: building samba in samba_2.0.3-1.diff.gz
dpkg-source: building samba in samba_2.0.3-1.dsc
See the difference, dpkg-source is *using*the*existing tarball, while
before it was saying *building* the source tarball.
Now see what's in your parent directory.
-rw-r--r-- 1 fab fab 21707 Apr 13 17:50 samba_2.0.3-1.diff.gz
-rw-r--r-- 1 fab fab 333 Apr 13 17:50 samba_2.0.3-1.dsc
-rw-r--r-- 1 fab fab 2081264 Feb 28 00:20 samba_2.0.3.orig.tar.gz
$ md5sum ../samba_2.0.3*
$ cat ../samba_2.0.3-1.dsc
Binary: samba, samba-common, smbclient, swat, samba-doc, smbfsx, smbwrapper
Maintainer: Eloy A. Paris <email@example.com>
1c316bb482a95e6c3faaf04cde6d1503 2081264 samba_2.0.3.orig.tar.gz
dd02cd9a8cc8ddde6f3bbc2b4f40e835 21707 samba_2.0.3-1.diff.gz
As you can see, this is a *PRISTINE* source :-) and has the same md5sum
as the upstream tarball even with the deletion of your binary file.
(and Yes, I have just tryed all these commands ... it works)
| firstname.lastname@example.org email@example.com firstname.lastname@example.org
| 6F7267F5 fingerprint 57 16 C4 ED C9 86 40 7B 1A 69 A1 66 EC FB D2 5E
| email@example.com gsm: +358 40 707 2468