<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/4b9448b600ad7d5aec9a881a0f20b2710bad5e08">https://github.com/macports/mpbb/commit/4b9448b600ad7d5aec9a881a0f20b2710bad5e08</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 4b9448b600ad7d5aec9a881a0f20b2710bad5e08
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Wed Mar 7 08:40:48 2018 -0600

<span style='display:block; white-space:pre;color:#404040;'>    Add mpbb-mirror-distfiles
</span>---
 mpbb-mirror-distfiles | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mpbb-mirror-distfiles b/mpbb-mirror-distfiles
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4afc86c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mpbb-mirror-distfiles
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,82 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/bin/bash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: sh; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=sh:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This script is sourced by the mpbb wrapper script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Do not execute this directly!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mirror-distfiles-usage() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # "prog" is defined in mpbb-help.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # shellcheck disable=SC2154
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    cat <<EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+usage: $prog [<global opts>] mirror-distfiles <port> [<port2> [...]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Mirror the distfiles of each given port and their subports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Options:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  --distfiles-dir=<URL>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    A directory for storing the distfiles. Defaults to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    \`var/macports/distfiles' subdirectory of the \`--prefix' directory. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    changed, deletes the \`var/macports/distfiles' directory and replaces it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    with a symlink to the specified directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Run \`$prog help' for global options and a list of other subcommands.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+mirror-distfiles() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    local args args2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    parseopt distfiles-dir: "$@" || return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_distfiles_dir="${option_prefix}"/var/macports/distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    : "${option_distfiles_dir=${default_distfiles_dir}}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    args2=()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    for arg in "${args[@]}"; do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        args2+=("$arg")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        args2+=("subportof:$arg")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    done
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set -- ${args2+"${args2[@]}"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if [ ! -d "${option_distfiles_dir}" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        err "Distfiles directory \`${option_distfiles_dir}' does not exist"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if [ $# -le 0 ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        err "Must specify at least one port"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if [ "${option_distfiles_dir}" = "${default_distfiles_dir}" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if [ -L "${default_distfiles_dir}" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            msg "Removing symlink \`${default_distfiles_dir}' and creating directory"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            rm -f "${default_distfiles_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            mkdir "${default_distfiles_dir}" || return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        make_symlink=0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if [ -L "${default_distfiles_dir}" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            distfiles_link_target="$(readlink -n "${default_distfiles_dir}")"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if [ "${distfiles_link_target}" != "${option_distfiles_dir}" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                msg "Changing \`${default_distfiles_dir}' symlink from \`${distfiles_link_target}' to \`${option_distfiles_dir}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                rm -f "${default_distfiles_dir}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                make_symlink=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        elif [ -d "${default_distfiles_dir}" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            msg "Removing directory \`${default_distfiles_dir}' and replacing it with a symlink to \`${option_distfiles_dir}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            rm -rvf "${default_distfiles_dir}" | sed 's/^/Deleting /'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            make_symlink=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            msg "Making \`${default_distfiles_dir}' a symlink to \`${option_distfiles_dir}'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            make_symlink=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if [ ${make_symlink} -eq 1 ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ln -s "${option_distfiles_dir}" "${default_distfiles_dir}" || return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Mirror the distfiles.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # $option_prefix is set by mpbb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # shellcheck disable=SC2154
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    "${option_prefix}/bin/port" -p mirror "$@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>