]> git.donarmstrong.com Git - neurodebian.git/commitdiff
ENH: do not provide -D to netselect on older (squeeze) deployments
authorYaroslav Halchenko <debian@onerussian.com>
Fri, 27 Jun 2014 15:07:40 +0000 (11:07 -0400)
committerYaroslav Halchenko <debian@onerussian.com>
Fri, 27 Jun 2014 15:07:47 +0000 (11:07 -0400)
tools/nd-aptenable

index 701f7b912daa25ecb841197b05da2c95221d541c..c6c99a7d8e0ccc6ca1245bdc2ba379c67f5599a4 100755 (executable)
@@ -218,6 +218,13 @@ get_mirrors()
     done
 }
 
+get_apt_cache_package_version()
+{
+    pkg_version=$(apt-cache policy "$1" | awk '/^ *Installed:/{print $2;}')
+    [ "$pkg_version" != '(none)' ] || pkg_version=''
+    echo "$pkg_version"
+}
+
 netselect_mirror() {
     # select "closest" mirror according to netselect.
     print_verbose 2 "Selecting the 'best' mirror using netselect"
@@ -227,7 +234,12 @@ netselect_mirror() {
         print_verbose 1 "Selecting the default repository: $nd_mirror_default"
         echo $nd_mirror_default
     else
-        best_mirror=$(get_mirrors | awk '{print $2;}' | $ae_sudo xargs netselect -D -s 1 | awk '{print $2;}')
+        # squeeze version doesn't have -D yet to force output of the URL not IP, but for our mirrors ATM it shouldn't matter
+        netselect_opts="-s 1"
+        if dpkg --compare-version $(get_apt_cache_package_version netselect) ge 0.3.ds1-17; then
+            netselect_opts+=" -D"
+        fi
+        best_mirror=$(get_mirrors | awk '{print $2;}' | eval $ae_sudo xargs $netselect $netselect_opts | awk '{print $2;}')
         print_verbose 2 "Best mirror: $best_mirror"
         echo $best_mirror
     fi