Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: build/linux/sysroot_scripts/sysroot-creator.sh

Issue 1997993003: Add support for Jessie ARM64 sysroot (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Forgot to sort DEBIAN_PACKAGES_X86 variable in last patch set Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 ###################################################################### 57 ######################################################################
58 58
59 PACKAGES_EXT=${PACKAGES_EXT:-bz2} 59 PACKAGES_EXT=${PACKAGES_EXT:-bz2}
60 readonly RELEASE_FILE="Release" 60 readonly RELEASE_FILE="Release"
61 readonly RELEASE_FILE_GPG="Release.gpg" 61 readonly RELEASE_FILE_GPG="Release.gpg"
62 readonly RELEASE_LIST="${REPO_BASEDIR}/${RELEASE_FILE}" 62 readonly RELEASE_LIST="${REPO_BASEDIR}/${RELEASE_FILE}"
63 readonly RELEASE_LIST_GPG="${REPO_BASEDIR}/${RELEASE_FILE_GPG}" 63 readonly RELEASE_LIST_GPG="${REPO_BASEDIR}/${RELEASE_FILE_GPG}"
64 readonly PACKAGE_FILE_AMD64="main/binary-amd64/Packages.${PACKAGES_EXT}" 64 readonly PACKAGE_FILE_AMD64="main/binary-amd64/Packages.${PACKAGES_EXT}"
65 readonly PACKAGE_FILE_I386="main/binary-i386/Packages.${PACKAGES_EXT}" 65 readonly PACKAGE_FILE_I386="main/binary-i386/Packages.${PACKAGES_EXT}"
66 readonly PACKAGE_FILE_ARM="main/binary-armhf/Packages.${PACKAGES_EXT}" 66 readonly PACKAGE_FILE_ARM="main/binary-armhf/Packages.${PACKAGES_EXT}"
67 readonly PACKAGE_FILE_ARM64="main/binary-arm64/Packages.${PACKAGES_EXT}"
67 readonly PACKAGE_FILE_MIPS="main/binary-mipsel/Packages.${PACKAGES_EXT}" 68 readonly PACKAGE_FILE_MIPS="main/binary-mipsel/Packages.${PACKAGES_EXT}"
68 readonly PACKAGE_LIST_AMD64="${REPO_BASEDIR}/${PACKAGE_FILE_AMD64}" 69 readonly PACKAGE_LIST_AMD64="${REPO_BASEDIR}/${PACKAGE_FILE_AMD64}"
69 readonly PACKAGE_LIST_I386="${REPO_BASEDIR}/${PACKAGE_FILE_I386}" 70 readonly PACKAGE_LIST_I386="${REPO_BASEDIR}/${PACKAGE_FILE_I386}"
70 readonly PACKAGE_LIST_ARM="${REPO_BASEDIR}/${PACKAGE_FILE_ARM}" 71 readonly PACKAGE_LIST_ARM="${REPO_BASEDIR}/${PACKAGE_FILE_ARM}"
72 readonly PACKAGE_LIST_ARM64="${REPO_BASEDIR}/${PACKAGE_FILE_ARM64}"
71 readonly PACKAGE_LIST_MIPS="${REPO_BASEDIR}/${PACKAGE_FILE_MIPS}" 73 readonly PACKAGE_LIST_MIPS="${REPO_BASEDIR}/${PACKAGE_FILE_MIPS}"
72 74
73 readonly DEBIAN_DEP_LIST_AMD64="packagelist.${DIST}.amd64" 75 readonly DEBIAN_DEP_LIST_AMD64="packagelist.${DIST}.amd64"
74 readonly DEBIAN_DEP_LIST_I386="packagelist.${DIST}.i386" 76 readonly DEBIAN_DEP_LIST_I386="packagelist.${DIST}.i386"
75 readonly DEBIAN_DEP_LIST_ARM="packagelist.${DIST}.arm" 77 readonly DEBIAN_DEP_LIST_ARM="packagelist.${DIST}.arm"
78 readonly DEBIAN_DEP_LIST_ARM64="packagelist.${DIST}.arm64"
76 readonly DEBIAN_DEP_LIST_MIPS="packagelist.${DIST}.mipsel" 79 readonly DEBIAN_DEP_LIST_MIPS="packagelist.${DIST}.mipsel"
77 80
78 ###################################################################### 81 ######################################################################
79 # Helper 82 # Helper
80 ###################################################################### 83 ######################################################################
81 84
82 Banner() { 85 Banner() {
83 echo "######################################################################" 86 echo "######################################################################"
84 echo $* 87 echo $*
85 echo "######################################################################" 88 echo "######################################################################"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 echo $1 | grep -qs Amd64$ && ARCH=AMD64 125 echo $1 | grep -qs Amd64$ && ARCH=AMD64
123 if [ -z "$ARCH" ]; then 126 if [ -z "$ARCH" ]; then
124 echo $1 | grep -qs I386$ && ARCH=I386 127 echo $1 | grep -qs I386$ && ARCH=I386
125 fi 128 fi
126 if [ -z "$ARCH" ]; then 129 if [ -z "$ARCH" ]; then
127 echo $1 | grep -qs Mips$ && ARCH=MIPS 130 echo $1 | grep -qs Mips$ && ARCH=MIPS
128 fi 131 fi
129 if [ -z "$ARCH" ]; then 132 if [ -z "$ARCH" ]; then
130 echo $1 | grep -qs ARM$ && ARCH=ARM 133 echo $1 | grep -qs ARM$ && ARCH=ARM
131 fi 134 fi
135 if [ -z "$ARCH" ]; then
136 echo $1 | grep -qs ARM64$ && ARCH=ARM64
137 fi
132 if [ -z "${ARCH}" ]; then 138 if [ -z "${ARCH}" ]; then
133 echo "ERROR: Unable to determine architecture based on: $1" 139 echo "ERROR: Unable to determine architecture based on: $1"
134 exit 1 140 exit 1
135 fi 141 fi
136 ARCH_LOWER=$(echo $ARCH | tr '[:upper:]' '[:lower:]') 142 ARCH_LOWER=$(echo $ARCH | tr '[:upper:]' '[:lower:]')
137 } 143 }
138 144
139 145
140 # some sanity checks to make sure this script is run from the right place 146 # some sanity checks to make sure this script is run from the right place
141 # with the right tools 147 # with the right tools
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 local output_file="$1" 223 local output_file="$1"
218 local package_list="${BUILD_DIR}/Packages.${DIST}_arm.${PACKAGES_EXT}" 224 local package_list="${BUILD_DIR}/Packages.${DIST}_arm.${PACKAGES_EXT}"
219 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm" 225 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm"
220 DownloadOrCopy "${PACKAGE_LIST_ARM}" "${package_list}" 226 DownloadOrCopy "${PACKAGE_LIST_ARM}" "${package_list}"
221 VerifyPackageListing "${PACKAGE_FILE_ARM}" "${package_list}" 227 VerifyPackageListing "${PACKAGE_FILE_ARM}" "${package_list}"
222 ExtractPackageBz2 "$package_list" "$tmp_package_list" 228 ExtractPackageBz2 "$package_list" "$tmp_package_list"
223 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} 229 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}
224 ${DEBIAN_PACKAGES_ARM}" 230 ${DEBIAN_PACKAGES_ARM}"
225 } 231 }
226 232
233 function GeneratePackageListARM64() {
234 local output_file="$1"
235 local package_list="${BUILD_DIR}/Packages.${DIST}_arm64.${PACKAGES_EXT}"
236 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm64"
237 DownloadOrCopy "${PACKAGE_LIST_ARM64}" "${package_list}"
238 VerifyPackageListing "${PACKAGE_FILE_ARM64}" "${package_list}"
239 ExtractPackageBz2 "$package_list" "$tmp_package_list"
240 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}
241 ${DEBIAN_PACKAGES_ARM64}"
242 }
243
227 GeneratePackageListMips() { 244 GeneratePackageListMips() {
228 local output_file="$1" 245 local output_file="$1"
229 local package_list="${BUILD_DIR}/Packages.${DIST}_mips.${PACKAGES_EXT}" 246 local package_list="${BUILD_DIR}/Packages.${DIST}_mips.${PACKAGES_EXT}"
230 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_mips" 247 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_mips"
231 DownloadOrCopy "${PACKAGE_LIST_MIPS}" "${package_list}" 248 DownloadOrCopy "${PACKAGE_LIST_MIPS}" "${package_list}"
232 VerifyPackageListing "${PACKAGE_FILE_MIPS}" "${package_list}" 249 VerifyPackageListing "${PACKAGE_FILE_MIPS}" "${package_list}"
233 ExtractPackageBz2 "$package_list" "$tmp_package_list" 250 ExtractPackageBz2 "$package_list" "$tmp_package_list"
234 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}" 251 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}"
235 } 252 }
236 253
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 sed -i -e 's|/lib/arm-linux-gnueabihf/||g' ${lscripts} 333 sed -i -e 's|/lib/arm-linux-gnueabihf/||g' ${lscripts}
317 334
318 # This is for chrome's ./build/linux/pkg-config-wrapper 335 # This is for chrome's ./build/linux/pkg-config-wrapper
319 # which overwrites PKG_CONFIG_LIBDIR internally 336 # which overwrites PKG_CONFIG_LIBDIR internally
320 SubBanner "Move pkgconfig files" 337 SubBanner "Move pkgconfig files"
321 mkdir -p ${INSTALL_ROOT}/usr/lib/pkgconfig 338 mkdir -p ${INSTALL_ROOT}/usr/lib/pkgconfig
322 mv ${INSTALL_ROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig/* \ 339 mv ${INSTALL_ROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig/* \
323 ${INSTALL_ROOT}/usr/lib/pkgconfig 340 ${INSTALL_ROOT}/usr/lib/pkgconfig
324 } 341 }
325 342
343 function HacksAndPatchesARM64() {
344 Banner "Misc Hacks & Patches"
345 # these are linker scripts with absolute pathnames in them
346 # which we rewrite here
347 lscripts="${INSTALL_ROOT}/usr/lib/aarch64-linux-gnu/libpthread.so \
348 ${INSTALL_ROOT}/usr/lib/aarch64-linux-gnu/libc.so"
349
350 # Rewrite linker scripts
351 sed -i -e 's|/usr/lib/aarch64-linux-gnu/||g' ${lscripts}
352 sed -i -e 's|/lib/aarch64-linux-gnu/||g' ${lscripts}
353
354 # This is for chrome's ./build/linux/pkg-config-wrapper
355 # which overwrites PKG_CONFIG_LIBDIR internally
356 SubBanner "Move pkgconfig files"
357 mkdir -p ${INSTALL_ROOT}/usr/lib/pkgconfig
358 mv ${INSTALL_ROOT}/usr/lib/aarch64-linux-gnu/pkgconfig/* \
359 ${INSTALL_ROOT}/usr/lib/pkgconfig
360
361 }
326 362
327 HacksAndPatchesMips() { 363 HacksAndPatchesMips() {
328 Banner "Misc Hacks & Patches" 364 Banner "Misc Hacks & Patches"
329 # these are linker scripts with absolute pathnames in them 365 # these are linker scripts with absolute pathnames in them
330 # which we rewrite here 366 # which we rewrite here
331 lscripts="${INSTALL_ROOT}/usr/lib/mipsel-linux-gnu/libpthread.so \ 367 lscripts="${INSTALL_ROOT}/usr/lib/mipsel-linux-gnu/libpthread.so \
332 ${INSTALL_ROOT}/usr/lib/mipsel-linux-gnu/libc.so" 368 ${INSTALL_ROOT}/usr/lib/mipsel-linux-gnu/libc.so"
333 369
334 # Rewrite linker scripts 370 # Rewrite linker scripts
335 sed -i -e 's|/usr/lib/mipsel-linux-gnu/||g' ${lscripts} 371 sed -i -e 's|/usr/lib/mipsel-linux-gnu/||g' ${lscripts}
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 cd ${INSTALL_ROOT} 427 cd ${INSTALL_ROOT}
392 local libdirs="lib usr/lib" 428 local libdirs="lib usr/lib"
393 if [ "${ARCH}" != "MIPS" ]; then 429 if [ "${ARCH}" != "MIPS" ]; then
394 libdirs+=" lib64" 430 libdirs+=" lib64"
395 fi 431 fi
396 find $libdirs -type l -printf '%p %l\n' | while read link target; do 432 find $libdirs -type l -printf '%p %l\n' | while read link target; do
397 # skip links with non-absolute paths 433 # skip links with non-absolute paths
398 echo "${target}" | grep -qs ^/ || continue 434 echo "${target}" | grep -qs ^/ || continue
399 echo "${link}: ${target}" 435 echo "${link}: ${target}"
400 case "${link}" in 436 case "${link}" in
401 usr/lib/gcc/*-linux-gnu/4.*/* | usr/lib/gcc/arm-linux-gnueabihf/4.*/*) 437 usr/lib/gcc/*-linux-gnu/4.*/* | usr/lib/gcc/arm-linux-gnueabihf/4.*/* |\
438 usr/lib/gcc/aarch64-linux-gnu/4.*/*)
402 # Relativize the symlink. 439 # Relativize the symlink.
403 ln -snfv "../../../../..${target}" "${link}" 440 ln -snfv "../../../../..${target}" "${link}"
404 ;; 441 ;;
405 usr/lib/*-linux-gnu/* | usr/lib/arm-linux-gnueabihf/*) 442 usr/lib/*-linux-gnu/* | usr/lib/arm-linux-gnueabihf/*)
406 # Relativize the symlink. 443 # Relativize the symlink.
407 ln -snfv "../../..${target}" "${link}" 444 ln -snfv "../../..${target}" "${link}"
408 ;; 445 ;;
409 usr/lib/*) 446 usr/lib/*)
410 # Relativize the symlink. 447 # Relativize the symlink.
411 ln -snfv "../..${target}" "${link}" 448 ln -snfv "../..${target}" "${link}"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 StripChecksumsFromPackageList "$package_file" 511 StripChecksumsFromPackageList "$package_file"
475 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM" 512 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM"
476 APT_REPO=${APR_REPO_ARM:=$APT_REPO} 513 APT_REPO=${APR_REPO_ARM:=$APT_REPO}
477 InstallIntoSysroot ${files_and_sha256sums} 514 InstallIntoSysroot ${files_and_sha256sums}
478 CleanupJailSymlinks 515 CleanupJailSymlinks
479 HacksAndPatchesARM 516 HacksAndPatchesARM
480 CreateTarBall 517 CreateTarBall
481 } 518 }
482 519
483 #@ 520 #@
521 #@ BuildSysrootARM64
522 #@
523 #@ Build everything and package it
524 function BuildSysrootARM64() {
525 ClearInstallDir
526 local package_file="$BUILD_DIR/package_with_sha256sum_arm64"
527 GeneratePackageListARM64 "$package_file"
528 local files_and_sha256sums="$(cat ${package_file})"
529 StripChecksumsFromPackageList "$package_file"
530 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM64"
531 APT_REPO=${APR_REPO_ARM64:=$APT_REPO}
532 InstallIntoSysroot ${files_and_sha256sums}
533 CleanupJailSymlinks
534 HacksAndPatchesARM64
535 CreateTarBall
536 }
537
538
539 #@
484 #@ BuildSysrootMips 540 #@ BuildSysrootMips
485 #@ 541 #@
486 #@ Build everything and package it 542 #@ Build everything and package it
487 BuildSysrootMips() { 543 BuildSysrootMips() {
488 ClearInstallDir 544 ClearInstallDir
489 local package_file="$BUILD_DIR/package_with_sha256sum_arm" 545 local package_file="$BUILD_DIR/package_with_sha256sum_arm"
490 GeneratePackageListMips "$package_file" 546 GeneratePackageListMips "$package_file"
491 local files_and_sha256sums="$(cat ${package_file})" 547 local files_and_sha256sums="$(cat ${package_file})"
492 StripChecksumsFromPackageList "$package_file" 548 StripChecksumsFromPackageList "$package_file"
493 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_MIPS" 549 VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_MIPS"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 } 592 }
537 593
538 #@ 594 #@
539 #@ UploadSysrootARM <revision> 595 #@ UploadSysrootARM <revision>
540 #@ 596 #@
541 UploadSysrootARM() { 597 UploadSysrootARM() {
542 UploadSysroot "$@" 598 UploadSysroot "$@"
543 } 599 }
544 600
545 #@ 601 #@
602 #@ UploadSysrootARM64 <revision>
603 #@
604 function UploadSysrootARM64() {
605 UploadSysroot "$@"
606 }
607
608 #@
546 #@ UploadSysrootMips <revision> 609 #@ UploadSysrootMips <revision>
547 #@ 610 #@
548 UploadSysrootMips() { 611 UploadSysrootMips() {
549 UploadSysroot "$@" 612 UploadSysroot "$@"
550 } 613 }
551 614
552 #@ 615 #@
553 #@ UploadSysrootAll <revision> 616 #@ UploadSysrootAll <revision>
554 #@ 617 #@
555 #@ Upload sysroot image for all architectures 618 #@ Upload sysroot image for all architectures
556 UploadSysrootAll() { 619 UploadSysrootAll() {
557 RunCommand UploadSysrootAmd64 "$@" 620 RunCommand UploadSysrootAmd64 "$@"
558 RunCommand UploadSysrootI386 "$@" 621 RunCommand UploadSysrootI386 "$@"
559 RunCommand UploadSysrootARM "$@" 622 RunCommand UploadSysrootARM "$@"
623 RunCommand UploadSysrootARM64 "$@"
560 RunCommand UploadSysrootMips "$@" 624 RunCommand UploadSysrootMips "$@"
561 } 625 }
562 626
563 # 627 #
564 # CheckForDebianGPGKeyring 628 # CheckForDebianGPGKeyring
565 # 629 #
566 # Make sure the Debian GPG keys exist. Otherwise print a helpful message. 630 # Make sure the Debian GPG keys exist. Otherwise print a helpful message.
567 # 631 #
568 CheckForDebianGPGKeyring() { 632 CheckForDebianGPGKeyring() {
569 if [ ! -e "$KEYRING_FILE" ]; then 633 if [ ! -e "$KEYRING_FILE" ]; then
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 #@ UpdatePackageListsARM 726 #@ UpdatePackageListsARM
663 #@ 727 #@
664 #@ Regenerate the package lists such that they contain an up-to-date 728 #@ Regenerate the package lists such that they contain an up-to-date
665 #@ list of URLs within the Debian archive. (For arm) 729 #@ list of URLs within the Debian archive. (For arm)
666 UpdatePackageListsARM() { 730 UpdatePackageListsARM() {
667 GeneratePackageListARM "$DEBIAN_DEP_LIST_ARM" 731 GeneratePackageListARM "$DEBIAN_DEP_LIST_ARM"
668 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM" 732 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM"
669 } 733 }
670 734
671 #@ 735 #@
736 #@ UpdatePackageListsARM64
737 #@
738 #@ Regenerate the package lists such that they contain an up-to-date
739 #@ list of URLs within the Debian archive. (For arm)
740 function UpdatePackageListsARM64() {
741 GeneratePackageListARM64 "$DEBIAN_DEP_LIST_ARM64"
742 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM64"
743 }
744
745 #@
672 #@ UpdatePackageListsMips 746 #@ UpdatePackageListsMips
673 #@ 747 #@
674 #@ Regenerate the package lists such that they contain an up-to-date 748 #@ Regenerate the package lists such that they contain an up-to-date
675 #@ list of URLs within the Debian archive. (For arm) 749 #@ list of URLs within the Debian archive. (For arm)
676 UpdatePackageListsMips() { 750 UpdatePackageListsMips() {
677 GeneratePackageListMips "$DEBIAN_DEP_LIST_MIPS" 751 GeneratePackageListMips "$DEBIAN_DEP_LIST_MIPS"
678 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_MIPS" 752 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_MIPS"
679 } 753 }
680 754
681 #@ 755 #@
682 #@ UpdatePackageListsAll 756 #@ UpdatePackageListsAll
683 #@ 757 #@
684 #@ Regenerate the package lists for all architectures. 758 #@ Regenerate the package lists for all architectures.
685 UpdatePackageListsAll() { 759 UpdatePackageListsAll() {
686 RunCommand UpdatePackageListsAmd64 760 RunCommand UpdatePackageListsAmd64
687 RunCommand UpdatePackageListsI386 761 RunCommand UpdatePackageListsI386
688 RunCommand UpdatePackageListsARM 762 RunCommand UpdatePackageListsARM
763 RunCommand UpdatePackageListsARM64
689 RunCommand UpdatePackageListsMips 764 RunCommand UpdatePackageListsMips
690 } 765 }
691 766
692 RunCommand() { 767 RunCommand() {
693 SetEnvironmentVariables "$1" 768 SetEnvironmentVariables "$1"
694 SanityCheck 769 SanityCheck
695 "$@" 770 "$@"
696 } 771 }
697 772
698 if [ $# -eq 0 ] ; then 773 if [ $# -eq 0 ] ; then
699 echo "ERROR: you must specify a mode on the commandline" 774 echo "ERROR: you must specify a mode on the commandline"
700 echo 775 echo
701 Usage 776 Usage
702 exit 1 777 exit 1
703 elif [ "$(type -t $1)" != "function" ]; then 778 elif [ "$(type -t $1)" != "function" ]; then
704 echo "ERROR: unknown function '$1'." >&2 779 echo "ERROR: unknown function '$1'." >&2
705 echo "For help, try:" 780 echo "For help, try:"
706 echo " $0 help" 781 echo " $0 help"
707 exit 1 782 exit 1
708 else 783 else
709 ChangeDirectory 784 ChangeDirectory
710 if echo $1 | grep -qs "All$"; then 785 if echo $1 | grep -qs "All$"; then
711 "$@" 786 "$@"
712 else 787 else
713 RunCommand "$@" 788 RunCommand "$@"
714 fi 789 fi
715 fi 790 fi
OLDNEW
« no previous file with comments | « build/linux/sysroot_scripts/packagelist.jessie.arm64 ('k') | build/linux/sysroot_scripts/sysroot-creator-jessie.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698