xref: /aosp_15_r20/external/elfutils/config/upload-release.sh (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
1*7304104dSAndroid Build Coastguard Worker#!/usr/bin/env bash
2*7304104dSAndroid Build Coastguard Worker
3*7304104dSAndroid Build Coastguard Worker# Must be run in the source directory.
4*7304104dSAndroid Build Coastguard Worker# Should have passed make distcheck.
5*7304104dSAndroid Build Coastguard Worker# And all final changes should already have been pushed.
6*7304104dSAndroid Build Coastguard Worker# Backup copy will be created in $HOME/elfutils-$VERSION
7*7304104dSAndroid Build Coastguard Worker
8*7304104dSAndroid Build Coastguard Worker# Any error is fatal
9*7304104dSAndroid Build Coastguard Workerset -e
10*7304104dSAndroid Build Coastguard Worker
11*7304104dSAndroid Build Coastguard Worker# We take one arguent, the version (e.g. 0.173)
12*7304104dSAndroid Build Coastguard Workerif [ $# -ne 1 ]; then
13*7304104dSAndroid Build Coastguard Worker  echo "$0 <version> (e.g. 0.169)"
14*7304104dSAndroid Build Coastguard Worker  exit 1
15*7304104dSAndroid Build Coastguard Workerfi
16*7304104dSAndroid Build Coastguard Worker
17*7304104dSAndroid Build Coastguard WorkerVERSION="$1"
18*7304104dSAndroid Build Coastguard Worker
19*7304104dSAndroid Build Coastguard Workerecho Make sure the git repo is tagged, signed and pushed
20*7304104dSAndroid Build Coastguard Workerecho git tag -s -m \"elfutils $VERSION release\" elfutils-$VERSION
21*7304104dSAndroid Build Coastguard Workerecho git push --tags
22*7304104dSAndroid Build Coastguard Worker
23*7304104dSAndroid Build Coastguard Worker# Create a temporary directory and make sure it is cleaned up.
24*7304104dSAndroid Build Coastguard Workertempdir=$(mktemp -d) || exit
25*7304104dSAndroid Build Coastguard Workertrap "rm -rf -- ${tempdir}" EXIT
26*7304104dSAndroid Build Coastguard Worker
27*7304104dSAndroid Build Coastguard Workerpushd "${tempdir}"
28*7304104dSAndroid Build Coastguard Worker
29*7304104dSAndroid Build Coastguard Worker# Checkout
30*7304104dSAndroid Build Coastguard Workergit clone git://sourceware.org/git/elfutils.git
31*7304104dSAndroid Build Coastguard Workercd elfutils
32*7304104dSAndroid Build Coastguard Workergit tag --verify "elfutils-${VERSION}"
33*7304104dSAndroid Build Coastguard Workergit checkout -b "$VERSION" "elfutils-${VERSION}"
34*7304104dSAndroid Build Coastguard Worker
35*7304104dSAndroid Build Coastguard Worker# Create dist
36*7304104dSAndroid Build Coastguard Workerautoreconf -v -f -i
37*7304104dSAndroid Build Coastguard Worker./configure --enable-maintainer-mode
38*7304104dSAndroid Build Coastguard Workermake -j$(nproc) && make dist
39*7304104dSAndroid Build Coastguard Worker
40*7304104dSAndroid Build Coastguard Worker# Sign
41*7304104dSAndroid Build Coastguard Workermkdir $VERSION
42*7304104dSAndroid Build Coastguard Workercp elfutils-$VERSION.tar.bz2 $VERSION/
43*7304104dSAndroid Build Coastguard Workercd $VERSION/
44*7304104dSAndroid Build Coastguard Workergpg -b elfutils-$VERSION.tar.bz2
45*7304104dSAndroid Build Coastguard Workercd ..
46*7304104dSAndroid Build Coastguard Worker
47*7304104dSAndroid Build Coastguard Worker# Backup copy
48*7304104dSAndroid Build Coastguard Workercp -r $VERSION $HOME/elfutils-$VERSION
49*7304104dSAndroid Build Coastguard Worker
50*7304104dSAndroid Build Coastguard Worker# Upload
51*7304104dSAndroid Build Coastguard Workerscp -r $VERSION sourceware.org:/sourceware/ftp/pub/elfutils/
52*7304104dSAndroid Build Coastguard Workerssh sourceware.org "(cd /sourceware/ftp/pub/elfutils \
53*7304104dSAndroid Build Coastguard Worker  && chmod go+rx $VERSION \
54*7304104dSAndroid Build Coastguard Worker  && chmod go+r  $VERSION/elfutils-$VERSION.tar.bz2* \
55*7304104dSAndroid Build Coastguard Worker  && ln -sf $VERSION/elfutils-$VERSION.tar.bz2 elfutils-latest.tar.bz2 \
56*7304104dSAndroid Build Coastguard Worker  && ln -sf $VERSION/elfutils-$VERSION.tar.bz2.sig elfutils-latest.tar.bz2.sig \
57*7304104dSAndroid Build Coastguard Worker  && ls -lah elfutils-latest*)"
58*7304104dSAndroid Build Coastguard Worker
59*7304104dSAndroid Build Coastguard Worker# Cleanup
60*7304104dSAndroid Build Coastguard Workerpopd
61*7304104dSAndroid Build Coastguard Workertrap - EXIT
62*7304104dSAndroid Build Coastguard Workerexit
63