[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