4 # CHANNEL: any from CHANNELS_URL: stable, beta, dev
7 CHANNELS_URL=http://omahaproxy.appspot.com/all
8 PACKAGE_NAME=chromium-browser
10 WORK_DIR=$(cd "$(dirname "$0")"; pwd)
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
15 VERSION=$(wget -qO - "$CHANNELS_URL?os=linux&channel=$CHANNEL" | awk -F, 'NR > 1{print $3}')
16 if [ -z "$VERSION" ]; then
17 echo >&2 "Can't figure out version for $CHANNEL"
21 # don't use .xz for beta channels, annoying if unpacks that slowly
22 if [ "$CHANNEL" = "stable" ]; then
27 VERSION_FILE=$DIST_DIR/$PACKAGE_NAME-$VERSION.tar.$EXT
29 if [ -e $VERSION_FILE -a -z "$FORCE" ]; then
37 flock -n 9 || { echo "$PROGRAM: locked"; exit 1; }
39 TMP_DIR=$(mktemp -d $WORK_DIR/$PACKAGE_NAME-$CHANNEL-$VERSION-_XXXXXX)
40 LOGFILE=$TMP_DIR/$PACKAGE_NAME-$VERSION.log
44 if [ "$CHANNEL" != "stable" ]; then
45 srctarball=$PACKAGE_NAME-$VERSION.tar.xz
46 wget -c -nv -O $srctarball "$OFFICIAL_URL/chromium-$VERSION.tar.xz"
48 srctarball=$PACKAGE_NAME-$VERSION.tar.bz2
49 wget -c -nv -O $srctarball "$OFFICIAL_URL/chromium-$VERSION.tar.bz2"
52 # repackage cleaned up tarball
53 test -d $PACKAGE_NAME-$VERSION || {
55 install -d $PACKAGE_NAME-$VERSION
56 # relocate to src dir (needed to workaround some gyp bug)
57 mv chromium-$VERSION $PACKAGE_NAME-$VERSION/src
63 cd $PACKAGE_NAME-$VERSION/src
66 awk 'NR=1 {print $NF; exit}' v8/ChangeLog | tee -a v8.txt
68 if [ "$CHANNEL" != "dev" ]; then
69 sh -x $WORK_DIR/clean-source.sh emptydirs=1 v8=0 libvpx=0 mesa=0 re2=0
72 # do not keep REMOVED*.txt in tarball. they are visible in .log anyway
77 # add LASTCHANGE info, take "branch_revision" item
78 svnver=$(wget -qO - "$CHANNELS_URL?os=linux&channel=$CHANNEL" | awk -F, 'NR > 1{print $8}')
79 echo "$svnver" > build/LASTCHANGE.in
83 tarball=$PACKAGE_NAME-$VERSION.tar.$EXT
84 # xz -9 OOM's on carme
85 XZ_OPT=-e8 tar -caf $tarball $PACKAGE_NAME-$VERSION
88 rm -rf $PACKAGE_NAME-$VERSION
100 # create diff patches
101 BASEVER=${VERSION%.*}.0
102 if [ -e $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT ]; then
103 base=$(readlink -f $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT)
104 current=$DIST_DIR/$PACKAGE_NAME-$VERSION.tar.$EXT
105 sh -x $WORK_DIR/make-diff-patch.sh $base $current
106 mv $PACKAGE_NAME-$VERSION.patch.xz $DIST_DIR
107 # for beta and dev channels, move the diff pointer
108 if [ "$CHANNEL" != "stable" ]; then
109 ln -sf $PACKAGE_NAME-$VERSION.tar.$EXT $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT
113 # try updating spec and build it as well
114 if [ -x $WORK_DIR/update-source.sh ]; then
117 sh -x $WORK_DIR/update-source.sh