[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