Compare commits

...

42 Commits

Author SHA1 Message Date
b9803712a2 Release 0.9.4 2012-08-16 12:19:51 +02:00
b3e82e19b4 update-specfile: sync to current 2012-08-16 12:13:07 +02:00
e6f4f990e4 Makefile: install legacy file and apply new cron files names 2012-08-16 12:10:13 +02:00
13c5359c92 cron files: distribution agnostic cron files rename 2012-08-16 12:05:18 +02:00
b37324962c autoport: replace AUTOPORT_CGI_SECONDARY with AUTOPORT_CGI_HOST in default configuration template 2012-08-16 11:58:40 +02:00
79e63cd2a3 autodist-tool: remove forgotten debugging code 2012-08-16 11:51:02 +02:00
f842044af6 autodist: configuration update for all archs 2012-08-16 11:49:11 +02:00
1e2ba88e57 autodist: improved management of skipped packages, delayed repository and other small fixes 2012-08-16 11:41:10 +02:00
61a6f72850 autodist-cgi: support for multiple packages jobs with link available for each operation performed (prepare,update,build,install) 2012-08-16 11:38:14 +02:00
cd1132a916 autodist-cgi: implement support for multiple secondary hosts; use AS_HOST=# (0 for root host)
autodist-cgi: implement distributed builds monitoring page using icecream-monitor script
2012-08-01 11:48:43 +02:00
a36d759531 autoport cron: check for autoport pid, not autodist 2012-07-29 10:58:07 +02:00
2ee18817c4 autodist-cgi: add available log files table for build target in SHOWLOG and implement security checks on passed urls 2012-07-29 10:56:54 +02:00
00adf496ba autospec-conf: remove -C option rejected by curl 7.27.0; also remove '--limit-rate 400k -Y 1' 2012-07-29 10:53:20 +02:00
a5f3beda83 distdb: rename xorg_drv_video target to xorg_drv_video_all to allow autoupgrading single package 2012-07-11 22:38:55 +02:00
0be3a1fc97 autodist cgi: lots of improvements in interface output and other fixes 2012-07-11 22:36:11 +02:00
005fe6a6f5 autodist cgi: another fix for showlog on secondary host 2012-07-11 20:28:46 +02:00
25cc256ba5 autoport hourly cron: fix to use new log file naming 2012-07-09 18:51:34 +02:00
7f92f0fd95 cleanold daily cron: clean old files in all autoport configured environments 2012-07-09 18:49:52 +02:00
4a281ed9dc autodist-cgi: print location of ok log file in output log
autodist: sync with current minor changes
2012-07-09 18:48:36 +02:00
761ae3b3fb distdb updates for i586 2012-06-10 19:09:38 +02:00
179121211e autoport-cgi: more basic enhancements
autodist,autoport: better loggin location and internal formatting for parsing
2012-06-09 16:35:51 +02:00
c9da095026 autoport cron: remove some empty lines added to log file 2012-05-26 13:29:20 +02:00
6e2a4ded8c autodist-cgi: add support for local autodist update and some parsing improvements 2012-05-26 13:28:28 +02:00
ada79d6f76 autoport: add '^' log prefix also for staging packages 2012-05-24 17:24:33 +02:00
dbaaa43f7f Release 0.9.3 2012-05-24 16:47:53 +02:00
e6556e1063 autodist cgi: rename from autoport-cgi and fix installation 2012-05-24 16:47:14 +02:00
a4ccca0e26 unstage.arm: updated 2012-05-24 16:41:22 +02:00
11951519dc autoport sysconfig: add AUTOPORT_CGI_SECONDARY in default configuration templated 2012-05-24 16:37:45 +02:00
d2b7713cff autoport, autoport cron: provide a prefix to log lines for parsing by autoport-cgi 2012-05-24 16:35:34 +02:00
2a89f70381 autoport-cgi: add initial cgi script for realtime log information through web server 2012-05-24 16:29:41 +02:00
ba9a55182e autoport: - fix error detecting pkg_milestone introduced with previous optimizations
- don't list up to date packages in batch mode unless -v (verbose) is specified
2012-05-15 16:28:01 +02:00
c624adf788 Release 0.9.2 2012-05-14 13:48:41 +02:00
b5f570cc0b autoport cron: reworked for better logfile management; disable service restarts in chroot mode 2012-05-12 13:43:19 +02:00
c49d56bd9e autoport: optimize get_pkg_buildinfo() calls for speed avoiding unnecessary sourcing of input files 2012-05-10 13:42:05 +02:00
465e63d0ef autoport: don't build missing deps in MILESTONE_REBUILD mode 2012-05-10 10:37:10 +02:00
c97abad872 autoport cron: manage AUTOPORT_CHROOT_USER[] and AUTOPORT_DISABLE[] new variables 2012-05-10 10:35:14 +02:00
2cee9628ea autoport-chroot: added new user tool to make entering autoport chroot environment easier 2012-05-10 10:30:38 +02:00
69ebabca44 Release 0.9.1 2012-05-09 17:48:28 +02:00
837842d834 Update autoport cron script to manage vectorial configuration for multiple different port jobs
NOTE: requires updating /etc/sysconfig/autoport
2012-05-09 17:29:23 +02:00
eedc6e37fb autoport: added support for milestone rebuilds
- to enable set e.g. REBUILD_MILESTONE=mamba2 in /etc/sysconfig/autoport
2012-05-09 15:29:39 +02:00
498d0057e1 autodist: update coyright year 2012-04-26 16:07:10 +02:00
f417ba6a7d Makefile: 'make' to update version information in autoport and autodist 2012-04-26 16:04:52 +02:00
23 changed files with 805 additions and 222 deletions

View File

