Fix has_key() deprecation message. (Bug #232797)
[gentoolkit.git] / trunk / release.sh
1 #! /bin/bash
2
3 case $(whoami) in
4     karltk)
5         publish_path=dev.gentoo.org:public_html/projects/gentoolkit/releases
6         publish_public_path="http://dev.gentoo.org/~karltk/projects/gentoolkit/releases"
7         portdir=/home/karltk/source/oss/gentoo/gentoo-x86/
8         export ECHANGELOG_USER="Karl Trygve Kalleberg <karltk@gentoo.org>"
9         ;;
10
11     port001)
12         publish_path=dev.gentoo.org:public_html/distfiles/gentoolkit/releases
13         publish_public_path="http://dev.gentoo.org/~port001/distfiles/gentoolkit/releases"
14         portdir=/home/port001/Gentoo/gentoo-x86/
15         export ECHANGELOG_USER="Ian Leitch <port001@gentoo.org>"
16         ;;
17
18     genone)
19         publish_path=dev:public_html/distfiles/
20         publish_public_path="http://dev.gentoo.org/~genone/distfiles/"
21         portdir=/home/gentoo/cvs/gentoo-x86/
22         export ECHANGELOG_USER="Marius Mauch <genone@gentoo.org>"
23         ;;
24
25     agriffis)
26         publish_path=gentoo:public_html/dist/
27         publish_public_path="http://dev.gentoo.org/~agriffis/dist/"
28         portdir=/home/agriffis/portage/
29         ;;
30
31     *)
32         echo "!!! Don't know who $(whoami) is, can't release"
33         exit 1
34         ;;
35 esac
36
37 function most-recent-ebuild() {
38         # FIXME: actually pick the most recent one
39         ls gentoolkit-dev-*.ebuild | tail -n 1
40 }
41
42 function release-dev() {
43
44         echo "* Building .tar.bz"
45         make VERSION=${VERSION} RELEASE_TAG=${RELEASE_TAG} dist-gentoolkit-dev > /dev/null || exit
46
47         echo "* Uploading .tar.bz"
48         scp release/gentoolkit-dev-${VERSION}${RELEASE_TAG}.tar.gz ${publish_path} || exit
49
50         
51         echo "* Generating new ebuild"
52
53         local ebuild="gentoolkit-dev-${VERSION}${RELEASE_TAG}.ebuild"
54
55         cd ${portdir}/app-portage/gentoolkit-dev || exit
56         cp $(most-recent-ebuild) ${ebuild}
57         ekeyword ~all ${ebuild}
58         sed -i -e "s|SRC_URI=.*|SRC_URI=\"${publish_public_path}/\$\{\P\}.tar.gz\"|" ${ebuild}
59
60         echo "* Generating digest"
61         ebuild ${ebuild} digest || exit
62         cvs add ${ebuild} || exit
63         echangelog "New upstream release"
64         echo '* Everything ready. You should:'
65         echo '  1) ACCEPT_KEYWORDS="~x86" sudo emerge =gentoolkit-dev-${VERSION}${RELEASE_TAG}'
66         echo '  2) repoman ci -m "New upstream release" from `pwd`'
67 }
68
69
70 if [ -z "${VERSION}" ] ; then
71         echo "!!! You must set the VERSION env var"
72         exit 1
73 fi
74
75 if [ -z "${RELEASE_TAG}" ] ; then
76         echo "No RELEASE_TAG found, presumably okay"
77 fi
78
79
80 if [ "$1" == "dev" ] ; then
81         release-dev
82 elif [ "$1" == "main" ] ; then
83         echo "!!! Unsupported atm, feel free to add code;)"
84         exit 1
85 else
86         echo "!!! You must select to release either 'dev' or 'main', as parameter to release.sh"
87         exit 1
88 fi
89