summaryrefslogtreecommitdiffstats
path: root/metas/perl.d/fetchcpan
diff options
context:
space:
mode:
Diffstat (limited to 'metas/perl.d/fetchcpan')
-rwxr-xr-xmetas/perl.d/fetchcpan60
1 files changed, 0 insertions, 60 deletions
diff --git a/metas/perl.d/fetchcpan b/metas/perl.d/fetchcpan
deleted file mode 100755
index 076599b..0000000
--- a/metas/perl.d/fetchcpan
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-
-mirror=${CPANMIRROR:-ftp://cpan.pair.com}
-path=/modules/02packages.details.txt.gz
-
-curl --silent "$mirror$path" | gzip -dc | awk '
-NR < 10 { next }
-{
- file = a[split($3, a, "/")]
-
- if (!match(file, /[-_][vV]?[0-9]+/)) {
- #print "error: failed to grok " $3 | "cat 1>&2"
- next
- }
- ver = substr(file, RSTART+1)
- dist = substr(file, 1, RSTART-1)
-
- sub(/[.]tar[.].*$|[.]zip$/, "", ver)
- sub(/^[vV]/, "", ver)
- sub(/[.]pm$/, "", dist)
-
- if(dist == "perl") next
-
- mods[dist,ver] = mods[dist,ver] $1 " " $2 "\n"
- if (lessthan(dists[dist], ver)) {
- dists[dist] = ver
- paths[dist] = $3
- }
-}
-
-END {
- for (dist in dists) {
- ver = dists[dist]
- print dist, ver, paths[dist] | "sort >cpandists"
- }
- close("sort >cpandists")
-
- # Prints modules out in sorted order, too!
- while(getline<"cpandists" > 0) {
- print $1 "\n" mods[$1,$2] >"cpanmods"
- }
-}
-
-function lessthan (l, r)
-{
- return decver(l) < decver(r)
-}
-
-function decver (vs)
-{
- pcnt = gsub(/[.]/, ".", vs)
- if (pcnt < 2) return vs
-
- len = split(vs, vc, ".")
- dec = vc[1]
- for (i=2; i<=len; i++) dec += (10 ^ (-i * 3)) * vc[i]
- return dec
-}
-
-'