<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository mpbb.
</pre>
<p><a href="https://github.com/macports/mpbb/commit/1327a02e6cde03b4b1d6bb28115997941979786d">https://github.com/macports/mpbb/commit/1327a02e6cde03b4b1d6bb28115997941979786d</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1327a02e6cde03b4b1d6bb28115997941979786d
</span>Author: Ryan Schmidt <git@ryandesign.com>
AuthorDate: Tue Nov 27 16:55:42 2018 -0600
<span style='display:block; white-space:pre;color:#404040;'> Also gather and upload nondistributable archives
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/54800
</span>---
mpbb-gather-archives | 46 +++++++++++++++++++++++++++++++---------------
1 file changed, 31 insertions(+), 15 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mpbb-gather-archives b/mpbb-gather-archives
</span><span style='display:block; white-space:pre;color:#808080;'>index 7566635..376e471 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mpbb-gather-archives
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mpbb-gather-archives
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,13 +17,16 @@ directory for uploading.
</span> Options:
--archive-site=<URL>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- URL of a mirror to check for preexisting archives. Defaults to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ URL to check for preexisting public archives. Defaults to
</span> \`https://packages.macports.org'.
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ --archive-site-private=<URL>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ URL to check for preexisting private archives. Defaults to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \`https://packages-private.macports.org'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> --staging-dir=<path>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- A directory for storing distributable archives before deployment.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Defaults to the \`archive-staging' subdirectory of the \`--work-dir'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- working directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ A directory for storing archives before deployment. Defaults to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ \`archive-staging' subdirectory of the \`--work-dir' working directory.
</span>
Run \`$prog help' for global options and a list of other subcommands.
EOF
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,8 +34,14 @@ EOF
</span>
gather-archives() {
local args
<span style='display:block; white-space:pre;background:#ffe0e0;'>- parseopt archive-site:,staging-dir: "$@" || return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ parseopt archive-site:,archive-site-private:,staging-dir: "$@" || return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # $option_archive_site is set by parseopt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # shellcheck disable=SC2154
</span> : "${option_archive_site=https://packages.macports.org}"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # $option_archive_site_private is set by parseopt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # shellcheck disable=SC2154
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : "${option_archive_site_private=https://packages-private.macports.org}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # $option_staging_dir is set by parseopt
</span> # shellcheck disable=SC2154
: "${option_staging_dir=${option_work_dir}/archive-staging}"
# shellcheck disable=SC2086
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,23 +57,30 @@ gather-archives() {
</span> echo
fi
<span style='display:block; white-space:pre;background:#ffe0e0;'>- mkdir -p "${option_staging_dir}" || return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkdir -p "${option_staging_dir}"/public "${option_staging_dir}"/private || return
</span>
status=0
for archive_path in $("${option_prefix}/bin/port" -q location installed and \( $(cat "${option_work_dir}/all_ports") \)); do
archive_port=$(basename "$(dirname "${archive_path}")")
archive_basename=$(basename "${archive_path}")
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if ! curl -fIsL "${option_archive_site}/${archive_port}/${archive_basename}" > /dev/null; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # $option_jobs_dir is set in mpbb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # shellcheck disable=SC2154
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if "${tclsh}" "${option_jobs_dir}/port_binary_distributable.tcl" -v "${archive_port}"; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "Staging archive for upload: ${archive_basename}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- mkdir -p "${option_staging_dir}/${archive_port}" || { status=$?; break; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ln "${archive_path}" "${option_staging_dir}/${archive_port}/${archive_basename}" || { status=$?; break; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # $option_jobs_dir is set in mpbb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # shellcheck disable=SC2154
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if "${tclsh}" "${option_jobs_dir}/port_binary_distributable.tcl" -v "${archive_port}"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_type=public
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_site="${option_archive_site}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_type=private
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_site="${option_archive_site_private}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ archive_dir="${option_staging_dir}/${archive_type}/${archive_port}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ! curl -fIsL "${archive_site}/${archive_port}/${archive_basename}" > /dev/null; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "Staging ${archive_type} archive for upload: ${archive_basename}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mkdir -p "${archive_dir}" || { status=$?; break; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln "${archive_path}" "${archive_dir}/${archive_basename}" || { status=$?; break; }
</span> else
<span style='display:block; white-space:pre;background:#ffe0e0;'>- echo "Archive was already uploaded: ${archive_basename}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ echo "Already uploaded ${archive_type} archive: ${archive_basename}"
</span> fi
done
</pre><pre style='margin:0'>
</pre>