OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 # | 4 # |
5 # This script should not be run directly but sourced by the other | 5 # This script should not be run directly but sourced by the other |
6 # scripts (e.g. sysroot-creator-trusty.sh). Its up to the parent scripts | 6 # scripts (e.g. sysroot-creator-trusty.sh). Its up to the parent scripts |
7 # to define certain environment variables: e.g. | 7 # to define certain environment variables: e.g. |
8 # DISTRO=ubuntu | 8 # DISTRO=ubuntu |
9 # DIST=trusty | 9 # DIST=trusty |
10 # APT_REPO=http://archive.ubuntu.com/ubuntu | 10 # APT_REPO=http://archive.ubuntu.com/ubuntu |
11 # KEYRING_FILE=/usr/share/keyrings/ubuntu-archive-keyring.gpg | 11 # KEYRING_FILE=/usr/share/keyrings/ubuntu-archive-keyring.gpg |
12 # DEBIAN_PACKAGES="gcc libz libssl" | 12 # DEBIAN_PACKAGES="gcc libz libssl" |
13 | 13 |
14 #@ This script builds a Debian sysroot images for building Google Chrome. | 14 #@ This script builds Debian/Ubuntu sysroot images for building Google Chrome. |
15 #@ | 15 #@ |
16 #@ Generally this script is invoked as: | 16 #@ Generally this script is invoked as: |
17 #@ sysroot-creator-<flavour>.sh <mode> <args>* | 17 #@ sysroot-creator-<flavour>.sh <mode> <args>* |
18 #@ Available modes are shown below. | 18 #@ Available modes are shown below. |
19 #@ | 19 #@ |
20 #@ List of modes: | 20 #@ List of modes: |
21 | 21 |
22 ###################################################################### | 22 ###################################################################### |
23 # Config | 23 # Config |
24 ###################################################################### | 24 ###################################################################### |
(...skipping 17 matching lines...) Expand all Loading... |
42 echo "error: KEYRING_FILE not defined" | 42 echo "error: KEYRING_FILE not defined" |
43 exit 1 | 43 exit 1 |
44 fi | 44 fi |
45 | 45 |
46 if [ -z "${DEBIAN_PACKAGES:-}" ]; then | 46 if [ -z "${DEBIAN_PACKAGES:-}" ]; then |
47 echo "error: DEBIAN_PACKAGES not defined" | 47 echo "error: DEBIAN_PACKAGES not defined" |
48 exit 1 | 48 exit 1 |
49 fi | 49 fi |
50 | 50 |
51 readonly REPO_BASEDIR="${APT_REPO}/dists/${DIST}" | 51 readonly REPO_BASEDIR="${APT_REPO}/dists/${DIST}" |
| 52 readonly REPO_BASEDIR_ARM=${REPO_BASEDIR_ARM:=$REPO_BASEDIR} |
| 53 readonly REPO_BASEDIR_ARM64=${REPO_BASEDIR_ARM64:=$REPO_BASEDIR} |
| 54 readonly REPO_BASEDIR_MIPS=${REPO_BASEDIR_MIPS:=$REPO_BASEDIR} |
| 55 |
| 56 readonly HAS_ARCH_AMD64=${HAS_ARCH_AMD64:=0} |
| 57 readonly HAS_ARCH_I386=${HAS_ARCH_I386:=0} |
| 58 readonly HAS_ARCH_ARM=${HAS_ARCH_ARM:=0} |
| 59 readonly HAS_ARCH_ARM64=${HAS_ARCH_ARM64:=0} |
| 60 readonly HAS_ARCH_MIPS=${HAS_ARCH_MIPS:=0} |
52 | 61 |
53 readonly REQUIRED_TOOLS="wget" | 62 readonly REQUIRED_TOOLS="wget" |
54 | 63 |
55 ###################################################################### | 64 ###################################################################### |
56 # Package Config | 65 # Package Config |
57 ###################################################################### | 66 ###################################################################### |
58 | 67 |
59 PACKAGES_EXT=${PACKAGES_EXT:-bz2} | 68 PACKAGES_EXT=${PACKAGES_EXT:-bz2} |
60 readonly RELEASE_FILE="Release" | 69 readonly RELEASE_FILE="Release" |
61 readonly RELEASE_FILE_GPG="Release.gpg" | 70 readonly RELEASE_FILE_GPG="Release.gpg" |
62 readonly RELEASE_LIST="${REPO_BASEDIR}/${RELEASE_FILE}" | 71 readonly RELEASE_LIST="${REPO_BASEDIR}/${RELEASE_FILE}" |
63 readonly RELEASE_LIST_GPG="${REPO_BASEDIR}/${RELEASE_FILE_GPG}" | 72 readonly RELEASE_LIST_GPG="${REPO_BASEDIR}/${RELEASE_FILE_GPG}" |
64 readonly PACKAGE_FILE_AMD64="main/binary-amd64/Packages.${PACKAGES_EXT}" | 73 readonly PACKAGE_FILE_AMD64="main/binary-amd64/Packages.${PACKAGES_EXT}" |
65 readonly PACKAGE_FILE_I386="main/binary-i386/Packages.${PACKAGES_EXT}" | 74 readonly PACKAGE_FILE_I386="main/binary-i386/Packages.${PACKAGES_EXT}" |
66 readonly PACKAGE_FILE_ARM="main/binary-armhf/Packages.${PACKAGES_EXT}" | 75 readonly PACKAGE_FILE_ARM="main/binary-armhf/Packages.${PACKAGES_EXT}" |
67 readonly PACKAGE_FILE_ARM64="main/binary-arm64/Packages.${PACKAGES_EXT}" | 76 readonly PACKAGE_FILE_ARM64="main/binary-arm64/Packages.${PACKAGES_EXT}" |
68 readonly PACKAGE_FILE_MIPS="main/binary-mipsel/Packages.${PACKAGES_EXT}" | 77 readonly PACKAGE_FILE_MIPS="main/binary-mipsel/Packages.${PACKAGES_EXT}" |
69 readonly PACKAGE_LIST_AMD64="${REPO_BASEDIR}/${PACKAGE_FILE_AMD64}" | 78 readonly PACKAGE_LIST_AMD64="${REPO_BASEDIR}/${PACKAGE_FILE_AMD64}" |
70 readonly PACKAGE_LIST_I386="${REPO_BASEDIR}/${PACKAGE_FILE_I386}" | 79 readonly PACKAGE_LIST_I386="${REPO_BASEDIR}/${PACKAGE_FILE_I386}" |
71 readonly PACKAGE_LIST_ARM="${REPO_BASEDIR}/${PACKAGE_FILE_ARM}" | 80 readonly PACKAGE_LIST_ARM="${REPO_BASEDIR_ARM}/${PACKAGE_FILE_ARM}" |
72 readonly PACKAGE_LIST_ARM64="${REPO_BASEDIR}/${PACKAGE_FILE_ARM64}" | 81 readonly PACKAGE_LIST_ARM64="${REPO_BASEDIR_ARM64}/${PACKAGE_FILE_ARM64}" |
73 readonly PACKAGE_LIST_MIPS="${REPO_BASEDIR}/${PACKAGE_FILE_MIPS}" | 82 readonly PACKAGE_LIST_MIPS="${REPO_BASEDIR_MIPS}/${PACKAGE_FILE_MIPS}" |
74 | 83 |
75 readonly DEBIAN_DEP_LIST_AMD64="packagelist.${DIST}.amd64" | 84 readonly DEBIAN_DEP_LIST_AMD64="packagelist.${DIST}.amd64" |
76 readonly DEBIAN_DEP_LIST_I386="packagelist.${DIST}.i386" | 85 readonly DEBIAN_DEP_LIST_I386="packagelist.${DIST}.i386" |
77 readonly DEBIAN_DEP_LIST_ARM="packagelist.${DIST}.arm" | 86 readonly DEBIAN_DEP_LIST_ARM="packagelist.${DIST}.arm" |
78 readonly DEBIAN_DEP_LIST_ARM64="packagelist.${DIST}.arm64" | 87 readonly DEBIAN_DEP_LIST_ARM64="packagelist.${DIST}.arm64" |
79 readonly DEBIAN_DEP_LIST_MIPS="packagelist.${DIST}.mipsel" | 88 readonly DEBIAN_DEP_LIST_MIPS="packagelist.${DIST}.mipsel" |
80 | 89 |
81 ###################################################################### | 90 ###################################################################### |
82 # Helper | 91 # Helper |
83 ###################################################################### | 92 ###################################################################### |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 rm -rf ${INSTALL_ROOT}/* | 192 rm -rf ${INSTALL_ROOT}/* |
184 } | 193 } |
185 | 194 |
186 | 195 |
187 CreateTarBall() { | 196 CreateTarBall() { |
188 Banner "Creating tarball ${TARBALL}" | 197 Banner "Creating tarball ${TARBALL}" |
189 tar zcf ${TARBALL} -C ${INSTALL_ROOT} . | 198 tar zcf ${TARBALL} -C ${INSTALL_ROOT} . |
190 } | 199 } |
191 | 200 |
192 ExtractPackageBz2() { | 201 ExtractPackageBz2() { |
193 if [ "${PACKAGES_EXT}" == "bz2" ]; then | 202 if [ "${PACKAGES_EXT}" = "bz2" ]; then |
194 bzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2" | 203 bzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2" |
195 else | 204 else |
196 xzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2" | 205 xzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2" |
197 fi | 206 fi |
198 } | 207 } |
199 | 208 |
200 GeneratePackageListAmd64() { | 209 GeneratePackageListAmd64() { |
201 local output_file="$1" | 210 local output_file="$1" |
202 local package_list="${BUILD_DIR}/Packages.${DIST}_amd64.${PACKAGES_EXT}" | 211 local package_list="${BUILD_DIR}/Packages.${DIST}_amd64.${PACKAGES_EXT}" |
203 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_amd64" | 212 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_amd64" |
204 DownloadOrCopy "${PACKAGE_LIST_AMD64}" "${package_list}" | 213 DownloadOrCopy "${PACKAGE_LIST_AMD64}" "${package_list}" |
205 VerifyPackageListing "${PACKAGE_FILE_AMD64}" "${package_list}" | 214 VerifyPackageListing "${PACKAGE_FILE_AMD64}" "${package_list}" |
206 ExtractPackageBz2 "$package_list" "$tmp_package_list" | 215 ExtractPackageBz2 "$package_list" "$tmp_package_list" |
207 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} | 216 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} |
208 ${DEBIAN_PACKAGES_X86} ${DEBIAN_PACKAGES_AMD64}" | 217 ${DEBIAN_PACKAGES_X86:=} ${DEBIAN_PACKAGES_AMD64:=}" |
209 } | 218 } |
210 | 219 |
211 GeneratePackageListI386() { | 220 GeneratePackageListI386() { |
212 local output_file="$1" | 221 local output_file="$1" |
213 local package_list="${BUILD_DIR}/Packages.${DIST}_i386.${PACKAGES_EXT}" | 222 local package_list="${BUILD_DIR}/Packages.${DIST}_i386.${PACKAGES_EXT}" |
214 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_amd64" | 223 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_amd64" |
215 DownloadOrCopy "${PACKAGE_LIST_I386}" "${package_list}" | 224 DownloadOrCopy "${PACKAGE_LIST_I386}" "${package_list}" |
216 VerifyPackageListing "${PACKAGE_FILE_I386}" "${package_list}" | 225 VerifyPackageListing "${PACKAGE_FILE_I386}" "${package_list}" |
217 ExtractPackageBz2 "$package_list" "$tmp_package_list" | 226 ExtractPackageBz2 "$package_list" "$tmp_package_list" |
218 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} | 227 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} |
219 ${DEBIAN_PACKAGES_X86}" | 228 ${DEBIAN_PACKAGES_X86:=}" |
220 } | 229 } |
221 | 230 |
222 GeneratePackageListARM() { | 231 GeneratePackageListARM() { |
223 local output_file="$1" | 232 local output_file="$1" |
224 local package_list="${BUILD_DIR}/Packages.${DIST}_arm.${PACKAGES_EXT}" | 233 local package_list="${BUILD_DIR}/Packages.${DIST}_arm.${PACKAGES_EXT}" |
225 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm" | 234 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm" |
226 DownloadOrCopy "${PACKAGE_LIST_ARM}" "${package_list}" | 235 DownloadOrCopy "${PACKAGE_LIST_ARM}" "${package_list}" |
227 VerifyPackageListing "${PACKAGE_FILE_ARM}" "${package_list}" | 236 VerifyPackageListing "${PACKAGE_FILE_ARM}" "${package_list}" |
228 ExtractPackageBz2 "$package_list" "$tmp_package_list" | 237 ExtractPackageBz2 "$package_list" "$tmp_package_list" |
229 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} | 238 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} |
230 ${DEBIAN_PACKAGES_ARM}" | 239 ${DEBIAN_PACKAGES_ARM:=}" |
231 } | 240 } |
232 | 241 |
233 function GeneratePackageListARM64() { | 242 GeneratePackageListARM64() { |
234 local output_file="$1" | 243 local output_file="$1" |
235 local package_list="${BUILD_DIR}/Packages.${DIST}_arm64.${PACKAGES_EXT}" | 244 local package_list="${BUILD_DIR}/Packages.${DIST}_arm64.${PACKAGES_EXT}" |
236 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm64" | 245 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm64" |
237 DownloadOrCopy "${PACKAGE_LIST_ARM64}" "${package_list}" | 246 DownloadOrCopy "${PACKAGE_LIST_ARM64}" "${package_list}" |
238 VerifyPackageListing "${PACKAGE_FILE_ARM64}" "${package_list}" | 247 VerifyPackageListing "${PACKAGE_FILE_ARM64}" "${package_list}" |
239 ExtractPackageBz2 "$package_list" "$tmp_package_list" | 248 ExtractPackageBz2 "$package_list" "$tmp_package_list" |
240 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} | 249 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} |
241 ${DEBIAN_PACKAGES_ARM64}" | 250 ${DEBIAN_PACKAGES_ARM64:=}" |
242 } | 251 } |
243 | 252 |
244 GeneratePackageListMips() { | 253 GeneratePackageListMips() { |
245 local output_file="$1" | 254 local output_file="$1" |
246 local package_list="${BUILD_DIR}/Packages.${DIST}_mips.${PACKAGES_EXT}" | 255 local package_list="${BUILD_DIR}/Packages.${DIST}_mips.${PACKAGES_EXT}" |
247 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_mips" | 256 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_mips" |
248 DownloadOrCopy "${PACKAGE_LIST_MIPS}" "${package_list}" | 257 DownloadOrCopy "${PACKAGE_LIST_MIPS}" "${package_list}" |
249 VerifyPackageListing "${PACKAGE_FILE_MIPS}" "${package_list}" | 258 VerifyPackageListing "${PACKAGE_FILE_MIPS}" "${package_list}" |
250 ExtractPackageBz2 "$package_list" "$tmp_package_list" | 259 ExtractPackageBz2 "$package_list" "$tmp_package_list" |
251 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}" | 260 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}" |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 sed -i -e 's|/lib/arm-linux-gnueabihf/||g' ${lscripts} | 342 sed -i -e 's|/lib/arm-linux-gnueabihf/||g' ${lscripts} |
334 | 343 |
335 # This is for chrome's ./build/linux/pkg-config-wrapper | 344 # This is for chrome's ./build/linux/pkg-config-wrapper |
336 # which overwrites PKG_CONFIG_LIBDIR internally | 345 # which overwrites PKG_CONFIG_LIBDIR internally |
337 SubBanner "Move pkgconfig files" | 346 SubBanner "Move pkgconfig files" |
338 mkdir -p ${INSTALL_ROOT}/usr/lib/pkgconfig | 347 mkdir -p ${INSTALL_ROOT}/usr/lib/pkgconfig |
339 mv ${INSTALL_ROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig/* \ | 348 mv ${INSTALL_ROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig/* \ |
340 ${INSTALL_ROOT}/usr/lib/pkgconfig | 349 ${INSTALL_ROOT}/usr/lib/pkgconfig |
341 } | 350 } |
342 | 351 |
343 function HacksAndPatchesARM64() { | 352 HacksAndPatchesARM64() { |
344 Banner "Misc Hacks & Patches" | 353 Banner "Misc Hacks & Patches" |
345 # these are linker scripts with absolute pathnames in them | 354 # these are linker scripts with absolute pathnames in them |
346 # which we rewrite here | 355 # which we rewrite here |
347 lscripts="${INSTALL_ROOT}/usr/lib/aarch64-linux-gnu/libpthread.so \ | 356 lscripts="${INSTALL_ROOT}/usr/lib/aarch64-linux-gnu/libpthread.so \ |
348 ${INSTALL_ROOT}/usr/lib/aarch64-linux-gnu/libc.so" | 357 ${INSTALL_ROOT}/usr/lib/aarch64-linux-gnu/libc.so" |
349 | 358 |
350 # Rewrite linker scripts | 359 # Rewrite linker scripts |
351 sed -i -e 's|/usr/lib/aarch64-linux-gnu/||g' ${lscripts} | 360 sed -i -e 's|/usr/lib/aarch64-linux-gnu/||g' ${lscripts} |
352 sed -i -e 's|/lib/aarch64-linux-gnu/||g' ${lscripts} | 361 sed -i -e 's|/lib/aarch64-linux-gnu/||g' ${lscripts} |
353 | 362 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
420 } | 429 } |
421 | 430 |
422 | 431 |
423 CleanupJailSymlinks() { | 432 CleanupJailSymlinks() { |
424 Banner "Jail symlink cleanup" | 433 Banner "Jail symlink cleanup" |
425 | 434 |
426 SAVEDPWD=$(pwd) | 435 SAVEDPWD=$(pwd) |
427 cd ${INSTALL_ROOT} | 436 cd ${INSTALL_ROOT} |
428 local libdirs="lib usr/lib" | 437 local libdirs="lib usr/lib" |
429 if [ "${ARCH}" != "MIPS" ]; then | 438 if [ "${ARCH}" != "MIPS" ]; then |
430 libdirs+=" lib64" | 439 libdirs="${libdirs} lib64" |
431 fi | 440 fi |
432 find $libdirs -type l -printf '%p %l\n' | while read link target; do | 441 find $libdirs -type l -printf '%p %l\n' | while read link target; do |
433 # skip links with non-absolute paths | 442 # skip links with non-absolute paths |
434 echo "${target}" | grep -qs ^/ || continue | 443 echo "${target}" | grep -qs ^/ || continue |
435 echo "${link}: ${target}" | 444 echo "${link}: ${target}" |
436 case "${link}" in | 445 case "${link}" in |
437 usr/lib/gcc/*-linux-gnu/4.*/* | usr/lib/gcc/arm-linux-gnueabihf/4.*/* |\ | 446 usr/lib/gcc/*-linux-gnu/4.*/* | usr/lib/gcc/arm-linux-gnueabihf/4.*/* |\ |
438 usr/lib/gcc/aarch64-linux-gnu/4.*/*) | 447 usr/lib/gcc/aarch64-linux-gnu/4.*/*) |
439 # Relativize the symlink. | 448 # Relativize the symlink. |
440 ln -snfv "../../../../..${target}" "${link}" | 449 ln -snfv "../../../../..${target}" "${link}" |
(...skipping 22 matching lines...) Expand all Loading... |
463 fi | 472 fi |
464 done | 473 done |
465 cd "$SAVEDPWD" | 474 cd "$SAVEDPWD" |
466 } | 475 } |
467 | 476 |
468 #@ | 477 #@ |
469 #@ BuildSysrootAmd64 | 478 #@ BuildSysrootAmd64 |
470 #@ | 479 #@ |
471 #@ Build everything and package it | 480 #@ Build everything and package it |
472 BuildSysrootAmd64() { | 481 BuildSysrootAmd64() { |
| 482 if [ "$HAS_ARCH_AMD64" = "0" ]; then |
| 483 return |
| 484 fi |
473 ClearInstallDir | 485 ClearInstallDir |
474 local package_file="$BUILD_DIR/package_with_sha256sum_amd64" | 486 local package_file="$BUILD_DIR/package_with_sha256sum_amd64" |
475 GeneratePackageListAmd64 "$package_file" | 487 GeneratePackageListAmd64 "$package_file" |
476 local files_and_sha256sums="$(cat ${package_file})" | 488 local files_and_sha256sums="$(cat ${package_file})" |
477 StripChecksumsFromPackageList "$package_file" | 489 StripChecksumsFromPackageList "$package_file" |
478 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_AMD64" | 490 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_AMD64" |
479 InstallIntoSysroot ${files_and_sha256sums} | 491 InstallIntoSysroot ${files_and_sha256sums} |
480 CleanupJailSymlinks | 492 CleanupJailSymlinks |
481 HacksAndPatchesAmd64 | 493 HacksAndPatchesAmd64 |
482 CreateTarBall | 494 CreateTarBall |
483 } | 495 } |
484 | 496 |
485 #@ | 497 #@ |
486 #@ BuildSysrootI386 | 498 #@ BuildSysrootI386 |
487 #@ | 499 #@ |
488 #@ Build everything and package it | 500 #@ Build everything and package it |
489 BuildSysrootI386() { | 501 BuildSysrootI386() { |
| 502 if [ "$HAS_ARCH_I386" = "0" ]; then |
| 503 return |
| 504 fi |
490 ClearInstallDir | 505 ClearInstallDir |
491 local package_file="$BUILD_DIR/package_with_sha256sum_i386" | 506 local package_file="$BUILD_DIR/package_with_sha256sum_i386" |
492 GeneratePackageListI386 "$package_file" | 507 GeneratePackageListI386 "$package_file" |
493 local files_and_sha256sums="$(cat ${package_file})" | 508 local files_and_sha256sums="$(cat ${package_file})" |
494 StripChecksumsFromPackageList "$package_file" | 509 StripChecksumsFromPackageList "$package_file" |
495 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_I386" | 510 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_I386" |
496 InstallIntoSysroot ${files_and_sha256sums} | 511 InstallIntoSysroot ${files_and_sha256sums} |
497 CleanupJailSymlinks | 512 CleanupJailSymlinks |
498 HacksAndPatchesI386 | 513 HacksAndPatchesI386 |
499 CreateTarBall | 514 CreateTarBall |
500 } | 515 } |
501 | 516 |
502 #@ | 517 #@ |
503 #@ BuildSysrootARM | 518 #@ BuildSysrootARM |
504 #@ | 519 #@ |
505 #@ Build everything and package it | 520 #@ Build everything and package it |
506 BuildSysrootARM() { | 521 BuildSysrootARM() { |
| 522 if [ "$HAS_ARCH_ARM" = "0" ]; then |
| 523 return |
| 524 fi |
507 ClearInstallDir | 525 ClearInstallDir |
508 local package_file="$BUILD_DIR/package_with_sha256sum_arm" | 526 local package_file="$BUILD_DIR/package_with_sha256sum_arm" |
509 GeneratePackageListARM "$package_file" | 527 GeneratePackageListARM "$package_file" |
510 local files_and_sha256sums="$(cat ${package_file})" | 528 local files_and_sha256sums="$(cat ${package_file})" |
511 StripChecksumsFromPackageList "$package_file" | 529 StripChecksumsFromPackageList "$package_file" |
512 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM" | 530 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM" |
513 APT_REPO=${APR_REPO_ARM:=$APT_REPO} | 531 APT_REPO=${APT_REPO_ARM:=$APT_REPO} |
514 InstallIntoSysroot ${files_and_sha256sums} | 532 InstallIntoSysroot ${files_and_sha256sums} |
515 CleanupJailSymlinks | 533 CleanupJailSymlinks |
516 HacksAndPatchesARM | 534 HacksAndPatchesARM |
517 CreateTarBall | 535 CreateTarBall |
518 } | 536 } |
519 | 537 |
520 #@ | 538 #@ |
521 #@ BuildSysrootARM64 | 539 #@ BuildSysrootARM64 |
522 #@ | 540 #@ |
523 #@ Build everything and package it | 541 #@ Build everything and package it |
524 function BuildSysrootARM64() { | 542 BuildSysrootARM64() { |
| 543 if [ "$HAS_ARCH_ARM64" = "0" ]; then |
| 544 return |
| 545 fi |
525 ClearInstallDir | 546 ClearInstallDir |
526 local package_file="$BUILD_DIR/package_with_sha256sum_arm64" | 547 local package_file="$BUILD_DIR/package_with_sha256sum_arm64" |
527 GeneratePackageListARM64 "$package_file" | 548 GeneratePackageListARM64 "$package_file" |
528 local files_and_sha256sums="$(cat ${package_file})" | 549 local files_and_sha256sums="$(cat ${package_file})" |
529 StripChecksumsFromPackageList "$package_file" | 550 StripChecksumsFromPackageList "$package_file" |
530 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM64" | 551 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM64" |
531 APT_REPO=${APR_REPO_ARM64:=$APT_REPO} | 552 APT_REPO=${APT_REPO_ARM64:=$APT_REPO} |
532 InstallIntoSysroot ${files_and_sha256sums} | 553 InstallIntoSysroot ${files_and_sha256sums} |
533 CleanupJailSymlinks | 554 CleanupJailSymlinks |
534 HacksAndPatchesARM64 | 555 HacksAndPatchesARM64 |
535 CreateTarBall | 556 CreateTarBall |
536 } | 557 } |
537 | 558 |
538 | 559 |
539 #@ | 560 #@ |
540 #@ BuildSysrootMips | 561 #@ BuildSysrootMips |
541 #@ | 562 #@ |
542 #@ Build everything and package it | 563 #@ Build everything and package it |
543 BuildSysrootMips() { | 564 BuildSysrootMips() { |
| 565 if [ "$HAS_ARCH_MIPS" = "0" ]; then |
| 566 return |
| 567 fi |
544 ClearInstallDir | 568 ClearInstallDir |
545 local package_file="$BUILD_DIR/package_with_sha256sum_arm" | 569 local package_file="$BUILD_DIR/package_with_sha256sum_arm" |
546 GeneratePackageListMips "$package_file" | 570 GeneratePackageListMips "$package_file" |
547 local files_and_sha256sums="$(cat ${package_file})" | 571 local files_and_sha256sums="$(cat ${package_file})" |
548 StripChecksumsFromPackageList "$package_file" | 572 StripChecksumsFromPackageList "$package_file" |
549 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_MIPS" | 573 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_MIPS" |
550 APT_REPO=${APR_REPO_MIPS:=$APT_REPO} | 574 APT_REPO=${APT_REPO_MIPS:=$APT_REPO} |
551 InstallIntoSysroot ${files_and_sha256sums} | 575 InstallIntoSysroot ${files_and_sha256sums} |
552 CleanupJailSymlinks | 576 CleanupJailSymlinks |
553 HacksAndPatchesMips | 577 HacksAndPatchesMips |
554 CreateTarBall | 578 CreateTarBall |
555 } | 579 } |
556 | 580 |
557 #@ | 581 #@ |
558 #@ BuildSysrootAll | 582 #@ BuildSysrootAll |
559 #@ | 583 #@ |
560 #@ Build sysroot images for all architectures | 584 #@ Build sysroot images for all architectures |
(...skipping 13 matching lines...) Expand all Loading... |
574 set -x | 598 set -x |
575 gsutil cp -a public-read "${TARBALL}" \ | 599 gsutil cp -a public-read "${TARBALL}" \ |
576 "gs://chrome-linux-sysroot/toolchain/$rev/" | 600 "gs://chrome-linux-sysroot/toolchain/$rev/" |
577 set +x | 601 set +x |
578 } | 602 } |
579 | 603 |
580 #@ | 604 #@ |
581 #@ UploadSysrootAmd64 <revision> | 605 #@ UploadSysrootAmd64 <revision> |
582 #@ | 606 #@ |
583 UploadSysrootAmd64() { | 607 UploadSysrootAmd64() { |
| 608 if [ "$HAS_ARCH_AMD64" = "0" ]; then |
| 609 return |
| 610 fi |
584 UploadSysroot "$@" | 611 UploadSysroot "$@" |
585 } | 612 } |
586 | 613 |
587 #@ | 614 #@ |
588 #@ UploadSysrootI386 <revision> | 615 #@ UploadSysrootI386 <revision> |
589 #@ | 616 #@ |
590 UploadSysrootI386() { | 617 UploadSysrootI386() { |
| 618 if [ "$HAS_ARCH_I386" = "0" ]; then |
| 619 return |
| 620 fi |
591 UploadSysroot "$@" | 621 UploadSysroot "$@" |
592 } | 622 } |
593 | 623 |
594 #@ | 624 #@ |
595 #@ UploadSysrootARM <revision> | 625 #@ UploadSysrootARM <revision> |
596 #@ | 626 #@ |
597 UploadSysrootARM() { | 627 UploadSysrootARM() { |
| 628 if [ "$HAS_ARCH_ARM" = "0" ]; then |
| 629 return |
| 630 fi |
598 UploadSysroot "$@" | 631 UploadSysroot "$@" |
599 } | 632 } |
600 | 633 |
601 #@ | 634 #@ |
602 #@ UploadSysrootARM64 <revision> | 635 #@ UploadSysrootARM64 <revision> |
603 #@ | 636 #@ |
604 function UploadSysrootARM64() { | 637 UploadSysrootARM64() { |
| 638 if [ "$HAS_ARCH_ARM64" = "0" ]; then |
| 639 return |
| 640 fi |
605 UploadSysroot "$@" | 641 UploadSysroot "$@" |
606 } | 642 } |
607 | 643 |
608 #@ | 644 #@ |
609 #@ UploadSysrootMips <revision> | 645 #@ UploadSysrootMips <revision> |
610 #@ | 646 #@ |
611 UploadSysrootMips() { | 647 UploadSysrootMips() { |
| 648 if [ "$HAS_ARCH_MIPS" = "0" ]; then |
| 649 return |
| 650 fi |
612 UploadSysroot "$@" | 651 UploadSysroot "$@" |
613 } | 652 } |
614 | 653 |
615 #@ | 654 #@ |
616 #@ UploadSysrootAll <revision> | 655 #@ UploadSysrootAll <revision> |
617 #@ | 656 #@ |
618 #@ Upload sysroot image for all architectures | 657 #@ Upload sysroot image for all architectures |
619 UploadSysrootAll() { | 658 UploadSysrootAll() { |
620 RunCommand UploadSysrootAmd64 "$@" | 659 RunCommand UploadSysrootAmd64 "$@" |
621 RunCommand UploadSysrootI386 "$@" | 660 RunCommand UploadSysrootI386 "$@" |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
701 # sort -o does an in-place sort of this file | 740 # sort -o does an in-place sort of this file |
702 sort "$output_file" -o "$output_file" | 741 sort "$output_file" -o "$output_file" |
703 } | 742 } |
704 | 743 |
705 #@ | 744 #@ |
706 #@ UpdatePackageListsAmd64 | 745 #@ UpdatePackageListsAmd64 |
707 #@ | 746 #@ |
708 #@ Regenerate the package lists such that they contain an up-to-date | 747 #@ Regenerate the package lists such that they contain an up-to-date |
709 #@ list of URLs within the Debian archive. (For amd64) | 748 #@ list of URLs within the Debian archive. (For amd64) |
710 UpdatePackageListsAmd64() { | 749 UpdatePackageListsAmd64() { |
| 750 if [ "$HAS_ARCH_AMD64" = "0" ]; then |
| 751 return |
| 752 fi |
711 GeneratePackageListAmd64 "$DEBIAN_DEP_LIST_AMD64" | 753 GeneratePackageListAmd64 "$DEBIAN_DEP_LIST_AMD64" |
712 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_AMD64" | 754 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_AMD64" |
713 } | 755 } |
714 | 756 |
715 #@ | 757 #@ |
716 #@ UpdatePackageListsI386 | 758 #@ UpdatePackageListsI386 |
717 #@ | 759 #@ |
718 #@ Regenerate the package lists such that they contain an up-to-date | 760 #@ Regenerate the package lists such that they contain an up-to-date |
719 #@ list of URLs within the Debian archive. (For i386) | 761 #@ list of URLs within the Debian archive. (For i386) |
720 UpdatePackageListsI386() { | 762 UpdatePackageListsI386() { |
| 763 if [ "$HAS_ARCH_I386" = "0" ]; then |
| 764 return |
| 765 fi |
721 GeneratePackageListI386 "$DEBIAN_DEP_LIST_I386" | 766 GeneratePackageListI386 "$DEBIAN_DEP_LIST_I386" |
722 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_I386" | 767 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_I386" |
723 } | 768 } |
724 | 769 |
725 #@ | 770 #@ |
726 #@ UpdatePackageListsARM | 771 #@ UpdatePackageListsARM |
727 #@ | 772 #@ |
728 #@ Regenerate the package lists such that they contain an up-to-date | 773 #@ Regenerate the package lists such that they contain an up-to-date |
729 #@ list of URLs within the Debian archive. (For arm) | 774 #@ list of URLs within the Debian archive. (For arm) |
730 UpdatePackageListsARM() { | 775 UpdatePackageListsARM() { |
| 776 if [ "$HAS_ARCH_ARM" = "0" ]; then |
| 777 return |
| 778 fi |
731 GeneratePackageListARM "$DEBIAN_DEP_LIST_ARM" | 779 GeneratePackageListARM "$DEBIAN_DEP_LIST_ARM" |
732 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM" | 780 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM" |
733 } | 781 } |
734 | 782 |
735 #@ | 783 #@ |
736 #@ UpdatePackageListsARM64 | 784 #@ UpdatePackageListsARM64 |
737 #@ | 785 #@ |
738 #@ Regenerate the package lists such that they contain an up-to-date | 786 #@ Regenerate the package lists such that they contain an up-to-date |
739 #@ list of URLs within the Debian archive. (For arm) | 787 #@ list of URLs within the Debian archive. (For arm) |
740 function UpdatePackageListsARM64() { | 788 UpdatePackageListsARM64() { |
| 789 if [ "$HAS_ARCH_ARM64" = "0" ]; then |
| 790 return |
| 791 fi |
741 GeneratePackageListARM64 "$DEBIAN_DEP_LIST_ARM64" | 792 GeneratePackageListARM64 "$DEBIAN_DEP_LIST_ARM64" |
742 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM64" | 793 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM64" |
743 } | 794 } |
744 | 795 |
745 #@ | 796 #@ |
746 #@ UpdatePackageListsMips | 797 #@ UpdatePackageListsMips |
747 #@ | 798 #@ |
748 #@ Regenerate the package lists such that they contain an up-to-date | 799 #@ Regenerate the package lists such that they contain an up-to-date |
749 #@ list of URLs within the Debian archive. (For arm) | 800 #@ list of URLs within the Debian archive. (For arm) |
750 UpdatePackageListsMips() { | 801 UpdatePackageListsMips() { |
| 802 if [ "$HAS_ARCH_MIPS" = "0" ]; then |
| 803 return |
| 804 fi |
751 GeneratePackageListMips "$DEBIAN_DEP_LIST_MIPS" | 805 GeneratePackageListMips "$DEBIAN_DEP_LIST_MIPS" |
752 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_MIPS" | 806 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_MIPS" |
753 } | 807 } |
754 | 808 |
755 #@ | 809 #@ |
756 #@ UpdatePackageListsAll | 810 #@ UpdatePackageListsAll |
757 #@ | 811 #@ |
758 #@ Regenerate the package lists for all architectures. | 812 #@ Regenerate the package lists for all architectures. |
759 UpdatePackageListsAll() { | 813 UpdatePackageListsAll() { |
760 RunCommand UpdatePackageListsAmd64 | 814 RunCommand UpdatePackageListsAmd64 |
(...skipping 20 matching lines...) Expand all Loading... |
781 echo " $0 help" | 835 echo " $0 help" |
782 exit 1 | 836 exit 1 |
783 else | 837 else |
784 ChangeDirectory | 838 ChangeDirectory |
785 if echo $1 | grep -qs "All$"; then | 839 if echo $1 | grep -qs "All$"; then |
786 "$@" | 840 "$@" |
787 else | 841 else |
788 RunCommand "$@" | 842 RunCommand "$@" |
789 fi | 843 fi |
790 fi | 844 fi |
OLD | NEW |