[Debian-med-packaging] Inconsistencies in pristine-tar of several packages

rf at q-leap.de rf at q-leap.de
Thu Jun 5 10:15:58 UTC 2014


>>>>> "Andr" == Andreas Tille <andreas at an3as.eu> writes:

    Andr> Hi, On Wed, Jun 04, 2014 at 11:17:39PM +0200, rf at q-leap.de
    Andr> wrote:
    >>
    >> That's a separate problem that indeed happens frequently. We
    >> already have discovered many packages with missing tags. The
    >> problem with the wrong IDs doesn't seem to be caused by different
    >> developers working on the repo, since the cases so far were with
    >> packages that had commits basically from a single person. It
    >> would really be worthwhile to track down the cause of this. Could
    >> have some more severe side-effects, that we don't yet know about.

    Andr> I somehow have the feeling that it might be worth trying a bug
    Andr> report against git-buildpackage.  The developers might have
    Andr> some way better clue than me ... which is not hard since I
    Andr> have no clue at all and it seems the problem might be hidden
    Andr> inside git-buildpackage.

I'd happily do that. The only trouble is, that I can't trigger the
problem. See my earlier mail in this thread when I talked about bambamc
0.0.50 which I imported, built, pushed without issues.

So either the problem occurs only in versions of git-buildpackage >
0.6.0~git20120601 (from wheezy, the latest one we use) or it's something
else in the workflow. You can easily check after each step of the
workflow using the script below.

Roland

-------
http://www.q-leap.com / http://qlustar.com

-------------------------- Check script ----------------------------------
#!/bin/bash

DEBIAN_BRANCH=master
git checkout $DEBIAN_BRANCH

DEBDIR=debian
PKGNAME=$(dpkg-parsechangelog -l$DEBDIR/changelog | awk '/^Source:/ {print $2}')
PKGVERS=$(dpkg-parsechangelog -l$DEBDIR/changelog | awk '/^Version:/ {print $2}')
UPSTREAM_VERS=${PKGVERS%-*}
IMP_UPST_ID=$(git log --grep='Imported Upstream version '$UPSTREAM_VERS'$' \
  --pretty=oneline | awk '{print $1}')

# track pristine-tar branch if not already tracked
git checkout pristine-tar > /dev/null 2>&1 || { \
  git branch --track pristine-tar remotes/origin/pristine-tar; \
  git checkout pristine-tar > /dev/null; }

pt_upst_id_unknown=false
PT_ID_FILE=$(ls ${PKGNAME}_${UPSTREAM_VERS}.orig*.id)
PT_UPST_ID=$(cat $PT_ID_FILE)

if [ "$IMP_UPST_ID" != "$PT_UPST_ID" ]; then
  echo -e "\nUpstream commit id\tvers ${UPSTREAM_VERS}:\t $IMP_UPST_ID"
  echo -e "Pristine tar id\t\tvers ${UPSTREAM_VERS}:\t $PT_UPST_ID\n"
  echo -e "... are not identical!!!!"
  git checkout $PT_UPST_ID > /dev/null 2>&1 || \
    echo -e "\nGIT hash in $PT_ID_FILE doesn't even exist!!!\n"
else
  echo -e "Pristine tar ID file is consistent"
fi

git checkout $DEBIAN_BRANCH



More information about the Debian-med-packaging mailing list