diff options
Diffstat (limited to 'lib/profile')
-rw-r--r-- | lib/profile/proteanos.sh | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/lib/profile/proteanos.sh b/lib/profile/proteanos.sh index f19af65..b78c5e8 100644 --- a/lib/profile/proteanos.sh +++ b/lib/profile/proteanos.sh @@ -20,16 +20,6 @@ use opkg -# TODO: This should be replaced with a prof_proteanos_validate_archplat() -# function that gets valid architectures and platforms from the package archive -# (which pro-archman needs to list in the distribution). -prof_proteanos_archplats=' -amd64-linux-glibc dev -i686-linux-glibc dev -i686-linux-glibc ao751h -i686-linux-glibc dimension2400 -i686-linux-glibc x60 -' prof_proteanos_fstab_linux="\ proc /proc proc defaults sys /sys sysfs defaults @@ -111,6 +101,27 @@ prof_proteanos_select_mirror() printf '%s\n' "${mirror}" } +prof_proteanos_validate_archplat() +{ + local mirror="${1}" + local arch="${2}" + local plat="${3}" + local suite="${4}" + + while read -r archplat; do + case "${archplat}" in + "${arch}/${plat}") + return 0 + ;; + esac + done <<-EOF + $(wget -q -O - "${mirror}/feeds/${suite}/Manifest" | sed \ + 's|/[^/]*$||; /^all\//d; /\/all$/d;') + EOF + + return 1 +} + prof_proteanos_feeds() { local mirror="${1}" @@ -124,10 +135,10 @@ prof_proteanos_feeds() for a in "${arch}" 'all'; do for p in "${plat}" 'all'; do for s in 'base'; do - printf 'src proteanos_%s_%s_%s_%s_%s ' \ + printf 'src/gz proteanos_%s_%s_%s_%s_%s ' \ "${suite%/*}" "${suite#*/}" \ "${a}" "${p}" "${s}" - printf '%s/feeds/%s/%s/%s/%s/Packages\n' \ + printf '%s/feeds/%s/%s/%s/%s/Packages.gz\n' \ "${mirror}" "${suite}" \ "${a}" "${p}" "${s}" done @@ -135,10 +146,10 @@ prof_proteanos_feeds() done for s in 'base'; do - printf 'src proteanos_%s_%s_%s_%s_%s ' \ + printf 'src/gz proteanos_%s_%s_%s_%s_%s ' \ "${suite%/*}" "${suite#*/}" \ 'src' 'all' "${s}" - printf '%s/feeds/%s/%s/%s/%s/Packages\n' \ + printf '%s/feeds/%s/%s/%s/%s/Packages.gz\n' \ "${mirror}" "${suite}" \ 'src' 'all' "${s}" done |