|
|
@ -31,6 +31,7 @@ debug=0 |
|
|
|
ignore_chksum=0 |
|
|
|
update=1 |
|
|
|
dryrun=0 |
|
|
|
repositories="" |
|
|
|
|
|
|
|
# |
|
|
|
# ---- Functions |
|
|
@ -43,7 +44,10 @@ help_msg() { |
|
|
|
echo |
|
|
|
echo "Usage: ./scripts/Emerge-Pkg" \ |
|
|
|
"[ -cfg <config> ] [ -dep ] [ -dry-run ]" |
|
|
|
echo "$spacer [ -noupdate ] [ -debug ] pkg-name(s)" |
|
|
|
echo "$spacer [ -noupdate ] [ -debug ]" |
|
|
|
echo "$spacer [ -repository repository-name ]" |
|
|
|
echo "$spacer [ pkg-name(s) ]" |
|
|
|
echo "pkg-name(s) are only optional if a repository is specified!" |
|
|
|
echo |
|
|
|
echo "Type './scripts/Help Emerge-Pkg' for details." |
|
|
|
echo |
|
|
@ -64,7 +68,8 @@ while [ "$1" ] ; do |
|
|
|
-debug) debug=1 ;; |
|
|
|
-dep) builddep=1 ;; |
|
|
|
-dry-run) dryrun=1 ;; |
|
|
|
-noupdate) update=0 ;; |
|
|
|
-noupdate) update=0 ;; |
|
|
|
-repository) repositories="$repositories $2" ; shift ;; |
|
|
|
-*) help_msg ; exit 1 ;; |
|
|
|
*) break ;; |
|
|
|
esac |
|
|
@ -121,7 +126,7 @@ check4update() |
|
|
|
if [ -f /var/adm/cache/$package ] ; then |
|
|
|
if ! grep -q BUILDTIME /var/adm/cache/$package ; then |
|
|
|
[ $debug = 1 ] && \ |
|
|
|
echo " $package: Former build was broken." |
|
|
|
echo " $package: Former build was broken. Added." |
|
|
|
addlist="$addlist $package" |
|
|
|
fi |
|
|
|
else |
|
|
@ -205,18 +210,29 @@ BEGIN { |
|
|
|
' |
|
|
|
} |
|
|
|
|
|
|
|
# all packages |
|
|
|
deplist="$deplist $@" |
|
|
|
|
|
|
|
# packages from repositories |
|
|
|
for x in $repositories ; do |
|
|
|
deplist="$deplist `egrep " $x " config/$config/packages | \ |
|
|
|
cut -d ' ' -f 5`" |
|
|
|
done |
|
|
|
|
|
|
|
if [ $builddep = 1 ] ; then |
|
|
|
# we have to create a complete dependency graph ... |
|
|
|
tmp="`mktemp`" |
|
|
|
dep4pkg $1 > $tmp |
|
|
|
for x in $deplist ; do |
|
|
|
dep4pkg $x >> $tmp |
|
|
|
done |
|
|
|
[ "$debug" = 1 ] && grep '^#' $tmp |
|
|
|
deplist="`grep -v '^#' $tmp`" |
|
|
|
deplist="$deplist `grep -v '^#' $tmp`" |
|
|
|
rm $tmp |
|
|
|
check4update |
|
|
|
else |
|
|
|
deplist="$@" |
|
|
|
fi |
|
|
|
|
|
|
|
# only build packages that need an update |
|
|
|
check4update |
|
|
|
|
|
|
|
echo "Packages scheduled to build: $deplist" |
|
|
|
|
|
|
|
[ $dryrun = 1 ] && exit |
|
|
|