summaryrefslogtreecommitdiff
path: root/pcre.sh
blob: d5e745714280f54bd2a7cb77e6af3d3a60e1e7ca (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
. $(dirname $0)/functions

vertonumber () {
        local VERSIONID=$1
        local V1=$(echo $VERSIONID | cut -d. -f1)
        local V2=$(echo $VERSIONID | cut -d. -f2)
        local V="$V1$V2"
        echo -n $V
}

NEW_VERSION=$(latest $(curl ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ | egrep 'pcre-|pcre2-' | cut -d "-" -f8 | cut -d . -f1,2))
echo "NEW_VERSION = $NEW_VERSION"

checkout platform/external/pcre

cd $SRC/platform/external/pcre

if git branch -a |grep -q linaro-upstream-$NEW_VERSION; then
        ok "pcre is up to date."
        exit 0
fi

git checkout -b linaro-upstream-work-$TIMESTAMP aosp/master

#AOSPVER=$(grep PACKAGE_VERSION config.h | cut -d \" -f2)
AOSPVER=$(grep Version: README.version | cut -d ' '  -f2)
echo "AOSPVER = $AOSPVER"

if [ "$(vertonumber $NEW_VERSION)" -le "$(vertonumber $AOSPVER)" ]; then
	notice "pcre is up to date in AOSP master, copying its work"
else
	notice "Updating pcre to $NEW_VERSION"
	wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-$AOSPVER.tar.bz2
	tar -jxvf pcre2-$AOSPVER.tar.bz2

	diff -rubN pcre2-$AOSPVER dist2 > Android.patch

	wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-$NEW_VERSION.tar.bz2
	tar -jxvf pcre2-$NEW_VERSION.tar.bz2

	rm -rf pcre2-$NEW_VERSION.tar.bz2 pcre2-$AOSPVER.tar.bz2 pcre2-$AOSPVER
	rm -rf dist2 pcre2-$AOSPVER
	mv pcre2-$NEW_VERSION dist2

	if patch -p0 < Android.patch; then
		rm Android.patch
		notice "Auto-updated pcre to $NEW_VERSION."
		git commit -asm "Update to pcre $NEW_VERSION"
		git clean -d -f -x
	else
		error "Couldn't auto-update pcre - patch failed to apply."
		error "Please fix manually and commit to a branch called"
		error "linaro-upstream-$NEW_VERSION."
		exit 1
	fi
fi

git push origin linaro-upstream-work-$TIMESTAMP:linaro-upstream-$NEW_VERSION
git pull
git checkout -b linaro-upstream-$NEW_VERSION origin/linaro-upstream-$NEW_VERSION
git branch -D linaro-upstream-work-$TIMESTAMP
pwd