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

Re: Problem with pristine-tar (which tarball should I commit?)



On Mon, Oct 15, 2018 at 05:02:51AM -0300, Samuel Henrique wrote:
> * there's no pristine-tar commit of the upstream release 3.3.1
> * there was a NMU, so the last upload was 3.3.1-1.1
> * 3.3.1-1.1 was not committed on the packaging repository
> * we committed changes before making sure the git repo was up to date,
> for the release 3.3.4
> 
> If I clone the repository and do a gbp import-dsc of 3.3.1-1.1 it mess
> up the repository because it will create the commits after the 3.3.4-1
> ones in the master branch.

of course...

> My plan of action was:
> 1) commit 3.3.1 to pristine-tar

sure, and that's straightforward simple with no way it could clash...

> 2) commit the changes of 3.3.1-1.1 of master on the correct place,
> rewriting git history[1]

why do people think about rewriting that easily...
do this instead:
    git checkout -b tmp debian/3.3.1-1
    gbp import-dsc --debian-branch=tmp ../supervisor_3.3.1-1.1.dsc
    git checkout master
    git merge debian/3.3.1-1.1
        # solve your merge conflicts.  I expect that you pretty much
        # want to keep only the changelg if that patch is already
        # upstream
    git branch -d tmp
there.

> 3) confirm that both the tags debian/3.3.1-1 and debian/3.3.1-1.1
> builds correclty

well… not sure this is particularly useful tbh :)

> The main problem is on the first step, I described the whole plan in case
> anybody has a different suggestion on how to fix this but nonetheless I
> would like to at least understand what is going on with pristine-tar:
> 
> First plan was to import the github tarball of the 3.3.1 release:
> wget https://github.com/Supervisor/supervisor/archive/3.3.1.tar.gz -O \

that's wrong a different level:  you should strive to commit to the
debian git repository what is being uploaded to the debian archive,
which can easily be different than what upstream published.
(even if it might be same this time).

> All of this makes me think that I'm missing something very crucial
> here, the possibilities I can think are:
> * I should not assume that the contents of upstream and master branch
> should be the same (even when using 3.0 quilt sources format)

they should, but sometimes people get things wrong so they diverge…

> * I'm doing something wrong when generating the tarballs of the
> upstream and master branch, I highly believe this is one of the
> problems

regardless of anything, I think you should be using
http://debian.backend.mirrors.debian.org/debian/pool/main/s/supervisor/supervisor_3.3.1.orig.tar.gz

> * I should not assume that if the hash of a tarball being equal as the
> one which Pristine-tar expects to is the correct one, because I
> received that errors when committing the tarball from GH and it looks
> like it's the one which pristine-tar doesn't complain of hash
> mismatch.

probably that tarball was ok, but the master branch had changed files.
Have you looked at the temporary file created by dpkg-source that was
mentioned in the error?  That contains the list of diff that you should
check.  also look at the git history and see if anything was changed in
the upstream files but only in the master branch.

-- 
regards,
                        Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540      .''`.
more about me:  https://mapreri.org                             : :'  :
Launchpad user: https://launchpad.net/~mapreri                  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-

Attachment: signature.asc
Description: PGP signature


Reply to: