cookutils annotate lib/libcook.sh @ rev 522
libcook.sh: Add live variable.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Wed Aug 15 23:27:56 2012 +0000 (2012-08-15) |
parents | 0b6c1c223f1c |
children | 5fb0c06f85e7 |
rev | line source |
---|---|
pankso@422 | 1 #!/bin/sh |
pankso@422 | 2 # |
pankso@422 | 3 # Cook library - Shared configs and functions between cook, the cooker and |
pankso@422 | 4 # cookiso. Read the README before adding or modifing any code in libcook.sh! |
pankso@422 | 5 # |
pankso@422 | 6 # Copyright (C) SliTaz GNU/Linux - GNU gpl v3 |
pankso@422 | 7 # Author: Christophe Lincoln <pankso@slitaz.org> |
pankso@422 | 8 # |
pankso@422 | 9 . /lib/libtaz.sh |
pankso@422 | 10 . /usr/lib/slitaz/libpkg.sh |
pankso@422 | 11 . /etc/slitaz/slitaz.conf |
pankso@422 | 12 |
pankso@422 | 13 # System wide config can be overwriten by a cook.conf in current path. |
pankso@422 | 14 [ -f "/etc/slitaz/cook.conf" ] && . /etc/slitaz/cook.conf |
pankso@422 | 15 [ -f "cook.conf" ] && . ./cook.conf |
pankso@431 | 16 |
pankso@431 | 17 # Shared DB between Cook, the Cooker and Cookiso. |
pankso@431 | 18 # In cookiso: repo= --> flavors |
slaxemulator@457 | 19 if [ "$(basename $0)" = "cookiso" ]; then |
slaxemulator@457 | 20 cache="$CACHE/cookiso" |
slaxemulator@457 | 21 #cookiso variables |
slaxemulator@457 | 22 repo="$SLITAZ/flavors" |
slaxemulator@457 | 23 iso="$SLITAZ/iso" |
slaxemulator@457 | 24 rollog="$cache/rolling.log" |
slaxemulator@457 | 25 synclog="$cache/rsync.log" |
slaxemulator@457 | 26 else |
slaxemulator@457 | 27 cache="$CACHE" |
slaxemulator@457 | 28 fi |
slaxemulator@457 | 29 |
pankso@431 | 30 flavors="$SLITAZ/flavors" |
slaxemulator@457 | 31 activity="$cache/activity" |
slaxemulator@457 | 32 commits="$cache/commits" |
slaxemulator@457 | 33 cooklist="$cache/cooklist" |
slaxemulator@457 | 34 cookorder="$cache/cookorder" |
slaxemulator@457 | 35 command="$cache/command" |
slaxemulator@457 | 36 blocked="$cache/blocked" |
slaxemulator@457 | 37 broken="$cache/broken" |
slaxemulator@461 | 38 unbuild="$cache/unbuild" |
slaxemulator@485 | 39 wokrev="$cache/wokrev" |
slaxemulator@457 | 40 cooknotes="$cache/cooknotes" |
slaxemulator@522 | 41 live="$SLITAZ/live" |
pankso@431 | 42 crontabs="/var/spool/cron/crontabs/root" |
pankso@431 | 43 |
slaxemulator@460 | 44 wan_db="$INCOMING/wanted.txt" |
slaxemulator@460 | 45 dep_db="$INCOMING/depends.txt" |
slaxemulator@460 | 46 lib_db="$INCOMING/libraries.txt" |
slaxemulator@460 | 47 # full cookorder |
slaxemulator@460 | 48 fullco="$PKGS/fullco.txt" |
slaxemulator@460 | 49 |
pankso@431 | 50 # Lograte activity. |
pankso@431 | 51 [ -s "$activity" ] && tail -n 60 $activity > /tmp/tail-$$ && \ |
pankso@431 | 52 mv -f /tmp/tail-$$ $activity |
pankso@431 | 53 |
pankso@431 | 54 # Log activities, we want first letter capitalized. |
pankso@431 | 55 # TODO: use /lib/libtaz.sh log() but need to change all: |
pankso@431 | 56 # echo "Message" | log --> log "Message" |
pankso@431 | 57 log() { |
pankso@431 | 58 grep ^[A-Z] | \ |
pankso@431 | 59 sed s"#^[A-Z]\([^']*\)#$(date '+%Y-%m-%d %H:%M') : \0#" >> $activity |
pankso@431 | 60 } |
pankso@431 | 61 |
slaxemulator@475 | 62 # Remove blocked (faster this way than grepping before). |
slaxemulator@475 | 63 strip_blocked() { |
slaxemulator@475 | 64 local pkg |
slaxemulator@475 | 65 for pkg in $(cat $blocked) |
slaxemulator@475 | 66 do |
slaxemulator@475 | 67 sed -i /^${pkg}$/d $cooklist |
slaxemulator@475 | 68 PACKAGE="$pkg" |
slaxemulator@475 | 69 for i in $(look_for_rwanted); do |
slaxemulator@475 | 70 sed -i /^${i}$/d $cooklist |
slaxemulator@475 | 71 done |
slaxemulator@475 | 72 done && sed -i /^$/d $cooklist |
slaxemulator@475 | 73 } |
slaxemulator@512 | 74 |
slaxemulator@512 | 75 # Initialize files used in $CACHE |
slaxemulator@512 | 76 init_db_files() { |
slaxemulator@512 | 77 gettext "Creating directories structure in:"; echo " $SLITAZ" |
slaxemulator@512 | 78 mkdir -p $INCOMING $PKGS $SRC $FEEDS $CACHE $LOGS |
slaxemulator@512 | 79 gettext "Creating DB files in:"; echo " $CACHE" |
slaxemulator@512 | 80 for f in $activity $command $broken $blocked $commits $cookorder $cooklist $command $wan_db $dep_db $fullco $lib_db $unbuild |
slaxemulator@512 | 81 do |
slaxemulator@512 | 82 touch $f |
slaxemulator@512 | 83 done |
slaxemulator@512 | 84 if [ -f $PKGS/libraries.txt ]; then |
slaxemulator@512 | 85 cp -a $PKGS/libraries.txt $lib_db |
slaxemulator@512 | 86 fi |
slaxemulator@512 | 87 } |