resolveipspackages
author Alex Viskovatoff <herzen@imap.cc>
Sun, 26 Jun 2011 18:20:07 +0100
changeset 4 dc96cad1e9ea
permissions -rwxr-xr-x
Add resolveipspackages, which takes a spec and installs absent official packages required by it
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     1
#!/usr/bin/bash
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     2
#20090818 Thomas Wagner - install missing packages from the current package repository based on what pkgtool build-order cannot resolve
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     3
MISSING=`pkgtool build-order --autodeps $* | awk '/No spec/ { print $6 }' | sed -e 's/-devel$//' -e 's/-root$//' -e 's/-doc$//' | sort -u`
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     4
if [ -z $MISSING ]
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     5
  then
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     6
   echo "Lucky you, no packages from outside the build recipe repository seem to be missing"
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     7
   exit 0
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     8
  else
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
     9
   echo "Found the packages listed below to be missing, will try to install them from the"
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    10
   echo "local repository (should not hit packages from your build recipe repository)."
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    11
   echo "Watch for errors in the output."
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    12
   echo "========="
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    13
   echo "$MISSING"
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    14
   echo "========="
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    15
   echo "Now we try to automatically install missing packages by:"
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    16
   echo "pfexec pkg install $MISSING"
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    17
   echo "Please watch out for lines indicating that packages are not found in the catalog"
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    18
   echo ""
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    19
   pfexec pkg install $MISSING
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    20
   echo "Done. Exit code: $?"
dc96cad1e9ea Add resolveipspackages, which takes a spec and installs absent official packages required by it
Alex Viskovatoff <herzen@imap.cc>
parents:
diff changeset
    21
  fi