#!/bin/bash -e #site=http://192.168.2.4:10001/ site=http://localhost:10000/ echo "Fetching upstream list" pkgrecv -s http://pkg.opensolaris.org/release/ -n > upstream.list echo "Fetching downstream list" pkgrecv -s $site -n > downstream.list for i in $(cat upstream.list) do if $(cat downstream.list | cut -f 2 -d ':' | grep -q $(echo $i | cut -f 2 -d ':')); then echo "--- already present in local: $i" else shortName=$(echo $i | cut -f 2 -d '/' | cut -f 1 -d '@') echo "--- installing $i as $shortName" # ignore "Unable to download files" error pkgrecv -s http://pkg.opensolaris.org/release/ "$i" || true # uncompress them all #for f in $(ls $shortName/*) #do # if [ "$f" != "$shortName/manifest" ]; then # echo "Uncompressing $f" # mv $f $f.gz # gunzip $f.gz # fi #done eval $(pkgsend -s $site open "$i") pkgsend -s $site include -d $shortName "$shortName/manifest" pkgsend -s $site close rm -rf $shortName fi done