File: repackage.sh

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (90 lines) | stat: -rwxr-xr-x 2,814 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Edit these appropriately before running this script
pmaj=2  # python main version
pmin=7  # python minor version
maj=6
min=0
rev=0
branchname=release-pypy$pmaj.$pmin-$maj.x # ==OR== release-$maj.x  # ==OR== release-$maj.$min.x
tagname=release-pypy$pmaj.$pmin-v$maj.$min.$rev  # ==OR== release-$maj.$min

echo checking hg log -r $branchname
hg log -r $branchname || exit 1
echo checking hg log -r $tagname
hg log -r $tagname || exit 1
hgrev=`hg id -r $tagname -i`

rel=pypy$pmaj-v$maj.$min.$rev
# The script should be run in an empty in the pypy tree, i.e. pypy/tmp
if [ "`ls . | wc -l`" != "0" ]
then
    echo this script must be run in an empty directory
    exit -1
fi

# Download latest builds from the buildmaster, rename the top
# level directory, and repackage ready to be uploaded to bitbucket
for plat in linux linux64 linux-armhf-raspbian linux-armel osx64 s390x
  do
    echo downloading package for $plat
    if wget -q --show-progress http://buildbot.pypy.org/nightly/$branchname/pypy-c-jit-latest-$plat.tar.bz2
    then
        echo $plat downloaded 
    else
        echo $plat no download available
        continue
    fi
    hgcheck=`tar -tf pypy-c-jit-latest-$plat.tar.bz2 |head -n1 | cut -d- -f5`
    if [ "$hgcheck" != "$hgrev" ]
    then
        echo xxxxxxxxxxxxxxxxxxxxxx
        echo $plat hg tag mismatch, expected $hgrev, got $hgcheck
        echo xxxxxxxxxxxxxxxxxxxxxx
        rm pypy-c-jit-latest-$plat.tar.bz2
        continue
    fi
    tar -xf pypy-c-jit-latest-$plat.tar.bz2
    rm pypy-c-jit-latest-$plat.tar.bz2
    plat_final=$plat
    if [ $plat = linux ]; then
        plat_final=linux32
    fi
    mv pypy-c-jit-*-$plat $rel-$plat_final
    echo packaging $plat_final
    tar --owner=root --group=root --numeric-owner -cjf $rel-$plat_final.tar.bz2 $rel-$plat_final
    rm -rf $rel-$plat_final
  done

plat=win32
if wget http://buildbot.pypy.org/nightly/$branchname/pypy-c-jit-latest-$plat.zip
then
    unzip -q pypy-c-jit-latest-$plat.zip
    rm pypy-c-jit-latest-$plat.zip
    mv pypy-c-jit-*-$plat $rel-$plat
    zip -rq $rel-$plat.zip $rel-$plat
    rm -rf $rel-$plat
else
    echo no download for $plat
fi

# Download source and repackage
# Requires a valid $tagname, note the untarred directory is pypy-pypy-<hash>
# so make sure there is not another one
if wget https://bitbucket.org/pypy/pypy/get/$tagname.tar.bz2
then
    tar -xf $tagname.tar.bz2
    rm $tagname.tar.bz2
    mv pypy-pypy-* $rel-src
    tar --owner=root --group=root --numeric-owner -cjf $rel-src.tar.bz2 $rel-src
    zip -rq $rel-src.zip $rel-src
    rm -rf $rel-src
else
    echo source tarfile for $tagname not found on bitbucket, did you push the tag commit?
fi
# Print out the md5, sha1, sha256
#md5sum *.bz2 *.zip
#sha1sum *.bz2 *.zip
sha256sum *.bz2 *.zip

# Now upload all the bz2 and zip