diff --git a/bin/epm b/bin/epm index c3449b126f6e9e6197ba2e3ccd10e40c6f0a9fca..339a6baa9661a94604dbc43021fd6be0f2881455 100755 --- a/bin/epm +++ b/bin/epm @@ -108,6 +108,7 @@ sort= non_interactive=$EPM_AUTO download= download_only= +print_url= interactive= force_yes= skip_installed= @@ -480,6 +481,9 @@ check_option() --download-only) # HELPOPT: download only the package/tarball (before any convertation) download_only="--download-only" ;; + --url) # HELPOPT: print only URL instead of download package + print_url="--url" + ;; --sort) # HELPOPT: sort output, f.i. --sort=size (supported only for packages command) # TODO: how to read arg? sort="$1" diff --git a/bin/epm-download b/bin/epm-download index 0572adac3894b1be4178518211a0867fa3d208ce..3194e56b11145c588779465c2a0d3ce8c47304b7 100644 --- a/bin/epm-download +++ b/bin/epm-download @@ -198,7 +198,7 @@ __epm_download_alt() try_change_alt_repo epm_addrepo "$@" - docmd epm download "$installlist" + docmd epm download $print_url "$installlist" epm_removerepo "$@" end_change_alt_repo @@ -209,6 +209,7 @@ __epm_download_alt() for pkg in "$@" ; do for i in $(sudocmd apt-get install -y --print-uris --reinstall "$pkg" | cut -f1 -d " " | grep ".rpm'$" | sed -e "s|^'||" -e "s|'$||") ; do echo "$(basename "$i")" | grep -q "^$pkg" || continue + [ -n "$print_url" ] && echo "$i" && continue eget $i done done @@ -239,10 +240,14 @@ epm_download() case $PMTYPE in apt-dpkg) + if [ -n "$print_url" ] ; then + docmd apt-get download --print-uris $* | cut -f1 -d " " | grep ".deb'$" | sed -e "s|^'||" -e "s|'$||" + return + fi docmd apt-get download $* ;; dnf-rpm) - sudocmd dnf download $* + sudocmd dnf download $print_url $* ;; aptcyg) sudocmd apt-cyg download $*