blob: 105c4a686ae5d13f8525c6d884d87c191fd6eb3d (
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
#!/bin/bash
#Maintainer info
MAINTAINER_EMAIL="[email protected]"
MAINTAINER_NAME="Carlos Maiolino"
SOURCE=$PWD
#Files
VERSION_FILE="$SOURCE/VERSION"
CONFIGURE_FILE="$SOURCE/configure.ac"
DEBIAN_FILE="$SOURCE/debian/changelog"
CHANGES_FILE="$SOURCE/doc/CHANGES"
VER_MAJ="$1"
VER_MIN="$2"
VER_REV="$3"
REL_VER="$VER_MAJ.$VER_MIN.$VER_REV"
REL_TAG="v$VER_MAJ.$VER_MIN.$VER_REV"
#OLD_VER here points to the previous released tag
OLD_TAG=$4
usage() {
echo "./xfsprogs_release.sh <mav_ver> <min_ver> <revision> <old_git_tag>"
exit
}
## UPDATE VERSIONING ##
update_version_file() {
sed -i -e "s/^PKG_MAJOR=.*/PKG_MAJOR=$VER_MAJ/" $VERSION_FILE
sed -i -e "s/^PKG_MINOR=.*/PKG_MINOR=$VER_MIN/" $VERSION_FILE
sed -i -e "s/^PKG_REVISION=.*/PKG_REVISION=$VER_REV/" $VERSION_FILE
}
update_configure_file() {
CONF_AC="AC_INIT([xfsprogs],[$REL_VER],[[email protected]])"
sed -i "s/^AC_INIT.*/$CONF_AC/" $CONFIGURE_FILE
}
# Update is done in 'reverse order', so the script can always update the first
# line of the file, just to KISS.
update_debian_changelog() {
sed -i "1s/^/\n/" $DEBIAN_FILE
sed -i "1s/^/ -- Nathan Scott <[email protected]> $(date -R)\n/" $DEBIAN_FILE
sed -i "1s/^/\n/" $DEBIAN_FILE
sed -i "1s/^/ * New upstream release\n/" $DEBIAN_FILE
sed -i "1s/^/\n/" $DEBIAN_FILE
sed -i "1s/^/xfsprogs ($VER_MAJ.$VER_MIN.$VER_REV) unstable; urgency=low\n/" $DEBIAN_FILE
}
update_changes_file() {
TMP_FILE=$(mktemp)
git log --oneline --reverse --format="%s (%an)" $OLD_TAG.. > $TMP_FILE
while read -r line; do
sed -i "1s/^/\t$line\n/" $CHANGES_FILE
done < $TMP_FILE
rm -f $TMP_FILE
}
create_signed_tag() {
git tag -s -u $MAINTAINER_EMAIL -m "Release $REL_RAG" $REL_TAG
}
create_and_push_tarball() {
kup put xfsprogs-$REL_VER.tar.gz xfsprogs-$REL_VER.tar.sign \
pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-$REL_VER.tar.gz
}
is_xfsprogs_repo() {
if [ -a $SOURCE/README ] && \
[ "$(head -1 $SOURCE/README)" == "XFS User Tools README" ]; then
return 0
else
echo "Current dir not a xfsprogs repository"
usage
exit 1
fi
}
### PROGRAM STARTS HERE ###
# Ensure we are withing a xfsprogs repository:
is_xfsprogs_repo
# MAJ, MIN, REV, OLD_TAG
if [ $# -ne 4 ]; then
echo "Invalid number of arguments"
usage
exit 1
fi
# Update files for new release
#echo "Updating config.ac file..."
#update_configure_file
#echo "...done"
#echo
#echo "Updating debian changelog..."
#update_debian_changelog
#echo "...done"
#echo
#echo "Updating VERSION file..."
#update_version_file
#echo "...done"
#echo
#echo "Commiting changes..."
#git add $VERSION_FILE $CONFIGURE_FILE $DEBIAN_FILE
#
#git commit -s -m "xfsprogs: Release $REL_TAG" \
#-m "Update all the necessary files for a $REL_TAG release."
update_changes_file
|