aboutsummaryrefslogtreecommitdiff
blob: 21ee0db2e783809b9ec03d81c52fcfeed304a971 (plain)
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
#!/bin/bash

set -e

V="${1}"
W="${2}"
RDIR='/home/nirbheek/projects/AutotuA/releases'
REPO='/home/nirbheek/projects/AutotuA/autotua.git'
TMPDIR='/tmp/autotua-release'
DESTDIR="${RDIR}/${V}"
REMOTE="bheekling@dev.gentooexperimental.org:~/public_html/files/autotua/"

test -z ${V} && echo "Specify version plz, kthx." && exit 1
test -z ${W} && echo "Specify what to release" && exit 1

rm -rf "${TMPDIR}"
mkdir "${TMPDIR}"
test -d "${DESTDIR}" || mkdir "${DESTDIR}"

confirm_overwrite() {
    if test -e "${DESTDIR}/${FILE}"; then
        echo -n "A tarball for that release already exists. Overwrite? [y/N] "
        read ans
        if test "${ans}" != "y"; then
            echo "Cancelled."
            exit 0
        fi
    fi
}

release_master() {
    P="autotua-master-${V}"
    FILE="${P}.tar.gz"
    confirm_overwrite
    cd "${REPO}/master"
    git archive --prefix=${P}/ HEAD * | gzip -9 > "${DESTDIR}/${FILE}"
}

release_slave() {
    P="autotua-slave-${V}"
    FILE="${P}.tar.gz"
    confirm_overwrite
    cd "${REPO}/slave"
    git archive --prefix=${P}/ HEAD * | tar x -C "${TMPDIR}"
    cd "${TMPDIR}/${P}"
    ./setup.py --quiet sdist
    cp "dist/${FILE}" "${DESTDIR}"
    rm -rf "${TMPDIR}/${P}"
}

upload_archives() {
    scp -r "${DESTDIR}" "${REMOTE}"
}

bumb_ebuild() {
    CATEG='dev-util'
    PN='autotua-slave'
    P="${PN}-${V}"
    cd "${REPO}/overlay/${CATEG}/${PN}"
    test -f ${P}.ebuild || mv $(echo ${PN}-*.ebuild | line ) ${P}.ebuild
    sed -i -e "/${P}.tar.gz/d" Manifest
    rm -f "/usr/portage/distfiles/${P}.tar.gz"
    ebuild ${P}.ebuild digest
}

if test "${W}" = "slave"; then
    release_slave
    bumb_ebuild
elif test "${W}" = "master"; then
    release_master
elif test "${W}" = "both"; then
    release_slave
    release_master
    bumb_ebuild
else
    echo "Please specify which to release (slave|master|both)"
    exit 1
fi
upload_archives