4 if [[ -z "${VERBOSE// }" ]] || [ "$VERBOSE" -ne "$VERBOSE" ] 2>/dev/null; then
10 if [ $VERBOSE -ge $1 ]; then
17 Log 1 -e "\x1B[0;34m$@\x1B[m"
22 Log 2 -e "\x1B[0;32m$@\x1B[m"
27 >&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
35 if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
36 CURL_OPT="--progress-bar"
40 curl $CURL_OPT $URL > $FILE
43 hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
44 hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
45 hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
48 if [ ! -d $TMPDIR ]; then
50 Debug "Create temporary directory : $TMPDIR"
54 TIZEN_URL=http://download.tizen.org/snapshots/devel/toolchains/
57 PRIMARY_XML=primary.xml
58 TARGET_URL="http://__not_initialized"
65 RESULT=$(xmllint --xpath $XPATH $XML_FILE)
66 if [[ -z ${RESULT// } ]]; then
67 Error "Can not find target from $XML_FILE"
68 Debug "Xpath = $XPATH"
74 fetch_tizen_pkgs_init()
78 Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
80 TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
81 if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
84 PKG_URL=$TIZEN_URL/$PROFILE/latest
86 BUILD_XML_URL=$PKG_URL/$BUILD_XML
87 TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
88 TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
89 TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
90 TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
92 Fetch $BUILD_XML_URL $TMP_BUILD
94 Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
96 TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
97 Xpath_get $TARGET_XPATH $TMP_BUILD
98 TARGET_PATH=$XPATH_RESULT
99 TARGET_URL=$PKG_URL/$TARGET_PATH
101 REPOMD_URL=$TARGET_URL/repodata/repomd.xml
102 PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
104 Fetch $REPOMD_URL $TMP_REPOMD
106 Debug "fetch $REPOMD_URL to $TMP_REPOMD"
108 Xpath_get $PRIMARY_XPATH $TMP_REPOMD
109 PRIMARY_XML_PATH=$XPATH_RESULT
110 PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
112 Fetch $PRIMARY_URL $TMP_PRIMARYGZ
114 Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
116 gunzip $TMP_PRIMARYGZ
118 Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY"
124 PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
126 PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
130 Inform "Fetching... $pkg"
131 XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
132 XPATH=${XPATH/_ARCH_/$ARCH}
133 Xpath_get $XPATH $TMP_PRIMARY
134 PKG_PATH=$XPATH_RESULT
136 XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
137 XPATH=${XPATH/_ARCH_/$ARCH}
138 Xpath_get $XPATH $TMP_PRIMARY
139 CHECKSUM=$XPATH_RESULT
141 PKG_URL=$TARGET_URL/$PKG_PATH
142 PKG_FILE=$(basename $PKG_PATH)
143 PKG_PATH=$TMPDIR/$PKG_FILE
145 Debug "Download $PKG_URL to $PKG_PATH"
146 Fetch $PKG_URL $PKG_PATH true
148 echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
149 if [ $? -ne 0 ]; then
150 Error "Fail to fetch $PKG_URL to $PKG_PATH"
151 Debug "Checksum = $CHECKSUM"
157 Inform "Initialize arm base"
158 fetch_tizen_pkgs_init standard base
159 Inform "fetch common packages"
160 fetch_tizen_pkgs aarch64 gcc glibc glibc-devel libicu libicu-devel libatomic linux-glibc-devel
161 Inform "fetch coreclr packages"
162 fetch_tizen_pkgs aarch64 lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
163 Inform "fetch corefx packages"
164 fetch_tizen_pkgs aarch64 libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl1.1-devel krb5 krb5-devel libcurl libcurl-devel
166 Inform "Initialize standard unified"
167 fetch_tizen_pkgs_init standard unified
168 Inform "fetch corefx packages"
169 fetch_tizen_pkgs aarch64 gssdp gssdp-devel tizen-release