]> git.pld-linux.org Git - packages/chromium-browser.git/blame - get-source.sh
- pl
[packages/chromium-browser.git] / get-source.sh
CommitLineData
e6c6c1d9 1#!/bin/sh
ca7aa526 2set -e
e6c6c1d9 3
dbf2ee91 4# CHANNEL: any from CHANNELS_URL: stable, beta, dev
ca7aa526 5CHANNEL=${1:-beta}
e6c6c1d9 6
921480a7 7CHANNELS_URL=https://omahaproxy.appspot.com/all
ca7aa526 8PACKAGE_NAME=chromium-browser
f4176835
ER
9PROGRAM=${0##*/}
10WORK_DIR=$(cd "$(dirname "$0")"; pwd)
ca7aa526 11LOCKFILE=$WORK_DIR/$PACKAGE_NAME-$CHANNEL.lock
921480a7
ER
12# Browse URL: https://gsdview.appspot.com/chromium-browser-official/
13OFFICIAL_URL=https://commondatastorage.googleapis.com/chromium-browser-official
39b18362 14ALT_URL=https://github.com/zcbenz/chromium-source-tarball/releases/download
ca7aa526 15DIST_DIR=$HOME/public_html/chromium-browser/src/$CHANNEL
e6c6c1d9 16
eea8ad40
ER
17# skip package build if interactive
18tty -s && build_package=0
19
71581184 20VERSION=${2:-$(wget -qO - "$CHANNELS_URL?os=linux&channel=$CHANNEL" | awk -F, 'NR > 1{print $3}')}
95372ebe
ER
21if [ -z "$VERSION" ]; then
22 echo >&2 "Can't figure out version for $CHANNEL"
23 exit 1
24fi
25
e20f2cd0 26# don't use .xz for beta channels, annoying if unpacks that slowly
f20db397
ER
27if [ "$CHANNEL" = "stable" ]; then
28 EXT=xz
29else
30 EXT=gz
31fi
32VERSION_FILE=$DIST_DIR/$PACKAGE_NAME-$VERSION.tar.$EXT
e6c6c1d9 33
5ee7fc97 34if [ -e $VERSION_FILE -a -z "$FORCE" ]; then
ca7aa526
ER
35 # nothing to update
36 exit 0
37fi
e6c6c1d9 38
ca7aa526 39set -x
e6c6c1d9 40
f4176835
ER
41(
42 flock -n 9 || { echo "$PROGRAM: locked"; exit 1; }
e6c6c1d9 43
f4176835
ER
44 TMP_DIR=$(mktemp -d $WORK_DIR/$PACKAGE_NAME-$CHANNEL-$VERSION-_XXXXXX)
45 LOGFILE=$TMP_DIR/$PACKAGE_NAME-$VERSION.log
e6c6c1d9 46
f4176835
ER
47 (
48 cd "$TMP_DIR"
9d8fb756 49 srctarball=$PACKAGE_NAME-$VERSION.tar.xz
6a7e9d19 50
39b18362 51 wget -nc -nv -O $srctarball "$OFFICIAL_URL/chromium-$VERSION.tar.xz" || :
6a7e9d19
ER
52 test -s $srctarball || rm $srctarball
53
39b18362 54 wget -nc -nv -O $srctarball "$ALT_URL/$VERSION/chromium-$VERSION.tar.xz" || :
6a7e9d19
ER
55 test -s $srctarball || rm $srctarball
56
39b18362 57 test -f $srctarball
e6c6c1d9 58
f4176835
ER
59 # repackage cleaned up tarball
60 test -d $PACKAGE_NAME-$VERSION || {
61 tar xvf $srctarball
75f96a39 62 mv chromium-$VERSION $PACKAGE_NAME-$VERSION
f4176835 63 }
42cc2c8c 64
f4176835
ER
65 ls -lh $srctarball
66 rm $srctarball
42cc2c8c 67
75f96a39 68 cd $PACKAGE_NAME-$VERSION
f4176835 69 du -sh .
2f77d5e5 70
e00e4177 71 awk '/^#define/ && /(MAJOR|MINOR)_VERSION|BUILD_NUMBER|PATCH_LEVEL/ { printf("%s=%s\n", $2, $3) }' v8/src/version.cc | tee -a v8.sh
2f77d5e5 72
b644427e 73 if [ "$CHANNEL" = "stable" ]; then
708e64c2 74 patch -p1 < $WORK_DIR/remove_bundled_libraries-stale.patch
c90d5eb0 75 sh -x $WORK_DIR/clean-source.sh emptydirs=1 v8=0 mesa=0 sqlite=0 ffmpeg=0 protobuf=0 re2=0
708e64c2 76 patch -p1 -R < $WORK_DIR/remove_bundled_libraries-stale.patch
f4176835 77 fi
dbf2ee91 78
f4176835
ER
79 # do not keep REMOVED*.txt in tarball. they are visible in .log anyway
80 rm -vf REMOVED-*.txt
07b01cb7 81
f4176835 82 du -sh .
07b01cb7 83
f4176835
ER
84 # add LASTCHANGE info, take "branch_revision" item
85 svnver=$(wget -qO - "$CHANNELS_URL?os=linux&channel=$CHANNEL" | awk -F, 'NR > 1{print $8}')
86 echo "$svnver" > build/LASTCHANGE.in
85917d98 87
75f96a39 88 cd ..
85917d98 89
f4176835
ER
90 tarball=$PACKAGE_NAME-$VERSION.tar.$EXT
91 # xz -9 OOM's on carme
92 XZ_OPT=-e8 tar -caf $tarball $PACKAGE_NAME-$VERSION
93 ls -lh $tarball
e6c6c1d9 94
f4176835 95 rm -rf $PACKAGE_NAME-$VERSION
e6c6c1d9 96
f4176835
ER
97 chmod 644 $tarball
98 mv $tarball $DIST_DIR
e6c6c1d9 99
f4176835 100 ) > $LOGFILE 2>&1
e6c6c1d9 101
f4176835
ER
102 chmod 644 $LOGFILE
103 mv $LOGFILE $DIST_DIR
e6c6c1d9 104
f4176835 105 rm -rf $TMP_DIR
e6c6c1d9 106
f4176835
ER
107 # create diff patches
108 BASEVER=${VERSION%.*}.0
109 if [ -e $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT ]; then
110 base=$(readlink -f $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT)
111 current=$DIST_DIR/$PACKAGE_NAME-$VERSION.tar.$EXT
e63ffea8
ER
112 if [ "$(basename $base)" != "$(basename $current)" ]; then
113 sh -x $WORK_DIR/make-diff-patch.sh $base $current
ac64eb76 114 chmod 644 $PACKAGE_NAME-$VERSION.patch.xz
e63ffea8
ER
115 mv $PACKAGE_NAME-$VERSION.patch.xz $DIST_DIR
116 # for beta and dev channels, update the diff pointer
117 if [ "$CHANNEL" != "stable" ]; then
118 ln -sf $PACKAGE_NAME-$VERSION.tar.$EXT $DIST_DIR/$PACKAGE_NAME-$BASEVER.tar.$EXT
119 fi
f4176835
ER
120 fi
121 fi
1a868d2c 122
f4176835
ER
123 # try updating spec and build it as well
124 if [ -x $WORK_DIR/update-source.sh ]; then
eea8ad40
ER
125 build_package=${build_package-1} \
126 publish_packages=${publish_packages-1} \
f4176835 127 sh -x $WORK_DIR/update-source.sh
ce99e0e3 128 fi
9337d609 129
f4176835
ER
130 rm $LOCKFILE
131) 9>$LOCKFILE
This page took 0.099232 seconds and 4 git commands to generate.