summaryrefslogtreecommitdiffstats
path: root/native_client_sdk/src
diff options
context:
space:
mode:
authorjvoung <jvoung@chromium.org>2015-07-01 12:44:08 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-01 19:44:37 +0000
commitbcc806dcb8c1c00ee37c96400a9862eb7840efc7 (patch)
treef259ca62df875e9b0124e8becca1a491811a7ca7 /native_client_sdk/src
parentf66d1ecf0cd7426393088c91f2af78ff1889bab4 (diff)
downloadchromium_src-bcc806dcb8c1c00ee37c96400a9862eb7840efc7.zip
chromium_src-bcc806dcb8c1c00ee37c96400a9862eb7840efc7.tar.gz
chromium_src-bcc806dcb8c1c00ee37c96400a9862eb7840efc7.tar.bz2
Tweak PNaCl component archiver in SDK to avoid leading zeros vernum.
E.g., avoid 330242 -> 33.0242 in the rev_major/rev_minor splitting. Instead convert that to 330242 -> 33.242. This creates some ambiguity with 330242 vs 33242. To help a bit, label the tar file with the full 330242 (since that doesn't have the rev_major/minor restriction). Within the version number we also have the chrome milestone (43, vs 44) which would help with the 330242 (milestone 44) vs 33242 (milestone much less than 44) ambiguity. BUG=none Review URL: https://codereview.chromium.org/1211243015 Cr-Commit-Position: refs/heads/master@{#337097}
Diffstat (limited to 'native_client_sdk/src')
-rwxr-xr-xnative_client_sdk/src/build_tools/build_sdk.py18
-rwxr-xr-xnative_client_sdk/src/build_tools/make_pnacl_component.sh33
2 files changed, 30 insertions, 21 deletions
diff --git a/native_client_sdk/src/build_tools/build_sdk.py b/native_client_sdk/src/build_tools/build_sdk.py
index 4748b78..cf4ddf3 100755
--- a/native_client_sdk/src/build_tools/build_sdk.py
+++ b/native_client_sdk/src/build_tools/build_sdk.py
@@ -865,18 +865,24 @@ def BuildStepBuildPNaClComponent(version, revision):
# TODO(sbc): figure out how to compensate for this in some way such that
# revisions always go forward for a given version.
buildbot_common.BuildStep('PNaCl Component')
+ # Version numbers must follow the format specified in:
+ # https://developer.chrome.com/extensions/manifest/version
+ # So ensure that rev_major/rev_minor don't overflow and ensure there
+ # are no leading zeros.
if len(revision) > 4:
- rev_minor = revision[-4:]
- rev_major = revision[:-4]
+ rev_minor = int(revision[-4:])
+ rev_major = int(revision[:-4])
version = "0.%s.%s.%s" % (version, rev_major, rev_minor)
else:
version = "0.%s.0.%s" % (version, revision)
- buildbot_common.Run(['./make_pnacl_component.sh', version], cwd=SCRIPT_DIR)
+ buildbot_common.Run(['./make_pnacl_component.sh',
+ 'pnacl_multicrx_%s.zip' % revision,
+ version], cwd=SCRIPT_DIR)
-def BuildStepArchivePNaClComponent():
+def BuildStepArchivePNaClComponent(revision):
buildbot_common.BuildStep('Archive PNaCl Component')
- Archive('pnacl_multicrx.zip', OUT_DIR)
+ Archive('pnacl_multicrx_%s.zip' % revision, OUT_DIR)
def BuildStepArchiveSDKTools():
@@ -1183,7 +1189,7 @@ def main(args):
BuildStepArchiveBundle('naclports', pepper_ver, chrome_revision,
nacl_revision, ports_tarfile)
BuildStepArchiveSDKTools()
- BuildStepArchivePNaClComponent()
+ BuildStepArchivePNaClComponent(chrome_revision)
return 0
diff --git a/native_client_sdk/src/build_tools/make_pnacl_component.sh b/native_client_sdk/src/build_tools/make_pnacl_component.sh
index 42dc040..4674ac6e 100755
--- a/native_client_sdk/src/build_tools/make_pnacl_component.sh
+++ b/native_client_sdk/src/build_tools/make_pnacl_component.sh
@@ -3,7 +3,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-# This script builds out/pnacl_multicrx.zip for upload to the Chrome
+# This script builds out/pnacl_multicrx_<rev>.zip for upload to the Chrome
# Web Store. It runs gyp + ninja once for each architecture and assembles
# the results along with a manifest file.
@@ -26,12 +26,13 @@ run_gyp() {
individual_packages() {
export GYP_GENERATOR_FLAGS="output_dir=out_pnacl"
+ local base_out_dir=out
# arm
rm -rf out_pnacl/
GYP_DEFINES="target_arch=arm" run_gyp
ninja -C out_pnacl/Release/ pnacl_support_extension
- local target_dir=out/pnacl_arm
+ local target_dir=${base_out_dir}/pnacl_arm
mkdir -p ${target_dir}
cp out_pnacl/Release/pnacl/* ${target_dir}/.
@@ -39,7 +40,7 @@ individual_packages() {
rm -rf out_pnacl/
GYP_DEFINES="target_arch=ia32" run_gyp
ninja -C out_pnacl/Release/ pnacl_support_extension
- target_dir=out/pnacl_x86_32
+ target_dir=${base_out_dir}/pnacl_x86_32
mkdir -p ${target_dir}
cp out_pnacl/Release/pnacl/* ${target_dir}/.
@@ -47,14 +48,16 @@ individual_packages() {
rm -rf out_pnacl/
GYP_DEFINES="target_arch=x64" run_gyp
ninja -C out_pnacl/Release/ pnacl_support_extension
- target_dir=out/pnacl_x86_64
+ target_dir=${base_out_dir}/pnacl_x86_64
mkdir -p ${target_dir}
cp out_pnacl/Release/pnacl/* ${target_dir}/.
}
multi_crx() {
- local version=$1
- local target_dir=out/pnacl_multicrx
+ local outfile=$1
+ local version=$2
+ local base_out_dir=out
+ local target_dir=${base_out_dir}/pnacl_multicrx
mkdir -p ${target_dir}
cat > ${target_dir}/manifest.json <<EOF
{
@@ -82,22 +85,22 @@ EOF
for arch in x86_32 x86_64 arm; do
local sub_dir="${target_dir}/_platform_specific/${arch}"
- local src_dir="out/pnacl_${arch}"
+ local src_dir="${base_out_dir}/pnacl_${arch}"
mkdir -p ${sub_dir}
cp ${src_dir}/pnacl_public_* ${sub_dir}/.
done
- (cd ${target_dir} && zip -r ../$(basename ${target_dir}).zip .)
- ls -l ${target_dir}.zip
- echo "DONE: created ${target_dir}.zip -- upload that!"
+ (cd ${target_dir} && zip -r ../${outfile} . && ls -l ../${outfile})
+ echo "DONE: created ${outfile} -- upload that!"
echo "You can also delete ${target_dir} later (the pre-zipped contents)."
}
-if [ $# != 1 ]; then
- echo "Usage: $0 <rev_number>"
+if [ $# != 2 ]; then
+ echo "Usage: $0 <outfile> <rev_number>"
exit 1
fi
-version="$1"
-echo "Buidling pnacl_multicrx.zip version=$version"
+outfile="$1"
+version="$2"
+echo "Building file ${outfile} version=${version}"
individual_packages
-multi_crx $version
+multi_crx ${outfile} ${version}