@ -17,6 +17,7 @@ sysconfigdir= ${sysconfdir}/sysconfig
configdir = ${sysconfdir}/autodist
localstatedir= /var
piddir= ${localstatedir}/run/autodist
cgidir = ${localstatedir}/www/cgi-bin
srcdir = .
DESTDIR =
@ -34,6 +35,7 @@ distdir = $(PACKAGE)-$(VERSION)
dist_archive = $(distdir).tar.bz2
default:
@sed -i "s|^VERSION=.*|VERSION=$(VERSION)|" autodist autoport
install-dirs:
@$(INSTALL_DIR) $(DESTDIR)$(configdir)/scripts
@ -43,6 +45,8 @@ install-dirs:
@$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/cron.daily
@$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/sysconfig
@$(INSTALL_DIR) $(DESTDIR)$(bindir)
@$(INSTALL_DIR) $(DESTDIR)$(sbindir)
@$(INSTALL_DIR) $(DESTDIR)$(cgidir)
@$(INSTALL_DIR) $(DESTDIR)$(pck_datadir)
@$(INSTALL_DIR) $(DESTDIR)$(pck_datadir)/template/autoupdate/spec-patches-build/old
@$(INSTALL_DIR) $(DESTDIR)$(pck_datadir)/template/autoupdate/spec-patches-update/old
@ -58,8 +62,10 @@ install-programs:
@$(INSTALL_SCRIPT) autodist $(DESTDIR)$(bindir)/autodist
@$(INSTALL_SCRIPT) autodist-tool $(DESTDIR)$(bindir)/autodist-tool
@$(INSTALL_SCRIPT) autoport $(DESTDIR)$(bindir)/autoport
@$(INSTALL_SCRIPT) autoport-chroot $(DESTDIR)$(sbindir)/autoport-chroot
@$(INSTALL_SCRIPT) autoport-fix-environment $(DESTDIR)$(bindir)/autoport-fix-environment
@$(INSTALL_SCRIPT) etc/autodist/scripts/* $(DESTDIR)$(configdir)/scripts/
@$(INSTALL_SCRIPT) autodist-cgi $(DESTDIR)$(cgidir)/autodist
install-data:
@$(INSTALL_DATA) etc/autodist/config $(DESTDIR)$(configdir)/config
@ -68,6 +74,7 @@ install-data:
@$(INSTALL_DATA) etc/autodist/distdb.arm $(DESTDIR)$(configdir)/distdb.arm
@$(INSTALL_DATA) etc/autodist/distdb.x86_64 $(DESTDIR)$(configdir)/distdb.x86_64
@$(INSTALL_DATA) etc/autodist/distdb.ppc $(DESTDIR)$(configdir)/distdb.ppc
@$(INSTALL_DATA) etc/autodist/legacy $(DESTDIR)$(configdir)/legacy
@$(INSTALL_DATA) etc/autodist/unstage $(DESTDIR)$(configdir)/unstage
@$(INSTALL_DATA) etc/autodist/unstage.i586 $(DESTDIR)$(configdir)/unstage.i586
@$(INSTALL_DATA) etc/autodist/unstage.arm $(DESTDIR)$(configdir)/unstage.arm
@ -78,8 +85,8 @@ install-data:
@$(INSTALL_DATA) etc/autodist/distdb.d/* $(DESTDIR)$(configdir)/distdb.d/
@$(INSTALL_DATA) etc/sudoers.d/autoport $(DESTDIR)$(sysconfdir)/sudoers.d/autoport
@$(INSTALL_SCRIPT) etc/sysconfig/autoport $(DESTDIR)$(sysconfdir)/sysconfig/autoport
@$(INSTALL_SCRIPT) etc/cron.hourly/65-openmamba-autobuild-autoport $(DESTDIR)$(sysconfdir)/cron.hourly/
@$(INSTALL_SCRIPT) etc/cron.daily/40-openmamba-autodist-cleanold $(DESTDIR)$(sysconfdir)/cron.daily/
@$(INSTALL_SCRIPT) etc/cron.hourly/65-autoport $(DESTDIR)$(sysconfdir)/cron.hourly/
@$(INSTALL_SCRIPT) etc/cron.daily/40-autodist-cleanold $(DESTDIR)$(sysconfdir)/cron.daily/
@$(INSTALL_DATA) autospec-conf $(DESTDIR)$(pck_datadir)/.autospec
@touch $(DESTDIR)$(pck_datadir)/template/autoupdate/auto.success
@touch $(DESTDIR)$(pck_datadir)/template/autoupdate/auto.skip
@ -92,7 +99,7 @@ install: \
clean:
rm -f $(dist_archive)
dist: clean
dist: clean default
@git log > ChangeLog.git
@mkdir /tmp/$(distdir)
@cp -a * /tmp/$(distdir)/

View File

@ -1 +1 @@
VERSION = 0.9.0
VERSION = 0.9.4

View File

@ -1,18 +1,18 @@
#!/bin/bash
#
# Autodist -- batch build tool for RPM based distributions
# Copyright (C) 2006-2010 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (C) 2006-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
# Released under the terms of the GNU GPL release 3 license
#
VERSION=0.8.3
VERSION=0.9.4
me=(${0##*/} $VERSION "Sat Aug 20 2010")
exec 3>`readlink /proc/self/fd/0`
function usage() {
echo "\
${me[0]} ${me[1]}
"$"Copyright (C) 2006-2010 Silvan Calarco <silvan.calarco@mambasoft.it>""
"$"Copyright (C) 2006-2012 Silvan Calarco <silvan.calarco@mambasoft.it>""
"$"Released under the terms of the GNU GPL v3 license"
echo "
"$"Batch build tool for bulding a whole distribution and much more.""
@ -504,7 +504,7 @@ function launch_pkgs_loop() {
if [ $JOB_IDX -eq 0 -a "$do_autobuild" ]; then
# preserve specfile modification date
if [ -e $AUTOUPDATEDIR/spec-patches-$patch_operation/$pkg.spec.patch ]; then
echo -n "== "
echo -n "?= "
patch -p1 $spec_dir/$pkg.spec $AUTOUPDATEDIR/spec-patches-$patch_operation/$pkg.spec.patch || {
case $SEVERITY in
0) ;;
@ -548,6 +548,28 @@ function launch_pkgs_loop() {
[ -e "$SRCPKGLIST" ] && PKGLINE=`grep "^${pkg} " $SRCPKGLIST` || PKGLINE=
[ -e "$SRCPKGLIST_DELAYED" ] && PKGLINE_DELAYED=`grep "^${pkg} " $SRCPKGLIST_DELAYED` || PKGLINE_DELAYED=
if [ "$PKGLINE_DELAYED" -a "$do_autobuild" ]; then
set -- $PKGLINE
_ver1=$2
_rel1=$6
set -- $PKGLINE_DELAYED
_ver2=$2
_rel2=$6
version_find_bigger ${_ver1} ${_ver2}
if [ $? -eq 2 ]; then
PKGLINE=$PKGLINE_DELAYED
echo "!! Warning: using package from delayed repository (${_ver2} > ${_ver1})"
elif [ $? -eq 0 ]; then
version_find_bigger ${_rel1} ${_rel2}
if [ $? -eq 0 ]; then
echo "!! Warning: package with same version (${_ver1}-${_rel1}) exists in delayed repository"
elif [ $? -eq 2 ]; then
echo "!! Warning: using package from delayed repository (${_ver2}-${_rel2} > ${_ver1}-${_rel1})"
PKGLINE=$PKGLINE_DELAYED
fi
fi
fi
case $operation in
prepare)
command_opts="-a1"
@ -557,10 +579,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" ;;
@ -570,10 +592,12 @@ function launch_pkgs_loop() {
if [ "$PKGLINE" ]; then
set -- $PKGLINE
pkglinever=$2
# warning: assuming version is passed first
# warning: asasuming 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/ *})."
echo "%% Adding ${pkg} job to skipped list."
echo "${pkg} $DATE_NOW 255" >> $SKIPPEDLISTDIR/auto.skip
continue
}
fi
@ -583,7 +607,9 @@ 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."
echo "%% Adding ${pkg} job to skipped list."
echo "${pkg} $DATE_NOW 254" >> $SKIPPEDLISTDIR/auto.skip
continue
fi
fi
@ -599,7 +625,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 +634,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 +650,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 +659,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
@ -647,7 +673,8 @@ function launch_pkgs_loop() {
command="$AUTOSPEC_CMD -u $pkg $command_opts $passed_arguments $JOB_ARGS"
tmpfile=`tempfile`
tmpfile=${LOGBASEDIR}/current.$$
> $tmpfile
tmpfile1=`tempfile`
echo -n "== "`log_date`" $JOB_NAME with args: $JOB_ARGS..." >> $LOGFILE
echo "
@ -706,6 +733,7 @@ function launch_pkgs_loop() {
echo
echo " OK" >> $LOGFILE
mv $LOGFILE_PKG $LOGDIR/ok/
echo "?= See $LOGDIR/ok/${LOGFILE_PKG_NAME}"
case $operation in
prepare)
@ -716,12 +744,12 @@ function launch_pkgs_loop() {
;;
update|autoupdate)
cp $spec_dir/$pkg.spec $spec_dir/.$pkg.spec.autodist.prebuild
SPEC_EPOCH=`grep "Epoch:" $spec_dir/$pkg.spec | sed "s|Epoch:[[:space:]]*||"`
SPEC_VERSION=`grep "Version:" $spec_dir/$pkg.spec | sed "s|Version:[[:space:]]*||"`
SPEC_RELEASE=`grep "Release:" $spec_dir/$pkg.spec | sed "s|Release:[[:space:]]*||"`
SPEC_EPOCH=`grep -m1 "^Epoch:" $spec_dir/$pkg.spec | sed "s|Epoch:[[:space:]]*||"`
SPEC_VERSION=`grep -m1 "^Version:" $spec_dir/$pkg.spec | sed "s|Version:[[:space:]]*||"`
SPEC_RELEASE=`grep -m1 "^Release:" $spec_dir/$pkg.spec | sed "s|Release:[[:space:]]*||"`
if [ "$PKGLINE" ]; then
set -- $PKGLINE
echo "== Specfile updated from version $2-$6 to $SPEC_VERSION-$SPEC_RELEASE"
echo "?= Specfile updated from version $2-$6 to $SPEC_VERSION-$SPEC_RELEASE"
if [ "`echo $SPEC_VERSION | grep -i alpha`" -o \
"`echo $SPEC_VERSION | grep -i beta`" -o \
"`echo $SPEC_VERSION | grep -i rc`" -o \
@ -879,29 +907,28 @@ if [ "$do_autobuild" = "1" ]; then
sed -i "/^$PKGNAME /d" $SUCCESSLISTDIR/*.success
fi
fi
# check skippedlist
SKIPPEDLINE=`awk '{ print $1" "$2 }' $SKIPPEDLISTDIR/*.skip | grep -m1 "^$PKGNAME "`
if [ "$SKIPPEDLINE" ]; then
set -- $SKIPPEDLINE
SKIPPEDTIME=$2
SKIPPEDDAYS=`expr \( $DATE_NOW - $SKIPPEDTIME \) / 86400`
if [ "$SKIPPEDDAYS" -le "$AUTOBUILD_SKIP_DAYS" ]; then
SKIPPEDCOUNT=`expr $SKIPPEDCOUNT + 1`
if [ "$SKIPPEDLINE" ]; then
set -- $SKIPPEDLINE
SKIPPEDTIME=$2
SKIPPEDDAYS=`expr \( $DATE_NOW - $SKIPPEDTIME \) / 86400`
if [ "$SKIPPEDDAYS" -le "$AUTOBUILD_SKIP_DAYS" ]; then
SKIPPEDCOUNT=`expr $SKIPPEDCOUNT + 1`
# echo "?= Package $PKGNAME has been in the skippedlist for $SKIPPEDDAYS days; skipping"
continue
else
sed -i "/^$PKGNAME /d" $SKIPPEDLISTDIR/*.skip
fi
else
sed -i "/^$PKGNAME /d" $SKIPPEDLISTDIR/*.skip
fi
fi
# check legacylist
awk '{ print $1 }' $LEGACYLIST | grep "^$PKGNAME$" >/dev/null && {
echo "?= Job $PKGNAME is in the legacy list; skipping automatic update"
echo "$PKGNAME $DATE_NOW 100" >> $SKIPPEDLISTDIR/auto.skip
echo "$PKGNAME $DATE_NOW 100" >> $SKIPPEDLISTDIR/auto.skip
continue
}
}
fi
if [ $AUTOBUILD_NUMADDED -ge $AUTOBUILD_MAXNUM ]; then
@ -912,7 +939,7 @@ if [ "$do_autobuild" = "1" ]; then
fi
done < $srctmpfile
echo "%% Total pkgs: $PKGCOUNT, skipped list: $SKIPPEDCOUNT, blacklist: $BLACKLISTCOUNT, success list: $SUCCESSLISTCOUNT"
echo "%% Total pkgs: $PKGCOUNT, skipped list: $SKIPPEDCOUNT, blacklist: $BLACKLISTCOUNT, success list: $SUCCESSLISTCOUNT, last build date: $BUILDDATE"
while read line; do
set -- $line
PKGNAME=${1}
@ -940,8 +967,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}"
@ -1011,7 +1037,7 @@ for JOB_NUM in `seq 1 ${#JOBNAME[*]}`; do
if [ ! "$rebuild_packages" -a "${JOB_VER}" != "+0" ]; then
[ $ret -ge 2 -a "$do_autobuild" ] && {
echo "%% Adding $JOB_NAME job to skipped list."
echo "$JOB_NAME $DATE_NOW $?" >> $SKIPPEDLISTDIR/auto.skip
echo "$JOB_NAME $DATE_NOW $ret" >> $SKIPPEDLISTDIR/auto.skip
}
case $SEVERITY in
0) ;;

321
autodist-cgi Executable file
View File

@ -0,0 +1,321 @@
#!/bin/bash
. /etc/sysconfig/autoport
NUM=`echo "$QUERY_STRING" | sed -n 's/^.*NUM=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
HOST=`echo "$QUERY_STRING" | sed -n 's/^.*HOST=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
AS_HOST=`echo "$QUERY_STRING" | sed -n 's/^.*AS_HOST=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
SHOWLOG=`echo "$QUERY_STRING" | sed -n 's/^.*SHOWLOG=\([^&]*\).*$/\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"`
FORMAT=`echo "$QUERY_STRING" | sed -n 's/^.*FORMAT=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
[ ! "$FORMAT" ] && FORMAT=html
[ "$LINES" ] || LINES=5
[ "$HOST" ] || HOST=0
[ "$AS_HOST" ] || AS_HOST=0
[ "$AS_HOST" -a "$HOST" != "0" ] && HOST_ADD="&HOST=$HOST"
if [ "$AS_HOST" = "0" -a "$FORMAT" = "xml" ]; then
echo -e "Content-type: text/xml\nPragma: no-cache\n"
echo -n "<autodist><output><![CDATA["
RELOADTIME=3600000
else
echo -e "Content-type: text/html; charset=UTF-8\n"
fi
if [ "$SHOWINDEX" ]; then
echo "Host $AS_HOST:"
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 "<a href=\"?NUM=$i$HOST_ADD\">${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
elif [ "${AUTOPORT_CHROOT[$i]}" ]; then
echo "<a href=\"?NUM=$i$HOST_ADD\">${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
elif [ "${AUTOPORT_NATIVE[$i]}" ]; then
echo "<a href=\"?NUM=$i$HOST_ADD\">${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
elif [ "${AUTOPORT_CROSS[$i]}" ]; then
echo "<a href=\"?NUM=$i$HOST_ADD\">${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_CROSS[$i]};${AUTOPORT_ARCH[$i]})</a>&nbsp;"
fi
done
echo "<br>"
exit 0
elif [ "$AS_HOST" = "0" ]; then
echo "Show: [<a href=\"?NUM=\">All hosts</a>] [<a href=\"?SHOWLOG=monitor\">Build hosts monitor</a>]<br>"
for h in `seq 0 ${#AUTOPORT_CGI_HOST[*]}`; do
curl "${AUTOPORT_CGI_HOST[$h]}?AS_HOST=$h&SHOWINDEX=1" 2>/dev/null
done
echo "<hr>"
fi
[ ! "$SHOWLOG" -a "$HOST" = "$AS_HOST" ] && echo "<h2>Host: `hostname -s` (`uname -m`, kernel `uname -r`)</h2>"
if [ "$SHOWLOG" -a "$HOST" != "$AS_HOST" ]; then
curl "${AUTOPORT_CGI_HOST[$HOST]}?AS_HOST=$HOST&SHOWLOG=$SHOWLOG&NUM=$NUM&LOG=$LOG" 2>/dev/null
else
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
LOGFILE="/var/autodist/log/autodist.log"
LASTLOGFILE="/var/autodist/log/autodist-last.log"
elif [ "${AUTOPORT_CHROOT[$i]}" ]; then
LOGFILE="/var/autodist/log/autoport-chroot-${AUTOPORT_CHROOT[$i]}.log"
LASTLOGFILE="/var/autodist/log/autoport-chroot-${AUTOPORT_CHROOT[$i]}-last.log"
AUTODISTLOGFILE="/var/autoport/${AUTOPORT_CHROOT[$i]}/home/${AUTOPORT_CHROOT_USER[$i]}/.autoport/${AUTOPORT_ARCH[$i]}/${AUTOPORT_REPOSITORIES[$i]}.log"
elif [ "${AUTOPORT_NATIVE[$i]}" ]; then
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"
AUTODISTLOGFILE="/var/autodist/.autoport/${AUTOPORT_ARCH[$i]}/${AUTOPORT_REPOSITORIES[$i]}.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"
else
continue
fi
if [ "$SHOWLOG" = "monitor" ]; then
echo "<h2>Build hosts monitor</h2>"
icecream-monitor localhost listcs | \
while read line; do
[ "${line:0:8}" = "200 done" ] && printon=
if [ "$printon" ]; then
set -- $line
case $2 in
\(*) echo "<b>$line</b><br>" ;;
*) echo "$line<br>" ;;
esac
fi
[ "${line:0:6}" = "listcs" ] && printon=1
done
echo "<br>"
RELOADTIME=15000
break
elif [ "$SHOWLOG" ]; then
if [ "$HOST" = "$AS_HOST" -a "$NUM" = "$i" ]; then
echo "<h2>$SHOWLOG log in ${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]}):</h2>"
cat << _EOF
<div class=downloadbox align=center>
<div align=left style="background-color: white; height: 550px; width: 850px; overflow: auto; font-size: 8pt; border:1px solid #2b6600; margin: 4px; padding:4; background-color: #e0f2d0;">
_EOF
echo -n "<pre><code>"
if [ "$SHOWLOG" = "current" ]; then
RELOADTIME=600000
cat $LOGFILE | sed "s|<|\&lt;|g"
elif [ "$SHOWLOG" = "last" ]; then
cat $LASTLOGFILE | sed "s|<|\&lt;|g"
else
# Security check
[ "${SHOWLOG/\/\.}" != "${SHOWLOG}" ] && continue
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
BUILDLOGDIR="/var/autoport/${AUTOPORT_CHROOT[$i]}/home/${AUTOPORT_CHROOT_USER[$i]}/.autodist/log/"
elif [ "${AUTOPORT_NATIVE[$i]}" -o "${AUTOPORT_UPDATE[$i]}" ]; then
BUILDLOGDIR="/var/autodist/log/"
fi
if [ "${SHOWLOG/\/ok\/}" != "${SHOWLOG}" -o "${SHOWLOG/\failed\/}" != "${SHOWLOG}" ]; then
SHOWLOGPKG=${SHOWLOG/*\/}
[ "${SHOWLOGPKG}" ] || continue
echo "<table><tr><td colspan=3>Last ${SHOWLOGPKG} logs:</td>"
for t in prepare update build install send; do
echo -n "<tr><td>$t:</td><td>"
[ -e ${BUILDLOGDIR}${t}/ok/${SHOWLOGPKG} ] && echo -n "<td><a href=\"?NUM=$i$HOST_ADD&SHOWLOG=${t}/ok/${SHOWLOGPKG}\">OK</a></td>" || echo "<td></td>"
[ -e ${BUILDLOGDIR}${t}/failed/${SHOWLOGPKG} ] && echo -n "<td><a href=\"?NUM=$i$HOST_ADD&SHOWLOG=${t}/failed/${SHOWLOGPKG}\">FAILED</a></td>" || echo "<td></td>"
echo "</tr>"
done
echo "</table>"
fi
[ -e ${BUILDLOGDIR}${SHOWLOG} ] && cat ${BUILDLOGDIR}${SHOWLOG} | sed "s|<|\&lt;|g"
fi
echo "</code></pre></div></div>"
fi
elif [ ! "$SHOWLOG" ]; then
RELOADTIME=60000
[[ "$NUM" && "$NUM" != "$i" ]] && continue
[[ "$HOST" = "$AS_HOST" ]] || continue
if [ "${AUTOPORT_UPDATE[$i]}" ]; then
echo "<b>* <a href=\"?NUM=$i&HOST=$AS_HOST\">${AUTOPORT_REPOSITORIES[$i]}</a>(${AUTOPORT_ARCH[$i]}) (type:autodist update)"
echo " [ <a href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">log</a> <a href=\"?SHOWLOG=last&NUM=$i$HOST_ADD\">last</a> ]</b>"
fi
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
echo "<b>* <a href=\"?NUM=$i&HOST=$AS_HOST\">${AUTOPORT_REPOSITORIES[$i]}</a>(${AUTOPORT_ARCH[$i]}) (type:chroot autoport</a> chroot:${AUTOPORT_CHROOT[$i]})"
echo " [ <a href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">log</a> <a href=\"?SHOWLOG=last&NUM=$i$HOST_ADD\">last</a> ]</b>"
fi
if [ "${AUTOPORT_NATIVE[$i]}" ]; then
echo "<b>* <a href=\"?NUM=$i&HOST=$AS_HOST\">${AUTOPORT_REPOSITORIES[$i]}</a>(${AUTOPORT_ARCH[$i]}) (type:native autoport)"
echo " [ <a href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">log</a> <a href=\"?SHOWLOG=last&NUM=$i$HOST_ADD\">last</a> ]</b>"
fi
if [ "${AUTOPORT_CROSS[$i]}" ]; then
echo "<b>* <a href=\"?NUM=$i&HOST=$AS_HOST\">cross-platform</a> autoport (arch:${AUTOPORT_CROSS[$i]})</b>"
echo " [ <a href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">last</a> ]</b>"
fi
cat << _EOF
<div class=downloadbox align=center>
<div align=left style="background-color: white; height: 250px; width: 850px; overflow: auto; font-size: 8pt; border:1px solid #2b6600; margin: 4px; padding:4; background-color: #e0f2d0;">
_EOF
echo "<pre>"
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|.* @ ||"`
AUTODIST_PID=`echo $line | sed "s|.*PID \([0-9]*\) .*|\1|"`
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"
BUILDLOG[$BUILDNOWIDX]=
BUILDNOWSTATUS[$BUILDNOWIDX]=
BUILDNOWIDX=`expr $BUILDNOWIDX + 1`
# elif [ "$2" == "Starting" ]; then
# case $3 in
# "PREPARE"|"UPDATE"|"BUILD"|"SEND") BUILDNOW[$BUILDNOWIDX-1]="${BUILDNOW[$BUILDNOWIDX-1]} $3" ;;
# esac
#elif [ "$2" != "Starting" -a "$2" != "Updating" ]; then
# [ "$JOBON" ] || echo $line
fi ;;
"?=") if [ "$2" == "See" ]; then
BUILDLOG[$BUILDNOWIDX-1]="${BUILDLOG[$BUILDNOWIDX-1]} `echo $line | sed 's|.*autodist/log/||'`"
fi ;;
"=>") JOBON=1 ;;
"%!"|"!!") BUILDNOWSTATUS[$BUILDNOWIDX-1]="$line"; JOBON= ;;
"==") if [ "${2:0:2}" == "==" ]; then
JOBON=
# else
# if [ "$2" != "${BUILDNOW[$BUILDNOWIDX-1]}" ]; then
# BUILDNOW[$BUILDNOWIDX]="$2"
# BUILDNOWIDX=`expr $BUILDNOWIDX + 1`
# fi
fi ;;
"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=1
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"
BUILDLOG[$BUILDNOWIDX]=
BUILDNOWSTATUS[$BUILDNOWIDX]=
BUILDNOWIDX=`expr $BUILDNOWIDX + 1`
fi
JOBON=1
fi ;;
"?=") if [ "$2" == "See" ]; then
BUILDLOG[$BUILDNOWIDX-1]="${BUILDLOG[$BUILDNOWIDX-1]} `echo $line | sed 's|.*autodist/log/||'`"
# BUILDLOG[$BUILDNOWIDX-1]=`echo $line | sed "s|.*autodist/log/||"`
fi ;;
"=>") JOBON=1 ;;
"%!"|"!!") BUILDNOWSTATUS[$BUILDNOWIDX-1]="$line"; JOBON= ;;
"==") [ "${2:0:2}" == "==" ] && JOBON= ;;
"Hunk"|"") ;;
*) [ "$JOBON" ] || echo $line ;;
esac
done < $AUTODISTLOGFILE
LASTLINE=$line
fi
echo "<b>Start:</b> $STARTTIME"
echo "<b>Scheduled jobs:</b> $SCHEDULED"
for b in `seq 0 ${#BUILDNOW[*]}`; do
# set -- ${BUILDNOW[$b]}
JOBNAME=${BUILDNOW[$b]}
[ "$JOBNAME" ] || continue
echo -n "<b>$JOBNAME</b>: "
rowcnt=0
if [ "${BUILDLOG[$b]}" ]; then
for l in ${BUILDLOG[$b]}; do
SUBJOBNAME=`echo $l | sed "s|.*/${JOBNAME}_\(.*\)\..*|\1|"`
[ "${SUBJOBNAME:0:1}" = "_" ] && SUBJOBNAME=$l
[ "$SUBJOBNAME" = "$l" ] && SUBJOBNAME=`echo $l | sed "s|.*/\(.*\)\..*|\1|"`
OPERATIONNAME=`echo $l | sed "s|\(.*\)/.*/.*|\1|"`
OPERATIONSTATUS=`echo $l | sed "s|.*/\(.*\)/.*|\1|"`
if [ $rowcnt -ge 4 ]; then
echo
rowcnt=0
fi
if [ "$OPERATIONNAME" = "send" -a "$OPERATIONSTATUS" = "ok" ]; then
echo -n "<a href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\">$OPERATIONNAME/$OPERATIONSTATUS</a>"
elif [ "$OPERATIONNAME" = "install" -a "$OPERATIONSTATUS" = "ok" ]; then
echo -n "<a href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\">$OPERATIONNAME/$OPERATIONSTATUS</a>"
elif [ "$OPERATIONSTATUS" = "ok" ]; then
echo -n "<a href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=black>$OPERATIONNAME/$OPERATIONSTATUS</font></a>"
else
echo -n "<a href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=red>$OPERATIONNAME/$OPERATIONSTATUS</font></a>"
fi
[ "$SUBJOBNAME" != "$JOBNAME" ] && echo -en "($SUBJOBNAME)"
echo -n " "
rowcnt=`expr $rowcnt + 1`
done
fi
[ "${BUILDNOWSTATUS[$b]}" ] && echo "<i>(${BUILDNOWSTATUS[$b]})</i>" || echo
done
if [ "$LASTLINE" ]; then
set -- $LASTLINE
[ "$1" = "^" ] && echo "<font color=red><b>${2}</b> ${3} ${4} ${5} ${6} ${7}</font>"
fi
[ "$ENDTIME" ] && echo "<b>End:</b> $ENDTIME" || echo "<b>End: <a href=\"?SHOWLOG=current.$AUTODIST_PID&NUM=$i$HOST_ADD\">in progress</a></b>"
echo
# grep -v "^=" $LOGFILE | tail -n "$LINES" | sed "s|.*\r||"
# echo
echo "</pre></div></div>"
fi
done
# only root host (0) calls other hosts
if [ "$AS_HOST" = "0" -a ! "$SHOWLOG" ]; then
for h in `seq 1 ${#AUTOPORT_CGI_HOST[*]}`; do
if [ "$NUM" -a "$HOST" = "$h" ]; then
curl "${AUTOPORT_CGI_HOST[$h]}?AS_HOST=$h&LINES=$LINES&NUM=$NUM&HOST=$HOST" 2>/dev/null
elif [ ! "$NUM" ]; then
curl "${AUTOPORT_CGI_HOST[$h]}?AS_HOST=$h&LINES=$LINES" 2>/dev/null
fi
done
fi
fi
if [ "$AS_HOST" = "0" ]; then
echo "<p><i>Generated by autodist CGI interface. Last update: `date`</i>"
if [ "$FORMAT" = "xml" ]; then
echo -n "]]></output>"
[ "$RELOADTIME" ] && echo -n "<reloadtime>$RELOADTIME</reloadtime>"
echo "</autodist>"
fi
fi

View File

@ -31,9 +31,9 @@ ${me[0]} ${me[1]}
"$"Usage"":
$me makepatch package [build|update|remove]
$me schedule job_regexp
$me unschedule job_regexp
$me skip job_regexp
$me schedule job_regexp..
$me unschedule job_regexp..
$me skip job_regexp..
"
}
@ -85,9 +85,6 @@ if [ "$COMMAND" = "makepatch" ]; then
exit 0
fi
echo diff $spec_dir/.$JOB.spec.autodist.pre$OPERATION $spec_dir/$JOB.spec > \
$AUTOUPDATEDIR/spec-patches-$OPERATION/$JOB.spec.patch
diff $spec_dir/.$JOB.spec.autodist.pre$OPERATION $spec_dir/$JOB.spec > \
$AUTOUPDATEDIR/spec-patches-$OPERATION/$JOB.spec.patch
RET=$?

128
autoport
View File

@ -4,7 +4,7 @@
#
# Released under the terms of the GNU GPL release 3 license
#
VERSION=0.8.5
VERSION=0.9.4
BASE_ARCH=i586
BASE_REPOSITORY=devel
PORT_REPOSITORY=devel
@ -64,6 +64,7 @@ function get_pkg_buildinfo() {
pkg_archs=();
for a in ${archs[*]}; do
[ "$a" = "${local_arch}" ] && continue
pkg_header=();
DISTROMATIC_BUILD_FILE=$local_distromatic/builds-$a.sh
[ -e $DISTROMATIC_BUILD_FILE ] && . $DISTROMATIC_BUILD_FILE
@ -77,6 +78,7 @@ function get_pkg_buildinfo() {
DISTROMATIC_BUILD_FILE=$local_distromatic/builds-${local_arch}.sh
[ -e $DISTROMATIC_BUILD_FILE ] && . $DISTROMATIC_BUILD_FILE
[ ${pkg_header[0]} ] && pkg_archs=(${pkg_archs[*]} ${local_arch})
# {
# echo "Error: missing distromatic generated file $DISTROMATIC_BUILD_FILE; aborting."
@ -102,7 +104,6 @@ function get_pkg_buildinfo() {
return 0
fi
done
unset pkg_name pkg_arch pkg_version pkg_release \
pkg_group pkg_license pkg_size pkg_buildtime pkg_altrep pkg_repository
@ -244,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}`
@ -279,10 +280,16 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
echo "Error: unable to fetch $BASE_REPOSITORY_DISTROMATIC_URL/builds-$TARGET_ARCH.sh"
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $BASE_ARCH
port_pkg_list=${pkg_list[*]}
for p in ${port_pkg_list}; do
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH $p || get_pkg_buildinfo $DATADIR/$BASE_REPOSITORY $TARGET_ARCH $p
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH $p
target_pkg_name=$pkg_name
target_pkg_ver=$pkg_version
target_pkg_rel=$pkg_release
[ "$pkg_name" ] || get_pkg_buildinfo $DATADIR/$BASE_REPOSITORY $TARGET_ARCH $p
if [ "$pkg_name" ]; then
base_pkg_ver=$pkg_version
base_pkg_rel=$pkg_release
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $BASE_ARCH $p
[ "$pkg_name" ] || {
@ -290,17 +297,24 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
exit 1
}
port_pkg_ver=$pkg_version
port_pkg_rel=$pkg_release
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH $p
if [ "$pkg_name" ]; then
if [ "$pkg_version" != "$port_pkg_ver" ]; then
echo "Package $pkg_name#${port_pkg_ver}($TARGET_ARCH) differs from $pkg_name#${pkg_version}($BASE_ARCH); port needed."
if [ "$target_pkg_name" ]; then
pkg_milestone=`echo $target_pkg_rel | sed "s|[0-9.]*\(.*\)|\1|"`
if [ "$target_pkg_ver" != "$port_pkg_ver" ]; then
echo "Package $pkg_name#${port_pkg_ver}-${port_pkg_rel}($TARGET_ARCH) differs from $pkg_name#${target_pkg_ver}-${target_pkg_rel}($BASE_ARCH); port needed."
JOB=(${JOB[*]} $p)
elif [ "$target_pkg_rel" != "$port_pkg_rel" ]; then
echo "Package $pkg_name#${port_pkg_ver}-${port_pkg_rel}($TARGET_ARCH) differs from $pkg_name#${target_pkg_ver}-${target_pkg_rel}($BASE_ARCH); port needed."
JOB=(${JOB[*]} $p)
elif [ "$REBUILD_MILESTONE" -a "$pkg_milestone" != "$REBUILD_MILESTONE" ]; then
echo "Package $pkg_name($TARGET_ARCH) was not built for '$REBUILD_MILESTONE' milestone; rebuild needed."
JOB=(${JOB[*]} $p)
else
echo "Package $pkg_name#${port_pkg_ver}($TARGET_ARCH) is up to date."
[ "$VERBOSE_MODE" ] && echo "Package $pkg_name#${port_pkg_ver}-${port_pkg_rel}($TARGET_ARCH) is up to date."
fi
else
echo "$p#${port_pkg_ver}($BASE_ARCH) is in port repository but $p#${base_pkg_ver}($TARGET_ARCH) is in base repository; port needed."
echo "$p#${port_pkg_ver}-${port_pkg_rel}($BASE_ARCH) is in port repository but $p#${base_pkg_ver}-${base_pkg_rel}($TARGET_ARCH) is in base repository; port needed."
JOB=(${JOB[*]} $p)
fi
fi
@ -334,8 +348,8 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
break
}
echo "=========="
echo "Step $step"
echo "Scheduled jobs: ${JOB[*]}"
echo "# Step $step"
echo "> Scheduled jobs: ${JOB[*]}"
echo
JOB_MISSINGREQ_OLD=(${JOB_MISSINGREQ[*]})
JOB_MISSINGREQ=()
@ -347,29 +361,37 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
JOB_CURRENT=${JOB[$JOB_NUM-1]}
if [ "`grep "^${JOB_CURRENT}$" /etc/autodist/unstage 2>/dev/null`" -o \
"`grep "^${JOB_CURRENT}$" /etc/autodist/unstage.${TARGET_ARCH} 2>/dev/null`" ]; then
echo -n "$JOB_CURRENT: "
echo -n "^ $JOB_CURRENT: "
STAGEOPTS=
else
echo -n "$JOB_CURRENT(staging): "
echo -n "^ $JOB_CURRENT(staging): "
STAGEOPTS="$AUTOPORT_STAGEVARS"
fi
if [ "$CROSS_MODE" -a "${JOB_CURRENT:0:5}" == "perl-" ]; then
echo " (SKIPPED) [unable to cross-build perl modules]"
echo "< (SKIPPED) [unable to cross-build perl modules]"
JOB_SKIPPED=(${JOB_SKIPPED[*]} $JOB_CURRENT)
continue
fi
[ "`grep ^$JOB_CURRENT\$ $DATAARCHDIR/sentjobs`" -a ! "$FORCE_MODE" ] && {
echo " (SKIPPED) [already sent]"
echo "< (SKIPPED) [already sent]"
JOB_SKIPPED=(${JOB_SKIPPED[*]} $JOB_CURRENT)
continue
}
if [ "${JOB_MAYBEINSTALLED_NEW[*]}" = "" -a \
"${JOB_MISSINGREQ_OLD[*]}" != "" -a \
"`echo "( ${JOB_FAILED_OLD[*]} )"| grep " $JOB_CURRENT "`" ]; then
echo " (FAILED) [nothing new since previous attempt]"
echo "< (FAILED) [nothing new since previous attempt]"
JOB_FAILED=(${JOB_FAILED[*]} $JOB_CURRENT)
continue
fi
pkg_release=
pkg_version=
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH ${JOB_CURRENT} || \
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $BASE_ARCH ${JOB_CURRENT} || \
get_pkg_buildinfo $DATADIR/$BASE_REPOSITORY $TARGET_ARCH ${JOB_CURRENT} || \
get_pkg_buildinfo $DATADIR/$BASE_REPOSITORY $BASE_ARCH ${JOB_CURRENT}
pkg_milestone=`echo $pkg_release | sed "s|[0-9.]*\(.*\)|\1|"`
pkg_numrelease=`echo $pkg_release | sed "s|\([0-9.]*\).*|\1|"`
DONT_PREPARE_THIS=
for p in ${JOB_CMDLINE[*]}; do
[ "$p" = "${JOB_CURRENT}" -o "$DONT_PREPARE_ANY" ] || continue
@ -408,27 +430,51 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
} || {
echo -n "(OK) "
}
elif [ "$REBUILD_MILESTONE" -a "$pkg_milestone" != "$REBUILD_MILESTONE" ]; then
echo -n "update"
[ "$pkg_repository" -a "$pkg_version" -a "$pkg_release" ] || {
echo "(FAILED) [can't get repository information for this package]"
continue
}
# FIXME: should be implemented in autodist
LANG=C LC_ALL=C autospec -u ${JOB_CURRENT} -a4 ${pkg_version} ${pkg_numrelease}${REBUILD_MILESTONE} \
--changelog "$REBUILD_MILESTONE milestone rebuild" &>$tmpfile
[ $? -gt 0 ] && {
if [ "$VERBOSE_MODE" ]; then
echo
echo "= Failed output:"
echo "================"
cat $tmpfile
echo "================"
echo
fi
cat $tmpfile >> $logfile
JOB_FAILED=(${JOB_FAILED[*]} $JOB_CURRENT)
echo "(FAILED)"
JOB_LOG=`grep "^?= See " $tmpfile | awk '{ print $3 }'`
[ "$JOB_LOG" ] || JOB_LOG=$tmpfile
continue
} || {
cat $tmpfile >> $logfile
echo -n "(OK) "
}
fi
}
echo -n "port"
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH ${JOB_CURRENT} || \
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $BASE_ARCH ${JOB_CURRENT} || \
get_pkg_buildinfo $DATADIR/$BASE_REPOSITORY $TARGET_ARCH ${JOB_CURRENT} || \
get_pkg_buildinfo $DATADIR/$BASE_REPOSITORY $BASE_ARCH ${JOB_CURRENT}
[ "$pkg_repository" ] || {
echo "(FAILED) [can't get repository information for this package]"
continue
}
[ "$PORT_REPOSITORY" != "$DEST_REPOSITORY" ] && pkg_repository="$DEST_REPOSITORY"
[ ! "$DONT_PREPARE_THIS" -a "$PORT_REPOSITORY" = "$DEST_REPOSITORY" ] && NOSRPM_OPTS="--nosrpm" || NOSRPM_OPTS="--force"
[ ! "$DONT_PREPARE_THIS" -a "$PORT_REPOSITORY" = "$DEST_REPOSITORY" -a ! "$REBUILD_MILESTONE" ] && NOSRPM_OPTS="--nosrpm" || NOSRPM_OPTS="--force"
LANG=C LC_ALL=C autodist -b -s ${JOB_CURRENT} --arch $TARGET_ARCH --server $pkg_repository --repository $PORT_REPOSITORY --severity 2 $FORCE_FLAG -- $STAGEOPTS $NOSRPM_OPTS &>$tmpfile
[ $? -gt 0 ] && {
if [ "$VERBOSE_MODE" ]; then
echo
echo "Failed output:"
echo "=============="
echo "= Failed output:"
echo "================"
cat $tmpfile
echo "=============="
echo "================"
echo
fi
cat $tmpfile >> $logfile
@ -436,7 +482,7 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
echo "(FAILED)"
JOB_LOG=`grep "^?= See " $tmpfile | awk '{ print $3 }'`
[ "$JOB_LOG" ] || JOB_LOG=$tmpfile
find_requirements $JOB_LOG
[ ! "$REBUILD_MILESTONE" ] && find_requirements $JOB_LOG
continue
} || {
cat $tmpfile >> $logfile
@ -450,10 +496,10 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
[ $? -gt 0 ] && {
if [ "$VERBOSE_MODE" ]; then
echo
echo "Failed output:"
echo "=============="
echo "= Failed output:"
echo "================"
cat $tmpfile
echo "=============="
echo "================"
echo
fi
cat $tmpfile >> $logfile
@ -496,10 +542,10 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
[ $? -gt 0 ] && {
if [ "$VERBOSE_MODE" ]; then
echo
echo "Failed output:"
echo "=============="
echo "= Failed output:"
echo "================"
cat $tmpfile
echo "=============="
echo "================"
echo
fi
cat $tmpfile >> $logfile
@ -524,18 +570,18 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
echo
done
fi
echo "Skipped jobs: ${JOB_SKIPPED[*]}"
echo "Unpreparable jobs: ${JOB_CANTPREPARE[*]}"
echo "Missing requirements: ${JOB_MISSINGREQ[*]}"
echo "Completed jobs: ${JOB_COMPLETED[*]}"
echo "Installation error for: ${JOB_CANTINSTALL[*]}"
echo "Failed jobs: ${JOB_FAILED[*]}"
echo "| Skipped jobs: ${JOB_SKIPPED[*]}"
echo "| Unpreparable jobs: ${JOB_CANTPREPARE[*]}"
echo "| Missing requirements: ${JOB_MISSINGREQ[*]}"
echo "| Completed jobs: ${JOB_COMPLETED[*]}"
echo "| Installation error for: ${JOB_CANTINSTALL[*]}"
echo "| Failed jobs: ${JOB_FAILED[*]}"
write_last_file
[ "${JOB[*]}" == "${JOB_FAILED[*]}" -a \
"${JOB_MISSINGREQ[*]}" == "" -a \
"${JOB_CANTINSTALL_OLD[*]}" == "${JOB_CANTINSTALL[*]}" ] && {
echo "Loop detected. Finishing. See $logfile for details."
echo "! Loop detected. Finishing. See $logfile for details."
rm -f $tmpfile $tmpfile1
exit 1
}
@ -544,5 +590,5 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
done
rm -f $tmpfile $tmpfile1
done
echo "All jobs completed. See $logfile for details."
echo "* All jobs completed. See $logfile for details."
exit 0

44
autoport-chroot Executable file
View File

@ -0,0 +1,44 @@
#!/bin/bash
#
# autoport-chroot
# (c) 2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
. /etc/sysconfig/autoport
CHROOT_TARGET=$1
function usage() {
echo "\
$0
"$"Copyright (C) 2012 Silvan Calarco <silvan.calarco@mambasoft.it>""
"$"Released under the terms of the GNU GPL v3 license"
echo "
"$"Enters autoport chroot environment.""
"$"Usage"":
$me chroot_target
"
}
[ "$CHROOT_TARGET" ] || {
usage
exit 1
}
[ "`uname -m`" = "x86_64" ] && HOST_IS_X86_64=1
for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
[ "${AUTOPORT_CHROOT[$i]}" = "$CHROOT_TARGET" ] || continue
if [ "$HOST_IS_X86_64" -a "${AUTOPORT_ARCH[$i]}" != "x86_64" ]; then
CMD_PREFIX=linux32
else
CMD_PREFIX=
fi
echo "Entering ${AUTOPORT_CHROOT[$i]} autoport chroot environment"
$CMD_PREFIX /usr/sbin/chroot /var/autoport/${AUTOPORT_CHROOT[$i]} su -l ${AUTOPORT_CHROOT_USER[$i]}
exit 0
done
echo "$CHROOT_TARGET: undefined chroot target"
exit 1

View File

@ -3,7 +3,7 @@
DISTRO="openmamba"
VENDOR="openmamba"
curl_opts_netlink="--connect-timeout 15 --retry 3 --limit-rate 400k -Y 1 -C -s"
curl_opts_netlink="--connect-timeout 15 --retry 3 -s"
packager_fullname="Automatic Build System"
packager_email="autodist@mambasoft.it"

View File

@ -18,3 +18,4 @@ libqt
distromatic
u-boot
openmamba-distro-compat
xorg-apps

View File

@ -3,14 +3,14 @@
REPS_BASE_URL=http://www.openmamba.org/pub/openmamba
LOCAL_REPS_BASE_DIR=/var/ftp/pub/openmamba
SEND_SERVER=devel-autodist
GNOME_VER=2.32.0
AUTOBUILD_MAXNUM=150
GNOME_VER=3.4
AUTOBUILD_MAXNUM=200
AUTOBUILD_DATEFROM=20060601
AUTOBUILD_SKIP_DAYS=7
AUTOBUILD_SKIP_DAYS=28
AUTOBUILD_SUCCESS_DAYS=3
AUTODIST_REPOSITORY=devel-autodist
AUTODIST_DELAYED_REPOSITORY=devel-future
AUTODIST_REPOSITORIES=(devel devel-games devel-makedist devel-kernel devel-xorg devel-kde4 devel-autodist)
AUTOPORT_STAGEVARS="--define stage1=1"
AUTOPORT_MAX_STEPS=15
AUTOPORT_MAX_STEPS=10
#RPMDIR=/usr/src/RPM

View File

@ -57,20 +57,20 @@ i586,mamba-64GB,3.0
kernel_packages=(
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,lirc,ndiswrapper,NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,VirtualBox,\
broadcom-sta,stk11xx,cm2020,rtl8192se
broadcom-sta,stk11xx,cm2020
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,-
i586,mamba-64GB,-
)
kernel_packages_new=(
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,lirc,ndiswrapper,NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,VirtualBox,\
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,lirc,NVIDIA,\
broadcom-sta,stk11xx,cm2020
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,3.2
i586,mamba-64GB,3.2
i586,mamba,3.4
i586,mamba-64GB,3.4
)
#rtl8192se
#NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,VirtualBox,ndiswrapper,
#ppc,mamba
#x86_64,mamba
@ -167,23 +167,26 @@ i586,mamba
i586,mamba-64GB
)
xorg_drv_video=(
xorg-drv-video,xorg-drv-video-apm,xorg-drv-video-ark,xorg-drv-video-ast,xorg-drv-video-ati,\
xorg_drv_video_all=(
xorg-drv-video-apm,xorg-drv-video-ark,xorg-drv-video-ast,xorg-drv-video-ati,\
xorg-drv-video-chips,xorg-drv-video-cirrus,xorg-drv-video-dummy,xorg-drv-video-fbdev,\
xorg-drv-video-geode,xorg-drv-video-glint,xorg-drv-video-i128,xorg-drv-video-i740,\
xorg-drv-video-intel,xorg-drv-video-mach64,xorg-drv-video-mga,xorg-drv-video-neomagic,\
xorg-drv-video-newport,xorg-drv-video-nouveau,xorg-drv-video-nv,xorg-drv-video-openchrome,\
xorg-drv-video-r128,xorg-drv-video-radeonhd,xorg-drv-video-rendition,xorg-drv-video-s3,\
xorg-drv-video-s3virge,xorg-drv-video-savage,xorg-drv-video-siliconmotion,xorg-drv-video-sis,\
xorg-drv-video-sisusb,xorg-drv-video-trident,xorg-drv-video-tseng,xorg-drv-video-v4l,\
xorg-drv-video-vesa,xorg-drv-video-vmware,xorg-drv-video-voodoo,xorg-drv-video-xgixp
xorg-drv-video-trident,xorg-drv-video-tseng,xorg-drv-video-v4l,\
xorg-drv-video-vesa,xorg-drv-video-vmware,xorg-drv-video-voodoo,xorg-drv-video-xgixp,\
xorg-drv-video
)
#xorg-drv-video-sisusb,
xorg_drv_input=(
xorg-drv-input,xorg-drv-input-acecad,xorg-drv-input-aiptek,xorg-drv-input-elographics,\
xorg-drv-input-acecad,xorg-drv-input-aiptek,xorg-drv-input-elographics,\
xorg-drv-input-evdev,xorg-drv-input-fpit,xorg-drv-input-hyperpen,xorg-drv-input-joystick,\
xorg-drv-input-keyboard,xorg-drv-input-mouse,xorg-drv-input-mutouch,xorg-drv-input-penmount,\
xorg-drv-input-synaptics,xorg-drv-input-tslib,xorg-drv-input-vmmouse,xorg-drv-input-void
xorg-drv-input-synaptics,xorg-drv-input-tslib,xorg-drv-input-vmmouse,xorg-drv-input-void,\
xorg-drv-input
)
abiword=(
@ -239,14 +242,30 @@ kdesdk,kdetoys,kdebindings,kdewebdev,kdeedu,kdeartwork,kde-i18n
)
kde4=(
kdelibs,kdepimlibs,oxygen-icons,kde-runtime,kde-workspace,kde-wallpapers,kde-baseapps,kdepim4,\
kdepim-runtime,kdeadmin,kdemultimedia,kdenetwork4,kdeartwork,kdegames,kdetoys,kdesdk,marble,\
kdeplasma-addons,kde-l10n,blinken,cantor,gwenview,libkdeedu,libanalitza,kalgebra,kalzium,kamera,\
kdelibs,kdepimlibs,oxygen-icons,kde-runtime,kactivities,kde-workspace,kde-wallpapers,kde-baseapps,kdepim4,\
kdepim-runtime,kdeadmin,kdenetwork4,kdeartwork,kdegames,kdetoys,kdesdk,marble,\
kdeplasma-addons,kde-l10n,blinken,cantor,gwenview,libkdeedu,analitza,kalgebra,kalzium,kamera,\
kanagram,kate,kbruch,kcolorchooser,kdegraphics-strigi-analyzer,kgamma,kgeography,khangman,kig,kiten,\
klettres,kmplot,kolourpaint,konsole,kruler,ksnapshot,kstars,libkdcraw,libkexiv2,libkipi,libksane,\
okular,smokegen,smokeqt,smokekde,svgpart,rocs,kwordquiz,kturtle,ktouch,qtruby,korundum,\
kross-interpreters,perl-Qt4,perl-KDE,kdegraphics-thumbnailers,ksaneplugin,parley,step,\
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,kwallet,sweeper
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,kwallet,sweeper,\
jovie,kmousetool,kmouth,qyoto,kaccessible,printer-applet,kdegraphics-mobipocket
%build_and_install
1
)
#kdemultimedia, ksecrets
kde48=(
kdelibs,kdepimlibs,oxygen-icons,kde-runtime,kactivities,kde-workspace,kde-wallpapers,kde-baseapps,kdepim4,\
kdepim-runtime,kdeadmin,kdemultimedia,kdenetwork4,kdeartwork,kdegames,kdetoys,kdesdk,marble,\
kdeplasma-addons,kde-l10n,blinken,cantor,gwenview,libkdeedu,kalgebra,kalzium,kamera,\
kanagram,kate,kbruch,kcolorchooser,kdegraphics-strigi-analyzer,kgamma,kgeography,khangman,kig,kiten,\
klettres,kmplot,kolourpaint,konsole,kruler,ksnapshot,kstars,libkdcraw,libkexiv2,libkipi,libksane,\
okular,smokegen,smokeqt,smokekde,svgpart,rocs,kwordquiz,kturtle,ktouch,qtruby,korundum,\
kross-interpreters,perl-Qt4,perl-KDE,kdegraphics-thumbnailers,ksaneplugin,parley,step,\
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,kwallet,sweeper,\
analitza,jovie,kmousetool,kmouth,qyoto,kaccessible,ksecrets,printer-applet,kdegraphics-mobipocket
%build_and_install
1
)

View File

@ -20,7 +20,7 @@ avr,avr
glibc=(
glibc
cross_target_cpu,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER,build_doc,build_profile,build_selinux
arm,-,-,mamba-arm,-,0,0,0
arm,-,-,mamba-arm,3.2,0,0,0
)
kernel=(
@ -62,8 +62,8 @@ bootstrap
gcc=(
gcc
cross_target_cpu,_target_platform,disable_java,disable_gjdoc
arm,arm-openmamba-linux-gnueabi,-,1
avr,avr,1,-
arm,arm-openmamba-linux-gnueabi,1,1
)
udev=(

View File

@ -75,11 +75,12 @@ avr,avr,1
#
glibc=(
glibc
cross_target_cpu,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
i586,i586-openmamba-linux-gnu,-,-,mamba,-
x86_64,x86_64-openmamba-linux-gnu,-,-,mamba-x86_64,2.6.33
arm,arm-openmamba-linux-gnueabi,-,-,mamba-arm,-
ppc,ppc-openmamba-linux-gnu,-,-,mamba-ppc,2.6.33
target,cross_target_cpu,multilib,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
-,i586,-,i586-openmamba-linux-gnu,-,-,mamba,-
-,x86_64,-,x86_64-openmamba-linux-gnu,-,-,mamba-x86_64,-
-,arm,-,arm-openmamba-linux-gnueabi,-,-,mamba-arm,-
-,ppc,-,ppc-openmamba-linux-gnu,-,-,mamba-ppc,2.6.33
x86_64,i586,1,i586-openmamba-linux-gnu,-,-,mamba-x86_64,-
)
# XTC 7
@ -96,9 +97,21 @@ x86_64,1,x86_64-openmamba-linux-gnu
gcc_cross=(
gcc
cross_target_cpu,_target_platform,disable_java
x86_64,x86_64-openmamba-linux-gnu,1
arm,arm-openmamba-linux-gnueabi,1
ppc,ppc-openmamba-linux-gnu,1
avr,avr,1
)
glibc_cross=(
glibc
target,cross_target_cpu,multilib,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
-,x86_64,-,x86_64-openmamba-linux-gnu,-,-,mamba-x86_64,-
-,arm,-,arm-openmamba-linux-gnueabi,-,-,mamba-arm,-
-,ppc,-,ppc-openmamba-linux-gnu,-,-,mamba-ppc,2.6.33
x86_64,i586,1,i586-openmamba-linux-gnu,-,-,mamba-x86_64,-
)
pkg_config=(
pkg-config
cross_target_cpu,_target_platform
@ -143,6 +156,12 @@ cross_target_cpu,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
arm,-,-,mamba-arm,-
)
glibc_multilib=(
glibc
target,cross_target_cpu,multilib,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
x86_64,i586,1,i586-openmamba-linux-gnu,-,-,mamba-x86_64,-
)
#
# ppc cross toolchain
#

View File

@ -118,6 +118,12 @@ x86_64,mamba-x86_64
)
#x86_64,mamba-xen
linux_firmware=(
linux-firmware
target,KERNEL_TARGET,KERNEL_VER
x86_64,mamba-x86_64,-
)
kernel_extra=(
kernel-extramodules
target,KERNEL_TARGET
@ -155,64 +161,64 @@ alsa_driver=(
alsa-driver
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
ati_driver=(
ati-driver
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
broadcom_sta=(
broadcom-sta
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
kernel_extramodules=(
kernel-extramodules
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
kernel_nongpl=(
kernel-nongpl
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
kernel_wireless_backport=(
kernel-wireless-backport
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
broadcom_sta=(
broadcom-sta
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
lirc=(
lirc
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
ndiswrapper=(
ndiswrapper
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
NVIDIA=(
NVIDIA
@ -225,19 +231,13 @@ VirtualBox=(
VirtualBox
target,KERNEL_TARGET
x86_64,mamba-x86_64
x86_64,mamba-xen
)
#x86_64,mamba-xen
glibc=(
glibc
cross_target_cpu,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
x86_64,-,-,mamba-x86_64,-
)
gcc=(
gcc
cross_target_cpu
x86_64
cross_target_cpu,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER,multilib
x86_64,-,-,mamba-x86_64,-,-
)
binutils=(

View File

@ -81,3 +81,16 @@ libwpg01
libwps01
libwpd08
db52
glade-3
goocanvas
libnl1
moagg
apache-commons-digester18
x264-116
libcdio12
udev173
libtiff3
libpcre0
libcdio12
libpoppler12
libaudiofile0

View File

@ -1,6 +1,6 @@
# Autodist script for updating specfiles
#
# Copyright (c) 2007-2009 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (c) 2007-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released with the same license as autodist
#
@ -24,5 +24,6 @@ sed -i "s|\(BuildRequires:[[:space:]]*\)firefox-devel|\1xulrunner-devel|" $1
sed -i "s|^PreReq:[[:space:]]*/sbin/install-info|Requires(post):%{__install_info}|" $1
sed -i "s|^PreReq:[[:space:]]*%{__install_info}|Requires(post):%{__install_info}|" $1
sed -i "s|^PreReq:[[:space:]]*|Requires(pre): |" $1
sed -i "s|http://.*.dl\.sourceforge\.net/|http://downloads.sourceforge.net/|" $1
#sed -i "s|^\(Source.*:[[:space:]]*ftp://ftp.kde.org/pub/kde/stable/.*.tar.\)bz2|\1xz|" $1
exit 0

View File

@ -15,3 +15,15 @@ gcc
libtiff
libtiff3
libcairo
gtk-doc
libpoppler
libpoppler12
gettext
libXext
gnokii
kdegames
soprano
autoconf
libidn
libcanberra
libxml2

View File

@ -2,3 +2,8 @@ tcltk
libxml2
libpango
libatk
gettext
libnfsidmap
libXext
libidn
libtiff

View File

@ -0,0 +1,27 @@
#!/bin/bash
[ -e /etc/sysconfig/autoport ] && . /etc/sysconfig/autoport
function clean() {
dir=$1
arch=$2
find $dir/RPM/RPMS/$arch/ -maxdepth 1 -ctime +30 -exec rm -rf {} \;
find $dir/RPM/RPMS/noarch/ -maxdepth 1 -ctime +30 -exec rm -rf {} \;
find $dir/RPM/BUILD/ -maxdepth 1 -ctime +30 -exec rm -rf {} \;
find $dir/RPM/SOURCES/ -maxdepth 1 -ctime +120 -exec rm -rf {} \;
find $dir/RPM/SRPMS/ -maxdepth 1 -ctime +90 -exec rm -rf {} \;
}
for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
a=${AUTOPORT_CHROOT[$i]}
clean /var/autoport/$a/usr/src ${AUTOPORT_ARCH[$i]}
[ -e /var/autoport/$a/var/autodist/RPM/RPMS/$arch ] && \
clean /var/autoport/$a/var/autodist ${AUTOPORT_ARCH[$i]}
[ -e /var/autoport/$a/var/tmp/autodist ] && \
find /var/autoport/$a/var/tmp/autodist/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
find /var/autoport/$a/tmp/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
elif [ "${AUTOPORT_UPDATE[$i]}" ]; then
clean /var/autodist ${AUTOPORT_ARCH[$i]}
find /var/tmp/autodist/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
fi
done

View File

@ -1,7 +0,0 @@
#!/bin/bash
find /var/autodist/RPM/RPMS/i586/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
find /var/autodist/RPM/RPMS/noarch/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
find /var/autodist/RPM/BUILD/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
find /var/autodist/RPM/SOURCES/ -maxdepth 1 -ctime +120 -exec rm -rf {} \;
find /var/autodist/RPM/SRPMS/ -maxdepth 1 -ctime +90 -exec rm -rf {} \;
find /var/tmp/autodist/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;

115
etc/cron.hourly/65-autoport Executable file
View File

@ -0,0 +1,115 @@
#!/bin/bash
#
# openmamba-autobuild-autoport daily cron script
# (c) 2008-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
#. /etc/sysconfig/openmamba-central
. /etc/sysconfig/autoport
[ "$AUTOPORT_ENABLE" = "1" -o "$AUTOPORT_ENABLE" = "true" ] || exit 0
ME=`basename $0`
[ "$$" == "`pidof -x $ME`" ] || {
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Warning: $ME script already running; exiting."
exit 0
}
PIDFILE=/var/run/autodist/autoport.pid
HOUR=`date +%H`
[ "`uname -m`" = "x86_64" ] && HOST_IS_X86_64=1
function pid_check() {
[ -e $PIDFILE ] && PIDCHECK=`cat $PIDFILE`
[ "$PIDCHECK" -a -e /proc/$PIDCHECK ] && {
echo "Error: an autodist process is already running; exiting for safety."
exit 0
}
}
pid_check
for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
[ "${AUTOPORT_ARCH[$i]}" ] || continue
[ "${AUTOPORT_DISABLE[$i]}" -a "${AUTOPORT_DISABLE[$i]}" != "0" ] && continue
if [ "$HOST_IS_X86_64" -a "${AUTOPORT_ARCH[$i]}" != "x86_64" ]; then
CMD_PREFIX=linux32
else
CMD_PREFIX=
fi
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
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_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"
else
continue
fi
[ -e $LOGFILE ] && mv $LOGFILE $LASTLOGFILE
# for r in ${AUTOPORT_REPOSITORIES[$i]}; do
echo "+ Autoport start at `date`" > $LOGFILE
echo "============================================" >> $LOGFILE
# done
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
a=${AUTOPORT_CHROOT[$i]}
# sudo mount -o bind /proc /var/autoport/$a/proc
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Updating packages in $a chroot environment"
echo "= Updating packages in $a chroot environment..." >> $LOGFILE
LANG=C /usr/sbin/chroot /var/autoport/$a smart update --quiet > /dev/null
LANG=C /usr/sbin/chroot /var/autoport/$a smart upgrade -y >> $LOGFILE
for r in ${AUTOPORT_REPOSITORIES[$i]}; do
echo "= Working on $r($a) in chroot mode..." >> $LOGFILE
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Working on $r($a) in chroot mode" >> $LOGFILE
# disable service restarts
mv /var/autoport/$a/sbin/service /var/autoport/$a/sbin/service.autoport
ln -s /bin/true /var/autoport/$a/sbin/service
$CMD_PREFIX /usr/sbin/chroot /var/autoport/$a su -l ${AUTOPORT_CHROOT_USER[$i]} -c "autoport -b -r $r" >> $LOGFILE
mv /var/autoport/$a/sbin/service.autoport /var/autoport/$a/sbin/service
cat /var/autoport/$a/home/${AUTOPORT_CHROOT_USER[$i]}/.autoport/${AUTOPORT_ARCH[$i]}/${r}.log >> $LOGFILE
done
#$local_ftp/$r/autoport-$a.log
fi
if [ "${AUTOPORT_NATIVE[$i]}" ]; then
a=${AUTOPORT_ARCH[$i]}
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Updating packages in $a native environment"
echo "= Updating packages in $a native environment..." >> $LOGFILE
LANG=C smart update > /dev/null
LANG=C smart upgrade -y >> $LOGFILE
for r in ${AUTOPORT_REPOSITORIES[$i]}; do
echo "= Working on $r($a) in native mode" >> $LOGFILE
su -l autodist -c "autoport -b -r $r" >> $LOGFILE
cat /var/autodist/.autoport/$a/log >> $LOGFILE
done
fi
if [ "${AUTOPORT_CROSS[$i]}" ]; then
a=${AUTOPORT_CROSS[$i]}
for r in ${AUTOPORT_REPOSITORIES[$i]}; do
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Working on $r($a) in cross-platform mode"
echo "= Working on $r($a) in cross-platform mode" >> $LOGFILE
su -l autodist -c "autoport -b -x $a -r $r" >> $LOGFILE
cat /var/autodist/.autoport/$a/log >> $LOGFILE
# $local_ftp/$r/autoport-$a.log
done
fi
echo "- Autoport end at `date`" >> $LOGFILE
echo "============================================" >> $LOGFILE
# for r in ${AUTOPORT_REPOSITORIES[$i]}; do
# [ -e /var/autodist/log/autoport-$r.log ] && \
# cp /var/autodist/log/autoport-$r.log /var/autodist/log/autoport-$r-last.log
# done
done

View File

@ -1,76 +0,0 @@
#!/bin/bash
#
# openmamba-autobuild-autoport daily cron script
# (c) 2008-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
#. /etc/sysconfig/openmamba-central
. /etc/sysconfig/autoport
[ "$AUTOPORT_ENABLE" = "1" -o "$AUTOPORT_ENABLE" = "true" ] || exit 0
ME=`basename $0`
[ "$$" == "`pidof -x $ME`" ] || {
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Warning: $ME script already running; exiting."
exit 0
}
PIDFILE=/var/run/autodist/autodist.pid
HOUR=`date +%H`
function pid_check() {
[ -e $PIDFILE ] && PIDCHECK=`cat $PIDFILE`
[ "$PIDCHECK" -a -e /proc/$PIDCHECK ] && {
echo "Error: an autodist process is already running; exiting for safety."
exit 0
}
}
for r in $PORT_REPOSITORIES; do
echo "Autoport start at `date`" > /var/autodist/log/autoport-$r.log
echo "========================" >> /var/autodist/log/autoport-$r.log
done
for a in $CHROOT_ARCHS; do
# sudo mount -o bind /proc /var/autoport/$a/proc
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Updating packages in $a chroot environment"
echo "Updating packages in $a chroot environment..." >> /var/autodist/log/autoport-$r.log
LANG=C /usr/sbin/chroot /var/autoport/$a smart update --quiet > /dev/null
LANG=C /usr/sbin/chroot /var/autoport/$a smart upgrade -y >> /var/autodist/log/autoport-$r.log
for r in $PORT_REPOSITORIES; do
echo "Working on $r($a) in chroot mode..." >> /var/autodist/log/autoport-$r.log
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Working on $r($a) in chroot mode" > $local_ftp/$r/autoport-$a.log
/usr/sbin/chroot /var/autoport/$a su -l sdk -c "autoport -b -r $r" >> $local_ftp/$r/autoport-$a.log
cat /var/autoport/$a/home/sdk/.autoport/$a/log >> $local_ftp/$r/autoport-$a.log
echo >> $local_ftp/$r/autoport-$a.log
done
done
for a in $NATIVE_ARCHS; do
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Updating packages in $a native environment"
echo "Updating packages in $a native environment..." >> /var/autodist/log/autoport-$r.log
LANG=C smart update > /dev/null
LANG=C smart upgrade -y >> /var/log/autoupgrade
for r in $PORT_REPOSITORIES; do
echo "Working on $r($a) in native mode" >> /var/autodist/log/autoport-$r.log
su -l autodist -c "autoport -b -r $r" >> /var/autodist/log/autoport-$r.log
cat /var/autodist/.autoport/$a/log >> /var/autodist/log/autoport-$r.log
echo >> /var/autodist/log/autoport-$r.log
done
done
for r in $PORT_REPOSITORIES; do
for a in $CROSS_ARCHS; do
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Working on $r($a) in cross-platform mode"
echo "Working on $r($a) in cross-platform mode" >> /var/autodist/log/autoport-$r.log
su -l autodist -c "autoport -b -x $a -r $r" > $local_ftp/$r/autoport-$a.log
cat /var/autodist/.autoport/$a/log >> $local_ftp/$r/autoport-$a.log
echo >> $local_ftp/$r/autoport-$a.log
done
done
for r in $PORT_REPOSITORIES; do
cp /var/autodist/log/autoport-$r.log /var/autodist/log/autoport-$r-last.log
done

View File

@ -1,10 +1,23 @@
#
# autoport global configuration
#
#AUTOPORT_ENABLE=1
#CHROOT_ARCHS=x86_64
#CROSS_ARCHS=
#NATIVE_ARCHS=
#PORT_REPOSITORIES="devel-makedist"
local_ftp=/var/ftp/pub/openmamba/
#AUTOPORT_ENABLE=1
#AUTOPORT_CGI_HOST=(http://localhost/cgi-bin/autodist http://arm-sdk/cgi-bin/autodist)
#AUTOPORT_ARCH[0]=x86_64
#AUTOPORT_DISABLE[0]=
#AUTOPORT_CHROOT[0]=devel-x86_64
#AUTOPORT_CHROOT_USER[0]=sdk
#AUTOPORT_CROSS[0]=
#AUTOPORT_NATIVE[0]=
#AUTOPORT_REPOSITORIES[0]="devel-makedist"
#AUTOPORT_ARCH[1]=i586
#AUTOPORT_DISABLE[1]=
#AUTOPORT_CHROOT[1]=milestone2-i586
#AUTOPORT_CHROOT_USER[1]=sdk
#AUTOPORT_CROSS[1]=
#AUTOPORT_NATIVE[1]=
#AUTOPORT_REPOSITORIES[1]="milestone2-makedist"
AUTOPORT_CGI_HOST=(http://localhost/cgi-bin/autodist http://192.168.0.100/cgi-bin/autodist)