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

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

Issue 2273813003: Linux: Refactor sysroot-creator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 3 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
« no previous file with comments | « no previous file | build/linux/sysroot_scripts/sysroot-creator-trusty.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 52
56 readonly HAS_ARCH_AMD64=${HAS_ARCH_AMD64:=0} 53 readonly HAS_ARCH_AMD64=${HAS_ARCH_AMD64:=0}
57 readonly HAS_ARCH_I386=${HAS_ARCH_I386:=0} 54 readonly HAS_ARCH_I386=${HAS_ARCH_I386:=0}
58 readonly HAS_ARCH_ARM=${HAS_ARCH_ARM:=0} 55 readonly HAS_ARCH_ARM=${HAS_ARCH_ARM:=0}
59 readonly HAS_ARCH_ARM64=${HAS_ARCH_ARM64:=0} 56 readonly HAS_ARCH_ARM64=${HAS_ARCH_ARM64:=0}
60 readonly HAS_ARCH_MIPS=${HAS_ARCH_MIPS:=0} 57 readonly HAS_ARCH_MIPS=${HAS_ARCH_MIPS:=0}
61 58
62 readonly REQUIRED_TOOLS="wget" 59 readonly REQUIRED_TOOLS="wget"
63 60
64 ###################################################################### 61 ######################################################################
65 # Package Config 62 # Package Config
66 ###################################################################### 63 ######################################################################
67 64
68 PACKAGES_EXT=${PACKAGES_EXT:-bz2} 65 PACKAGES_EXT=${PACKAGES_EXT:-bz2}
69 readonly RELEASE_FILE="Release" 66 readonly RELEASE_FILE="Release"
70 readonly RELEASE_FILE_GPG="Release.gpg" 67 readonly RELEASE_FILE_GPG="Release.gpg"
71 readonly RELEASE_LIST="${REPO_BASEDIR}/${RELEASE_FILE}" 68 readonly RELEASE_LIST="${REPO_BASEDIR}/${RELEASE_FILE}"
72 readonly RELEASE_LIST_GPG="${REPO_BASEDIR}/${RELEASE_FILE_GPG}" 69 readonly RELEASE_LIST_GPG="${REPO_BASEDIR}/${RELEASE_FILE_GPG}"
73 readonly PACKAGE_FILE_AMD64="main/binary-amd64/Packages.${PACKAGES_EXT}"
74 readonly PACKAGE_FILE_I386="main/binary-i386/Packages.${PACKAGES_EXT}"
75 readonly PACKAGE_FILE_ARM="main/binary-armhf/Packages.${PACKAGES_EXT}"
76 readonly PACKAGE_FILE_ARM64="main/binary-arm64/Packages.${PACKAGES_EXT}"
77 readonly PACKAGE_FILE_MIPS="main/binary-mipsel/Packages.${PACKAGES_EXT}"
78 readonly PACKAGE_LIST_AMD64="${REPO_BASEDIR}/${PACKAGE_FILE_AMD64}"
79 readonly PACKAGE_LIST_I386="${REPO_BASEDIR}/${PACKAGE_FILE_I386}"
80 readonly PACKAGE_LIST_ARM="${REPO_BASEDIR_ARM}/${PACKAGE_FILE_ARM}"
81 readonly PACKAGE_LIST_ARM64="${REPO_BASEDIR_ARM64}/${PACKAGE_FILE_ARM64}"
82 readonly PACKAGE_LIST_MIPS="${REPO_BASEDIR_MIPS}/${PACKAGE_FILE_MIPS}"
83 70
84 readonly DEBIAN_DEP_LIST_AMD64="packagelist.${DIST}.amd64" 71 readonly DEBIAN_DEP_LIST_AMD64="packagelist.${DIST}.amd64"
85 readonly DEBIAN_DEP_LIST_I386="packagelist.${DIST}.i386" 72 readonly DEBIAN_DEP_LIST_I386="packagelist.${DIST}.i386"
86 readonly DEBIAN_DEP_LIST_ARM="packagelist.${DIST}.arm" 73 readonly DEBIAN_DEP_LIST_ARM="packagelist.${DIST}.arm"
87 readonly DEBIAN_DEP_LIST_ARM64="packagelist.${DIST}.arm64" 74 readonly DEBIAN_DEP_LIST_ARM64="packagelist.${DIST}.arm64"
88 readonly DEBIAN_DEP_LIST_MIPS="packagelist.${DIST}.mipsel" 75 readonly DEBIAN_DEP_LIST_MIPS="packagelist.${DIST}.mipsel"
89 76
90 ###################################################################### 77 ######################################################################
91 # Helper 78 # Helper
92 ###################################################################### 79 ######################################################################
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 } 186 }
200 187
201 ExtractPackageBz2() { 188 ExtractPackageBz2() {
202 if [ "${PACKAGES_EXT}" = "bz2" ]; then 189 if [ "${PACKAGES_EXT}" = "bz2" ]; then
203 bzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2" 190 bzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2"
204 else 191 else
205 xzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2" 192 xzcat "$1" | egrep '^(Package:|Filename:|SHA256:) ' > "$2"
206 fi 193 fi
207 } 194 }
208 195
196 GeneratePackageListCommon() {
197 local output_file="$1"
198 local arch="$2"
199 local apt_repo="$3"
200 local packages="$4"
201
202 local repo_basedir="${apt_repo}/dists/${DIST}"
203 local package_list="${BUILD_DIR}/Packages.${DIST}_${arch}.${PACKAGES_EXT}"
204 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_${arch}"
205 local package_file_arch="main/binary-${arch}/Packages.${PACKAGES_EXT}"
206 local package_list_arch="${repo_basedir}/${package_file_arch}"
207
208 DownloadOrCopy "${package_list_arch}" "${package_list}"
209 VerifyPackageListing "${package_file_arch}" "${package_list}"
210 ExtractPackageBz2 "$package_list" "$tmp_package_list"
211 GeneratePackageList "$tmp_package_list" "$output_file" "${packages}"
212 }
213
209 GeneratePackageListAmd64() { 214 GeneratePackageListAmd64() {
210 local output_file="$1" 215 GeneratePackageListCommon "$1" amd64 ${APT_REPO} "${DEBIAN_PACKAGES}
211 local package_list="${BUILD_DIR}/Packages.${DIST}_amd64.${PACKAGES_EXT}"
212 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_amd64"
213 DownloadOrCopy "${PACKAGE_LIST_AMD64}" "${package_list}"
214 VerifyPackageListing "${PACKAGE_FILE_AMD64}" "${package_list}"
215 ExtractPackageBz2 "$package_list" "$tmp_package_list"
216 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}
217 ${DEBIAN_PACKAGES_X86:=} ${DEBIAN_PACKAGES_AMD64:=}" 216 ${DEBIAN_PACKAGES_X86:=} ${DEBIAN_PACKAGES_AMD64:=}"
218 } 217 }
219 218
220 GeneratePackageListI386() { 219 GeneratePackageListI386() {
221 local output_file="$1" 220 GeneratePackageListCommon "$1" i386 ${APT_REPO} "${DEBIAN_PACKAGES}
222 local package_list="${BUILD_DIR}/Packages.${DIST}_i386.${PACKAGES_EXT}"
223 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_amd64"
224 DownloadOrCopy "${PACKAGE_LIST_I386}" "${package_list}"
225 VerifyPackageListing "${PACKAGE_FILE_I386}" "${package_list}"
226 ExtractPackageBz2 "$package_list" "$tmp_package_list"
227 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}
228 ${DEBIAN_PACKAGES_X86:=}" 221 ${DEBIAN_PACKAGES_X86:=}"
229 } 222 }
230 223
231 GeneratePackageListARM() { 224 GeneratePackageListARM() {
232 local output_file="$1" 225 GeneratePackageListCommon "$1" armhf ${APT_REPO_ARM:-${APT_REPO}} \
233 local package_list="${BUILD_DIR}/Packages.${DIST}_arm.${PACKAGES_EXT}" 226 "${DEBIAN_PACKAGES} ${DEBIAN_PACKAGES_ARM:=}"
234 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm"
235 DownloadOrCopy "${PACKAGE_LIST_ARM}" "${package_list}"
236 VerifyPackageListing "${PACKAGE_FILE_ARM}" "${package_list}"
237 ExtractPackageBz2 "$package_list" "$tmp_package_list"
238 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}
239 ${DEBIAN_PACKAGES_ARM:=}"
240 } 227 }
241 228
242 GeneratePackageListARM64() { 229 GeneratePackageListARM64() {
243 local output_file="$1" 230 GeneratePackageListCommon "$1" arm64 ${APT_REPO_ARM64:-${APT_REPO}} \
244 local package_list="${BUILD_DIR}/Packages.${DIST}_arm64.${PACKAGES_EXT}" 231 "${DEBIAN_PACKAGES} ${DEBIAN_PACKAGES_ARM64:=}"
245 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_arm64"
246 DownloadOrCopy "${PACKAGE_LIST_ARM64}" "${package_list}"
247 VerifyPackageListing "${PACKAGE_FILE_ARM64}" "${package_list}"
248 ExtractPackageBz2 "$package_list" "$tmp_package_list"
249 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}
250 ${DEBIAN_PACKAGES_ARM64:=}"
251 } 232 }
252 233
253 GeneratePackageListMips() { 234 GeneratePackageListMips() {
254 local output_file="$1" 235 GeneratePackageListCommon "$1" mipsel ${APT_REPO_MIPS:-${APT_REPO}} \
255 local package_list="${BUILD_DIR}/Packages.${DIST}_mips.${PACKAGES_EXT}" 236 "${DEBIAN_PACKAGES}"
256 local tmp_package_list="${BUILD_DIR}/Packages.${DIST}_mips"
257 DownloadOrCopy "${PACKAGE_LIST_MIPS}" "${package_list}"
258 VerifyPackageListing "${PACKAGE_FILE_MIPS}" "${package_list}"
259 ExtractPackageBz2 "$package_list" "$tmp_package_list"
260 GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}"
261 } 237 }
262 238
263 StripChecksumsFromPackageList() { 239 StripChecksumsFromPackageList() {
264 local package_file="$1" 240 local package_file="$1"
265 sed -i 's/ [a-f0-9]\{64\}$//' "$package_file" 241 sed -i 's/ [a-f0-9]\{64\}$//' "$package_file"
266 } 242 }
267 243
268 VerifyPackageFilesMatch() { 244 VerifyPackageFilesMatch() {
269 local downloaded_package_file="$1" 245 local downloaded_package_file="$1"
270 local stored_package_file="$2" 246 local stored_package_file="$2"
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 return 753 return
778 fi 754 fi
779 GeneratePackageListARM "$DEBIAN_DEP_LIST_ARM" 755 GeneratePackageListARM "$DEBIAN_DEP_LIST_ARM"
780 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM" 756 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM"
781 } 757 }
782 758
783 #@ 759 #@
784 #@ UpdatePackageListsARM64 760 #@ UpdatePackageListsARM64
785 #@ 761 #@
786 #@ Regenerate the package lists such that they contain an up-to-date 762 #@ Regenerate the package lists such that they contain an up-to-date
787 #@ list of URLs within the Debian archive. (For arm) 763 #@ list of URLs within the Debian archive. (For arm64)
788 UpdatePackageListsARM64() { 764 UpdatePackageListsARM64() {
789 if [ "$HAS_ARCH_ARM64" = "0" ]; then 765 if [ "$HAS_ARCH_ARM64" = "0" ]; then
790 return 766 return
791 fi 767 fi
792 GeneratePackageListARM64 "$DEBIAN_DEP_LIST_ARM64" 768 GeneratePackageListARM64 "$DEBIAN_DEP_LIST_ARM64"
793 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM64" 769 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM64"
794 } 770 }
795 771
796 #@ 772 #@
797 #@ UpdatePackageListsMips 773 #@ UpdatePackageListsMips
798 #@ 774 #@
799 #@ Regenerate the package lists such that they contain an up-to-date 775 #@ Regenerate the package lists such that they contain an up-to-date
800 #@ list of URLs within the Debian archive. (For arm) 776 #@ list of URLs within the Debian archive. (For mips)
801 UpdatePackageListsMips() { 777 UpdatePackageListsMips() {
802 if [ "$HAS_ARCH_MIPS" = "0" ]; then 778 if [ "$HAS_ARCH_MIPS" = "0" ]; then
803 return 779 return
804 fi 780 fi
805 GeneratePackageListMips "$DEBIAN_DEP_LIST_MIPS" 781 GeneratePackageListMips "$DEBIAN_DEP_LIST_MIPS"
806 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_MIPS" 782 StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_MIPS"
807 } 783 }
808 784
809 #@ 785 #@
810 #@ UpdatePackageListsAll 786 #@ UpdatePackageListsAll
(...skipping 24 matching lines...) Expand all
835 echo " $0 help" 811 echo " $0 help"
836 exit 1 812 exit 1
837 else 813 else
838 ChangeDirectory 814 ChangeDirectory
839 if echo $1 | grep -qs "All$"; then 815 if echo $1 | grep -qs "All$"; then
840 "$@" 816 "$@"
841 else 817 else
842 RunCommand "$@" 818 RunCommand "$@"
843 fi 819 fi
844 fi 820 fi
OLDNEW
« no previous file with comments | « no previous file | build/linux/sysroot_scripts/sysroot-creator-trusty.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698