author | Alex Viskovatoff <herzen@imap.cc> |
Sun, 26 Jun 2011 18:20:07 +0100 | |
changeset 4 | dc96cad1e9ea |
permissions | -rwxr-xr-x |
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 |