File: update_version.sh

package info (click to toggle)
primesieve 5.7.2%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,064 kB
  • ctags: 1,079
  • sloc: cpp: 5,871; makefile: 232; ansic: 176; sh: 102
file content (98 lines) | stat: -rwxr-xr-x 2,826 bytes parent folder | download
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
#!/bin/sh

if [ $# -ne 2 ]
then
    echo "Usage example:"
    echo "$ ./update_version.sh 1.2.3 7:0:0"
    echo ""
    echo "Updates the primesieve version to 1.2.3 in all files and"
    echo "updates the libtool library version to 7:0:0"

    exit 1
fi

# Run from primesieve root directory
test -e ../src && cd ..
test -f configure || ./autogen.sh

new_version=$1
old_version=$(grep "PRIMESIEVE_VERSION " include/primesieve.hpp | cut -f2 -d'"')

new_major=$(echo $new_version | cut -f1 -d'.')
new_minor=$(echo $new_version | cut -f2 -d'.')
new_patch=$(echo $new_version | cut -f3 -d'.')

old_major=$(echo $old_version | cut -f1 -d'.')
old_minor=$(echo $old_version | cut -f2 -d'.')
old_patch=$(echo $old_version | cut -f3 -d'.')

new_libtool_version=$2
old_libtool_version=$(grep primesieve_lib_version configure.ac | \
                      cut -f2 -d' ' | \
                      cut -f2 -d'[' | \
                      cut -f1 -d']')

libtool_major=$(echo $old_libtool_version | cut -f1 -d':')
libtool_minor=$(echo $old_libtool_version | cut -f2 -d':')
libtool_patch=$(echo $old_libtool_version | cut -f3 -d':')

new_year=$(date +'%Y')
old_year=$(grep "Copyright (C)" src/apps/gui/src/PrimeSieveGUI_const.hpp | cut -f5 -d' ')

echo "New version: $new_version"
echo "Old version: $old_version"
echo ""
echo "New libtool version: $new_libtool_version"
echo "Old libtool version: $old_libtool_version"
echo ""
echo "New year: $new_year"
echo "Old year: $old_year"
echo ""

# Update version
for i in $(echo README.md \
                configure.ac \
                include/primesieve.hpp \
                include/primesieve.h)
do
    echo "Update version in $i"
    sed "s/$old_major\.$old_minor\.$old_patch/$new_version/g" $i > $i.tmp
    mv -f $i.tmp $i
done

# Update version
for i in $(echo include/primesieve.hpp \
                include/primesieve.h)
do
    sed "s/PRIMESIEVE_VERSION_MAJOR $old_major/PRIMESIEVE_VERSION_MAJOR $new_major/g" $i > $i.tmp
    mv -f $i.tmp $i
    sed "s/PRIMESIEVE_VERSION_MINOR $old_minor/PRIMESIEVE_VERSION_MINOR $new_minor/g" $i > $i.tmp
    mv -f $i.tmp $i
    sed "s/PRIMESIEVE_VERSION_PATCH $old_patch/PRIMESIEVE_VERSION_PATCH $new_patch/g" $i > $i.tmp
    mv -f $i.tmp $i
done

# Update libtool version
echo ""
echo "Update libtool version in configure.ac $new_libtool_version"
sed "s/$old_libtool_version/$new_libtool_version/g" configure.ac > configure.ac.tmp
mv -f configure.ac.tmp configure.ac
echo ""

# Update year
for i in $(echo COPYING \
                src/apps/console/help.cpp \
                src/apps/gui/src/PrimeSieveGUI_const.hpp)
do
    echo "Update year in $i"
    sed "s/$old_year/$new_year/g" $i > $i.tmp
    mv -f $i.tmp $i
done

# Update version number in man page
echo ""
./configure --with-help2man
make man -j8
echo ""

echo "Version has been updated!"