Compare commits
42 Commits
Author | SHA1 | Date | |
---|---|---|---|
b9803712a2 | |||
b3e82e19b4 | |||
e6f4f990e4 | |||
13c5359c92 | |||
b37324962c | |||
79e63cd2a3 | |||
f842044af6 | |||
1e2ba88e57 | |||
61a6f72850 | |||
cd1132a916 | |||
a36d759531 | |||
2ee18817c4 | |||
00adf496ba | |||
a5f3beda83 | |||
0be3a1fc97 | |||
005fe6a6f5 | |||
25cc256ba5 | |||
7f92f0fd95 | |||
4a281ed9dc | |||
761ae3b3fb | |||
179121211e | |||
c9da095026 | |||
6e2a4ded8c | |||
ada79d6f76 | |||
dbaaa43f7f | |||
e6556e1063 | |||
a4ccca0e26 | |||
11951519dc | |||
d2b7713cff | |||
2a89f70381 | |||
ba9a55182e | |||
c624adf788 | |||
b5f570cc0b | |||
c49d56bd9e | |||
465e63d0ef | |||
c97abad872 | |||
2cee9628ea | |||
69ebabca44 | |||
837842d834 | |||
eedc6e37fb | |||
498d0057e1 | |||
f417ba6a7d |
13
Makefile
13
Makefile
@ -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)/
|
||||
|
98
autodist
98
autodist
@ -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
321
autodist-cgi
Executable 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> "
|
||||
elif [ "${AUTOPORT_CHROOT[$i]}" ]; then
|
||||
echo "<a href=\"?NUM=$i$HOST_ADD\">${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]})</a> "
|
||||
elif [ "${AUTOPORT_NATIVE[$i]}" ]; then
|
||||
echo "<a href=\"?NUM=$i$HOST_ADD\">${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_ARCH[$i]})</a> "
|
||||
elif [ "${AUTOPORT_CROSS[$i]}" ]; then
|
||||
echo "<a href=\"?NUM=$i$HOST_ADD\">${AUTOPORT_REPOSITORIES[$i]}(${AUTOPORT_CROSS[$i]};${AUTOPORT_ARCH[$i]})</a> "
|
||||
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|<|\<|g"
|
||||
elif [ "$SHOWLOG" = "last" ]; then
|
||||
cat $LASTLOGFILE | sed "s|<|\<|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|<|\<|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
|
@ -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
128
autoport
@ -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
44
autoport-chroot
Executable 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
|
@ -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"
|
||||
|
@ -18,3 +18,4 @@ libqt
|
||||
distromatic
|
||||
u-boot
|
||||
openmamba-distro-compat
|
||||
xorg-apps
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -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=(
|
||||
|
@ -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
|
||||
#
|
||||
|
@ -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=(
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -15,3 +15,15 @@ gcc
|
||||
libtiff
|
||||
libtiff3
|
||||
libcairo
|
||||
gtk-doc
|
||||
libpoppler
|
||||
libpoppler12
|
||||
gettext
|
||||
libXext
|
||||
gnokii
|
||||
kdegames
|
||||
soprano
|
||||
autoconf
|
||||
libidn
|
||||
libcanberra
|
||||
libxml2
|
||||
|
@ -2,3 +2,8 @@ tcltk
|
||||
libxml2
|
||||
libpango
|
||||
libatk
|
||||
gettext
|
||||
libnfsidmap
|
||||
libXext
|
||||
libidn
|
||||
libtiff
|
||||
|
27
etc/cron.daily/40-autodist-cleanold
Executable file
27
etc/cron.daily/40-autodist-cleanold
Executable 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
|
@ -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
115
etc/cron.hourly/65-autoport
Executable 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
|
@ -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
|
@ -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)
|
||||
|
Reference in New Issue
Block a user