summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2021-01-23 00:42:57 -0500
committerbill-auger <mr.j.spam.me@gmail.com>2021-01-23 00:54:54 -0500
commit3d355579f2003956c3eafbdf194f493068b4b1b9 (patch)
tree1f20b8599b031e12ae0a252e81959b69aee2d4d2
parent6d81e6c24a3056b6d8c581f740dca3c2ab7c79de (diff)
mergeme - scripts/libmakepkg/source.sh.installed-wip scripts/libmakepkg/source.sh.in
-rwxr-xr-xscripts/libmakepkg/source.sh.installed-wip92
1 files changed, 92 insertions, 0 deletions
diff --git a/scripts/libmakepkg/source.sh.installed-wip b/scripts/libmakepkg/source.sh.installed-wip
new file mode 100755
index 00000000..38a993c5
--- /dev/null
+++ b/scripts/libmakepkg/source.sh.installed-wip
@@ -0,0 +1,92 @@
+#!/usr/bin/bash
+#
+# source.sh - functions for downloading and extracting sources
+#
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev@archlinux.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+[[ -n "$LIBMAKEPKG_SOURCE_SH" ]] && return
+LIBMAKEPKG_SOURCE_SH=1
+
+LIBRARY=${LIBRARY:-'/usr/share/makepkg'}
+
+source "$LIBRARY/util/message.sh"
+source "$LIBRARY/util/pkgbuild.sh"
+source "$LIBRARY/util/source.sh"
+
+
+for lib in "$LIBRARY/source/"*.sh; do
+ source "$lib"
+done
+
+
+download_sources() {
+ local netfile all_sources
+ local get_source_fn=get_all_sources_for_arch get_vcs=1
+
+DBG "source.sh::download_sources() IN"
+
+ msg "$(gettext "Retrieving sources...")"
+
+ while true; do
+ case $1 in
+ allarch)
+ get_source_fn=get_all_sources
+ ;;
+ novcs)
+ get_vcs=0
+ ;;
+ *)
+ break
+ ;;
+ esac
+ shift
+ done
+
+ "$get_source_fn" 'all_sources'
+ for netfile in "${all_sources[@]}"; do
+
+DBG "source.sh::download_sources() netfile=${netfile}"
+
+ pushd "$SRCDEST" &>/dev/null
+
+ local proto=$(get_protocol "$netfile")
+ if declare -f download_$proto > /dev/null; then
+ download_$proto "$netfile"
+ else
+ download_file "$netfile"
+ fi
+
+ popd &>/dev/null
+ done
+
+DBG "source.sh::download_sources() OUT"
+}
+
+extract_sources() {
+ msg "$(gettext "Extracting sources...")"
+ local netfile all_sources
+
+ get_all_sources_for_arch 'all_sources'
+ for netfile in "${all_sources[@]}"; do
+ local proto=$(get_protocol "$netfile")
+ if declare -f extract_$proto > /dev/null; then
+ extract_$proto "$netfile"
+ else
+ extract_file "$netfile"
+ fi
+ done
+}