diff options
Diffstat (limited to 'script/update/project/trees')
-rwxr-xr-x | script/update/project/trees | 50 |
1 files changed, 19 insertions, 31 deletions
diff --git a/script/update/project/trees b/script/update/project/trees index 1214ab21..d5d631b6 100755 --- a/script/update/project/trees +++ b/script/update/project/trees @@ -15,7 +15,7 @@ eval "$(setvars "" _target tree rev project cfgsdir)" main() { - rm -f "${cfgsdir}"/*/seen || err_rm_seen "main 1" + x_ rm -f "${cfgsdir}"/*/seen printf "Downloading %s and (if available) applying patches\n" \ ${project} @@ -32,11 +32,10 @@ main() err "No targets available for project: ${project}" for x in ${targets}; do - rm -f "${cfgsdir}"/*/seen || err_rm_seen "main 2" - download_for_target "${x}" || \ - err "${project}/${target}: cannot download source tree" + x_ rm -f "${cfgsdir}"/*/seen + x_ download_for_target "${x}" done - rm -f "${cfgsdir}"/*/seen || err_rm_seen "main 3" + x_ rm -f "${cfgsdir}"/*/seen } download_for_target() @@ -45,10 +44,8 @@ download_for_target() tree="undefined" rev="undefined" - fetch_config "${_target}" || \ - err "download_for_target: ${project}/${_target}: bad target.cfg" - - rm -f "${cfgsdir}"/*/seen || err_rm_seen "download_for_target" + x_ fetch_config "${_target}" + x_ rm -f "${cfgsdir}"/*/seen if [ -d "${project}/${tree}" ]; then printf "REMARK: download/%s %s: exists. Skipping.\n" \ @@ -60,8 +57,7 @@ download_for_target() fetch_from_upstream || \ err "download_for_target: cannot fetch: ${project}" - prepare_new_tree "${_target}" "${tree}" "${rev}" || \ - err "download_for_target: cannot create tree: ${project}/${tree}" + x_ prepare_new_tree "${_target}" "${tree}" "${rev}" } fetch_config() @@ -82,14 +78,16 @@ fetch_config() _target="${tree}" continue elif [ "${tree}" = "undefined" ]; then - printf "ERROR (fetch_config): download/%s:" 1>&2 + printf "ERROR (fetch_config): download/%s:" \ + "${project}" 1>&2 printf " tree name undefined for '%s\n'" \ - "${project}" "${_target}" 1>&2 + "${_target}" 1>&2 return 1 elif [ "${rev}" = "undefined" ]; then - printf "ERROR (fetch_config): download/%s:" 1>&2 + printf "ERROR (fetch_config): download/%s:" \ + "${project}" 1>&2 printf " commit ID undefined for '%s'\n" \ - "${project}" "${_target}" 1>&2 + "${_target}" 1>&2 return 1 else break @@ -114,8 +112,7 @@ check_config_for_target() 1>&2 return 1 fi - touch "${cfgsdir}/${_target}/seen" || \ - err "${project}/${_target}: touch \"${cfgsdir}/${_target}/seen\"" + x_ touch "${cfgsdir}/${_target}/seen" } fetch_from_upstream() @@ -137,26 +134,17 @@ prepare_new_tree() [ "${tree}" != "${target}" ] && \ printf "(for target, %s)\n" "${target}" - cp -R "${project}/${project}" "${project}/${tree}" || \ - err "${project}/${tree}: cannot copy source tree" - git_reset_rev "${project}/${tree}" "${rev}" "err" || \ - err "prepare_new_trees ${project}/${tree}: cannot reset <- ${rev}" + x_ cp -R "${project}/${project}" "${project}/${tree}" + x_ git_reset_rev "${project}/${tree}" "${rev}" "err" ( - cd "${project}/${tree}" || \ - err "prepare_new_tree: !cd \"${project}/${tree}\"" + x_ cd "${project}/${tree}" git submodule update --init --checkout || \ err "prepare_new_tree ${project}/${tree}: can't update git modules" ) - git_am_patches "${PWD}/${project}/${tree}" \ - "${PWD}/${cfgsdir}/${tree}/patches" "err" || \ - err "prepare_new_trees ${project}/${tree}: cannot apply patches" -} - -err_rm_seen() -{ - err "${1}: ${project}/${target}: cannot rm: \"${cfgsdir}/*/seen\"" + x_ git_am_patches "${PWD}/${project}/${tree}" \ + "${PWD}/${cfgsdir}/${tree}/patches" "err" } main $@ |