wok-current rev 6540
Disable chain-cook & add +build option for genpkg only
author | Antoine Bodin <gokhlayeh@mailoo.org> |
---|---|
date | Thu Oct 07 02:09:49 2010 +0200 (2010-10-07) |
parents | 95882644e965 |
children | 93df23918b33 |
files | tazbb/stuff/tazbb tazbb/stuff/web/index.php |
line diff
1.1 --- a/tazbb/stuff/tazbb Wed Oct 06 05:39:56 2010 +0000 1.2 +++ b/tazbb/stuff/tazbb Thu Oct 07 02:09:49 2010 +0200 1.3 @@ -95,7 +95,8 @@ 1.4 if ! grep -q "^Packages" $DB_DIR/summary; then 1.5 cat >> $DB_DIR/summary << _EOT_ 1.6 Packages : `ls $BUILD_WOK | wc -l` in the wok, `cat $DB_DIR/cooklist | wc -l` to cook, \ 1.7 -`cat $DB_DIR/blocked | wc -l` blocked, `cat $DB_DIR/corrupted | wc -l` corrupted 1.8 +`cat $DB_DIR/genpkglist | wc -l` to repack, `cat $DB_DIR/blocked | wc -l` blocked, \ 1.9 +`cat $DB_DIR/corrupted | wc -l` corrupted 1.10 _EOT_ 1.11 fi 1.12 } 1.13 @@ -108,6 +109,8 @@ 1.14 $DB_DIR/summary 1.15 sed -i s/"[0-9]* to cook"/"`cat $DB_DIR/cooklist | wc -l` to cook"/ \ 1.16 $DB_DIR/summary 1.17 + sed -i s/"[0-9]* to repack"/"`cat $DB_DIR/genpkglist | wc -l` to repack"/ \ 1.18 + $DB_DIR/summary 1.19 sed -i s/"[0-9]* blocked"/"`cat $DB_DIR/blocked | wc -l` blocked"/ \ 1.20 $DB_DIR/summary 1.21 sed -i s/"[0-9]* corrupted"/"`cat $DB_DIR/corrupted | wc -l` corrupted"/ \ 1.22 @@ -130,6 +133,9 @@ 1.23 echo "Cooklist" 1.24 echo "================================================================================" 1.25 cat $DB_DIR/cooklist && echo "" 1.26 + echo "Genpkglist" 1.27 + echo "================================================================================" 1.28 + cat $DB_DIR/genpkglist && echo "" 1.29 echo "Packlist" 1.30 echo "================================================================================" 1.31 cat $DB_DIR/packlist && echo "" 1.32 @@ -281,6 +287,7 @@ 1.33 { 1.34 # Clean up last results. 1.35 rm -f $DB_DIR/cooklist && touch $DB_DIR/cooklist 1.36 + rm -f $DB_DIR/genpkglist && touch $DB_DIR/genpkglist 1.37 rm -f $DB_DIR/report && touch $DB_DIR/report 1.38 rm -f $DB_DIR/unbuilt && touch $DB_DIR/unbuilt 1.39 echo "Checking all files in: $HG_WOK" 1.40 @@ -324,34 +331,30 @@ 1.41 FILE_YEAR=`date -u -r $file '+%Y'` 1.42 FILE_DATE=`date -u -r $file '+%m%d%H%M'` 1.43 [ "$2" = "--verbose" ] && echo " -> Checking: $file" 1.44 - if [ "$FILE_YEAR" -ge "$PKG_YEAR" -a "$FILE_DATE" -gt "$PKG_DATE" ] && ! grep -q $PACKAGE $DB_DIR/cooklist; then 1.45 + if [ "$FILE_YEAR" -ge "$PKG_YEAR" -a "$FILE_DATE" -gt "$PKG_DATE" ] && ! grep -q $PACKAGE $DB_DIR/cooklist && ! grep -q $PACKAGE $DB_DIR/genpkglist; then 1.46 [ "$1" = "report" ] && echo "Refresh : $PACKAGE ($VERSION)" 1.47 echo "Refresh : $PACKAGE ($VERSION)" >> $DB_DIR/report 1.48 echo "$PACKAGE" >> $DB_DIR/cooklist 1.49 fi 1.50 done 1.51 fi 1.52 - # Now check if package is built and not already in the list. 1.53 - if [ ! -d $BUILD_WOK/$PACKAGE/taz ] && ! grep -q $PACKAGE $DB_DIR/cooklist; then 1.54 - [ "$1" = "report" ] && echo "Unbuilt : $PACKAGE ($VERSION)" 1.55 - echo "Unbuilt : $PACKAGE ($VERSION)" >> $DB_DIR/report 1.56 - echo "$PACKAGE" >> $DB_DIR/cooklist 1.57 - fi 1.58 - if ! grep -q $PACKAGE $DB_DIR/cooklist; then 1.59 - case " $TOOLCHAIN " in 1.60 - *\ $PACKAGE\ *) continue;; 1.61 - esac 1.62 - case "$PACKAGE" in 1.63 - tazbb|tazwok|tazpkg) continue;; 1.64 - esac 1.65 - for dep in $BUILD_DEPENDS $TOOLCHAIN ; do 1.66 - [ $BUILD_WOK/$PACKAGE/taz -nt $BUILD_WOK/$dep/taz ] && continue 1.67 - [ "$1" = "report" ] && echo "Refresh : $PACKAGE (older than $dep)" 1.68 - echo "Refresh : $PACKAGE (older than $dep)" >> $DB_DIR/report 1.69 - echo "$PACKAGE" >> $DB_DIR/cooklist 1.70 - break 1.71 - done 1.72 - fi 1.73 + 1.74 + # Desactivate this feature because it create infinite cooking loops. 1.75 + #if ! grep -q $PACKAGE $DB_DIR/cooklist; then 1.76 + # case " $TOOLCHAIN " in 1.77 + # *\ $PACKAGE\ *) continue;; 1.78 + # esac 1.79 + # case "$PACKAGE" in 1.80 + # tazbb|tazwok|tazpkg) continue;; 1.81 + # esac 1.82 + # for dep in $BUILD_DEPENDS $TOOLCHAIN ; do 1.83 + # [ $BUILD_WOK/$PACKAGE/taz -nt $BUILD_WOK/$dep/taz ] && continue 1.84 + # [ "$1" = "report" ] && echo "Refresh : $PACKAGE (older than $dep)" 1.85 + # echo "Refresh : $PACKAGE (older than $dep)" >> $DB_DIR/report 1.86 + # echo "$PACKAGE" >> $DB_DIR/cooklist 1.87 + # break 1.88 + # done 1.89 + #fi 1.90 # Rebuild unbuilt packages list with link to log file. This list 1.91 # is also generated by cook_inslall to have real time stats. 1.92 if [ ! -d $BUILD_WOK/$PACKAGE/taz ]; then 1.93 @@ -374,20 +377,47 @@ 1.94 # commit was build by the previous build. 1.95 LAST_REV=$(($LAST_REV+1)) 1.96 echo -e "Will cook from revision $LAST_REV to $NEW_REV\n" 1.97 - for file in `hg log --rev=$LAST_REV:$NEW_REV --template '{files}\n'` 1.98 - do 1.99 - pkg=`echo $file | cut -d "/" -f 1` 1.100 - if ! grep -q ^$pkg$ $DB_DIR/cooklist; then 1.101 - if [ -f $pkg/receipt ]; then 1.102 - . $pkg/receipt 1.103 - echo "Commit : $PACKAGE ($VERSION)" >> $DB_DIR/report 1.104 - echo "$PACKAGE" >> $DB_DIR/cooklist 1.105 + for rev in $(seq $LAST_REV $NEW_REV); do 1.106 + hg_log=$(hg log --rev=$rev --template "{files}\t{desc}\n") 1.107 + for file in $(echo "$hg_log" | cut -f 1); do 1.108 + pkg=`echo $file | cut -d "/" -f 1` 1.109 + if [ "$(echo $hg_log | grep -i '+build')" ]; then 1.110 + if ! grep -q ^$pkg$ $DB_DIR/genpkglist && ! grep -q ^$pkg$ $DB_DIR/cooklist; then 1.111 + if [ -f $pkg/receipt ]; then 1.112 + . $pkg/receipt 1.113 + echo "Commit : $PACKAGE ($VERSION) - genpkg only" >> $DB_DIR/report 1.114 + echo "$PACKAGE" >> $DB_DIR/genpkglist 1.115 + fi 1.116 + fi 1.117 + else 1.118 + if ! grep -q ^$pkg$ $DB_DIR/cooklist; then 1.119 + if [ -f $pkg/receipt ]; then 1.120 + . $pkg/receipt 1.121 + echo "Commit : $PACKAGE ($VERSION)" >> $DB_DIR/report 1.122 + sed "/^$PACKAGE$/d" -i $DB_DIR/genpkglist 1.123 + echo "$PACKAGE" >> $DB_DIR/cooklist 1.124 + fi 1.125 + fi 1.126 fi 1.127 - fi 1.128 + done 1.129 done 1.130 packages_summary 1.131 } 1.132 1.133 +# Genpkg : don't regen the package if source _pkg is missing, this 1.134 +# function re-generate the package only if all is fine, else it 1.135 +# does nothing and forget the package. 1.136 +genpkg_package() 1.137 +{ 1.138 + EXTRAVERSION="" 1.139 + DEPENDS="" 1.140 + BUILD_DEPENDS="" 1.141 + SOURCE="" 1.142 + WANTED="" 1.143 + echo "(Repack <a href=\"log.php?package=$(escape $pkg)$LOG_SUFFIX\">$pkg</a>)" > $DB_DIR/running 1.144 + tazwok check-receipt $pkg && echo 'N' | tazwok genpkg $pkg 1.145 +} 1.146 + 1.147 # Cook one package 1.148 cook_package() 1.149 { 1.150 @@ -476,6 +506,16 @@ 1.151 # Here we cook all packages found in the cooklist. 1.152 cook_install() 1.153 { 1.154 + # First repack packages in genpkglist 1.155 + for pkg in `cat $DB_DIR/genpkglist`; do 1.156 + genpkg_package $pkg 1.157 + 1.158 + # Remove package from the genpkglist and empty lines for HTML <pre>. 1.159 + sed -i /"^$pkg$"/d $DB_DIR/genpkglist 1.160 + sed -i '/^$/d' $DB_DIR/genpkglist 1.161 + packages_summary_update 1.162 + done 1.163 + 1.164 echo "" > $DB_DIR/unbuilt 1.165 for pkg in `cat $DB_DIR/cooklist | sort_cook_list` 1.166 do
2.1 --- a/tazbb/stuff/web/index.php Wed Oct 06 05:39:56 2010 +0000 2.2 +++ b/tazbb/stuff/web/index.php Thu Oct 07 02:09:49 2010 +0200 2.3 @@ -122,6 +122,13 @@ 2.4 ?> 2.5 </pre> 2.6 2.7 +<h3>Genpkglist</h3> 2.8 +<pre class="package"> 2.9 +<?php 2.10 +include("$db_dir/genpkglist"); 2.11 +?> 2.12 +</pre> 2.13 + 2.14 <h3>Cooklist</h3> 2.15 <pre class="package"> 2.16 <?php