diff --git a/autodist b/autodist
index b132eab..84b403f 100755
--- a/autodist
+++ b/autodist
@@ -557,10 +557,10 @@ function launch_pkgs_loop() {
if [ "$REPNAME" ]; then
command_opts="$command_opts --server ${REPNAME}"
else
- echo "Warning: undefined repository $4 in srcpkglist, check AUTODIST_REPOSITORIES in configuration file"
+ echo "!! Warning: undefined repository $4 in srcpkglist, check AUTODIST_REPOSITORIES in configuration file"
fi
else
- echo "Warning: package $pkg is missing in srcpkglist file"
+ echo "!! Warning: package $pkg is missing in srcpkglist file"
fi
;;
rebuild) command_opts="-a4 --rebuild" ;;
@@ -573,7 +573,7 @@ function launch_pkgs_loop() {
# warning: assuming version is passed first
version_find_bigger "${passed_arguments/ *}" "$pkglinever"
[ $? -eq 1 ] || {
- echo "Warning: skipping ${pkg} package already up to date ($pkglinever >= ${passed_arguments/ *})."
+ echo "!! Warning: skipping ${pkg} package already up to date ($pkglinever >= ${passed_arguments/ *})."
continue
}
fi
@@ -583,7 +583,7 @@ function launch_pkgs_loop() {
if [ "$PKGLINE_DELAYED" -a "$do_autobuild" ]; then
set -- $PKGLINE_DELAYED
if [ "$SPEC_VERSION-$SPEC_RELEASE" = "$2-$6" ]; then
- echo "Warning: skipping ${pkg} package build because already present in delayed repository."
+ echo "!! Warning: skipping ${pkg} package build because already present in delayed repository."
continue
fi
fi
@@ -599,7 +599,7 @@ function launch_pkgs_loop() {
[ $? -eq 0 ] && {
version_find_bigger "$SPEC_RELEASE" "$pkglinerel"
if [ $? -ne 1 ]; then
- echo "Warning: skipping ${pkg} package already up to date ($SPEC_VERSION-$SPEC_RELEASE >= $pkglinever-$pkglinerel)."
+ echo "!! Warning: skipping ${pkg} package already up to date ($SPEC_VERSION-$SPEC_RELEASE >= $pkglinever-$pkglinerel)."
continue
fi
}
@@ -608,7 +608,7 @@ function launch_pkgs_loop() {
if [ "$PKGLINE_DELAYED" -a "$do_autobuild" ]; then
set -- $PKGLINE_DELAYED
if [ "$SPEC_VERSION-$SPEC_RELEASE" = "$2-$6" ]; then
- echo "Warning: skipping ${pkg} package build because already present in delayed repository."
+ echo "!! Warning: skipping ${pkg} package build because already present in delayed repository."
continue
fi
fi
@@ -624,7 +624,7 @@ function launch_pkgs_loop() {
[ $? -eq 0 ] && {
version_find_bigger "$SPEC_RELEASE" "$pkglinerel"
if [ $? -ne 1 ]; then
- echo "Warning: skipping ${pkg} package already up to date ($SPEC_VERSION-$SPEC_RELEASE >= $pkglinever-$pkglinerel)."
+ echo "!! Warning: skipping ${pkg} package already up to date ($SPEC_VERSION-$SPEC_RELEASE >= $pkglinever-$pkglinerel)."
continue
fi
}
@@ -633,7 +633,7 @@ function launch_pkgs_loop() {
if [ "$PKGLINE_DELAYED" -a "$do_autobuild" ]; then
set -- $PKGLINE_DELAYED
if [ "$SPEC_VERSION-$SPEC_RELEASE" = "$2-$6" ]; then
- echo "Warning: skipping ${pkg} package send because already present in delayed repository."
+ echo "!! Warning: skipping ${pkg} package send because already present in delayed repository."
continue
fi
fi
@@ -940,8 +940,7 @@ for JOB_NUM in `seq 1 ${#JOBNAME[*]}`; do
get_job_vector $JOB_NAME
JOB_NAME=${JOB_NAME/*\/}
- [ "$quiet" ] || echo "
-== =======================$JOB_NAME============================="
+ [ "$quiet" ] || echo "== =======================$JOB_NAME============================="
echo -n "%% Doing $JOB_NAME (VER=$JOB_VER"
for k in ${JOB_VARNAMES[*]}; do
echo -n " %${k}"
diff --git a/autodist-cgi b/autodist-cgi
index 1e341fc..b986088 100755
--- a/autodist-cgi
+++ b/autodist-cgi
@@ -3,15 +3,44 @@
NUM=`echo "$QUERY_STRING" | sed -n 's/^.*NUM=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
SECONDARY=`echo "$QUERY_STRING" | sed -n 's/^.*SECONDARY=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
+AS_SECONDARY=`echo "$QUERY_STRING" | sed -n 's/^.*AS_SECONDARY=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
SHOWLOG=`echo "$QUERY_STRING" | sed -n 's/^.*SHOWLOG=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
-SHOWLASTLOG=`echo "$QUERY_STRING" | sed -n 's/^.*SHOWLASTLOG=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
+SHOWINDEX=`echo "$QUERY_STRING" | sed -n 's/^.*SHOWINDEX=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
LINES=`echo "$QUERY_STRING" | sed -n 's/^.*LINES=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
[ "$LINES" ] || LINES=5
-[ "$SECONDARY" ] && SECONDARY_ADD="&SECONDARY=1"
+[ "$AS_SECONDARY" ] && SECONDARY_ADD="&SECONDARY=1"
echo -e "Content-type: text/html; charset=UTF-8\n\n"
+[ ! "$AS_SECONDARY" ] && echo "Show: ALL "
+
+[ "$SHOWINDEX" -o ! "$AS_SECONDARY" ] && \
+for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
+ [ "${AUTOPORT_ARCH[$i]}" ] || continue
+ [ "${AUTOPORT_DISABLE[$i]}" -a "${AUTOPORT_DISABLE[$i]}" != "0" ] && continue
+
+ if [ "${AUTOPORT_UPDATE[$i]}" ]; then
+ echo "${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]}) "
+ elif [ "${AUTOPORT_CHROOT[$i]}" ]; then
+ echo "${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]}) "
+ elif [ "${AUTOPORT_NATIVE[$i]}" ]; then
+ echo "${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]}) "
+ elif [ "${AUTOPORT_CROSS[$i]}" ]; then
+ echo "${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_CROSS[$i]};${AUTOPORT_ARCH[$i]}) "
+ fi
+done
+
+if [ "$SHOWINDEX" ]; then
+ exit 0
+else
+ curl "$AUTOPORT_CGI_SECONDARY?AS_SECONDARY=1&SHOWINDEX=1"
+fi
+
+[ ! "$AS_SECONDARY" ] && echo "
"
+
+[ ! "$SHOWLOG" -a "$SECONDARY" = "$AS_SECONDARY" ] && echo "
" - cat $LOGFILE - echo "" + if [ "$SECONDARY" = "$AS_SECONDARY" ]; then + echo "
"
+ if [ "$SHOWLOG" = "current" ]; then
+ cat $LOGFILE | sed "s|<|\<|g"
+ elif [ "$SHOWLOG" = "last" ]; then
+ cat $LASTLOGFILE | sed "s|<|\<|g"
+ else
+ if [ "${AUTOPORT_CHROOT[$i]}" ]; then
+ BUILDLOGFILE="/var/autoport/${AUTOPORT_CHROOT[$i]}/home/${AUTOPORT_CHROOT_USER[$i]}/.autodist/log/$SHOWLOG"
+ elif [ "${AUTOPORT_NATIVE[$i]}" -o "${AUTOPORT_UPDATE[$i]}" ]; then
+ BUILDLOGFILE="/var/autodist/log/$SHOWLOG"
+ fi
+ [ -e $BUILDLOGFILE ] && cat $BUILDLOGFILE | sed "s|<|\<|g"
+ fi
+ echo "
"
else
- curl "$AUTOPORT_CGI_SECONDARY?SHOWLOG=1&NUM=$i"
+ curl "$AUTOPORT_CGI_SECONDARY?AS_SECONDARY=1&SHOWLOG=$SHOWLOG&NUM=$i&LOG=$LOG"
fi
exit 0
- elif [ "$SHOWLASTLOG" -a "$NUM" = "$i" ]; then
- if [ ! "$SECONDARY" ]; then
- echo "" - cat $LASTLOGFILE - echo "" - else - curl "$AUTOPORT_CGI_SECONDARY?SHOWLASTLOG=1&NUM=$i" - fi - exit 0 - elif [ ! "$SHOWLOG" -a ! "$SHOWLASTLOG" ]; then + elif [ ! "$SHOWLOG" ]; then [[ "$NUM" && "$NUM" != "$i" ]] && continue - + [[ "$SECONDARY" = "$AS_SECONDARY" ]] || continue if [ "${AUTOPORT_UPDATE[$i]}" ]; then - echo "* autodist update (host:`hostname -s`,arch:${AUTOPORT_ARCH[$i]},channels:${AUTOPORT_REPOSITORIES[$i]})" - echo " [ last ]" + echo "* ${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]}) (type:autodist update)" + echo " [ log last ]" fi if [ "${AUTOPORT_CHROOT[$i]}" ]; then - echo "* chroot autoport (host:`hostname -s`,arch:${AUTOPORT_ARCH[$i]},channels:${AUTOPORT_REPOSITORIES[$i]},chroot:${AUTOPORT_CHROOT[$i]})" - echo " [ last ]" + echo "* ${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]}) (type:chroot autoport chroot:${AUTOPORT_CHROOT[$i]})" + echo " [ log last ]" fi if [ "${AUTOPORT_NATIVE[$i]}" ]; then - echo "* native autoport (host:`hostname -s`,arch:${AUTOPORT_ARCH[$i]},channels:${AUTOPORT_REPOSITORIES[$i]})" - echo " [ last ]" + echo "* ${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]}) (type:native autoport)" + echo " [ log last ]" fi if [ "${AUTOPORT_CROSS[$i]}" ]; then - echo "* cross-platform autoport (host:`hostname -s`,arch:${AUTOPORT_CROSS[$i]})" - echo " [ last ]" + echo "* cross-platform autoport (arch:${AUTOPORT_CROSS[$i]})" + echo " [ last ]" fi - echo "
" - grep -v "^=" $LOGFILE | tail -n "$LINES" | sed "s|.*\r||" - echo + echo "" + if [ "${AUTOPORT_UPDATE[$i]}" ]; then + unset STARTTIME ENDTIME JOBON BUILDNOW BUILDLOG SCHEDULED + BUILDNOWIDX=0 + while read line; do + set -- $line + if [[ "${line:0:1}" = $'\r' ]]; then + PREF=`echo $1 | tr -d "\r"` + else + PREF=$1 + fi + case $PREF in + "%%" ) if [ "$2 $3" == "Autodist started" ]; then + STARTTIME=`echo $line | sed "s|.* @ ||"` + elif [ "$2 $3 $4" == "All jobs done" ]; then + ENDTIME=`echo $line | sed "s|.* @ ||"` + elif [ "$2 $3" == "autoupdate jobs:" ]; then + SCHEDULED=`echo $line | sed "s|.*autoupdate jobs: ||"` + elif [ "$2" == "Doing" ]; then + BUILDNOW[$BUILDNOWIDX]="$3" + BUILDNOWIDX=`expr $BUILDNOWIDX + 1` + #elif [ "$2" != "Starting" -a "$2" != "Updating" ]; then + # [ "$JOBON" ] || echo $line + fi ;; + "?=") if [ "$2" == "See" ]; then + BUILDLOG[$BUILDNOWIDX-1]=`echo $line | sed "s|.*autodist/log/||"` + fi ;; + "=>") JOBON=1 ;; + "%!"|"!!") BUILDNOW[$BUILDNOWIDX-1]="${BUILDNOW[$BUILDNOWIDX-1]} $line"; JOBON= ;; + "==") [ "${2:0:2}" == "==" ] && JOBON= ;; + "Hunk"|"") ;; + *) [ "$JOBON" ] || { + line=`echo $line | sed "s|.*\r||"` + echo $line + } ;; + esac + done < $LOGFILE + else + unset STARTTIME ENDTIME BUILDNOW BUILDLOG AUTODISTON LASTLINE SCHEDULED + while read line; do + line=`echo $line | sed "s|.*\r||"` + set -- $line + case $1 in + "%%" ) AUTODISTON=1 ;; + "^"|"="*|""|"!"|"|"|"#"|"->") ;; #comment + "+") [ "$STARTTIME" ] || STARTTIME=`echo $line | sed "s|.*start at ||"` ;; + "-") ENDTIME=`echo $line | sed "s|.*end at ||"` ;; + [A-Za-z0-9]*) ;; + ">") [ "$SCHEDULED" ] || SCHEDULED=`echo $line | sed "s|.*Scheduled jobs: ||"` ;; + *) [ ! "$AUTODISTON" ] && echo $line ;; + esac + done < $LOGFILE + BUILDNOWIDX=0 + while read line; do + line=`echo $line | sed "s|.*\r||"` + set -- $line + case $1 in + "%%" ) if [ "$2" == "Doing" ]; then + if [ "$3" != "${BUILDNOW[$BUILDNOWIDX-1]}" ]; then + BUILDNOW[$BUILDNOWIDX]="$3" + BUILDNOWIDX=`expr $BUILDNOWIDX + 1` + fi + JOBON=1 + fi ;; + "?=") if [ "$2" == "See" ]; then + BUILDLOG[$BUILDNOWIDX-1]=`echo $line | sed "s|.*autodist/log/||"` + fi ;; + "=>") JOBON=1 ;; + "%!"|"!!") BUILDNOW[$BUILDNOWIDX-1]="${BUILDNOW[$BUILDNOWIDX-1]} $line"; JOBON= ;; + "==") [ "${2:0:2}" == "==" ] && JOBON= ;; + "Hunk"|"") ;; + *) [ "$JOBON" ] || echo $line ;; + esac + done < $AUTODISTLOGFILE + LASTLINE=$line + fi + echo "Start: $STARTTIME" + echo "Scheduled jobs: $SCHEDULED" + for b in `seq 1 ${#BUILDNOW[*]}`; do + set -- ${BUILDNOW[$b-1]} + echo "$1: $2 $3 $4 $5 $6 " + done + if [ "$LASTLINE" ]; then + set -- $LASTLINE + [ "$1" = "^" ] && echo "${2} ${3} ${4} ${5} ${6} ${7}" + fi + [ "$ENDTIME" ] && echo "End: $ENDTIME" || echo "End: in progress" + echo +# grep -v "^=" $LOGFILE | tail -n "$LINES" | sed "s|.*\r||" +# echo echo "" fi done - -[ "$NUM" ] && NUM=`expr $NUM - $i` - -if [ "$AUTOPORT_CGI_SECONDARY" -a ! "$SHOWLOG" -a ! "$SHOWLASTLOG" ]; then - curl "$AUTOPORT_CGI_SECONDARY?SECONDARY=1&LINES=$LINES&NUM=$NUM" +if [ "$AUTOPORT_CGI_SECONDARY" -a ! "$SHOWLOG" ]; then + if [ "$NUM" -a "$SECONDARY" ]; then + curl "$AUTOPORT_CGI_SECONDARY?AS_SECONDARY=1&LINES=$LINES&NUM=$NUM&SECONDARY=$SECONDARY" + elif [ ! "$NUM" ]; then + curl "$AUTOPORT_CGI_SECONDARY?AS_SECONDARY=1&LINES=$LINES" + fi fi diff --git a/autoport b/autoport index e8edfc8..85df1f8 100755 --- a/autoport +++ b/autoport @@ -245,8 +245,8 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do [ -d $DATADIR/$BASE_REPOSITORY ] || mkdir -p $DATADIR/$BASE_REPOSITORY [ -d $DATADIR/$PORT_REPOSITORY ] || mkdir -p $DATADIR/$PORT_REPOSITORY - logfile=$DATAARCHDIR/log - [ -e $logfile ] && mv -f $logfile $DATAARCHDIR/loglast + logfile=$DATAARCHDIR/$PORT_REPOSITORY.log + [ -e $logfile ] && mv -f $logfile $DATAARCHDIR/$PORT_REPOSITORY-last.log > $logfile BUILD_PLATFORM=`rpm --target $TARGET_ARCH --eval %{_build}` diff --git a/etc/cron.hourly/65-openmamba-autobuild-autoport b/etc/cron.hourly/65-openmamba-autobuild-autoport index 192125a..ea4dab1 100755 --- a/etc/cron.hourly/65-openmamba-autobuild-autoport +++ b/etc/cron.hourly/65-openmamba-autobuild-autoport @@ -45,8 +45,8 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do LOGFILE="/var/autodist/log/autoport-chroot-${AUTOPORT_CHROOT[$i]}.log" LASTLOGFILE="/var/autodist/log/autoport-chroot-${AUTOPORT_CHROOT[$i]}-last.log" elif [ "${AUTOPORT_NATIVE[$i]}" ]; then - LOGFILE="/var/autodist/log/autoport-native-${AUTOPORT_ARCH[$i]}.log" - LASTLOGFILE="/var/autodist/log/autoport-native-${AUTOPORT_ARCH[$i]}-last.log" + LOGFILE="/var/autodist/log/autoport-native-${AUTOPORT_REPOSITORIES[$i]}-${AUTOPORT_ARCH[$i]}.log" + LASTLOGFILE="/var/autodist/log/autoport-native-${AUTOPORT_REPOSITORIES[$i]}-${AUTOPORT_ARCH[$i]}-last.log" elif [ "${AUTOPORT_CROSS[$i]}" ]; then LOGFILE="/var/autodist/log/autoport-cross-${AUTOPORT_CROSS[$i]}.log" LASTLOGFILE="/var/autodist/log/autoport-cross-${AUTOPORT_CROSS[$i]}-last.log"