]>
Commit | Line | Data |
---|---|---|
e6c6c1d9 | 1 | #!/bin/sh |
ca7aa526 | 2 | set -e |
e6c6c1d9 | 3 | |
dbf2ee91 | 4 | # CHANNEL: any from CHANNELS_URL: stable, beta, dev |
ca7aa526 | 5 | CHANNEL=${1:-beta} |
e6c6c1d9 | 6 | |
95372ebe | 7 | CHANNELS_URL=http://omahaproxy.appspot.com/all |
ca7aa526 ER |
8 | PACKAGE_NAME=chromium-browser |
9 | WORK_DIR=$(cd $(dirname "$0"); pwd) | |
10 | CHROMIUM=$HOME/svn/$PACKAGE_NAME-$CHANNEL | |
11 | LOCKFILE=$WORK_DIR/$PACKAGE_NAME-$CHANNEL.lock | |
12 | OFFICIAL_URL=http://commondatastorage.googleapis.com/chromium-browser-official | |
13 | DIST_DIR=$HOME/public_html/chromium-browser/src/$CHANNEL | |
e6c6c1d9 | 14 | |
ca7aa526 | 15 | VERSION=$(wget -qO - "$CHANNELS_URL?os=linux&channel=$CHANNEL" | awk -F, 'NR > 1{print $3}') |
95372ebe ER |
16 | if [ -z "$VERSION" ]; then |
17 | echo >&2 "Can't figure out version for $CHANNEL" | |
18 | exit 1 | |
19 | fi | |
20 | ||
e20f2cd0 | 21 | # don't use .xz for beta channels, annoying if unpacks that slowly |
f20db397 ER |
22 | if [ "$CHANNEL" = "stable" ]; then |
23 | EXT=xz | |
24 | else | |
25 | EXT=gz | |
26 | fi | |
27 | VERSION_FILE=$DIST_DIR/$PACKAGE_NAME-$VERSION.tar.$EXT | |
e6c6c1d9 | 28 | |
5ee7fc97 | 29 | if [ -e $VERSION_FILE -a -z "$FORCE" ]; then |
ca7aa526 ER |
30 | # nothing to update |
31 | exit 0 | |
32 | fi | |
e6c6c1d9 | 33 | |
ca7aa526 | 34 | set -x |
e6c6c1d9 | 35 | |
ca7aa526 ER |
36 | # consider lockfile stale after 3h |
37 | if ! lockfile -l 10800 $LOCKFILE; then | |
38 | exit 1 | |
39 | fi | |
42cc2c8c | 40 | |
ca7aa526 | 41 | trap "rm -f $LOCKFILE" EXIT |
e6c6c1d9 | 42 | |
ca7aa526 ER |
43 | TMP_DIR=$(mktemp -d $WORK_DIR/$PACKAGE_NAME-$CHANNEL-$VERSION-_XXXXXX) |
44 | LOGFILE=$TMP_DIR/$PACKAGE_NAME-$VERSION.log | |
e6c6c1d9 | 45 | |
ca7aa526 ER |
46 | ( |
47 | cd "$TMP_DIR" | |
48 | srctarball=$PACKAGE_NAME-$VERSION.tar.bz2 | |
be8a9e68 | 49 | if [ "$CHANNEL" = "dev" ]; then |
75a3d68e | 50 | wget -c -nv -O $srctarball "$OFFICIAL_URL/chromium-$VERSION.tar.bz2" |
be8a9e68 ER |
51 | else |
52 | wget -c -nv -O $srctarball "$OFFICIAL_URL/chromium-$VERSION.tar.bz2" | |
53 | fi | |
e6c6c1d9 | 54 | |
ca7aa526 ER |
55 | # repackage cleaned up tarball |
56 | test -d $PACKAGE_NAME-$VERSION || { | |
be8a9e68 | 57 | tar xjvf $srctarball |
ca7aa526 | 58 | install -d $PACKAGE_NAME-$VERSION |
be8a9e68 | 59 | # relocate to src dir (needed to workaround some gyp bug) |
ca7aa526 ER |
60 | mv chromium-$VERSION $PACKAGE_NAME-$VERSION/src |
61 | } | |
42cc2c8c | 62 | |
ca7aa526 ER |
63 | ls -lh $srctarball |
64 | rm $srctarball | |
42cc2c8c | 65 | |
ca7aa526 ER |
66 | cd $PACKAGE_NAME-$VERSION/src |
67 | du -sh . | |
2f77d5e5 | 68 | |
dbf2ee91 | 69 | awk 'NR=1 {print $NF; exit}' v8/ChangeLog | tee -a v8.txt |
2f77d5e5 | 70 | |
dbf2ee91 ER |
71 | # keep v8 in sources if branch is not stable |
72 | if [ "$CHANNEL" = "stable" ]; then | |
b8da6af6 | 73 | v8=0 |
dbf2ee91 ER |
74 | else |
75 | v8=0 | |
76 | fi | |
77 | ||
be8a9e68 | 78 | if [ "$CHANNEL" != "dev" ]; then |
23e8b485 | 79 | sh -x $WORK_DIR/clean-source.sh v8=$v8 emptydirs=1 |
be8a9e68 | 80 | fi |
07b01cb7 ER |
81 | |
82 | # do not keep REMOVED*.txt in tarball. they are visible in .log anyway | |
83 | rm -vf REMOVED-*.txt | |
84 | ||
ca7aa526 | 85 | du -sh . |
85917d98 ER |
86 | |
87 | # add LASTCHANGE info, take "branch_revision" item | |
88 | svnver=$(wget -qO - "$CHANNELS_URL?os=linux&channel=$CHANNEL" | awk -F, 'NR > 1{print $8}') | |
89 | echo "$svnver" > build/LASTCHANGE.in | |
90 | ||
ca7aa526 | 91 | cd ../.. |
e6c6c1d9 | 92 | |
f20db397 | 93 | tarball=$PACKAGE_NAME-$VERSION.tar.$EXT |
e20f2cd0 | 94 | # xz -9 OOM's on carme |
ce99e0e3 | 95 | XZ_OPT=-e8 tar -caf $tarball $PACKAGE_NAME-$VERSION |
ca7aa526 | 96 | ls -lh $tarball |
e6c6c1d9 | 97 | |
ca7aa526 | 98 | rm -rf $PACKAGE_NAME-$VERSION |
e6c6c1d9 | 99 | |
ca7aa526 ER |
100 | chmod 644 $tarball |
101 | mv $tarball $DIST_DIR | |
e6c6c1d9 | 102 | |
ca7aa526 | 103 | ) > $LOGFILE 2>&1 |
e6c6c1d9 | 104 | |
ca7aa526 ER |
105 | chmod 644 $LOGFILE |
106 | mv $LOGFILE $DIST_DIR | |
e6c6c1d9 | 107 | |
ca7aa526 | 108 | rm -rf $TMP_DIR |
1a868d2c | 109 | |
9337d609 ER |
110 | # create diff patches |
111 | BASEVER=${VERSION%.*}.0 | |
112 | if [ -e $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT ]; then | |
113 | base=$(readlink -f $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT) | |
114 | current=$DIST_DIR/$PACKAGE_NAME-$VERSION.tar.$EXT | |
115 | sh -x $WORK_DIR/make-diff-patch.sh $base $current | |
83762cdd | 116 | mv $PACKAGE_NAME-$VERSION.patch.xz $DIST_DIR |
ce99e0e3 ER |
117 | # for beta and dev channels, move the diff pointer |
118 | if [ "$CHANNEL" != "stable" ]; then | |
119 | ln -sf $PACKAGE_NAME-$VERSION.tar.$EXT $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT | |
120 | fi | |
9337d609 ER |
121 | fi |
122 | ||
1a868d2c ER |
123 | # try updating spec and build it as well |
124 | if [ -x $WORK_DIR/update-source.sh ]; then | |
125 | build_package=1 \ | |
126 | publish_packages=1 \ | |
95372ebe | 127 | sh -x $WORK_DIR/update-source.sh |
1a868d2c | 128 | fi |