Compare commits

...

89 Commits

Author SHA1 Message Date
fe8a60addd Release 0.9.22 2014-12-04 14:42:44 +01:00
ef649ef1c4 webbuild-cgi: some more milestone3 support 2014-12-04 14:41:33 +01:00
a044057f9f webbuild-cgi: fix for distroquery usage while searching for already existing package 2014-11-24 12:48:02 +01:00
8623f8bfd8 autodist-cgi: small changes after wordpress integration 2014-11-23 22:18:37 +01:00
f47f80416d Release 0.9.21 2014-11-22 23:00:08 +01:00
177629094c webbuild: other layout changes 2014-11-22 22:57:12 +01:00
f5a01c61a6 webbuild: move most rpm buttons below the editor plus some other layout adjustements 2014-11-22 19:51:49 +01:00
f492d02d7d webbuild: reallow html tags in processtail to display colors, only filter <[/]pre> tags for now 2014-11-22 12:35:08 +01:00
367e2f7dee webbuild-cgi: fix support for multiple words queries 2014-11-16 16:08:06 +01:00
144f1b0eb6 Release 0.9.20
Added forgotten autodist-tmpfilesd new file
2014-11-13 14:58:59 +01:00
faa153d41e Move pid directory to /run/autodist providing systemd tmpfiles.d configuration 2014-11-13 14:57:50 +01:00
d435051d50 webbuild-cgi: fixes to existing package check through distroquery 2014-11-13 14:30:28 +01:00
9afdb96444 40-autodist-cleanold cron: minor adjustments 2014-11-13 14:29:50 +01:00
eaf4e0220c cgi_getvars(): fix warning when empty key is received 2014-11-13 14:28:19 +01:00
3b032d1d8c webbuild: use distroquery to check and warn about already extisting package when creating a new package 2014-10-31 22:27:05 +01:00
6032d80cdb webbuild: fix autodist prepare and update; run ldconfig in build requirements; support version in autodist update 2014-10-29 22:36:58 +01:00
66ce879682 webbuild.html, autobuilds.html: restrict xmlhttp to fix too many sockets pending in chromium bug 2014-10-12 23:18:14 +02:00
3b15ee14b7 40-autodist-cleanold: improvements in daily file cleaning cron file 2014-10-09 16:14:39 +02:00
949a4c35df webbuild-cgi: support target arch in rpm prepare 2014-10-05 19:27:35 +02:00
d77d29fd37 webbuild: support adding BASE_URL to search result links 2014-10-05 19:26:55 +02:00
4d8a804eee webbuild-cgi: add remote fetch for maintainer recent packages and distromatic log plus add caching support 2014-09-28 12:34:41 +02:00
60f8e3cff0 webbuild: increase logs size before cutting; cache environment info, update every 5 minutes 2014-09-21 02:34:47 +02:00
73791f2c58 Release 0.9.19 2014-09-05 22:39:23 +02:00
8aaf239342 webbuild-cgi: honour selected target arch when sending package 2014-09-05 22:36:46 +02:00
9ab37c25c2 autodist-upstream-updates: only accept even numbers (also 1.x and 2.x) as stable from Gnome upstream list 2014-09-05 19:10:42 +02:00
491357aebb autodist-repository: new "install" option to install packages with rpm directly from local repositories 2014-09-05 19:08:34 +02:00
bf3085f435 autodist-cgi: check if host is up before fetching cgi data from secondary sites 2014-08-23 13:30:45 +02:00
f6543e78fa Release 0.9.18 2014-08-21 13:26:47 +02:00
ea098185e1 autoport: check if source is present in target arch, not source, before rebuilding 2014-08-21 13:13:36 +02:00
52f9b3e9e0 autodist-upstream-updates: try to detect and remove unstable releases in parse_gnome() 2014-07-27 13:49:10 +02:00
55224a3ecb webbuild-cgi: other adjustements using binary calls to webbuild-sudo 2014-07-10 13:31:20 +02:00
bbcc9460b4 webbuild-cgi: need to pass binary to some SUDO_WRAPPER calls after previous change 2014-07-08 18:55:58 +02:00
8e4e790104 webbuild-sudo: pipe send output to parse_generic_output 2014-07-08 17:56:49 +02:00
487dbb2824 autodist: maybe fix for packages being sent to wrong repositories 2014-07-08 02:08:53 +02:00
f05b31368f webbuild: add support for mass rebuild of dependant packages 2014-07-06 23:23:55 +02:00
fa602e75e0 autoport: add -ud option to rebuild dependant packages of given package(s) using new distromatic pkg_needrebuild info 2014-07-06 22:18:49 +02:00
45b347da76 webbuild: add mass rebuilt build requirement update box; redesign and move chat box 2014-07-05 23:54:48 +02:00
5927784c85 Release 0.9.16 2014-07-05 23:53:15 +02:00
59a1ad0317 autodist,autoport: allow to pass arguments to update-specfile script
update-specfile: accept --buildreq multiple arguments to edit build requirements with version
2014-07-05 17:50:53 +02:00
3e0f261856 webbuild: add apache configuration file with 'Timeout 600'; not installed for now 2014-06-28 18:51:12 +02:00
85e7950c4e webbuild-functions: silence a warning which should be harmful and can't fix on client side 2014-06-28 18:50:15 +02:00
58d61d51e3 Release 0.9.15 2014-06-24 11:38:48 +02:00
b59c024914 webbuild: show build host on title and in environment panel 2014-06-18 13:15:44 +02:00
82c5f79f27 webbuild: allow modified autodist ports is AUTOPORT_PORT_REPOSITORY is set 2014-06-18 13:09:29 +02:00
5241fa7e82 webbuild-cgi: need to call specinfo in speccreate to set $SPECVAR_WORKINGHOME variable 2014-06-14 16:01:54 +02:00
a89e2b9a13 autodist: fix manual version update and autoupdate script management 2014-06-13 14:35:54 +02:00
f72d0b3663 Release 0.9.14 2014-06-13 12:53:58 +02:00
56f41ede80 autodist-tool: use autodist --list-jobs instead of directly reading DISTDB 2014-06-13 12:47:16 +02:00
a59ea180af 66-autoport-chroot: fix trivial mistake in previous change 2014-06-11 00:31:45 +02:00
e3e4104f4e autodist: add support for running <pkgname>-autoupdate script in /SOURCES after version update if found 2014-06-10 14:21:02 +02:00
4f12cc4969 Release 0.9.13 2014-06-10 14:15:13 +02:00
1da0a6d971 40-autodist-upstream-updates daily cron: don't run if AUTOPORT_UPDATE_NO_DISTROMATIC is set 2014-06-10 01:52:14 +02:00
a66a8f8029 66-autoport-chroot: fix finding log path for autodist user special case 2014-06-10 01:44:26 +02:00
2dd4d2632d webbuild-cgi: fix rpmbuild -bs and other rpmbuild calls by passing correct %_topdir according to environment 2014-06-10 00:19:26 +02:00
6dd2bb37bc Release 0.9.12 2014-06-10 00:18:03 +02:00
79c00b9f50 66-autoport-chroot: fix chroot command to start/stop icecream 2014-06-07 19:30:39 +02:00
f4dbf4b5c2 autodist-repository, webbuild-cgi: use 'ls --color=none' to access local repository to speed up when using NFS 2014-06-07 19:20:56 +02:00
13e52f18d5 60-autodist-update cron: add AUTOPORT_UPDATE_NO_AUTOMAINT and AUTOPORT_UPDATE_NO_DISTROMATIC configuration settings
These variables are set to 1 by default
2014-06-07 19:13:48 +02:00
1979751f33 autodist-repository: make sure to return 0 if import_package() succeeds 2014-06-05 10:51:55 +02:00
ed2de4963a autodist-repository: set return code as the number of import or release errors 2014-06-05 10:36:47 +02:00
ae9e5c3be5 autodist: return error code when package to be imported does not exist any longer 2014-06-05 10:24:49 +02:00
457d02194c Release 0.9.11 2014-06-05 10:09:03 +02:00
7107f7884f autodist: don't raise error for missing $SYSCONFDIR/distdb*
First use repository distdb* if available or load $SYSCONFDIR/distdb*
Use $SYSCONFDIR/distdb.d/*.db for adding local custom definitions.
2014-06-04 22:39:38 +02:00
159432b669 Remove configuration files that have been moved to repository in a previous commit 2014-06-04 18:13:33 +02:00
c73ba35d74 autodist-upstream-updates: fix exiting with an error message if srcpkglist is bad 2014-06-04 18:03:36 +02:00
2d950512e4 autoport: add AUTOPORT_UNSTAGE_ARCHS to globally define unstaged archs (current default: i586) 2014-06-04 15:37:41 +02:00
30e8c88970 webbuild.html: don't set expire date for cookies 2014-05-31 15:30:20 +02:00
eff79c5bf8 autodist, autoport: support for distdb.*, legacy.*, unstage.* from repository 2014-05-31 14:43:42 +02:00
e6ee8dbd5b autodist-repository: direct error and warning message to stderr 2014-05-29 15:35:40 +02:00
9643cf4103 webbuild.html, autobuilds.html: added favicon 2014-05-29 14:35:20 +02:00
bb64fe0188 Release 0.9.10 2014-05-29 14:13:08 +02:00
1617e30950 Add .bashrc and .bash_profile to autodist home 2014-05-28 14:07:37 +02:00
f0eaac941b autodist-repository: allow reading secret settings from file config-secret if it is readable 2014-05-28 10:49:15 +02:00
c0b7304aa4 autodist: make --list-jobs and --list-pkgs faster by running before reading unneeded package status from repository 2014-05-27 21:58:37 +02:00
7a268ce0c8 /etc/sysconfig/autoport: add ICECREAM_MONITOR_HOST to configuration template 2014-05-27 19:26:15 +02:00
49a1ed773b webbuild: add logrotate file 2014-05-27 19:11:16 +02:00
99ab1fe252 autodist-repository: manage merging of packages without relying on base arch (i586) 2014-05-27 13:13:47 +02:00
112abc68c6 webbuild: fix for forwarding requests 2014-05-27 01:40:53 +02:00
f2bb820de8 webbuild: check if WEBBUILD_URL is localhost to avoid recursive request to itself 2014-05-27 00:05:15 +02:00
0f96bedecd automaint: fixes to support any architecture build instead of base arch (i586) 2014-05-25 16:18:35 +02:00
70548ea687 automaint: support importing from any architecture, not just base arch (i586) 2014-05-24 20:17:44 +02:00
67497d1d4f Release 0.9.9 2014-05-24 18:29:08 +02:00
50d38312db webbuild.html: restore setting cookies 2014-05-24 17:26:59 +02:00
82ab9d49c9 65-autoport-native cron: fix detecting home dir for log 2014-05-24 16:43:32 +02:00
24f57a4cd4 unstage.x86_64: update 2014-05-24 16:36:05 +02:00
0c9f7b442e autodist cgi: support for REP variable to fix multiple log windows showing bug 2014-05-24 16:35:05 +02:00
03d939419c Add local autobuild interface autobuilds.html and other fixes 2014-05-24 16:05:40 +02:00
ea9bd6e623 Default config update for latest changes 2014-05-23 21:28:22 +02:00
6fc6b0bda6 Added autodist-repository tool, further fixes to support a central sociallog and more fixes 2014-05-23 21:17:27 +02:00
41 changed files with 2145 additions and 2129 deletions

View File

@ -1,5 +1,5 @@
# Makefile for autodist
# Copyright (C) 2006-2009 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (C) 2006-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
PACKAGE = autodist
@ -17,7 +17,7 @@ mandir = ${prefix}/usr/share/man
sysconfigdir= ${sysconfdir}/sysconfig
configdir = ${sysconfdir}/autodist
localstatedir= /var
piddir= ${localstatedir}/run/autodist
piddir= /run/autodist
cgidir = ${localstatedir}/www/cgi-bin
htmldir = ${localstatedir}/www/html
@ -47,6 +47,7 @@ install-dirs:
@$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/cron.hourly
@$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/cron.daily
@$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/sysconfig
@$(INSTALL_DIR) $(DESTDIR)$(sysconfdir)/logrotate.d
@$(INSTALL_DIR) $(DESTDIR)$(bindir)
@$(INSTALL_DIR) $(DESTDIR)$(sbindir)
@$(INSTALL_DIR) $(DESTDIR)$(cgidir)
@ -61,9 +62,9 @@ install-dirs:
@$(INSTALL_DIR) $(DESTDIR)$(pck_logdir)/install/{ok,failed}
@$(INSTALL_DIR) $(DESTDIR)$(pck_logdir)/send/{ok,failed}
@$(INSTALL_DIR) $(DESTDIR)$(pck_statedir)/RPM/{SPECS,SRPMS,BUILD,SOURCES,RPMS/{noarch,i586,ppc,x86_64,arm}}
@$(INSTALL_DIR) $(DESTDIR)$(piddir)
@$(INSTALL_DIR) $(DESTDIR)$(libexecdir)
@$(INSTALL_DIR) $(DESTDIR)$(localstatedir)/webbuild/{cache,home,notes,tmp,users}
@$(INSTALL_DIR) $(DESTDIR)$(prefix)/lib/tmpfiles.d/
install-programs:
@$(INSTALL_SCRIPT) autodist $(DESTDIR)$(bindir)/autodist
@ -71,6 +72,7 @@ install-programs:
@$(INSTALL_SCRIPT) autoport $(DESTDIR)$(bindir)/autoport
@$(INSTALL_SCRIPT) automaint $(DESTDIR)$(sbindir)/automaint
@$(INSTALL_SCRIPT) autoport-chroot $(DESTDIR)$(sbindir)/autoport-chroot
@$(INSTALL_SCRIPT) autodist-repository $(DESTDIR)$(sbindir)/autodist-repository
@$(INSTALL_SCRIPT) autodist-upstream-updates $(DESTDIR)$(sbindir)/autodist-upstream-updates
@$(INSTALL_SCRIPT) autoport-fix-environment $(DESTDIR)$(bindir)/autoport-fix-environment
@$(INSTALL_SCRIPT) etc/autodist/scripts/* $(DESTDIR)$(configdir)/scripts/
@ -84,18 +86,6 @@ install-programs:
install-data:
@$(INSTALL_DATA) etc/autodist/config $(DESTDIR)$(configdir)/config
@$(INSTALL_DATA) etc/autodist/distdb $(DESTDIR)$(configdir)/distdb
@$(INSTALL_DATA) etc/autodist/distdb.i586 $(DESTDIR)$(configdir)/distdb.i586
@$(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
@$(INSTALL_DATA) etc/autodist/unstage.x86_64 $(DESTDIR)$(configdir)/unstage.x86_64
@$(INSTALL_DATA) etc/autodist/unstage.ppc $(DESTDIR)$(configdir)/unstage.ppc
@$(INSTALL_DATA) etc/autodist/distdb.d/*.db $(DESTDIR)$(configdir)/distdb.d/
@$(INSTALL_DATA) etc/autodist/blacklist $(DESTDIR)$(configdir)/blacklist
@$(INSTALL_DATA) etc/autodist/distdb.d/* $(DESTDIR)$(configdir)/distdb.d/
@$(INSTALL_DATA) etc/sudoers.d/autoport $(DESTDIR)$(sysconfdir)/sudoers.d/autoport
@ -107,7 +97,11 @@ install-data:
@$(INSTALL_SCRIPT) etc/cron.hourly/66-autoport-chroot $(DESTDIR)$(sysconfdir)/cron.hourly/
@$(INSTALL_SCRIPT) etc/cron.daily/40-autodist-cleanold $(DESTDIR)$(sysconfdir)/cron.daily/
@$(INSTALL_SCRIPT) etc/cron.daily/40-autodist-upstream-updates $(DESTDIR)$(sysconfdir)/cron.daily/
@$(INSTALL_SCRIPT) etc/logrotate.d/webbuild $(DESTDIR)$(sysconfdir)/logrotate.d/webbuild
@$(INSTALL_DATA) autospec-conf $(DESTDIR)$(pck_statedir)/.autospec
@$(INSTALL_DATA) autodist-bashrc $(DESTDIR)$(pck_statedir)/.bashrc
@$(INSTALL_DATA) autodist-bash_profile $(DESTDIR)$(pck_statedir)/.bash_profile
@$(INSTALL_DATA) autodist-tmpfilesd $(DESTDIR)$(prefix)/lib/tmpfiles.d/autodist.conf
@touch $(DESTDIR)$(pck_statedir)/template/autoupdate/auto.success
@touch $(DESTDIR)$(pck_statedir)/template/autoupdate/auto.skip

View File

@ -1 +1 @@
VERSION = 0.9.8
VERSION = 0.9.22

183
autodist
View File

@ -1,24 +1,24 @@
#!/bin/bash
#
# Autodist -- batch build tool for RPM based distributions
# Copyright (C) 2006-2013 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (C) 2006-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
# Released under the terms of the GNU GPL release 3 license
#
VERSION=0.9.8
VERSION=0.9.21
me=(${0##*/} $VERSION "Sat Aug 20 2010")
exec 3>`readlink /proc/self/fd/0`
function usage() {
echo "\
${me[0]} ${me[1]}
"$"Copyright (C) 2006-2012 Silvan Calarco <silvan.calarco@mambasoft.it>""
"$"Copyright (C) 2006-2014 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.""
"$"Usage"":
$me [operations ...] [options ...] [job ...] [-- autospec_args]
$me [operations ...] [options ...] [job ...] [-- autospec_args] [--- script_args]
"$"Operations"":
-a,--autobuild "$"Start batch build operations (implies -p -u -b -s --severity 1)""
@ -53,25 +53,22 @@ ${me[0]} ${me[1]}
kernel-extra
kernel-packages/lirc""
autospec_args "$"Send specified arguments to autospec""
script_args "$"Send specified arguments to update-specfile script""
"
}
function fetch_repository_list() {
local REPOLIST=$1
if [ -r ${LOCAL_REPS_BASE_DIR}/$REPOLIST ]; then
echo ${LOCAL_REPS_BASE_DIR}/$REPOLIST
function fetch_repository_file() {
local REPOFILE=$1
if [ -r ${LOCAL_REPS_BASE_DIR}/$REPOFILE ]; then
echo ${LOCAL_REPS_BASE_DIR}/$REPOFILE
return 0
else
if [ ! -r $USERCONFDIR/$REPOLIST -o "`find $USERCONFDIR/$REPOLIST -mmin +60 2>/dev/null`" ]; then
mkdir -p `dirname $USERCONFDIR/$REPOLIST`
curl -s $REPS_BASE_URL/$REPOLIST -o $USERCONFDIR/$REPOLIST || {
echo "Error: unable to fetch $REPS_BASE_DIR/$REPOLIST"
exit 1
}
if [ ! -r $USERCONFDIR/$REPOFILE -o "`find $USERCONFDIR/$REPOFILE -mmin +60 2>/dev/null`" ]; then
mkdir -p `dirname $USERCONFDIR/$REPOFILE`
curl -f -L -s $REPS_BASE_URL/$REPOFILE -o $USERCONFDIR/$REPOFILE || return 1
fi
echo $USERCONFDIR/$REPOLIST
echo $USERCONFDIR/$REPOFILE
return 0
fi
}
@ -95,8 +92,9 @@ BUILDARCH=`rpm --eval %{_build_cpu}`
TARGETARCH=$BUILDARCH
CONFIGFILE=$SYSCONFDIR/config
SCRIPT_UPDATE_SPECFILE=$SCRIPTDIR/update-specfile
SCRIPT_UPDATE_SPECFILE_CUSTOM=$SCRIPTDIR/update-specfile-custom
AUTOSPEC_CMD="/usr/bin/autospec"
PIDFILE="/var/run/autodist/autodist.pid"
PIDFILE="/run/autodist/autodist.pid"
# Configuration defaults normally overriden in configuration file
AUTOBUILD_MAXNUM=50
@ -194,23 +192,37 @@ for ((i=1; i<=$#; i++)); do
;;
-*) if [ "${!i}" = "--" ]; then
AUTOSPEC_ARGS_MODE=1
SCRIPT_ARGS_MODE=
elif [ "${!i}" = "---" ]; then
SCRIPT_ARGS_MODE=1
AUTOSPEC_ARGS_MODE=
elif [ "$AUTOSPEC_ARGS_MODE" ]; then
AUTOSPEC_ARGS="$AUTOSPEC_ARGS ${!i}"
elif [ "$SCRIPT_ARGS_MODE" ]; then
SCRIPT_ARGS="$SCRIPT_ARGS ${!i}"
else
echo "ERROR: invalid option \`${!i}'; aborting."
exit 1
fi
;;
*) if [ "$AUTOSPEC_ARGS_MODE" != "1" ]; then
JOBNAME[${#JOBNAME[@]}]="${!i/\#*}"
[ "${!i/*\#}" != "${!i}" ] && JOBVER[${#JOBNAME[@]}]="+${!i/*\#}"
else
*) if [ "$AUTOSPEC_ARGS_MODE" ]; then
if [ "${!i/ }" != "${!i}" ]; then
# pass multiple word arguments inside quotation marks
AUTOSPEC_ARGS="$AUTOSPEC_ARGS \"${!i}\""
else
AUTOSPEC_ARGS="$AUTOSPEC_ARGS ${!i}"
fi
elif [ "$SCRIPT_ARGS_MODE" ]; then
if [ "${!i/ }" != "${!i}" ]; then
# pass multiple word arguments inside quotation marks
SCRIPT_ARGS="$SCRIPT_ARGS \"${!i}\""
else
SCRIPT_ARGS="$SCRIPT_ARGS ${!i}"
fi
else
JOBIDX=${#JOBNAME[@]}
JOBNAME[$JOBIDX]="${!i/\#*}"
[ "${!i/*\#}" != "${!i}" ] && JOBVER[$JOBIDX]="+${!i/*\#}"
fi
;;
esac
@ -220,12 +232,6 @@ done
[ "$SEND_SERVER" ] || SEND_SERVER=$AUTODIST_REPOSITORY
SEND_SERVER_CMD="--server $SEND_SERVER"
AUTOUPDATEDIR=${LOCAL_REPS_BASE_DIR}/$AUTODIST_REPOSITORY/autoupdate/
[ -r $AUTOUPDATEDIR ] || {
AUTOUPDATEDIR=$USERCONFDIR/$AUTODIST_REPOSITORY/autoupdate
mkdir -p $AUTOUPDATEDIR
}
# perform arch names conversions
case $BUILDARCH in
@ -236,34 +242,6 @@ case $TARGETARCH in
i386|i486|i686) TARGETARCH=i586 ;;
esac
SOURCESDIR=$AUTOUPDATEDIR/sources/
SUCCESSLISTDIR=$AUTOUPDATEDIR
SKIPPEDLISTDIR=$AUTOUPDATEDIR
SRCPKGLIST=`fetch_repository_list $AUTODIST_REPOSITORY/srcpkglist`
[ "$AUTODIST_DELAYED_REPOSITORY" ] && SRCPKGLIST_DELAYED=`fetch_repository_list $AUTODIST_DELAYED_REPOSITORY/srcpkglist`
BUILDSLIST=`fetch_repository_list distromatic/$AUTODIST_REPOSITORY/builds-$TARGETARCH`
[ "$AUTODIST_DELAYED_REPOSITORY" ] && BUILDSLIST_DELAYED=`fetch_repository_list distromatic/$AUTODIST_DELAYED_REPOSITORY/builds-$TARGETARCH`
[ -e "$DISTDB" ] || {
echo "ERROR: missing distdb file $DISTDB; aborting."
exit 1
}
[ -e $LOGBASEDIR ] || {
mkdir -p $LOGBASEDIR/prepare/{ok,failed}
mkdir -p $LOGBASEDIR/update/{ok,failed}
mkdir -p $LOGBASEDIR/build/{ok,failed}
mkdir -p $LOGBASEDIR/install/{ok,failed}
mkdir -p $LOGBASEDIR/send/{ok,failed}
}
#[ "$PACKAGE" ] || {
# echo "ERROR: missing target; aborting."
# usage
# exit 1
#}
# for webbuild message
function cgi_encodevar() {
@ -532,7 +510,7 @@ function launch_pkgs_loop() {
# launch loop for each package
for pkg in ${JOB_PKGS[*]}; do
unset LOGFILE_SUFFIX
unset LOGFILE_SUFFIX AUTOUPDATE_SCRIPT_ALREADY_RUN
for a in ${JOB_VALUES[*]}; do
tr_job=`echo $a | tr / _`
LOGFILE_SUFFIX=${LOGFILE_SUFFIX}__$tr_job
@ -582,8 +560,31 @@ function launch_pkgs_loop() {
[ "$operation" = "update" -o "$operation" = "autoupdate" ] && continue
fi
fi
$SCRIPT_UPDATE_SPECFILE $spec_dir/$pkg.spec
;;
if [ -x $SCRIPT_UPDATE_SPECFILE ]; then
$SCRIPT_UPDATE_SPECFILE $spec_dir/$pkg.spec $SCRIPT_ARGS || {
case $SEVERITY in
0) ;;
1) echo "%! Error: update-specfile script returned $?; skipping $pkg package."
ret=1
continue ;;
*) echo "!! Error: update-specfile script returned $?; aborting."
exit 1 ;;
esac
}
fi
if [ -x $SCRIPT_UPDATE_SPECFILE_CUSTOM ]; then
$SCRIPT_UPDATE_SPECFILE_CUSTOM $spec_dir/$pkg.spec $SCRIPT_ARGS || {
case $SEVERITY in
0) ;;
1) echo "%! Error: update-specfile-custom script returned $?; skipping $pkg package."
ret=1
continue ;;
*) echo "!! Error: update-specfile-custom script returned $?; aborting."
exit 1 ;;
esac
}
fi
;;
esac
[ -e $spec_dir/$pkg.spec ] && {
@ -642,7 +643,7 @@ function launch_pkgs_loop() {
if [ "$PKGLINE" ]; then
set -- $PKGLINE
pkglinever=$2
# warning: asasuming version is passed first
# warning: assuming version is passed first
version_find_bigger "${passed_arguments/ *}" "$pkglinever"
[ $? -eq 1 ] || {
echo "!! Warning: skipping ${pkg} package already up to date ($pkglinever >= ${passed_arguments/ *})."
@ -652,6 +653,11 @@ function launch_pkgs_loop() {
continue
}
fi
if [ -e $source_dir/$pkg-autoupdate ]; then
echo "?= Running $pkg-autoupdate script with version ${passed_arguments/ *}"
(cd $source_dir; sh ./$pkg-autoupdate ${passed_arguments/ *} >/dev/null)
AUTOUPDATE_SCRIPT_ALREADY_RUN=1
fi
command_opts="-a3:4" ;;
build)
# skip package in job if it is in the delayed repository
@ -823,6 +829,11 @@ function launch_pkgs_loop() {
}
fi
fi
if [ "$2" != "$SPEC_VERSION" -a -e $source_dir/$pkg-autoupdate -a ! "$AUTOUPDATE_SCRIPT_ALREADY_RUN" ]; then
echo "?= Running $pkg-autoupdate script with version ${passed_arguments/ *}"
(cd $source_dir; sh ./$pkg-autoupdate ${passed_arguments/ *} >/dev/null)
AUTOUPDATE_SCRIPT_ALREADY_RUN=1
fi
fi
;;
buildinstall|send)
@ -880,10 +891,32 @@ function log_date() {
echo -n `LANG=C date +%Y%m%d@%H%M%S`
}
DISTDBFILES="$DISTDB"
[ -e $DISTDB.$TARGETARCH ] && DISTDBFILES="$DISTDBFILES $DISTDB.$TARGETARCH"
[ -e ~/.autodist/distdb ] && DISTDBFILES="$DISTDBFILES ~/.autodist/distdb"
[ -e ~/.autodist/distdb.$TARGETARCH ] && DISTDBFILES="$DISTDBFILES ~/.autodist/distdb.$TARGETARCH"
[ -e $LOGBASEDIR ] || {
mkdir -p $LOGBASEDIR/prepare/{ok,failed}
mkdir -p $LOGBASEDIR/update/{ok,failed}
mkdir -p $LOGBASEDIR/build/{ok,failed}
mkdir -p $LOGBASEDIR/install/{ok,failed}
mkdir -p $LOGBASEDIR/send/{ok,failed}
}
#
# Main
#
DISTDBFILES=
DISTDB=`fetch_repository_file ${AUTODIST_REPOSITORY/-*}/distdb`
[ "$DISTDB" ] && DISTDBFILES="$DISTDB"
DISTDBARCH=`fetch_repository_file ${AUTODIST_REPOSITORY/-*}/distdb.$TARGETARCH`
if [ "$DISTDBARCH" ]; then
DISTDBFILES="$DISTDBFILES $DISTDBARCH"
fi
if [ ! "$DISTDBFILES" ]; then
[ -e $SYSCONFDIR/distdb ] && DISTDBFILES="$SYSCONFDIR/distdb"
[ -e $SYSCONFDIR/distdb.$TARGETARCH ] && DISTDBFILES="$DISTDBFILES $SYSCONFDIR/distdb.$TARGETARCH"
fi
if [ "$do_listjobs" ]; then
for f in $DISTDBFILES; do
@ -931,6 +964,30 @@ for a in $LOGBASEDIR/{,prepare/{,ok,failed},update/{,ok,failed},build/{,ok,faile
done
AUTOUPDATEDIR=${LOCAL_REPS_BASE_DIR}/$AUTODIST_REPOSITORY/autoupdate/
[ -r $AUTOUPDATEDIR ] || {
AUTOUPDATEDIR=$USERCONFDIR/$AUTODIST_REPOSITORY/autoupdate
mkdir -p $AUTOUPDATEDIR
}
SOURCESDIR=$AUTOUPDATEDIR/sources/
SUCCESSLISTDIR=$AUTOUPDATEDIR
SKIPPEDLISTDIR=$AUTOUPDATEDIR
SRCPKGLIST=`fetch_repository_file $AUTODIST_REPOSITORY/srcpkglist`
[ $? -eq 0 ] || echo "Warning: unable to fetch $SRCPKGLIST">&2
[ "$AUTODIST_DELAYED_REPOSITORY" ] && SRCPKGLIST_DELAYED=`fetch_repository_file $AUTODIST_DELAYED_REPOSITORY/srcpkglist`
[ $? -eq 0 ] || echo "Warning: unable to fetch $SRCPKGLIST_DELAYED">&2
BUILDSLIST=`fetch_repository_file distromatic/$AUTODIST_REPOSITORY/builds-$TARGETARCH`
[ "$AUTODIST_DELAYED_REPOSITORY" ] && BUILDSLIST_DELAYED=`fetch_repository_file distromatic/$AUTODIST_DELAYED_REPOSITORY/builds-$TARGETARCH`
[ $? -eq 0 ] || echo "Warning: unable to fetch $BUILDSLIST">&2
LEGACYLIST=`fetch_repository_file ${AUTODIST_REPOSITORY/-*}/legacy`
[ "$LEGACYLIST" ] || LEGACYLIST=$SYSCONFDIR/legacy
[ $? -eq 0 ] || echo "Warning: unable to fetch $LEGACYLIST">&2
echo "%% Autodist started with PID $$ @ `LANG=C date`"
# autobuild: add jobs ordered by oldest builds

14
autodist-bash_profile Normal file
View File

@ -0,0 +1,14 @@
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
if [ -d $HOME/bin ]; then
PATH=$PATH:$HOME/bin
fi
export PATH
unset USERNAME

8
autodist-bashrc Normal file
View File

@ -0,0 +1,8 @@
# .bashrc
# User specific aliases and functions
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

View File

@ -4,6 +4,7 @@
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"`
REP=`echo "$QUERY_STRING" | sed -n 's/^.*REP=\([^&]*\).*$/\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"`
@ -49,15 +50,17 @@ if [ "$SHOWINDEX" ]; then
[ "${AUTOPORT_ARCH[$i]}" ] || continue
[ "${AUTOPORT_DISABLE[$i]}" -a "${AUTOPORT_DISABLE[$i]}" != "0" ] && continue
RNUM=-1
for r in ${AUTOPORT_REPOSITORIES[$i]}; do
RNUM=`expr $RNUM + 1`
if [ "${AUTOPORT_UPDATE[$i]}" ]; then
echo "<a href=\"?NUM=$i$HOST_ADD\">$r(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
echo "<a href=\"?NUM=$i&REP=$RNUM$HOST_ADD\">$r(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
elif [ "${AUTOPORT_CHROOT[$i]}" ]; then
echo "<a href=\"?NUM=$i$HOST_ADD\">$r(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
echo "<a href=\"?NUM=$i&REP=$RNUM$HOST_ADD\">$r(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
elif [ "${AUTOPORT_NATIVE[$i]}" ]; then
echo "<a href=\"?NUM=$i$HOST_ADD\">$r(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
echo "<a href=\"?NUM=$i&REP=$RNUM$HOST_ADD\">$r(${AUTOPORT_ARCH[$i]})</a>&nbsp;"
elif [ "${AUTOPORT_CROSS[$i]}" ]; then
echo "<a href=\"?NUM=$i$HOST_ADD\">$r(${AUTOPORT_CROSS[$i]};${AUTOPORT_ARCH[$i]})</a>&nbsp;"
echo "<a href=\"?NUM=$i&REP=$RNUM$HOST_ADD\">$r(${AUTOPORT_CROSS[$i]};${AUTOPORT_ARCH[$i]})</a>&nbsp;"
fi
done
done
@ -74,7 +77,7 @@ 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
curl "${AUTOPORT_CGI_HOST[$HOST]}?AS_HOST=$HOST&SHOWLOG=$SHOWLOG&NUM=$NUM&REP=$REP&LOG=$LOG" 2>/dev/null
else
for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
@ -96,10 +99,11 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
RELOADTIME=15000
break
fi
RNUM=-1
for r in ${AUTOPORT_REPOSITORIES[$i]}; do
[ "${AUTOPORT_ARCH[$i]}" ] || continue
[ "${AUTOPORT_DISABLE[$i]}" -a "${AUTOPORT_DISABLE[$i]}" != "0" ] && continue
RNUM=`expr $RNUM + 1`
LOGDIR=`environment_logdir $i`
AUTOPORTLOGDIR=`environment_autoport_logdir $i`
ENVROOTDIR=`environment_rootdir $i`
@ -115,8 +119,8 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
AUTODISTLOGFILE="$AUTOPORTLOGDIR/${AUTOPORT_ARCH[$i]}/$r-current.log"
AUTODISTSTATEFILE="$AUTOPORTLOGDIR/autoport-$r-current"
elif [ "${AUTOPORT_NATIVE[$i]}" ]; then
LOGFILE="$LOGDIR/autoport-native-$r-${AUTOPORT_ARCH[$i]}.log"
LASTLOGFILE="$LOGDIR/log/autoport-native-$r-${AUTOPORT_ARCH[$i]}-last.log"
LOGFILE="/var/autodist/log/autoport-native-$r-${AUTOPORT_ARCH[$i]}.log"
LASTLOGFILE="/var/autodist/log/log/autoport-native-$r-${AUTOPORT_ARCH[$i]}-last.log"
AUTODISTLOGFILE="$AUTOPORTLOGDIR/${AUTOPORT_ARCH[$i]}/$r-current.log"
AUTODISTSTATEFILE="$AUTOPORTLOGDIR/autoport-$r-current"
elif [ "${AUTOPORT_CROSS[$i]}" ]; then
@ -126,7 +130,7 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
continue
fi
if [ "$SHOWLOG" ]; then
if [ "$HOST" = "$AS_HOST" -a "$NUM" = "$i" ]; then
if [ "$HOST" = "$AS_HOST" -a "$NUM" = "$i" -a "$REP" = "$RNUM" ]; then
echo -n "<p><h2>$SHOWLOG log in "
if [ "${AUTOPORT_UPDATE[$i]}" ]; then
echo -n "update"
@ -156,19 +160,15 @@ _EOF
else
# Security check
[ "${SHOWLOG/\/\.}" != "${SHOWLOG}" ] && continue
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
BUILDLOGDIR="$LOGDIR"
elif [ "${AUTOPORT_NATIVE[$i]}" -o "${AUTOPORT_UPDATE[$i]}" ]; then
BUILDLOGDIR="/var/autodist/log/"
fi
BUILDLOGDIR="$LOGDIR"
if [ "${SHOWLOG/\/ok\/}" != "${SHOWLOG}" -o "${SHOWLOG/\failed\/}" != "${SHOWLOG}" ]; then
SHOWLOGPKG=${SHOWLOG/*\/}
[ "${SHOWLOGPKG}" ] || continue
echo "<table style=\"color:black\"><tr><td colspan=3>Last ${SHOWLOGPKG} logs:</td>"
echo "<table style=\"color:black;width:auto;\"><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 style=\"color:green;text-decoration:none\" target=_autodist href=\"?NUM=$i$HOST_ADD&SHOWLOG=${t}/ok/${SHOWLOGPKG}\">OK</a></td>" || echo "<td></td>"
[ -e ${BUILDLOGDIR}${t}/failed/${SHOWLOGPKG} ] && echo -n "<td><a style=\"color:green;text-decoration:none\" target=_autodist href=\"?NUM=$i$HOST_ADD&SHOWLOG=${t}/failed/${SHOWLOGPKG}\">FAILED</a></td>" || echo "<td></td>"
[ -e ${BUILDLOGDIR}${t}/ok/${SHOWLOGPKG} ] && echo -n "<td><a style=\"color:green;text-decoration:none\" target=_autodist href=\"?NUM=$i&REP=$RNUM$HOST_ADD&SHOWLOG=${t}/ok/${SHOWLOGPKG}\">OK</a></td>" || echo "<td></td>"
[ -e ${BUILDLOGDIR}${t}/failed/${SHOWLOGPKG} ] && echo -n "<td><a style=\"color:green;text-decoration:none\" target=_autodist href=\"?NUM=$i&REP=$RNUM$HOST_ADD&SHOWLOG=${t}/failed/${SHOWLOGPKG}\">FAILED</a></td>" || echo "<td></td>"
echo "</tr>"
done
echo "</table>"
@ -192,33 +192,33 @@ _EOF
fi
[ "${AUTOPORT_UPDATE[$i]}" ] && break
elif [ ! "$SHOWLOG" ]; then
RELOADTIME=60000
RELOADTIME=600000
[[ "$NUM" && "$NUM" != "$i" ]] && continue
[[ "$HOST" = "$AS_HOST" ]] || continue
if [ "${AUTOPORT_UPDATE[$i]}" ]; then
echo "<b>* <a target=_autodist href=\"?NUM=$i&HOST=$AS_HOST\">$r</a>(${AUTOPORT_ARCH[$i]}) (type:autodist update)"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">log</a> <a target=_autodist href=\"?SHOWLOG=last&NUM=$i$HOST_ADD\">last</a> ]</b>"
echo "<b>* <a target=_autodist href=\"?NUM=$i&REP=$RNUM&HOST=$AS_HOST\">$r</a>(${AUTOPORT_ARCH[$i]}) (type:autodist update)"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i&REP=$RNUM$HOST_ADD\">log</a> <a target=_autodist href=\"?SHOWLOG=last&NUM=$i&REP=$RNUM$HOST_ADD\">last</a> ]</b>"
fi
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
echo "<b>* <a target=_autodist href=\"?NUM=$i&HOST=$AS_HOST\">$r</a>(${AUTOPORT_ARCH[$i]}) (type:chroot autoport</a> chroot:${AUTOPORT_CHROOT[$i]})"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">log</a> <a target=_autodist href=\"?SHOWLOG=last&NUM=$i$HOST_ADD\">last</a> ]</b>"
echo "<b>* <a target=_autodist href=\"?NUM=$i&REP=$RNUM&HOST=$AS_HOST\">$r</a>(${AUTOPORT_ARCH[$i]}) (type:chroot autoport</a> chroot:${AUTOPORT_CHROOT[$i]})"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i&REP=$RNUM$HOST_ADD\">log</a> <a target=_autodist href=\"?SHOWLOG=last&NUM=$i&REP=$RNUM$HOST_ADD\">last</a> ]</b>"
fi
if [ "${AUTOPORT_NATIVE[$i]}" ]; then
echo "<b>* <a target=_autodist href=\"?NUM=$i&HOST=$AS_HOST\">$r</a>(${AUTOPORT_ARCH[$i]}) (type:native autoport)"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">log</a> <a target=_autodist href=\"?SHOWLOG=last&NUM=$i$HOST_ADD\">last</a> ]</b>"
echo "<b>* <a target=_autodist href=\"?NUM=$i&REP=$RNUM&HOST=$AS_HOST\">$r</a>(${AUTOPORT_ARCH[$i]}) (type:native autoport)"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i&REP=$RNUM$HOST_ADD\">log</a> <a target=_autodist href=\"?SHOWLOG=last&NUM=$i&REP=$RNUM$HOST_ADD\">last</a> ]</b>"
fi
if [ "${AUTOPORT_CROSS[$i]}" ]; then
echo "<b>* <a target=_autodist href=\"?NUM=$i&HOST=$AS_HOST\">cross-platform</a> autoport (arch:${AUTOPORT_CROSS[$i]})</b>"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i$HOST_ADD\">last</a> ]</b>"
echo "<b>* <a target=_autodist href=\"?NUM=$i&REP=$RNUM&HOST=$AS_HOST\">cross-platform</a> autoport (arch:${AUTOPORT_CROSS[$i]})</b>"
echo " [ <a target=_autodist href=\"?SHOWLOG=current&NUM=$i&REP=$RNUM$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>"
echo -n "<pre style='margin:1px;word-wrap:normal;white-space:pre;'>"
unset BUILDNOWIDX BUILDLOG BUILDNOW BUILDNOWSTATUS SCHEDULED STARTTIME AUTODIST_PID ENDTIME
if [ "${AUTOPORT_UPDATE[$i]}" ]; then
BUILDNOWIDX=0
@ -297,9 +297,9 @@ _EOF
else
WEBBUILD_APPEND="&LOGSTATUSOK=false"
fi
echo -n "<a target=_webbuild href=\"/distribution/webbuild.php?REQUEST=autobuildedit&ENVIRONMENT=$i&PACKAGE=$JOBNAME&LOGTYPE=$OPERATIONNAME${WEBBUILD_APPEND}\"><b>$JOBNAME</b></a>: "
echo -n "<a target=_webbuild href=\"$AUTOPORT_WEBBUILD_HOST?REQUEST=autobuildedit&ENVIRONMENT=$i&PACKAGE=$JOBNAME&LOGTYPE=$OPERATIONNAME${WEBBUILD_APPEND}\"><b>$JOBNAME</b></a>: "
else
echo -n "<a target=_webbuild href=\"/distribution/webbuild.php?ENVIRONMENT=$i&PACKAGE=$JOBNAME\"><b>$JOBNAME</b></a>: "
echo -n "<a target=_webbuild href=\"$AUTOPORT_WEBBUILD_HOST?ENVIRONMENT=$i&PACKAGE=$JOBNAME\"><b>$JOBNAME</b></a>: "
fi
fi
rowcnt=0
@ -312,26 +312,26 @@ _EOF
# fi
case $OPERATIONNAME-$OPERATIONSTATUS in
build-ok|send-ok|install-ok|retryinstall-ok)
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\">$OPERATIONNAME:$OPERATIONSTATUS</a>"
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i&REP=$RNUM$HOST_ADD\">$OPERATIONNAME:$OPERATIONSTATUS</a>"
;;
update-failed|autoupdate-failed)
if [ "${BUILDNOWSTATUS[$b]}" = "4" ]; then
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=green>$OPERATIONNAME:up-to-date</font></a>"
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i&REP=$RNUM$HOST_ADD\"><font color=green>$OPERATIONNAME:up-to-date</font></a>"
elif [ "${BUILDNOWSTATUS[$b]}" = "3" ]; then
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=darkgoldenrod>$OPERATIONNAME:unknown</font></a>"
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i&REP=$RNUM$HOST_ADD\"><font color=darkgoldenrod>$OPERATIONNAME:unknown</font></a>"
elif [ "${BUILDNOWSTATUS[$b]}" = "2" ]; then
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=darkgoldenrod>$OPERATIONNAME:newer</font></a>"
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i&REP=$RNUM$HOST_ADD\"><font color=darkgoldenrod>$OPERATIONNAME:newer</font></a>"
else
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=red>$OPERATIONNAME:$OPERATIONSTATUS</font></a>"
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i&REP=$RNUM$HOST_ADD\"><font color=red>$OPERATIONNAME:$OPERATIONSTATUS</font></a>"
fi
;;
*-ok) echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=black>$OPERATIONNAME:$OPERATIONSTATUS</font></a>"
*-ok) echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i&REP=$RNUM$HOST_ADD\"><font color=black>$OPERATIONNAME:$OPERATIONSTATUS</font></a>"
;;
*)
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i$HOST_ADD\"><font color=red>$OPERATIONNAME:$OPERATIONSTATUS</font></a>"
echo -n "<a target=_autodist href=\"?SHOWLOG=$l&NUM=$i&REP=$RNUM$HOST_ADD\"><font color=red>$OPERATIONNAME:$OPERATIONSTATUS</font></a>"
;;
esac
# [ "$SUBJOBNAME" != "$JOBNAME" ] && echo -en "(<a href=\"/distribution/webbuild.php?ENVIRONMENT=$i&PACKAGE=$SUBJOBNAME\" target=\"webbuild\">$SUBJOBNAME</a>)"
# [ "$SUBJOBNAME" != "$JOBNAME" ] && echo -en "(<a href=\"$AUTOPORT_WEBBUILD_HOST?ENVIRONMENT=$i&PACKAGE=$SUBJOBNAME\" target=\"webbuild\">$SUBJOBNAME</a>)"
echo -n " "
rowcnt=`expr $rowcnt + 1`
done
@ -345,7 +345,7 @@ _EOF
if [ "$ENDTIME" ]; then
echo "<b>End:</b> $ENDTIME"
elif [ "$AUTODIST_PID" ]; then
echo "<b>End: <a target=_autodist href=\"?SHOWLOG=current.$AUTODIST_PID&NUM=$i$HOST_ADD\">in progress</a></b>"
echo "<b>End: <a target=_autodist href=\"?SHOWLOG=current.$AUTODIST_PID&NUM=$i&REP=$RNUM$HOST_ADD\">in progress</a></b>"
fi
echo
# grep -v "^=" $LOGFILE | tail -n "$LINES" | sed "s|.*\r||"
@ -358,16 +358,20 @@ 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
WBHOSTURL=`echo ${AUTOPORT_CGI_HOST[$h]} | sed "s|^\(http[s]*://[^/]*\).*$|\1|"`
if [ "$WBHOSTURL" ]; then
curl -m1 -s -I ${WBHOSTURL} >/dev/null || continue
if [ "$NUM" -a "$HOST" = "$h" ]; then
curl "${AUTOPORT_CGI_HOST[$h]}?AS_HOST=$h&LINES=$LINES&NUM=$NUM&REP=$RNUM&HOST=$HOST" 2>/dev/null
elif [ ! "$NUM" ]; then
curl "${AUTOPORT_CGI_HOST[$h]}?AS_HOST=$h&LINES=$LINES" 2>/dev/null
fi
fi
done
fi
fi
if [ "$AS_HOST" = "0" ]; then
echo "<br><p><i>Generated by autodist CGI interface. Last update: `date`</i>"
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>"

1117
autodist-repository Executable file

File diff suppressed because it is too large Load Diff

1
autodist-tmpfilesd Normal file
View File

@ -0,0 +1 @@
d /run/autodist 775 autodist packager

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# autodist-tool
# Copyright (c) 2008-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (c) 2008-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
. /etc/autodist/config
me=(${0##*/} $VERSION "Tue Oct 28 2008")
@ -14,7 +14,6 @@ SOURCESDIR=$AUTOUPDATEDIR/sources/
SRCPKGLIST=/var/ftp/pub/openmamba/$AUTODIST_REPOSITORY/srcpkglist
SUCCESSLISTDIR=$AUTOUPDATEDIR
SKIPPEDLISTDIR=$AUTOUPDATEDIR
DISTDBFILE=/etc/autodist/distdb
#eval `autospec -q --eval="srpms_dir"`
#eval `autospec -q --eval="rpms_dir"`
@ -133,7 +132,7 @@ elif [ "$COMMAND" = "schedule" ]; then
# while read line; do
# set -- $line
# if [ "`echo \" $1 \" | grep \" $JOB \"`" ]; then
if [ "`grep \"^$JOB \" $SRCPKGLIST`" -o "`grep \"^$JOB=(\" $DISTDBFILE`" ]; then
if [ "`grep \"^$JOB \" $SRCPKGLIST`" -o "`autodist --list-jobs | grep ^$JOB$`" ]; then
echo "Job $JOB scheduled for automatic update or rebuild"
sed -i "/^$JOB .*/d" $AUTOUPDATEDIR/manual.in
echo "$JOB $JOBVER 0" >> $AUTOUPDATEDIR/manual.in || exit 1
@ -165,7 +164,7 @@ elif [ "$COMMAND" = "skip" ]; then
if [ "$SKIPPEDLINE" ]; then
sed -i "/^$PKGNAME /d" $SKIPPEDLISTDIR/*.skip
fi
if [ "`grep \"^$JOB \" $SRCPKGLIST`" -o "`grep \"^$JOB=(\" $DISTDBFILE`" ]; then
if [ "`grep \"^$JOB \" $SRCPKGLIST`" -o "`autodist --list-jobs | grep ^$JOB$`" ]; then
echo "$JOB $DATE_NOW 101" >> $SKIPPEDLISTDIR/auto.skip
echo "Job $JOB skipped from automatic builds"
else

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# autodist upstream updates - find upstream packages updates from different internet resources
# Copyright (c) 2004-2013 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (c) 2004-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
#[ -r /etc/sysconfig/openmamba-central ] || {
@ -24,16 +24,6 @@ XORG_RELEASE=current
done
}
[ -r $PKGLIST_FILE ] || {
echo "Error: file $PKGLIST_FILE cannot be read; aborting." >&2
exit 1
}
[ -r $ALIASES_DB ] || {
echo "Error: file $ALIASES_DB cannot be read; aborting." >&2
exit 1
}
function usage()
{
echo "openmamba-upstream-updates - finds upstream packages updates from different internet resources"
@ -168,6 +158,15 @@ UPDATES_DB=$CACHE_DIR/upstream-updates
ALIASES_DB=$CACHE_DIR/aliases
MANUALVER_DB=$CACHE_DIR/manualver
[ -s $PKGLIST_FILE ] || {
echo "Error: file $PKGLIST_FILE is missing or empty; aborting." >&2
exit 1
}
[ -r $ALIASES_DB ] || {
echo "Error: file $ALIASES_DB cannot be read; aborting." >&2
exit 1
}
parse_arch_linux() {
# parse Arch Linux package list
@ -232,7 +231,16 @@ parse_gnome() {
ver="$3"
alias=`grep "^$pkg " $ALIASES_DB`
[ "$alias" ] || alias=`grep "^lib$pkg " $ALIASES_DB`
[ "$pkg" -a "$ver" ] && echo "$pkg $ver $SOURCEURL ${alias/* /}" >> $tmpfile
if [ "$pkg" -a "$ver" ]; then
ver1=$(echo $ver | cut -d. -f1)
ver2=$(echo $ver | cut -d. -f2)
if [ "$ver2" -a $(($ver2 % 2)) -ne 0 ]; then
# skip unstable versions with odd numbers
continue
else
echo "$pkg $ver $SOURCEURL ${alias/* /}" >> $tmpfile
fi
fi
fi
done
done

View File

@ -1,6 +1,6 @@
#!/bin/bash
# automaint -- batch automatic maintainance tool of the autodist suite
# Copyright (C) 2013 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (C) 2013-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
# Released under the terms of the GNU GPL release 3 license
#
@ -159,7 +159,18 @@ for a in `seq 1 ${#ARCHS[*]}`; do
needportlist[$a-1]="${needport_list[*]}"
done
for p in ${pkglist[0]}; do
tmpfile=`mktemp -q -t $me.XXXXXXXX` || {
echo "ERROR: cannot create temporary files." >&2
exit 1
}
for a in `seq 1 ${#ARCHS[*]}`; do
echo -n "${pkglist[$a-1]} " >> $tmpfile
done
allpkgs="`cat $tmpfile | xargs -n 1 | sort -u | xargs`"
rm -f $tmpfile
for p in ${allpkgs}; do
pkgcontinue=
needsport=
for w in ${warningslist[*]}; do
@ -167,22 +178,39 @@ for p in ${pkglist[0]}; do
done
[ "$pkgcontinue" ] && continue
get_pkg_buildinfo $LOCAL_REPS_BASE_DIR/distromatic/$SOURCE_REPOSITORY ${ARCHS[0]} $p
for a in `seq 1 ${#ARCHS[*]}`; do
get_pkg_buildinfo $LOCAL_REPS_BASE_DIR/distromatic/$DEST_REPOSITORY ${ARCHS[$a-1]} $p
if [ "$pkg_name" ]; then
spkg_version=$pkg_version
spkg_release=$pkg_release
break
fi
done
[ "$pkg_name" ] || {
echo "$p: not present in $DEST_REPOSITORY; skipping."
continue
}
[ "$VERBOSE" ] && echo "$p: old release in $DEST_REPOSITORY is $spkg_version-$spkg_release"
for o in ${needportlist[*]}; do
[ "$p" = "$o" ] && { needsport=1; break; }
done
[ "$needsport" -a ! "$PORT_REPOSITORY" ] && continue
spkg_version=$pkg_version
spkg_release=$pkg_release
get_pkg_buildinfo $LOCAL_REPS_BASE_DIR/distromatic/$DEST_REPOSITORY ${ARCHS[0]} $p
for a in `seq 1 ${#ARCHS[*]}`; do
get_pkg_buildinfo $LOCAL_REPS_BASE_DIR/distromatic/$SOURCE_REPOSITORY ${ARCHS[$a-1]} $p
[ "$pkg_name" ] && break
done
[ "$pkg_name" ] || {
echo "$p: looks like a new package; skipping."
echo "$p: not present in $SOURCE_REPOSITORY; skipping."
continue
}
[ "$VERBOSE" ] && echo "$p: new release in $SOURCE_REPOSITORY is $pkg_version-$pkg_release"
if [ "$pkg_version" = "$spkg_version" ]; then
if [ "$pkg_release" = "$spkg_release" ]; then
echo "$p: same release as upstream; skipping."
@ -195,33 +223,45 @@ for p in ${pkglist[0]}; do
read -ra SVER <<< "$spkg_version"
read -ra VER <<< "$pkg_version"
IFS=$OIFS
dotdiff=`expr ${#VER[*]} - ${#SVER[*]}`
for i in `seq 1 ${#SVER[*]}`; do
[ "${SVER[i-1]}" != "${VER[i-1]}" ] && break
done
if [ "$i" = "${#SVER[*]}" ]; then
if [[ 64#${SVER[i-1]} -gt 64#89 && 64#${VER[i-1]} -lt 64#80 ]]; then
[ "$VERBOSE" ] && echo "$p: dubious beta upgrade from ${VER[i-1]} to ${SVER[i-1]}; skipping."
if [ "$i" = "${#SVER[*]}" -a $dotdiff -eq 0 ]; then
# e.g. SVER=0.11.3 -> VER=0.11.4
if [[ 64#${VER[i-1]} -gt 64#89 && 64#${SVER[i-1]} -lt 64#80 ]]; then
[ "$VERBOSE" ] && echo "$p: dubious beta upgrade from ${SVER[i-1]} to ${VER[i-1]}; skipping."
continue
fi
update_type="minor"
elif [ $dotdiff -lt 0 ]; then
[ "$VERBOSE" ] && echo "$p: newer version has less dots than older ${#VER[*]} < ${#SVER[*]}; skipping."
continue
elif [ "$i" != "${#SVER[*]}" ]; then
# e.g. SVER=0.11 -> VER=1.0
[ "$VERBOSE" ] && echo "$p: not a minor version update at position $i/${#SVER[*]}: ${SVER[i-1]} != ${VER[i-1]}; skipping."
continue
elif [ "${SVER[i-1]}" = "${VER[i-1]}" -a $dotdiff -ge 1 ]; then
# e.g. SVER=0.11.2 -> VER=0.11.2.3
update_type="minor"
else
[ "$VERBOSE" ] && echo "$p: dubious not-minor version update $i/${#SVER[*]}: ${SVER[i-1]} != ${VER[i-1]}; skipping."
echo "$p: UNEXPECTED CASE - CHECK CODE; skipping."
continue
fi
fi
if [ "$needsport" ]; then
echo "$p: importing from $SOURCE_REPOSITORY to $PORT_REPOSITORY ($spkg_version-$spkg_release -> $pkg_version-$pkg_release)"
echo "$p: importing from $SOURCE_REPOSITORY to $PORT_REPOSITORY ($pkg_version-$pkg_release -> $spkg_version-$spkg_release)"
if [ ! "$TESTMODE" ]; then
openmamba-repository import $SOURCE_REPOSITORY $p -d $PORT_REPOSITORY -y >/dev/null
autodist-repository import $SOURCE_REPOSITORY $p -d $PORT_REPOSITORY -y >/dev/null
if [ $? -eq 0 -a "$WEBBUILD_URL" -a "$WEBBUILD_USER" ]; then
curl -s "$WEBBUILD_URL?REQUEST=message&USER=$WEBBUILD_USER&SECRET=${WEBBUILD_SECRET}&USER_EMAIL=$WEBBUILD_EMAIL&\
MESSAGE=`cgi_encodevar \"imported <b>$p</b> from <b>$SOURCE_REPOSITORY</b> to <b>$PORT_REPOSITORY</b> for porting\"`" >/dev/null
fi
fi
else
echo "$p: importing from $SOURCE_REPOSITORY to $DEST_REPOSITORY ($spkg_version-$spkg_release -> $pkg_version-$pkg_release; update type: $update_type)"
echo "$p: importing from $SOURCE_REPOSITORY to $DEST_REPOSITORY ($pkg_version-$pkg_release -> $spkg_version-$spkg_release; update type: $update_type)"
if [ ! "$TESTMODE" ]; then
openmamba-repository import $SOURCE_REPOSITORY $p -d $DEST_REPOSITORY -y >/dev/null
autodist-repository import $SOURCE_REPOSITORY $p -d $DEST_REPOSITORY -y >/dev/null
if [ $? -eq 0 -a "$WEBBUILD_URL" -a "$WEBBUILD_USER" ]; then
curl -s "$WEBBUILD_URL?REQUEST=message&USER=$WEBBUILD_USER&SECRET=${WEBBUILD_SECRET}&USER_EMAIL=$WEBBUILD_EMAIL&\
MESSAGE=`cgi_encodevar \"imported <b>$p</b> from <b>$SOURCE_REPOSITORY</b> to <b>$DEST_REPOSITORY</b>\"`" >/dev/null

172
autoport
View File

@ -1,10 +1,10 @@
#!/bin/bash
# autoport -- batch cross-build tool based on autodist
# Copyright (C) 2011-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (C) 2011-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
# Released under the terms of the GNU GPL release 3 license
#
VERSION=0.9.8
VERSION=0.9.21
BASE_ARCH=i586
BASE_REPOSITORY=devel
@ -17,13 +17,13 @@ me=(${0##*/} $VERSION "Sat Mar 20 2011")
function usage() {
echo "\
${me[0]} ${me[1]}
"$"Copyright (C) 2011-2012 Silvan Calarco <silvan.calarco@mambasoft.it>""
"$"Copyright (C) 2011-2014 Silvan Calarco <silvan.calarco@mambasoft.it>""
"$"Released under the terms of the GNU GPL v3 license"
echo "
"$"Batch port and cross-build tool based on autodist.""
"$"Usage"":
$me [-a][-f][-x arch1[,arch2],..][-r repository][-d release_repository]{--fix|job ...}
$me [-a][-f][-x arch1[,arch2],..][-r repository][-d release_repository][-s \"script_args\"]{--fix|job ...}
-a "$"Automatic mode (use cache)
-b "$"Batch port all packages in port repository to sync with base repository
@ -33,12 +33,14 @@ ${me[0]} ${me[1]}
-nr "$"Don't recurse build
--fix "$"Fix .la files for cross linking and exit
-r "$"Work on given repository (default: $PORT_REPOSITORY)
-d "$"Release packages to given repository (default: $PORT_REPOSITORY)
-d "$"Release packages to given repository (default: work repository)
-h "$"Show this help and exit
-s \"script_args\" "$"Send script_args as arguments for autodist update-specfile script
-u changelog "$"Rebuild packages with given changelog
-ud "$"Rebuild dependent packages that need rebuild
-v "$"More verbose output
-x "$"Operate in cross build mode
--user user "$"Pass calling user name for Webbuild social messages""
--user user "$"Pass calling user name for Webbuild social messages
arch "$"Target architecture
job "$"Job specification for autodist""
@ -146,24 +148,22 @@ function get_pkg_buildinfo() {
# }
# . $DISTROMATIC_BUILD_FILE
for i in ${pkg_list[*]}; do
if [ "$i" == "${pkg_header[0]}" ]; then
pkg_name=${pkg_header[0]};
# Note: pkg_arch reported in builds file is just last arch source was
# built for, so we use repository arch instead
pkg_arch=${pkg_header[1]};
[ "$pkg_arch" = "noarch" ] || pkg_arch=${local_arch}
pkg_version=${pkg_header[2]};
pkg_release=${pkg_header[3]};
pkg_group=${pkg_header[4]};
pkg_license=${pkg_header[5]};
pkg_size=${pkg_header[6]};
pkg_buildtime=${pkg_header[7]};
pkg_altrep=${pkg_header[8]};
pkg_repository=${pkg_header[9]};
return 0
fi
done
if [ "${pkg_header[0]}" ]; then
pkg_name=${pkg_header[0]};
# Note: pkg_arch reported in builds file is just last arch source was
# built for, so we use repository arch instead
pkg_arch=${pkg_header[1]};
[ "$pkg_arch" = "noarch" ] || pkg_arch=${local_arch}
pkg_version=${pkg_header[2]};
pkg_release=${pkg_header[3]};
pkg_group=${pkg_header[4]};
pkg_license=${pkg_header[5]};
pkg_size=${pkg_header[6]};
pkg_buildtime=${pkg_header[7]};
pkg_altrep=${pkg_header[8]};
pkg_repository=${pkg_header[9]};
return 0
fi
unset pkg_name pkg_arch pkg_version pkg_release \
pkg_group pkg_license pkg_size pkg_buildtime pkg_altrep pkg_repository
@ -184,7 +184,7 @@ _EOF
function find_source_by_provide() {
local pkg=`echo $2 | sed "s|(|\\\\\[|g;s|)|\\\\\]|g;s|:|_|g"`
grep "^$pkg:" $DATADIR/$1/sources-$BASE_ARCH | \
grep "^$pkg:" $DATADIR/$1/sources-{$BASE_ARCH,$TARGET_ARCH} | \
awk '{ $1=""; print $0 }' | \
sed "s|[[:space:]]_| |g"
}
@ -211,9 +211,16 @@ function find_requirements() {
> $tf
sort -u $tf1 | while read line; do
REQ=`find_source_by_provide $PORT_REPOSITORY ${line}`
[ "$REQ" ] && \
echo "${REQ}" >> $tf || \
if [ "$REQ" ]; then
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH $REQ
if [ "$pkg_name" ]; then
echo -n "$line(notrebuilding) "
else
echo "${REQ}" >> $tf
fi
else
echo -n "$line(unresolved) "
fi
done
> $tf1
cat $tf | sort -u 2>/dev/null | while read line; do
@ -232,12 +239,24 @@ function find_requirements() {
}
fetch_repfiles() {
curl -s ${REPS_BASE_URL}/$PORT_REPOSITORY/srcpkglist -o $DATADIR/$PORT_REPOSITORY/srcpkglist ||
local u
curl -f -L -s ${REPS_BASE_URL}/$PORT_REPOSITORY/srcpkglist -o $DATADIR/$PORT_REPOSITORY/srcpkglist ||
echo "Warning: unable to fetch ${REPS_BASE_URL}/$PORT_REPOSITORY/srcpkglist"
curl -s $PORT_REPOSITORY_DISTROMATIC_URL/sources-$BASE_ARCH -o $DATADIR/$PORT_REPOSITORY/sources-$BASE_ARCH ||
curl -f -L -s $PORT_REPOSITORY_DISTROMATIC_URL/sources-$BASE_ARCH -o $DATADIR/$PORT_REPOSITORY/sources-$BASE_ARCH ||
echo "Warning: unable to fetch $PORT_REPOSITORY_DISTROMATIC_URL/sources-$BASE_ARCH"
curl -s $PORT_REPOSITORY_DISTROMATIC_URL/builds-$TARGET_ARCH.sh -o $DATADIR/$PORT_REPOSITORY/builds-$TARGET_ARCH.sh ||
echo "Error: unable to fetch $PORT_REPOSITORY_DISTROMATIC_URL/builds-$TARGET_ARCH.sh"
curl -f -L -s $PORT_REPOSITORY_DISTROMATIC_URL/sources-$TARGET_ARCH -o $DATADIR/$PORT_REPOSITORY/sources-$TARGET_ARCH ||
echo "Warning: unable to fetch $PORT_REPOSITORY_DISTROMATIC_URL/sources-$TARGET_ARCH"
curl -f -L -s $PORT_REPOSITORY_DISTROMATIC_URL/builds-$TARGET_ARCH.sh -o $DATADIR/$PORT_REPOSITORY/builds-$TARGET_ARCH.sh ||
echo "Warning: unable to fetch $PORT_REPOSITORY_DISTROMATIC_URL/builds-$TARGET_ARCH.sh"
for u in ${AUTOPORT_UNSTAGE_ARCHS}; do
[ "$u" = "$TARGET_ARCH" ] && {
rm -f $DATADIR/$PORT_REPOSITORY/unstage.$TARGET_ARCH
return
}
done
curl -f -L -s ${REPS_BASE_URL}/${PORT_REPOSITORY/-*}/unstage.$TARGET_ARCH -o $DATADIR/$PORT_REPOSITORY/unstage.$TARGET_ARCH ||
echo "Warning: unable to fetch ${REPS_BASE_URL}/${PORT_REPOSITORY/-*}/unstage.$TARGET_ARCH"
}
[ $# -gt 0 ] || { usage ; exit 1; }
@ -267,6 +286,9 @@ for ((i=1; i<=$#; i++)); do
exit 1
}
;;
-ud) REBUILD_DEPENDANT_MODE=1
DONT_RECURSE=1
;;
-npa) DONT_PREPARE_ANY=1
DONT_PREPARE=1 ;;
-np) DONT_PREPARE=1 ;;
@ -275,6 +297,9 @@ for ((i=1; i<=$#; i++)); do
-r) shift
PORT_REPOSITORY="${!i}"
;;
-s) shift
SCRIPT_ARGS="${!i}"
;;
-d) shift
DEST_REPOSITORY="${!i}"
;;
@ -321,10 +346,6 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
BASE_REPOSITORY_DISTROMATIC_URL=${DISTROMATIC_BASE_URL}$BASE_REPOSITORY
PORT_REPOSITORY_DISTROMATIC_URL=${DISTROMATIC_BASE_URL}$PORT_REPOSITORY
[ "$AUTO_MODE" -a -e $DATAARCHDIR/last ] && . $DATAARCHDIR/last
JOB=(${JOB_CMDLINE[*]} ${JOB_MISSINGREQ[*]} ${JOB_FAILED[*]})
[ "$FIX_MODE" -o "$BATCH_MODE" -o "${JOB[*]}" ] || { usage ; exit 1; }
[ -d $DATAARCHDIR ] || mkdir -p $DATAARCHDIR
[ -d $DATADIR/$BASE_REPOSITORY ] || mkdir -p $DATADIR/$BASE_REPOSITORY
[ -d $DATADIR/$PORT_REPOSITORY ] || mkdir -p $DATADIR/$PORT_REPOSITORY
@ -351,14 +372,46 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
echo "Port repository is $PORT_REPOSITORY"
echo "Release repository is $DEST_REPOSITORY"
# old files cleanup
rm -f $DATADIR/$PORT_REPOSITORY/sources-$TARGET_CPU
rm -f $DATADIR/$PORT_REPOSITORY/builds-$BASE_ARCH.sh
fetch_repfiles
[ "$AUTO_MODE" -a -e $DATAARCHDIR/last ] && . $DATAARCHDIR/last
if [ "$REBUILD_DEPENDANT_MODE" ]; then
for j in ${JOB_CMDLINE[*]}; do
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH $j
port_pkg_list=${pkg_needrebuild[*]}
port_pkg_builds=" ${pkg_builds[*]} "
port_pkg_version=$pkg_version
port_pkg_release=$pkg_release
currrebuild=
currjobsscriptargs=
JOBNUM=0
for p in ${port_pkg_list}; do
if [ "${p/@*}" != "$currrebuild" ]; then
[ $JOBNUM -gt 0 ] && JOB_SCRIPTARGS[$JOBNUM-1]="$currjobscriptargs"
currjobscriptargs=
currrebuild=${p/@*}
get_pkg_buildinfo $DATADIR/$PORT_REPOSITORY $TARGET_ARCH $currrebuild
JOB=(${JOB[*]} $currrebuild)
let JOBNUM+=1
fi
currprovider=${p/*@}
if [ "$port_pkgbuilds/ $currprovider-devel }" != "$port_pkgbuilds" ]; then
currprovider=${currprovider}-devel
fi
currjobscriptargs="$currjobscriptargs --buildreq ${currprovider} >= $port_pkg_version-$port_pkg_release "
done
[ "$currjobscriptargs" ] && JOB_SCRIPTARGS[$JOBNUM-1]="$currjobscriptargs"
echo "Package dependant from $j to rebuild: ${JOB[*]}"
done
else
JOB=(${JOB_CMDLINE[*]} ${JOB_MISSINGREQ[*]} ${JOB_FAILED[*]})
fi
[ "$FIX_MODE" -o "$BATCH_MODE" -o "${JOB[*]}" ] || { echo "Nothing to do."; exit 0; }
if [ "$BATCH_MODE" ]; then
[ "${JOB[*]}" ] && {
echo "Error: no jobs allowed in batch mode; aborting."
@ -438,8 +491,9 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
else
JOB_CURRENT_VERSION=
fi
if [ "`grep "^${JOB_CURRENT}$" /etc/autodist/unstage 2>/dev/null`" -o \
"`grep "^${JOB_CURRENT}$" /etc/autodist/unstage.${TARGET_ARCH} 2>/dev/null`" ]; then
if [ ! -s $DATADIR/$PORT_REPOSITORY/unstage.${TARGET_ARCH} -o \
"`grep "^${JOB_CURRENT}$" /etc/autodist/unstage.${TARGET_ARCH} 2>/dev/null`" -o \
"`grep "^${JOB_CURRENT}$" $DATADIR/$PORT_REPOSITORY/unstage.${TARGET_ARCH} 2>/dev/null`" ]; then
echo -n "^ $JOB_CURRENT: "
STAGEOPTS=
else
@ -477,6 +531,7 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
fi
DONT_PREPARE_THIS=
RELEASE_UPDATED=
for p in ${JOB_CMDLINE[*]}; do
[ "$p" = "${JOB_CURRENT}" -o "$DONT_PREPARE_ANY" ] || continue
[ -e ${SPECDIR}/${JOB_CURRENT}.spec ] && DONT_PREPARE_THIS="$DONT_PREPARE"
@ -506,11 +561,16 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
echo -n "(OK) "
autoport_log ${JOB_CURRENT} prepare ok $tmpfile
}
if [ "$REBUILD_MODE" = "1" ]; then
if [ "$REBUILD_MODE" = "1" -o "$REBUILD_DEPENDANT_MODE" = "1" ]; then
echo -n "update"
if [ "$REBUILD_DEPENDANT_MODE" ]; then
SCRIPT_ARGS="${JOB_SCRIPTARGS[$JOB_NUM-1]}"
changelogadd="`echo ${SCRIPT_ARGS} | sed "s|--buildreq|,|;s| ||g;s|^,||g"`"
REBUILD_CHANGELOG="rebuilt by autoport with build requirements: '${changelogadd}'"
fi
[ "$VERBOSE_MODE" ] && echo "
%% COMMAND: LANG=C LC_ALL=C autodist -u --rebuild -r ${JOB_CURRENT} --severity 2 -- $STAGEOPTS --changelog \"$REBUILD_CHANGELOG\""
LANG=C LC_ALL=C autodist -u --rebuild -r ${JOB_CURRENT} --severity 2 -- $STAGEOPTS --changelog \"$REBUILD_CHANGELOG\" &>$tmpfile
%% COMMAND: LANG=C LC_ALL=C autodist -u --rebuild -r ${JOB_CURRENT} --severity 2 -- $STAGEOPTS --changelog \"$REBUILD_CHANGELOG\" --- \"$SCRIPT_ARGS\""
LANG=C LC_ALL=C autodist -u --rebuild -r ${JOB_CURRENT} --severity 2 -- $STAGEOPTS --changelog \"$REBUILD_CHANGELOG\" --- $SCRIPT_ARGS &>$tmpfile
[ $? -gt 0 ] && {
echo "(FAILED) "
autoport_log ${JOB_CURRENT} update failed $tmpfile
@ -518,12 +578,13 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
} || {
autoport_log ${JOB_CURRENT} update ok $tmpfile
echo -n "(OK) "
RELEASE_UPDATED=1
}
elif [ "$PORT_REPOSITORY" != "$DEST_REPOSITORY" ]; then
echo -n "update"
[ "$VERBOSE_MODE" ] && echo "
%% COMMAND: LANG=C LC_ALL=C autodist -u -r ${JOB_CURRENT} --severity 2 -- $STAGEOPTS --changelog \"automatic port from $PORT_REPOSITORY\""
LANG=C LC_ALL=C autodist -u -r ${JOB_CURRENT} --severity 2 -- $STAGEOPTS --changelog \"automatic port from $PORT_REPOSITORY\" &>$tmpfile
LANG=C LC_ALL=C autodist -u -r ${JOB_CURRENT} --severity 2 -- $STAGEOPTS --changelog \"automatic port from $PORT_REPOSITORY\" --- $SCRIPT_ARGS &>$tmpfile
cat $tmpfile >> $logfile
[ $? -gt 0 ] && {
echo "(FAILED) "
@ -532,6 +593,7 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
} || {
autoport_log ${JOB_CURRENT} update ok $tmpfile
echo -n "(OK) "
RELEASE_UPDATED=1
}
elif [ "$REBUILD_MILESTONE" -a "$src_milestone" != "$REBUILD_MILESTONE" ]; then
echo -n "update"
@ -563,6 +625,7 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
cat $tmpfile >> $logfile
echo -n "(OK) "
autoport_log ${JOB_CURRENT} update ok $tmpfile
RELEASE_UPDATED=1
}
fi
}
@ -572,15 +635,14 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
autoport_log ${JOB_CURRENT} port failed
continue
fi
if [ "$DONT_PREPARE_THIS" = "1" -a "$src_repository" != "$PORT_REPOSITORY" ]; then
# if both -np and -r were given send to PORT_REPOSITORY instead of src_repository
src_repository=$PORT_REPOSITORY
SEND_REPOSITORY=$DEST_REPOSITORY
if [ ! "$RELEASE_UPDATED" -a ! "$DONT_PREPARE_THIS" ]; then
SEND_REPOSITORY=$src_repository
fi
[ "$PORT_REPOSITORY" != "$DEST_REPOSITORY" ] && src_repository="$DEST_REPOSITORY"
[ ! "$DONT_PREPARE_THIS" -a "$PORT_REPOSITORY" = "$DEST_REPOSITORY" -a ! "$REBUILD_MILESTONE" ] && NOSRPM_OPTS="--nosrpm" || NOSRPM_OPTS="--force"
[ ! "$DONT_PREPARE_THIS" -a ! "$RELEASE_UPDATED" ] && NOSRPM_OPTS="--nosrpm" || NOSRPM_OPTS="--force"
[ "$VERBOSE_MODE" ] && echo "
%% COMMAND: LANG=C LC_ALL=C autodist -b -s ${JOB_CURRENT} --arch $TARGET_ARCH --server $src_repository --repository $PORT_REPOSITORY --severity 2 $FORCE_FLAG -- $STAGEOPTS $NOSRPM_OPTS"
LANG=C LC_ALL=C autodist -b -s ${JOB_CURRENT} --arch $TARGET_ARCH --server $src_repository --repository $PORT_REPOSITORY --severity 2 $FORCE_FLAG -- $STAGEOPTS $NOSRPM_OPTS &>$tmpfile
%% COMMAND: LANG=C LC_ALL=C autodist -b -s ${JOB_CURRENT} --arch $TARGET_ARCH --server $SEND_REPOSITORY --repository $PORT_REPOSITORY --severity 2 $FORCE_FLAG -- $STAGEOPTS $NOSRPM_OPTS"
LANG=C LC_ALL=C autodist -b -s ${JOB_CURRENT} --arch $TARGET_ARCH --server $SEND_REPOSITORY --repository $PORT_REPOSITORY --severity 2 $FORCE_FLAG -- $STAGEOPTS $NOSRPM_OPTS &>$tmpfile
[ $? -gt 0 ] && {
if [ "$VERBOSE_MODE" ]; then
echo
@ -607,10 +669,10 @@ for TARGET_ARCH in ${TARGET_ARCHS}; do
if [ "$WEBBUILD_URL" -a "$WEBBUILD_USER" ]; then
if [ "$WEBBUILD_USER_CMDLINE" ]; then
curl -s "$WEBBUILD_URL?REQUEST=message&USER=$WEBBUILD_USER&SECRET=$WEBBUILD_SECRET&USER_EMAIL=$WEBBUILD_EMAIL&\
MESSAGE=`cgi_encodevar \"(invoked by $WEBBUILD_USER_CMDLINE) ported <b>$JOB_CURRENT</b> to <b>$TARGET_ARCH</b> and sent it to <b>$src_repository</b>\"`" >/dev/null
MESSAGE=`cgi_encodevar \"(invoked by $WEBBUILD_USER_CMDLINE) ported <b>$JOB_CURRENT</b> to <b>$TARGET_ARCH</b> and sent it to <b>$SEND_REPOSITORY</b>\"`" >/dev/null
else
curl -s "$WEBBUILD_URL?REQUEST=message&USER=$WEBBUILD_USER&SECRET=$WEBBUILD_SECRET&USER_EMAIL=$WEBBUILD_EMAIL&\
MESSAGE=`cgi_encodevar \"ported <b>$JOB_CURRENT</b> to <b>$TARGET_ARCH</b> and sent it to <b>$src_repository</b>\"`" >/dev/null
MESSAGE=`cgi_encodevar \"ported <b>$JOB_CURRENT</b> to <b>$TARGET_ARCH</b> and sent it to <b>$SEND_REPOSITORY</b>\"`" >/dev/null
fi
fi
}
@ -654,8 +716,8 @@ MESSAGE=`cgi_encodevar \"ported <b>$JOB_CURRENT</b> to <b>$TARGET_ARCH</b> and s
JOB_CANTINSTALL=()
for JOB_NUM in `seq 1 ${#JOB_CANTINSTALL_OLD[*]}`; do
JOB_CURRENT=${JOB_CANTINSTALL_OLD[$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
if [ "`grep "^${JOB_CURRENT}$" /etc/autodist/unstage.${TARGET_ARCH} 2>/dev/null`" -o \
"`grep "^${JOB_CURRENT}$" $DATADIR/$PORT_REPOSITORY/unstage.$TARGET_ARCH 2>/dev/null`" ]; then
echo -n "$JOB_CURRENT: "
STAGEOPTS=
else
@ -718,4 +780,4 @@ MESSAGE=`cgi_encodevar \"ported <b>$JOB_CURRENT</b> to <b>$TARGET_ARCH</b> and s
rm -f $tmpfile $tmpfile1
done
echo "* All jobs completed. See $logfile for details."
exit 0
exit ${#JOB_FAILED[*]}

View File

@ -1,6 +1,8 @@
# Global configuration file for autodist
#
REPS_BASE_URL=http://www.openmamba.org/pub/openmamba
AUTODIST_ARCHS=(i586 x86_64 arm)
SITE_BASE_URL=http://www.openmamba.org
REPS_BASE_URL=${SITE_BASE_URL}/pub/openmamba
LOCAL_REPS_BASE_DIR=/var/ftp/pub/openmamba
SEND_SERVER=devel-autodist
#WEBBUILD_URL=http://localhost/cgi-bin/webbuild
@ -9,6 +11,22 @@ SEND_SERVER=devel-autodist
#WEBBUILD_SECRET=
WEBBUILD_STATEDIR=/var/webbuild
WEBBUILD_DISTROQUERY_URL="http://www.openmamba.org/cgi-bin/distroquery"
AUTOBUILD_MAXNUM=200
AUTOBUILD_DATEFROM=20060601
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_UNSTAGE_ARCHS="i586"
AUTOPORT_STAGEVARS="--define stage1=1"
AUTOPORT_MAX_STEPS=10
#RPMDIR=/usr/src/RPM
AUTODIST_REBUILDOLD_MAX=20
AUTODIST_REBUILDOLD_FROMDATE=20090101
#
# Set to disable autodist-repository and use local list
#
WEBBUILD_REPOSITORIES=(devel devel-games devel-kernel devel-kde4 devel-xorg devel-gnome devel-makedist \
devel-java devel-misc devel-autodist devel-future devel-past \
milestone1 milestone1-updates milestone1-games milestone1-1.1 milestone1-makedist \
@ -17,15 +35,19 @@ WEBBUILD_REPOSITORIES=(devel devel-games devel-kernel devel-kde4 devel-xorg deve
devel-contrib devel-silvan devel-stefano devel-aleph0 devel-skiver devel-fabiog devel-gil \
devel-distservers devel-the_packagizers devel-ercolinux \
devel-contrib-java devel-michiamophil milestone1-java milestone1-contrib)
AUTOBUILD_MAXNUM=200
AUTOBUILD_DATEFROM=20060601
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=10
#RPMDIR=/usr/src/RPM
AUTODIST_REBUILDOLD_MAX=20
AUTODIST_REBUILDOLD_FROMDATE=20090101
#
# Set to enable autodist-repository (you also need to disable WEBBUILD_REPOSITORIES above)
#
#AUTODIST_REPOSITORIES_LOCAL_REPS=(devel devel-games devel-kernel devel-kde4 devel-xorg devel-gnome devel-makedist \
# devel-java devel-misc devel-autodist devel-future devel-past devel-embedded devel-silvan \
# milestone3 milestone3-games milestone3-updates milestone3-makedist \
# milestone2 milestone2-games milestone2-updates milestone2-kernel milestone2-kde4 \
# milestone2-xorg milestone2-makedist milestone2-java milestone2-kernel-next \
# milestone1 milestone1-updates milestone1-games milestone1-1.1 milestone1-makedist)
#AUTODIST_REPOSITORIES_REMOTE_REPS=(devel-contrib devel-stefano devel-aleph0 devel-skiver devel-fabiog devel-gil \
# devel-distservers devel-the_packagizers devel-ercolinux \
# devel-contrib-java devel-michiamophil milestone1-java milestone1-contrib)
#AUTODIST_REPOSITORIES_TRANSITIONAL_REP=devel-makedist
#AUTODIST_REPOSITORIES_REMOTE_FTPUSER=
#AUTODIST_REPOSITORIES_REMOTE_FTPPASS=
#AUTODIST_REPOSITORIES_REMOTE_FTP=

View File

@ -1,289 +0,0 @@
# openmamba autodist build jobs database - architecture independent
#
# Copyright (c) 2006-2013 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released under the terms of the GNU GPL version 3 license
#
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-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
%continue_on_error
1
)
#xorg-drv-video-sisusb,
xorg_drv_input=(
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
%continue_on_error
1
)
abiword=(
abiword,abiword-docs
%build_and_install
1
)
compiz=(
compiz,compiz-bcop,compiz-plugins-extra,compiz-plugins-main,libcompizconfig,compizconfig-backend-kconfig4,\
compizconfig-simple-settings-manager,emerald
%build_and_install
1
)
# compiz-bcop,compizconfig-backend-kconfig,compizconfig-settings-manager,compizconfig-backend-gconf
compiz09=(
compiz-core,libcompizconfig,python-compizconfig,compizconfig-backend-kconfig4,compiz-fusion-plugins-main,compiz-fusion-plugins-extra
%build_and_install
1
)
#curl=(
#curl
#%build_and_install
#1
#)
evolution=(
libevolution-data-server,evolution
%build_and_install
1
)
#,evolution-exchange
#ekiga=(
#libpt,libopal,ekiga
#%build_and_install
#1
#)
#gobby=(
#obby,gobby
#%build_and_install
#1
#)
kde3=(
kdelibs,kdebase,kdeadmin,kdeutils,kdenetwork,kdeaccessibility,kdepim,kdegames,kdegraphics,kdemultimedia,kdeaddons,kdenetwork,\
kdesdk,kdetoys,kdebindings,kdewebdev,kdeedu,kdeartwork,kde-i18n
%build_and_install
1
)
kde4=(
kdelibs,kdepimlibs,oxygen-icons,nepomuk-core,kde-runtime,kactivities,kde-wallpapers,kde-baseapps,\
nepomuk-widgets,kdepim,kdepim-runtime,libkdcraw,libkexiv2,kdeartwork,marble,\
kdeplasma-addons,kde-l10n,blinken,libkipi,gwenview,libkdeedu,analitza,cantor,kalgebra,kalzium,kamera,\
kanagram,kate,kbruch,kcolorchooser,kdegraphics-strigi-analyzer,kgamma,kgeography,khangman,kig,kiten,\
klettres,kmplot,kolourpaint,konsole,kruler,ksnapshot,kstars,libksane,\
okular,smokegen,smokeqt,smokekde,svgpart,rocs,kwordquiz,kturtle,ktouch,qtruby,korundum,\
kross-interpreters,PyKDE4,perl-Qt4,perl-KDE,kdegraphics-thumbnailers,ksaneplugin,parley,step,\
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,sweeper,\
jovie,kmousetool,kmouth,qyoto,kimono,kaccessible,kdegraphics-mobipocket,\
libkcddb,libkcompactdisc,audiocd-kio,kscd,dragon,kmix,juk,print-manager,kdewebdev,\
kde-base-artwork,ffmpegthumbs,kmag,mplayerthumbs,superkaramba,\
libkdegames,bomber,bovo,granatier,kajongg,kapman,knavalbattle,katomic,kblackbox,kblocks,\
ksnakeduel,kbounce,kbreakout,kdiamond,kfourinline,kgoldrunner,kigo,killbots,kiriki,kjumpingcube,\
klickety,klines,libkmahjongg,kmahjongg,kmines,knetwalk,kolf,kollision,konquest,kpat,kshisen,\
kreversi,kspaceduel,ksquares,ksirk,ktuberling,kubrick,lskat,palapeli,ksudoku,pairs,picmi,\
amor,kteatime,ktux,kcron,ksystemlog,kuser,kdenetwork-filesharing,zeroconf-ioslave,kget,kopete,kppp,\
krdc,krfb,kdenetwork-strigi-analyzers,kdesdk-thumbnailers,cervisia,kcachegrind,kdesdk-kioslaves,\
libkomparediff2,kompare,lokalize,okteta,dolphin-plugins,umbrello,kapptemplate,kde-dev-scripts,\
kde-dev-utils,poxml,kdesdk-strigi-analyzers,kwalletmanager,baloo,kfilemetadata
%build_and_install,%continue_on_error
1,1
)
kde4123=(
kdelibs,kdepimlibs,oxygen-icons,nepomuk-core,kde-runtime,kactivities,kde-wallpapers,kde-baseapps,\
nepomuk-widgets,kdepim,kdepim-runtime,libkdcraw,libkexiv2,kdeartwork,marble,\
kdeplasma-addons,kde-l10n,blinken,libkipi,gwenview,libkdeedu,analitza,cantor,kalgebra,kalzium,kamera,\
kanagram,kate,kbruch,kcolorchooser,kdegraphics-strigi-analyzer,kgamma,kgeography,khangman,kig,kiten,\
klettres,kmplot,kolourpaint,konsole,kruler,ksnapshot,kstars,libksane,\
okular,smokegen,smokeqt,smokekde,svgpart,rocs,kwordquiz,kturtle,ktouch,qtruby,korundum,\
kross-interpreters,PyKDE4,perl-Qt4,perl-KDE,kdegraphics-thumbnailers,ksaneplugin,parley,step,\
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,sweeper,\
jovie,kmousetool,kmouth,qyoto,kimono,kaccessible,kdegraphics-mobipocket,\
libkcddb,libkcompactdisc,audiocd-kio,kscd,dragon,kmix,juk,print-manager,kdewebdev,\
kde-base-artwork,ffmpegthumbs,kmag,mplayerthumbs,superkaramba,\
libkdegames,bomber,bovo,granatier,kajongg,kapman,knavalbattle,katomic,kblackbox,kblocks,\
ksnakeduel,kbounce,kbreakout,kdiamond,kfourinline,kgoldrunner,kigo,killbots,kiriki,kjumpingcube,\
klickety,klines,libkmahjongg,kmahjongg,kmines,knetwalk,kolf,kollision,konquest,kpat,kshisen,\
kreversi,kspaceduel,ksquares,ksirk,ktuberling,kubrick,lskat,palapeli,ksudoku,pairs,picmi,\
amor,kteatime,ktux,kcron,ksystemlog,kuser,kdenetwork-filesharing,kdnssd,kget,kopete,kppp,\
krdc,krfb,kdenetwork-strigi-analyzers,kdesdk-thumbnailers,cervisia,kcachegrind,kdesdk-kioslaves,\
libkomparediff2,kompare,lokalize,okteta,dolphin-plugins,umbrello,kapptemplate,kde-dev-scripts,\
kde-dev-utils,poxml,kdesdk-strigi-analyzers
%build_and_install,%continue_on_error
1,1
)
# kwalletmanager
kde4122=(
kdelibs,kdepimlibs,oxygen-icons,nepomuk-core,kde-runtime,kactivities,kde-wallpapers,kde-baseapps,\
nepomuk-widgets,kdepim,kdepim-runtime,libkdcraw,libkexiv2,kdeartwork,marble,\
kdeplasma-addons,kde-l10n,blinken,libkipi,gwenview,libkdeedu,analitza,cantor,kalgebra,kalzium,kamera,\
kanagram,kate,kbruch,kcolorchooser,kdegraphics-strigi-analyzer,kgamma,kgeography,khangman,kig,kiten,\
klettres,kmplot,kolourpaint,konsole,kruler,ksnapshot,kstars,libksane,\
okular,smokegen,smokeqt,smokekde,svgpart,rocs,kwordquiz,kturtle,ktouch,qtruby,korundum,\
kross-interpreters,PyKDE4,perl-Qt4,perl-KDE,kdegraphics-thumbnailers,ksaneplugin,parley,step,\
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,kwallet,sweeper,\
jovie,kmousetool,kmouth,qyoto,kimono,kaccessible,kdegraphics-mobipocket,\
libkcddb,libkcompactdisc,audiocd-kio,kscd,dragon,kmix,juk,print-manager,kdewebdev,\
kde-base-artwork,ffmpegthumbs,kmag,mplayerthumbs,superkaramba,\
libkdegames,bomber,bovo,granatier,kajongg,kapman,knavalbattle,katomic,kblackbox,kblocks,\
ksnakeduel,kbounce,kbreakout,kdiamond,kfourinline,kgoldrunner,kigo,killbots,kiriki,kjumpingcube,\
klickety,klines,libkmahjongg,kmahjongg,kmines,knetwalk,kolf,kollision,konquest,kpat,kshisen,\
kreversi,kspaceduel,ksquares,ksirk,ktuberling,kubrick,lskat,palapeli,ksudoku,pairs,picmi,\
amor,kteatime,ktux,kcron,ksystemlog,kuser,kdenetwork-filesharing,kdnssd,kget,kopete,kppp,\
krdc,krfb,kdenetwork-strigi-analyzers,kdesdk-thumbnailers,cervisia,kcachegrind,kdesdk-kioslaves,\
libkomparediff2,kompare,lokalize,okteta,dolphin-plugins,umbrello,kapptemplate,kde-dev-scripts,\
kde-dev-utils,poxml,kdesdk-strigi-analyzers
%build_and_install,%continue_on_error
1,1
)
kde411=(
kdelibs,kdepimlibs,oxygen-icons,nepomuk-core,kde-runtime,kactivities,kde-workspace,kde-wallpapers,kde-baseapps,\
nepomuk-widgets,kdepim,kdepim-runtime,libkdcraw,libkexiv2,kdeartwork,marble,\
kdeplasma-addons,kde-l10n,blinken,libkipi,gwenview,libkdeedu,analitza,cantor,kalgebra,kalzium,kamera,\
kanagram,kate,kbruch,kcolorchooser,kdegraphics-strigi-analyzer,kgamma,kgeography,khangman,kig,kiten,\
klettres,kmplot,kolourpaint,konsole,kruler,ksnapshot,kstars,libksane,\
okular,smokegen,smokeqt,smokekde,svgpart,rocs,kwordquiz,kturtle,ktouch,qtruby,korundum,\
kross-interpreters,PyKDE4,perl-Qt4,perl-KDE,kdegraphics-thumbnailers,ksaneplugin,parley,step,\
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,kwallet,sweeper,\
jovie,kmousetool,kmouth,qyoto,kimono,kaccessible,kdegraphics-mobipocket,\
libkcddb,libkcompactdisc,audiocd-kio,kscd,dragon,kmix,juk,print-manager,kdewebdev,\
kde-base-artwork,ffmpegthumbs,kmag,mplayerthumbs,superkaramba,\
libkdegames,bomber,bovo,granatier,kajongg,kapman,knavalbattle,katomic,kblackbox,kblocks,\
ksnakeduel,kbounce,kbreakout,kdiamond,kfourinline,kgoldrunner,kigo,killbots,kiriki,kjumpingcube,\
klickety,klines,libkmahjongg,kmahjongg,kmines,knetwalk,kolf,kollision,konquest,kpat,kshisen,\
kreversi,kspaceduel,ksquares,ksirk,ktuberling,kubrick,lskat,palapeli,ksudoku,pairs,picmi,\
amor,kteatime,ktux,kcron,ksystemlog,kuser,kdenetwork-filesharing,kdnssd,kget,kopete,kppp,\
krdc,krfb,kdenetwork-strigi-analyzers,kdesdk-thumbnailers,cervisia,kcachegrind,kdesdk-kioslaves,\
kompare,lokalize,okteta,dolphin-plugins,umbrello,kapptemplate,kde-dev-scripts,kde-dev-utils,poxml
%build_and_install,%continue_on_error
1,1
)
kde410=(
kdelibs,kdepimlibs,oxygen-icons,nepomuk-core,kde-runtime,kactivities,kde-workspace,kde-wallpapers,kde-baseapps,\
nepomuk-widgets,kdepim4,kdepim-runtime,kdeadmin,kdenetwork,kdetoys,kdesdk,libkdcraw,libkexiv2,kdeartwork,marble,\
kdeplasma-addons,kde-l10n,blinken,libkipi,gwenview,libkdeedu,analitza,cantor,kalgebra,kalzium,kamera,\
kanagram,kate,kbruch,kcolorchooser,kdegraphics-strigi-analyzer,kgamma,kgeography,khangman,kig,kiten,\
klettres,kmplot,kolourpaint,konsole,kruler,ksnapshot,kstars,libksane,\
okular,smokegen,smokeqt,smokekde,svgpart,rocs,kwordquiz,kturtle,ktouch,qtruby,korundum,\
kross-interpreters,PyKDE4,perl-Qt4,perl-KDE,kdegraphics-thumbnailers,ksaneplugin,parley,step,\
ark,filelight,kcalc,kcharselect,kdf,kfloppy,kgpg,kremotecontrol,ktimer,kwallet,sweeper,\
jovie,kmousetool,kmouth,qyoto,kimono,kaccessible,kdegraphics-mobipocket,\
libkcddb,libkcompactdisc,audiocd-kio,kscd,dragon,kmix,juk,print-manager,kdewebdev,\
kde-base-artwork,ffmpegthumbs,kmag,mplayerthumbs,superkaramba,\
libkdegames,bomber,bovo,granatier,kajongg,kapman,knavalbattle,katomic,kblackbox,kblocks,\
ksnakeduel,kbounce,kbreakout,kdiamond,kfourinline,kgoldrunner,kigo,killbots,kiriki,kjumpingcube,\
klickety,klines,libkmahjongg,kmahjongg,kmines,knetwalk,kolf,kollision,konquest,kpat,kshisen,\
kreversi,kspaceduel,ksquares,ksirk,ktuberling,kubrick,lskat,palapeli,ksudoku,pairs,picmi
%build_and_install,%continue_on_error
1,1
)
xfce4=(
libxfce4util,libxfce4ui,xfce4-appfinder,xfce4-dev-tools,xfce4-panel,xfce4-session,xfce4-settings,xfconf,xfdesktop,xfwm4
%build_and_install,%continue_on_error
1,1
)
alsa=(
libalsa,libalsa-plugins,alsa-utils,alsa-tools,python-alsa
%build_and_install,%continue_on_error
1,1
)
#,alsa-driver
apache_tomcat=(
apache-tomcat-dbcp,apache-tomcat
%build_and_install
1
)
netbeans=(
netbeans-platform,netbeans
%build_and_install
1
)
#firefox=(
#xulrunner,firefox
#%build_and_install
#1
#)
xfce=(
libxfce4util,xfconf,libxfcegui4,libxfce4ui,xfce-utils,xfce4-appfinder,xfce4-panel,xfce4-session,xfdesktop,xfwm4
%build_and_install
1
)
#xfce4-mixer,xfprint,orage,xfwm4-themes,libxfce4menu
FlightGear=(
libSimGear,FlightGear
%build_and_install
1
)
mythtv=(
mythtv,mythplugins
%build_and_install
1
)
valknut=(
libdc,valknut
%build_and_install
1
)
# use for major release update (e.g. 2.24 -> 2.26)
gnome=(
libgnome,libsoup,libgweather,librsvg,libwnck,libgdl,gnome-desktop,python-gnome-desktop,libeel,gnome-icon-theme,gnome-menus,\
libgnome-panel,anjuta,zenity,metacity,nautilus,brasero,cheese,evince,gconf-editor,gedit,gedit-plugins
%build_and_install,%continue_on_error
1,1
)
#fwbuilder=(
#libfwbuilder,fwbuilder
#%build_and_install
#1
#)
koffice=(
koffice
%build_and_install
1
)
#,koffice-i18n
python_numpy=(
python-numpy
with_pyver
-
3
)
shorewall=(
shorewall-core,shorewall
%build_and_install
1
)

View File

@ -1,81 +0,0 @@
# openmamba autodist build jobs database
#
# Copyright (c) 2006-2010 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released under the terms of the GNU GPL version 3 license
#
#
# XTC 1 (Cross Toolchain)
#
# build native binutils (gcc needed, so it's not a stage1 build)
# and cross platform binutils
#
binutils=(
binutils
cross_target_cpu,_target_platform
arm,arm-openmamba-linux-gnueabi
avr,avr
)
glibc=(
glibc
cross_target_cpu,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER,build_doc,build_profile,build_selinux
arm,-,-,mamba-arm,3.2,0,0,0
)
kernel=(
kernel
target,KERNEL_TARGET
arm,mamba-arm
)
linux_firmware=(
linux-firmware
target,KERNEL_TARGET,KERNEL_VER
arm,mamba-arm,3.4
)
pam=(
pam
bootstrap
1
)
rpm=(
rpm
bootstrap
1
)
klibc=(
klibc
KERNEL_VER
2.6.33mamba-arm
)
gcc=(
gcc
cross_target_cpu,_target_platform,disable_java,disable_gjdoc
arm,arm-openmamba-linux-gnueabi,-,1
avr,avr,1,-
)
udev=(
udev
%build_and_install
0
)
libcec=(
libcec
_with_raspberrypi
-
1
)
xbmc=(
xbmc
_with_raspberrypi
-
1
)

View File

@ -1,430 +0,0 @@
# openmamba autodist build jobs database for i586 platform
#
# Copyright (c) 2006-2010 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released under the terms of the GNU GPL version 3 license
#
#
# XTC 1 (Cross Toolchain)
#
# build native binutils (gcc needed, so it's not a stage1 build)
# and cross platform binutils
#
binutils=(
binutils
cross_target_cpu,_target_platform
i586,i586-openmamba-linux-gnu
arm,arm-openmamba-linux-gnueabi
arm,arm-openmamba-linux-gnueabihf
avr,avr
x86_64,x86_64-openmamba-linux-gnu
ppc,ppc-openmamba-linux-gnu
)
#
# XTC 2
#
# glibc stage1: build headers only
glibc_stage1=(
glibc
cross_target_cpu,stage1,_target_platform,KERNEL_TARGET,KERNEL_VER
i586,1,i586-openmamba-linux-gnu,mamba,-
arm,1,arm-openmamba-linux-gnueabi,mamba-arm,2.6.33
ppc,1,ppc-openmamba-linux-gnu,mamba-ppc,2.6.33
x86_64,1,x86_64-openmamba-linux-gnu,mamba-x86_64,-
)
#
# XTC 3
#
gcc_stage1=(
gcc
cross_target_cpu,stage1,_target_platform
arm,1,arm-openmamba-linux-gnueabi
i586,1,i586-openmamba-linux-gnu
ppc,1,ppc-openmamba-linux-gnu
x86_64,1,x86_64-openmamba-linux-gnu
)
#
# XTC 4
#
glibc_stage2=(
glibc
cross_target_cpu,stage2,bigendian,softfloat,_target_platform,KERNEL_TARGET,KERNEL_VER
arm,1,-,-,arm-openmamba-linux-gnueabi,mamba-arm,2.6.33
i586,1,-,-,i586-openmamba-linux-gnu,mamba,-
ppc,1,-,-,ppc-openmamba-linux-gnu,mamba,-
x86_64,1,-,-,x86_64-openmamba-linux-gnu,mamba-x86_64,-
)
#
# XTC 5
#
gcc=(
gcc
cross_target_cpu,_target_platform,disable_java
i586,i586-openmamba-linux-gnu,-
arm,arm-openmamba-linux-gnueabi,1
x86_64,x86_64-openmamba-linux-gnu,1
avr,avr,1
)
#ppc,ppc-openmamba-linux-gnu,1
#
# XTC 6
#
glibc=(
glibc
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
cross_environment=(
cross-environment
cross_target_cpu,autodist_crossonly,_target_platform
i586,1,i586-openmamba-linux-gnu
arm,1,arm-openmamba-linux-gnueabi
ppc,1,ppc-openmamba-linux-gnu
x86_64,1,x86_64-openmamba-linux-gnu
)
gcc_arm=(
gcc
cross_target_cpu,_target_platform,disable_java
arm,arm-openmamba-linux-gnueabi,1
)
glibc_arm=(
glibc
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,x86_64-openmamba-linux-gnu,-,-,mamba-x86_64,-
)
glibc_cross_multilib=(
glibc
target,cross_target_cpu,multilib,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
-,i586,1,x86_64-openmamba-linux-gnu,-,-,mamba-x86_64,-
)
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
i586,i586-openmamba-linux-gnu
x86_64,x86_64-openmamba-linux-gnu
arm,arm-openmamba-linux-gnueabi
ppc,ppc-openmamba-linux-gnu
)
gcc_uclibc=(
gcc
cross_target_cpu,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
arm,arm-linux-uclibc,-,-,mamba-arm,2.6.33
)
dietlibc=(
dietlibc
cross_target_cpu
i586
arm
)
gcc34=(
gcc34
cross_target_cpu
i586
ppc
)
klibc=(
klibc
cross_target_cpu,_target_platform,KERNEL_TARGET,KERNEL_VER
-,-,-
ppc,ppc-openmamba-linux-gnu,mamba-ppc,-
x86_64,x86_64-openmamba-linux-gnu,3mamba-x86_64,-
arm,arm-openmamba-linux-gnueabi,mamba-arm,-
)
#
# arm cross toolchain
#
binutils_arm=(
binutils
cross_target_cpu,_target_platform
arm,arm-openmamba-linux-gnueabi
)
glibc_stage2_armhf=(
glibc
cross_target_cpu,stage2,bigendian,hardfloat,_target_platform,KERNEL_TARGET,KERNEL_VER
arm,1,-,1,arm-openmamba-linux-gnueabi,mamba-arm,3.4
)
#
# armhf cross toolchain
#
binutils_armhf=(
binutils
cross_target_cpu,_target_platform
)
glibc_stage1_armhf=(
glibc
cross_target_cpu,stage1,_target_platform,KERNEL_TARGET,KERNEL_VER
armhf,1,arm-openmamba-linux-gnueabihf,mamba-arm,3.4
)
#
# ppc cross toolchain
#
binutils_ppc=(
binutils
cross_target_cpu,_target_platform
ppc,ppc-openmamba-linux-gnu
)
glibc_ppc_stage1=(
glibc
cross_target_cpu,stage1,_target_platform,KERNEL_TARGET,KERNEL_VER
ppc,1,ppc-openmamba-linux-gnu,mamba,-
)
gcc_ppc_stage1=(
gcc
cross_target_cpu,stage1,_target_platform
ppc,1,ppc-openmamba-linux-gnu
)
glibc_ppc_stage2=(
glibc
cross_target_cpu,stage2,bigendian,softfloat,_target_platform,KERNEL_TARGET,KERNEL_VER
ppc,1,-,-,ppc-openmamba-linux-gnu,mamba-ppc,2.6.33
)
gcc_ppc=(
gcc
cross_target_cpu,_target_platform
ppc,ppc-openmamba-linux-gnu
)
glibc_ppc=(
glibc
cross_target_cpu,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
ppc,ppc-openmamba-linux-gnu,-,-,mamba-ppc,2.6.33
)
#
# KERNEL
#
kernel=(
kernel
target,KERNEL_TARGET
i586,mamba-64GB
i586,mamba
arm,mamba-arm
arm,mamba-arm-dove
)
#i586,mamba-rt
#i586,mamba-64GB-rt
#arm,mamba-arm-kirkwood
#x86_64,mamba-x86_64
kernel_310=(
kernel
target,KERNEL_TARGET
i586,mamba-64GB
i586,mamba
arm,mamba-arm
)
kernel_37=(
kernel
target,KERNEL_TARGET
i586,mamba
i586,mamba-64GB
arm,mamba-arm
arm,mamba-arm-kirkwood
x86_64,mamba-x86_64
)
kernel_34=(
kernel
target,KERNEL_TARGET
i586,mamba-64GB
i586,mamba
x86_64,mamba-x86_64
i586,mamba-rt
i586,mamba-64GB-rt
arm,mamba-arm
arm,mamba-arm-kirkwood
)
kernel_34_64GB=(
kernel
target,KERNEL_TARGET
i586,mamba-64GB
)
kernel_arm_kirkwood=(
kernel
target,KERNEL_TARGET
arm,mamba-arm-kirkwood
)
kernel_milestone2=(
kernel
target,KERNEL_TARGET
i586,mamba
i586,mamba-64GB
arm,mamba-arm
)
kernel_rt=(
kernel
target,KERNEL_TARGET
i586,mamba-rt
)
kernel_64GB=(
kernel
target,KERNEL_TARGET
i586,mamba-64GB
)
kernel_64GB_rt=(
kernel
target,KERNEL_TARGET
i586,mamba-64GB-rt
)
kernel_x86_64=(
kernel
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
kernel_packages=(
slmodem,stk11xx,cm2020
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,-
i586,mamba-64GB,-
)
#i586,mamba-rt,-
#i586,mamba-64GB-rt,-
#Removed:
#hsfmodem: dropped support
#r8101, broadcom-sta, ndiswrapper: dkms
#alsa-driver: abandoned upstream
#compat-wireless: changed upstream to backport, stopping maintaining it for now
#lirc
kernel_packages_37=(
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,ndiswrapper,NVIDIA,VirtualBox-kernel,\
broadcom-sta,stk11xx,cm2020,r8101
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,3.7
i586,mamba-64GB,3.7
)
#i586,mamba-rt,3.7
#i586,mamba-64GB-rt,3.7
kernel_packages_36=(
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,ndiswrapper,NVIDIA,VirtualBox-kernel,\
broadcom-sta,stk11xx,cm2020,r8101
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,3.6
i586,mamba-64GB,3.6
i586,mamba-rt,3.6
i586,mamba-64GB-rt,3.6
)
#lirc
kernel_packages_34=(
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,ndiswrapper,NVIDIA,VirtualBox-kernel,\
broadcom-sta,stk11xx,cm2020,r8101
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,3.4
i586,mamba-64GB,3.4
i586,mamba-rt,3.4
i586,mamba-64GB-rt,3.4
)
#lirc
kernel_packages_32=(
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,lirc,ndiswrapper,NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,VirtualBox-kernel,\
broadcom-sta,stk11xx,cm2020,r8101
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,3.2
i586,mamba-64GB,3.2
)
kernel_packages_30=(
hsfmodem,slmodem,compat-wireless,alsa-driver,ati-driver,lirc,ndiswrapper,NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,VirtualBox,\
broadcom-sta,atheros-81,drbd,rtl8192se
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,3.0
i586,mamba-64GB,3.0
)
kernel_hannspad=(
kernel-hannspad
target
arm
)
kernel_iconia=(
kernel-iconia
target
arm
)
kernel_iconia_altgcc=(
kernel-iconia
target,_target_platform
arm,arm-none-linux-gnueabi
)
linux_firmware=(
linux-firmware
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,3.10
)
NVIDIA=(
NVIDIA
target,KERNEL_TARGET,KERNEL_VER
i586,mamba,-
i586,mamba-64GB,-
i586,mamba-rt
i586,mamba-64GB-rt
)

View File

@ -1,267 +0,0 @@
# openmamba autodist build jobs database
#
# Copyright (c) 2006-2010 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released under the terms of the GNU GPL version 3 license
#
# XTC 1 (Cross Toolchain)
cross_environment=(
cross-environment
cross_target_cpu,autodist_crossonly,_target_platform
x86_64,1,x86_64-openmamba-linux-gnu
i586,1,i586-openmamba-linux-gnu
arm,1,arm-openmamba-linux-gnueabi
ppc,1,ppc-openmamba-linux-gnu
)
#
# XTC 2
#
# build native binutils (gcc needed, so it's not a stage1 build)
# and cross platform binutils
#
binutils=(
binutils
cross_target_cpu,_target_platform
x86_64,x86_64-openmamba-linux-gnu
i586,i586-openmamba-linux-gnu
arm,arm-openmamba-linux-gnueabi
ppc,ppc-openmamba-linux-gnu
)
#
# XTC 3
#
# glibc stage1: build headers only
glibc_stage1=(
glibc
cross_target_cpu,stage1,_target_platform,KERNEL_TARGET,KERNEL_VER
x86_64,1,x86_64-openmamba-linux-gnu,mamba-x86_64,-
arm,1,arm-openmamba-linux-gnueabi,mamba-arm,2.6.33
i586,1,i586-openmamba-linux-gnu,mamba,-
ppc,1,ppc-openmamba-linux-gnu,mamba,-
)
#
# XTC 4
#
gcc_stage1=(
gcc
cross_target_cpu,stage1,_target_platform
x86_64,1,x86_64-openmamba-linux-gnu
arm,1,arm-openmamba-linux-gnueabi
i586,1,i586-openmamba-linux-gnu
ppc,1,ppc-openmamba-linux-gnu
)
#
# XTC 5
#
glibc_stage2=(
glibc
cross_target_cpu,stage2,bigendian,softfloat,_target_platform,KERNEL_TARGET,KERNEL_VER
x86_64,1,-,-,x86_64-openmamba-linux-gnu,mamba-x86_64,-
arm,1,-,-,arm-openmamba-linux-gnueabi,mamba-arm,2.6.33
i586,1,-,-,i586-openmamba-linux-gnu,mamba,-
ppc,1,-,-,ppc-openmamba-linux-gnu,mamba,-
)
#
# XTC 6
#
gcc=(
gcc
cross_target_cpu,_target_platform
x86_64,x86_64-openmamba-linux-gnu
arm,arm-openmamba-linux-gnueabi
i586,i586-openmamba-linux-gnu
ppc,ppc-openmamba-linux-gnu
)
#
# XTC 7
#
glibc=(
glibc
cross_target_cpu,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
ppc,ppc-openmamba-linux-gnu,-,-,mamba-ppc,2.6.33
x86_64,x86_64-openmamba-linux-gnu,-,-,mamba-x86_64,-
i586,i586-openmamba-linux-gnu,-,-,mamba,-
arm,arm-openmamba-linux-gnueabi,-,-,mamba-arm,2.6.33
)
gcc_uclibc=(
gcc
cross_target_cpu,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
arm,arm-linux-uclibc,-,-,mamba-arm,2.6.33
)
dietlibc=(
dietlibc
cross_target_cpu
ppc
x86_64
i586
arm
)
gcc34=(
gcc34
cross_target_cpu
ppc
x86_64
i586
ppc
)
#klibc=(
#klibc
#cross_target_cpu,_target_platform,KERNEL_VER
#-,-,-
#ppc,ppc-openmamba-linux-gnueabi,2.6.33mamba-ppc
#)
kernel=(
kernel
target,KERNEL_TARGET
ppc,mamba-ppc
)
kernel_new=(
kernel
target,KERNEL_TARGET,KERNEL_VER
ppc,mamba-ppc,2.6.33
)
kernel_extra=(
kernel-extramodules
target,KERNEL_TARGET
ppc,mamba-ppc
)
kernel_packages=(
hsfmodem,compat-wireless,ati-driver,NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,broadcom-sta
target,KERNEL_TARGET,KERNEL_VER
ppc,mamba-ppc,-
)
# slmodem, alsa-driver, lirc,VirtualBox, ndiswrapper, alsa-driver
kernel_packages_new=(
hsfmodem,compat-wireless,ati-driver,NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,broadcom-sta
target,KERNEL_TARGET,KERNEL_VER
ppc,mamba-ppc,2.6.33
)
NVIDIA_all=(
NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx
target,KERNEL_TARGET,KERNEL_VER
ppc,mamba-ppc
)
alsa_driver=(
alsa-driver
target,KERNEL_TARGET
ppc,mamba-ppc
)
ati_driver=(
ati-driver
target,KERNEL_TARGET
ppc,mamba-ppc
)
broadcom_sta=(
broadcom-sta
target,KERNEL_TARGET
ppc,mamba-ppc
)
kernel_extramodules=(
kernel-extramodules
target,KERNEL_TARGET
ppc,mamba-ppc
)
kernel_nongpl=(
kernel-nongpl
target,KERNEL_TARGET
ppc,mamba-ppc
)
kernel_wireless_backport=(
kernel-wireless-backport
target,KERNEL_TARGET
ppc,mamba-ppc
)
lirc=(
lirc
target,KERNEL_TARGET
ppc,mamba-ppc
)
ndiswrapper=(
ndiswrapper
target,KERNEL_TARGET
ppc,mamba-ppc
)
NVIDIA=(
NVIDIA
target,KERNEL_TARGET
ppc,mamba-ppc
)
VirtualBox=(
VirtualBox
target,KERNEL_TARGET
ppc,mamba-ppc
)
glibc=(
glibc
cross_target_cpu,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
ppc,-,-,mamba-ppc,2.6.33
)
gcc=(
gcc
cross_target_cpu
ppc
)
binutils=(
binutils
cross_target_cpu
ppc
)
pam=(
pam
bootstrap
1
)
rpm=(
rpm
bootstrap
1
)
klibc=(
klibc
KERNEL_VER
2.6.33mamba-ppc
)
emacs=(
emacs
bootstrap
1
)
gcc=(
gcc
disable_jack,disable_java,disable_gjdoc
1,1,1
)

View File

@ -1,281 +0,0 @@
# openmamba autodist build jobs database
#
# Copyright (c) 2006-2010 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released under the terms of the GNU GPL version 3 license
#
# XTC 1 (Cross Toolchain)
cross_environment=(
cross-environment
cross_target_cpu,autodist_crossonly,_target_platform
x86_64,1,x86_64-openmamba-linux-gnu
i586,1,i586-openmamba-linux-gnu
arm,1,arm-openmamba-linux-gnueabi
ppc,1,ppc-openmamba-linux-gnu
)
#
# XTC 2
#
# build native binutils (gcc needed, so it's not a stage1 build)
# and cross platform binutils
#
binutils=(
binutils
cross_target_cpu,_target_platform
x86_64,x86_64-openmamba-linux-gnu
i586,i586-openmamba-linux-gnu
arm,arm-openmamba-linux-gnueabi
ppc,ppc-openmamba-linux-gnu
)
#
# XTC 3
#
# glibc stage1: build headers only
glibc_stage1=(
glibc
cross_target_cpu,stage1,_target_platform,KERNEL_TARGET,KERNEL_VER
x86_64,1,x86_64-openmamba-linux-gnu,mamba-x86_64,-
arm,1,arm-openmamba-linux-gnueabi,mamba-arm,2.6.33
i586,1,i586-openmamba-linux-gnu,mamba,-
ppc,1,ppc-openmamba-linux-gnu,mamba,-
)
#
# XTC 4
#
gcc_stage1=(
gcc
cross_target_cpu,stage1,_target_platform
x86_64,1,x86_64-openmamba-linux-gnu
arm,1,arm-openmamba-linux-gnueabi
i586,1,i586-openmamba-linux-gnu
ppc,1,ppc-openmamba-linux-gnu
)
#
# XTC 5
#
glibc_stage2=(
glibc
cross_target_cpu,stage2,bigendian,softfloat,_target_platform,KERNEL_TARGET,KERNEL_VER
x86_64,1,-,-,x86_64-openmamba-linux-gnu,mamba-x86_64,-
arm,1,-,-,arm-openmamba-linux-gnueabi,mamba-arm,2.6.33
i586,1,-,-,i586-openmamba-linux-gnu,mamba,-
ppc,1,-,-,ppc-openmamba-linux-gnu,mamba,-
)
#
# XTC 6
#
gcc=(
gcc
cross_target_cpu,_target_platform
x86_64,x86_64-openmamba-linux-gnu
arm,arm-openmamba-linux-gnueabi
i586,i586-openmamba-linux-gnu
ppc,ppc-openmamba-linux-gnu
)
#
# XTC 7
#
glibc=(
glibc
cross_target_cpu,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
x86_64,x86_64-openmamba-linux-gnu,-,-,mamba-x86_64,-
i586,i586-openmamba-linux-gnu,-,-,mamba,-
arm,arm-openmamba-linux-gnueabi,-,-,mamba-arm,2.6.33
)
gcc_uclibc=(
gcc
cross_target_cpu,_target_platform,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER
arm,arm-linux-uclibc,-,-,mamba-arm,2.6.33
)
dietlibc=(
dietlibc
cross_target_cpu
x86_64
i586
arm
)
gcc34=(
gcc34
cross_target_cpu
x86_64
i586
ppc
)
#
# KERNEL
#
kernel=(
kernel
target,KERNEL_TARGET
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
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
kernel_packages=(
VirtualBox-kernel
target,KERNEL_TARGET,KERNEL_VER
x86_64,mamba-x86_64,-
)
#hsfmodem,compat-wireless,ati-driver,NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx,broadcom-sta
# slmodem, alsa-driver, lirc,VirtualBox, ndiswrapper, alsa-driver
kernel_packages_36=(
VirtualBox-kernel,NVIDIA
target,KERNEL_TARGET,KERNEL_VER
x86_64,mamba-x86_64,3.6
)
kernel_packages_34=(
VirtualBox-kernel,NVIDIA
target,KERNEL_TARGET,KERNEL_VER
x86_64,mamba-x86_64,3.4
)
#kernelxen_packages=(
#alsa-driver,hsfmodem,compat-wireless,ati-driver,ndiswrapper,broadcom-sta
#target,KERNEL_TARGET,KERNEL_VER
#x86_64,mamba-xen,-
#)
#NVIDIA_all=(
#NVIDIA,NVIDIA_71xx,NVIDIA_96xx,NVIDIA_173xx
#target,KERNEL_TARGET,KERNEL_VER
#x86_64,mamba-x86_64
#)
##x86_64,mamba-xen
alsa_driver=(
alsa-driver
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
ati_driver=(
ati-driver
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
broadcom_sta=(
broadcom-sta
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
kernel_extramodules=(
kernel-extramodules
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
kernel_nongpl=(
kernel-nongpl
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
kernel_wireless_backport=(
kernel-wireless-backport
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
broadcom_sta=(
broadcom-sta
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
lirc=(
lirc
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
ndiswrapper=(
ndiswrapper
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
NVIDIA=(
NVIDIA
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
VirtualBox_kernel=(
VirtualBox-kernel
target,KERNEL_TARGET
x86_64,mamba-x86_64
)
#x86_64,mamba-xen
glibc=(
glibc
cross_target_cpu,bigendian,softfloat,KERNEL_TARGET,KERNEL_VER,multilib
x86_64,-,-,mamba-x86_64,-,-
)
binutils=(
binutils
cross_target_cpu
x86_64
)
pam=(
pam
bootstrap
1
)
rpm=(
rpm
bootstrap
1
)
gcc=(
gcc
cross_target_cpu,_target_platform,disable_jack,disable_gjdoc,disable_java
x86_64,x86_64-openmamba-linux-gnu,1,0,0
)
apache_ant=(
apache-ant
stage2
1
)

View File

@ -1,141 +0,0 @@
kdebase
kdewebdev
grub
libsqlite2
libglade1
openssl097
gnupg
kannel
ftp
nrg2iso
ddrescue
db42
gcc34
ftpsync
libglib1
gcc33
libxml
libtool1
openldap22
python24
postgresql7
PyQt
libcares1
libraw13941
net-snmp5
libmtp7
gambas
libgda2
libmusicbrainz2
libpng2
libXaw8
icu38
mysql5
libreadline5
libxcb-xlib
autoconf2.13
python
libflac11
libdc1394_control
automake1.10
libusb0
xorg-drv-input
libeigen
libgtk1
java-junit3
lm_sensors2
kernel-extramodules
kernel-nongpl-nvidia
kernel-nongpl-fglrx
kernel-nongpl
automake1.6
libjpeg6b
kernel-nongpl-fglrx
kernel-nongpl-nvidia
db47
arts
kdegraphics
synaptic
libjpeg7
kdevelop
objectweb-asm1
objectweb-asm2
apache-tomcat5
java-junit381
jakarta-commons-lang24
openssl098
libpng12
java-servletapi4
tcltk84
make381
lilo
rpm516
ffmpeg052
rpm5
libpoppler6
x264-84
db51
kde-i18n
libwpg01
libwps01
libwpd08
db52
glade-3
goocanvas
moagg
apache-commons-digester18
x264-116
libcdio12
udev173
libtiff3
libpcre0
libcdio12
libpoppler12
libaudiofile0
libxcb-util1
parted2
libguile1
libgnutls2
libgdbm3
farstream1
gst-plugins-base010
gst-plugins-good010
gst-plugins-bad010
gst-plugins-ugly010
gstreamer010
lua51
libwebkit-gtk
libgraphite2_11
goocanvas
libdirectfb5
libtasn1_3
kdelibs3
goocanvas
libraptor
python
liblcms
libpng14
xmlgraphics-commons14
pygobject2
ImageMagick5
automake1.12
libpcap0
htmlunit1
libimobiledevice3
libilmbase1
libgif4
libmpc2
ffmpeg010
openexr1
libnl1
db53
libpoppler20
net-snmp25
openssl100
libglew15
libpng15
libmng1
libimlib2
antlr313
libgmp3
libeigen

View File

@ -1,29 +1,79 @@
#!/bin/bash
#
# Autodist script for updating specfiles
#
# Copyright (c) 2007-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (c) 2007-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Released with the same license as autodist
#
[ "$1" ] || {
echo "Error: update-specfile: specfile not given; aborting."
SPECFILE=
BUILDREQNUM=0
for ((i=1; i<=$#; i++)); do
case ${!i} in
--buildreq) let i+=1
if [ ! "${!i}" ]; then
echo "ERROR: --buildreq requires at least an argument; aborting."
exit 1
fi
let BUILDREQNUM+=1
BUILDREQ[$BUILDREQNUM]=${!i}
if [ "${!i+1}" -a "${!i+1:0:1}" != "-" ]; then
let i+=1
BUILDREQREL[$BUILDREQNUM]=${!i}
if [ ! "${!i+1}" -o "${!i+1:0:1}" = "-" ]; then
echo "ERROR: update-specfile: --buildreq requires one or three arguments; aborting."
exit 1
fi
let i+=1
BUILDREQVER[$BUILDREQNUM]=${!i}
fi
;;
*) if [ ! "$SPECFILE" ]; then
SPECFILE=${!i}
else
echo "ERROR: update-specfile: unrecognized script option: '${!i}'; aborting."
exit 1
fi
esac
done
[ "$SPECFILE" ] || {
echo "ERROR: update-specfile: specfile not given; aborting."
exit 1
}
[ -e $1 ] || {
[ -e $SPECFILE ] || {
echo "Error: update-specfile: file $1 does not exist; aborting."
exit 1
}
sed -i "s|^Vendor:.*|Vendor: openmamba|" $1
sed -i "s|^Distribution:.*|Distribution: openmamba|" $1
sed -i "s|silvan\.calarco@qilinux\.it|silvan.calarco@mambasoft.it|" $1
sed -i "/BuildRequires:[[:space:]]*libffmpeg-devel/d" $1
sed -i "s|\(BuildRequires:[[:space:]]*\)libmysql-devel|\1libmysql5-devel|" $1
sed -i "s|\(BuildRequires:[[:space:]]*\)libdb42-devel|\1libdb47-devel|" $1
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
# Distribution global changes
sed -i "s|^Vendor:.*|Vendor: openmamba|;
s|^Distribution:.*|Distribution: openmamba|;
/BuildRequires:[[:space:]]*libffmpeg-devel/d;
s|\(BuildRequires:[[:space:]]*\)libmysql-devel|\1libmysql5-devel|;
s|\(BuildRequires:[[:space:]]*\)libdb42-devel|\1libdb47-devel|;
s|\(BuildRequires:[[:space:]]*\)firefox-devel|\1xulrunner-devel|;
s|^PreReq:[[:space:]]*/sbin/install-info|Requires(post):%{__install_info}|;
s|^PreReq:[[:space:]]*%{__install_info}|Requires(post):%{__install_info}|;
s|^PreReq:[[:space:]]*|Requires(pre): |;
s|http://.*.dl\.sourceforge\.net/|http://downloads.sourceforge.net/|" $SPECFILE
#sed -i "s|^\(Source.*:[[:space:]]*ftp://ftp.kde.org/pub/kde/stable/.*.tar.\)bz2|\1xz|" $SPECFILE
if [ $BUILDREQNUM -gt 0 ]; then
grep "^## AUTOBUILDREQ-END" $SPECFILE > /dev/null || {
echo "ERROR: update-specfile: missing AUTOBUILDREQ block; aborting."
exit 1
}
for b in `seq 1 $BUILDREQNUM`; do
line=${BUILDREQ[$b]}
if [ "${BUILDREQREL[$b]}" ]; then
line="$line ${BUILDREQREL[$b]} ${BUILDREQVER[$b]}"
fi
sed -i "/^## AUTOBUILDREQ-END/,9999{/BuildRequires:[[:space:]]*${BUILDREQ[$b]}$/d}" $SPECFILE
sed -i "/^## AUTOBUILDREQ-END/,9999{/BuildRequires:[[:space:]]*${BUILDREQ[$b]}[[:space:]]/d}" $SPECFILE
sed -i "/^## AUTOBUILDREQ-END/a BuildRequires: $line" $SPECFILE
done
fi
exit 0

View File

@ -1 +0,0 @@
gcc

View File

@ -1,45 +0,0 @@
libatk
libgtk
libpango
tcltk
dbus
libgsf
python
glib
libnfsidmap
ghostscript
liblcms
ImageMagick4
ImageMagick
gcc
libtiff
libtiff3
libcairo
gtk-doc
libpoppler
libpoppler12
gettext
libXext
gnokii
kdegames
soprano
autoconf
libidn
libcanberra
libxml2
libcaca
libproxy
libphonon
xmms2
libalsa-plugins
gutenprint
gpm
emacs
groff
graphviz
python26
python27
beecrypt
ncurses
tcltk85
java-openjdk

View File

@ -1,41 +0,0 @@
tcltk
libxml2
libpango
libatk
gettext
libnfsidmap
libXext
libidn
libtiff
liblcms
python
glib
libcanberra
avahi
gpm
emacs
groff
soprano
livecd-tools
tracker
graphviz
PackageKit
apache-ant
libpeas
libalsa-plugins
libproxy
python26
python27
beecrypt
gtk-doc
tzdata
db60
ImageMagick
java-openjdk
java-gcj-compat
apache-log4j
java-icu4j4
mpg123
libgphoto
nfs-utils
git

View File

@ -1,14 +1,23 @@
#!/bin/bash
[ -e /etc/sysconfig/autoport ] && . /etc/sysconfig/autoport
RPMS_CTIME_OLD="+14"
BUILD_CTIME_OLD="+14"
SOURCES_CTIME_OLD="+60"
SRPMS_CTIME_OLD="+30"
TMP_CTIME_OLD="+2"
function clean() {
dir=$1
arch=$2
find $dir/RPM/RPMS/$arch/ -maxdepth 1 -ctime +21 -exec rm -rf {} \;
find $dir/RPM/RPMS/noarch/ -maxdepth 1 -ctime +21 -exec rm -rf {} \;
find $dir/RPM/BUILD/ -maxdepth 1 -ctime +21 -exec rm -rf {} \;
find $dir/RPM/SOURCES/ -maxdepth 1 -ctime +120 -a ! -name "*.patch" -exec rm -rf {} \;
find $dir/RPM/SRPMS/ -maxdepth 1 -ctime +48 -exec rm -rf {} \;
[ "$VERBOSE" ] && echo "Cleaning from base directory $dir..."
[ -e $dir/ ] && find $dir/ -mindepth 1 -maxdepth 1 -name "pipe\:\[*" -exec rm -f {} \;
[ -e $dir/RPM/SPECS/ ] && find $dir/RPM/SPECS/ -mindepth 1 -maxdepth 1 -type f -not -name "*.spec*" -exec rm -f {} \;
[ -e $dir/RPM/RPMS/$arch/ ] && find $dir/RPM/RPMS/$arch/ -mindepth 1 -maxdepth 1 -ctime ${RPMS_CTIME_OLD} -exec rm -f {} \;
[ -e $dir/RPM/RPMS/noarch/ ] && find $dir/RPM/RPMS/noarch/ -mindepth 1 -maxdepth 1 -ctime ${RPMS_CTIME_OLD} -exec rm -f {} \;
[ -e $dir/RPM/BUILD/ ] && find $dir/RPM/BUILD/ -mindepth 1 -maxdepth 1 -ctime ${BUILD_CTIME_OLD} -exec rm -rf {} \;
[ -e $dir/RPM/SOURCES/ ] && find $dir/RPM/SOURCES/ -mindepth 1 -maxdepth 1 -ctime ${SOURCES_CTIME_OLD} -a ! -name "*.patch" -exec rm -rf {} \;
[ -e $dir/RPM/SRPMS/ ] && find $dir/RPM/SRPMS/ -mindepth 1 -maxdepth 1 -ctime ${SRPMS_CTIME_OLD} -exec rm -f {} \;
}
for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
@ -18,16 +27,16 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
[ -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 {} \;
find /var/autoport/$a/var/tmp/autodist/ -mindepth 1 -maxdepth 1 -ctime ${TMP_CTIME_OLD} -exec rm -rf {} \;
find /var/autoport/$a/tmp/ -mindepth 1 -maxdepth 1 -ctime ${TMP_CTIME_OLD} -exec rm -rf {} \;
elif [ "${AUTOPORT_UPDATE[$i]}" ]; then
clean /var/autodist ${AUTOPORT_ARCH[$i]}
find /var/autodist-tmp/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
find /var/autodist-tmp/ -mindepth 1 -maxdepth 1 -ctime ${TMP_CTIME_OLD} -exec rm -rf {} \;
elif [ "${AUTOPORT_NATIVE[$i]}" -a "${AUTOPORT_CHROOT_USER[$i]}" ]; then
WORKINGHOME=`getent passwd ${AUTOPORT_CHROOT_USER[$i]} | cut -d: -f6`
if [ -e $WORKINGHOME ]; then
clean $WORKINGHOME ${AUTOPORT_ARCH[$i]}
fi
find /var/autodist-tmp/ -maxdepth 1 -ctime +25 -exec rm -rf {} \;
find /var/autodist-tmp/ -mindepth 1 -maxdepth 1 -ctime ${TMP_CTIME_OLD} -exec rm -rf {} \;
fi
done

View File

@ -1,16 +1,20 @@
#!/bin/bash
#
# autodist-upstream-updates daily cron script
# (c) 2008-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# (c) 2008-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
. /etc/autodist/config
REPOSITORY=devel
/usr/sbin/autodist-upstream-updates -q -h -u -r $REPOSITORY > $LOCAL_REPS_BASE_DIR/distromatic/$REPOSITORY/_popular.html
. /etc/sysconfig/autoport
REPOSITORY=milestone1-1.1
/usr/sbin/autodist-upstream-updates -q -h -u -r $REPOSITORY > $LOCAL_REPS_BASE_DIR/distromatic/$REPOSITORY/_popular.html
if [ ! "$AUTOPORT_UPDATE_NO_DISTROMATIC" ]; then
REPOSITORY=devel
/usr/sbin/autodist-upstream-updates -q -h -u -r $REPOSITORY > $LOCAL_REPS_BASE_DIR/distromatic/$REPOSITORY/_popular.html
REPOSITORY=milestone2
/usr/sbin/autodist-upstream-updates -q -h -u -r $REPOSITORY > $LOCAL_REPS_BASE_DIR/distromatic/$REPOSITORY/_popular.html
REPOSITORY=milestone1-1.1
/usr/sbin/autodist-upstream-updates -q -h -u -r $REPOSITORY > $LOCAL_REPS_BASE_DIR/distromatic/$REPOSITORY/_popular.html
REPOSITORY=milestone2
/usr/sbin/autodist-upstream-updates -q -h -u -r $REPOSITORY > $LOCAL_REPS_BASE_DIR/distromatic/$REPOSITORY/_popular.html
fi
exit 0

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# autodist autoupdate hourly cron script
# (c) 2008-2013 by Silvan Calarco <silvan.calarco@mambasoft.it>
# (c) 2008-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
. /etc/autodist/config
. /etc/sysconfig/autoport
@ -9,14 +9,16 @@
ME=`basename $0`
# FIXME: parametrize automaint call
automaint -s devel-autodist -d devel -p devel-makedist
if [ ! "$AUTOPORT_UPDATE_NO_AUTOMAINT" ]; then
automaint -s devel-autodist -d devel -p devel-makedist
fi
[ "$$" == "`pidof -x $ME`" -o "$$" == "`pidof -x 60-autodist-update`" ] || {
# echo "Warning: $ME script already running; exiting."
exit 0
}
PIDFILE=/var/run/autodist/autodist.pid
PIDFILE=/run/autodist/autodist.pid
HOUR=`date +%H`
[ "`uname -m`" = "x86_64" ] && HOST_IS_X86_64=1
@ -51,8 +53,10 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
REPLASTLOGFILE=$LOCAL_REPS_BASE_DIR/$r/autodist-last.log
if [ "${AUTOPORT_UPDATE[$i]}" ]; then
pid_check
distromatic -q -t $DISTROMATIC_REPOSITORY --gensrcpkglist > $LOCAL_REPS_BASE_DIR/$DISTROMATIC_REPOSITORY/srcpkglist 2>/dev/null
if [ ! "$AUTOPORT_UPDATE_NO_DISTROMATIC" ]; then
pid_check
distromatic -q -t $DISTROMATIC_REPOSITORY --gensrcpkglist > $LOCAL_REPS_BASE_DIR/$DISTROMATIC_REPOSITORY/srcpkglist 2>/dev/null
fi
pid_check
autodist-upstream-updates -q -h -u -r $DISTROMATIC_REPOSITORY -o $r \

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# openmamba-autobuild-autoport daily cron script
# (c) 2008-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# (c) 2008-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
#. /etc/sysconfig/openmamba-central
. /etc/sysconfig/autoport
@ -14,7 +14,7 @@ ME=`basename $0`
exit 0
}
PIDFILE=/var/run/autodist/autoport.pid
PIDFILE=/run/autodist/autoport.pid
HOUR=`date +%H`
[ "`uname -m`" = "x86_64" ] && HOST_IS_X86_64=1
@ -53,23 +53,6 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
echo "+ Autoport start at `date`" > $LOGFILE
echo "============================================" >> $LOGFILE
# 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
# 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-current.log >> $LOGFILE
# fi
if [ "${AUTOPORT_NATIVE[$i]}" ]; then
a=${AUTOPORT_ARCH[$i]}
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Updating packages in $a native environment"
@ -78,7 +61,8 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
LANG=C smart upgrade -y >> $LOGFILE
echo "= Working on $r($a) in native mode" >> $LOGFILE
su -l ${AUTOPORT_CHROOT_USER[$i]} -c "$CMD_PREFIX autoport -b -r $r" >> $LOGFILE
cat /var/autodist/.autoport/$a/$r-current.log >> $LOGFILE
AUTODIST_HOME=`getent passwd ${AUTOPORT_CHROOT_USER[$i]} | cut -d: -f6`
cat $AUTODIST_HOME/.autoport/$a/$r-current.log >> $LOGFILE
fi
# if [ "${AUTOPORT_CROSS[$i]}" ]; then

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# openmamba-autobuild-autoport daily cron script
# (c) 2008-2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# (c) 2008-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
#. /etc/sysconfig/openmamba-central
. /etc/sysconfig/autoport
@ -14,7 +14,7 @@ ME=`basename $0`
exit 0
}
PIDFILE=/var/run/autodist/autoport.pid
PIDFILE=/run/autodist/autoport.pid
HOUR=`date +%H`
[ "`uname -m`" = "x86_64" ] && HOST_IS_X86_64=1
@ -44,7 +44,7 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
#echo "= Updating packages in ${AUTOPORT_CHROOT[$i]} chroot environment..." >> $LOGFILE
LANG=C /usr/sbin/chroot /var/autoport/${AUTOPORT_CHROOT[$i]} smart update --quiet > /dev/null
LANG=C /usr/sbin/chroot /var/autoport/${AUTOPORT_CHROOT[$i]} smart upgrade -y > /dev/null
[ "${AUTOPORT_CHROOT_ICECREAM[$i]}" ] && LANG=C /usr/sbin/chroot /etc/init.d/icecream start
[ "${AUTOPORT_CHROOT_ICECREAM[$i]}" ] && LANG=C /usr/sbin/chroot /var/autoport/${AUTOPORT_CHROOT[$i]} /etc/init.d/icecream start
fi
for r in ${AUTOPORT_REPOSITORIES[$i]}; do
@ -72,10 +72,12 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
echo "= Working on $r(${AUTOPORT_CHROOT[$i]}) in chroot mode..." >> $LOGFILE
[[ "`/usr/bin/tty`" != "not a tty" ]] && echo "Working on $r(${AUTOPORT_CHROOT[$i]}) in chroot mode" >> $LOGFILE
#echo "DEBUG: $CMD_PREFIX /usr/sbin/chroot /var/autoport/${AUTOPORT_CHROOT[$i]} su -l ${AUTOPORT_CHROOT_USER[$i]} -c \"autoport -b -r $r\"" >> $LOGFILE
$CMD_PREFIX /usr/sbin/chroot /var/autoport/${AUTOPORT_CHROOT[$i]} su -l ${AUTOPORT_CHROOT_USER[$i]} -c "autoport -b -r $r" >> $LOGFILE
cat /var/autoport/${AUTOPORT_CHROOT[$i]}/home/${AUTOPORT_CHROOT_USER[$i]}/.autoport/${AUTOPORT_ARCH[$i]}/$r-current.log >> $LOGFILE
#echo "DEBUG: cat /var/autoport/${AUTOPORT_CHROOT[$i]}/home/${AUTOPORT_CHROOT_USER[$i]}/.autoport/${AUTOPORT_ARCH[$i]}/$r-current.log" >> $LOGFILE
if [ "${AUTOPORT_CHROOT_USER[$i]}" = "autodist" ]; then
cat /var/autoport/${AUTOPORT_CHROOT[$i]}/var/autodist/.autoport/${AUTOPORT_ARCH[$i]}/$r-current.log >> $LOGFILE
else
cat /var/autoport/${AUTOPORT_CHROOT[$i]}/home/${AUTOPORT_CHROOT_USER[$i]}/.autoport/${AUTOPORT_ARCH[$i]}/$r-current.log >> $LOGFILE
fi
fi
# if [ "${AUTOPORT_NATIVE[$i]}" ]; then
@ -103,7 +105,7 @@ for i in `seq 0 ${#AUTOPORT_ARCH[*]}`; do
if [ "${AUTOPORT_CHROOT[$i]}" ]; then
mv /var/autoport/${AUTOPORT_CHROOT[$i]}/sbin/service.autoport /var/autoport/${AUTOPORT_CHROOT[$i]}/sbin/service
[ "${AUTOPORT_CHROOT_ICECREAM[$i]}" ] && LANG=C /usr/sbin/chroot /etc/init.d/icecream stop
[ "${AUTOPORT_CHROOT_ICECREAM[$i]}" ] && LANG=C /usr/sbin/chroot /var/autoport/${AUTOPORT_CHROOT[$i]} /etc/init.d/icecream stop
fi
done

8
etc/logrotate.d/webbuild Normal file
View File

@ -0,0 +1,8 @@
/var/webbuild/access_log {
monthly
rotate 12
copytruncate
compress
notifempty
missingok
}

View File

@ -2,9 +2,15 @@
# autoport global configuration
#
local_ftp=/var/ftp/pub/openmamba/
#AUTOBUILDS_STATUS_URL="http://www.openmamba.org/distribution/autobuilds.html"
#AUTOPORT_ENABLE=1
#AUTOPORT_CGI_HOST=(http://localhost/cgi-bin/autodist http://192.168.0.100/cgi-bin/autodist)
# Disabled by default because they would require local repository
AUTOPORT_UPDATE_NO_AUTOMAINT=1
AUTOPORT_UPDATE_NO_DISTROMATIC=1
#AUTOPORT_CGI_HOST=(http://localhost/cgi-bin/autodist)
#AUTOPORT_WEBBUILD_HOST=http://localhost/webbuild.html
#ICECREAM_MONITOR_HOST=localhost
AUTOPORT_DEVEL_IMPORT_REPOSITORIES="devel-makedist devel devel-games devel-autodist devel-gnome \
devel-kde4 devel-xorg devel-kernel devel-misc devel-java devel-future devel-past devel-contrib devel-contrib-java"

View File

@ -0,0 +1,70 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html><head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<link rel="shortcut icon" type="image/x-icon" href="/images/webbuild.ico" />
<!-- styles needed by jScrollPane -->
<link type="text/css" href="/scripts/jquery.jscrollpane.css" rel="stylesheet" media="all" >
<!-- latest jQuery direct from google's CDN -->
<script type="text/javascript" src="/scripts/jquery.js"></script>
<!-- the mousewheel plugin - optional to provide mousewheel support -->
<script type="text/javascript" src="/scripts/jquery.mousewheel.js"></script>
<!-- the jScrollPane script -->
<script type="text/javascript" src="/scripts/jquery.jscrollpane.min.js"></script>
<link rel="stylesheet" type="text/css" href="/styles/webbuild.css">
<script type="text/javascript" src="/scripts/socialbox.js"></script>
<script type="text/javascript">
<!--
var lastupdate = 0;
var reloadtime = 0;
function ajax_getvalues() {
var url = window.location.protocol+"//"+window.location.hostname+"/cgi-bin/autodist?FORMAT=xml&"+window.location.href.replace(/.*\?/,"");
var xmlhttp;
if (window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest();
else if (window.ActiveXObject)
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
else
return;
document.getElementById("noajax_msg").innerHTML = "";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState != 4)
return;
var xmldoc = xmlhttp.responseXML.documentElement;
document.getElementById("output").innerHTML = xmldoc.getElementsByTagName("output")[0].childNodes[0].nodeValue;
reloadtime = xmldoc.getElementsByTagName("reloadtime")[0].childNodes[0].nodeValue;
lastupdate = (+new Date());
setTimeout("ajax_getvalues()", reloadtime);
}
xmlhttp.open("GET", url, true);
xmlhttp.send(null);
}
//-->
</script>
</head><body>
<div id=container style="position:relative;width:894px;height:auto;top:0;left:0;margin-left:auto;margin-right:auto;">
<table width="100%"><tr><td>
<tr><td valign="middle">
<table align="center"><tr>
<td colspan=2><img src="/images/webbuild.png" alt="build automatici">
&nbsp;&nbsp;&nbsp;<b>- Autodist - Build automatici</b>
</td>
</tr></table>
</td></tr>
<tr><td>
<div id="noajax_msg"><p>Il supporto per AJAX non è abilitato nel tuo browser. L'aggiornamento live non sarà disponibile, premi Ricarica per aggiornare la pagina.</p></div>
<span id="output">Caricamento in corso, attendere...</span>
<script>
ajax_getvalues("");
$("#output").mousemove(function(event) {
lastupdatetime = (+new Date()) - lastupdate; // milliseconds since last update
// var msg = "called " + lastupdatetime + "ms ago";
if (lastupdatetime > reloadtime) { lastupdate = lastupdatetime; ajax_getvalues(); }
});
</script>
</td></tr>
</table>
</div>
</body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -47,7 +47,6 @@ var socialbox_reloadtime = 15000;
function ajax_getvalues_refresh(request,user,user_email,secret) {
var fromid = 0;
//alert("refresh");
if (socialbox_interval != null) {
clearInterval(socialbox_interval);
}

View File

@ -2,6 +2,7 @@
<html><head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<link rel="shortcut icon" type="image/x-icon" href="/images/webbuild.ico" />
<!-- styles needed by jScrollPane -->
<link type="text/css" href="/scripts/jquery.jscrollpane.css" rel="stylesheet" media="all" >
<!-- latest jQuery direct from google's CDN -->
@ -91,6 +92,7 @@ function editorChanged() {
function ajax_getvalues(request,confirm) {
var url = "/cgi-bin/webbuild"
var xmlhttp;
if (!user) {
user=getCookie("webbuild-user");
@ -101,6 +103,7 @@ function ajax_getvalues(request,confirm) {
secret=getCookie("webbuild-secret");
if (!secret) secret="";
}
if (confirm) {
document.getElementById("status").innerHTML =
'<div class=screencontainer><div class=opaquebackground></div>'+
@ -148,10 +151,11 @@ function ajax_getvalues(request,confirm) {
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].nodeName == "title") {
document.title = nodes[i].childNodes[0].nodeValue;
} else if (nodes[i].nodeName == "cookie-user") {
setCookie("webbuild-user", nodes[i].childNodes[0].nodeValue);
} else if (nodes[i].nodeName == "cookie-secret") {
setCookie("webbuild-secret", nodes[i].childNodes[0].nodeValue);
} else if (document.getElementById(nodes[i].nodeName) != undefined) {
// var node = document.getElementById(nodes[i].nodeName)
//alert("replace " + node.nodeValue + "with " + nodes[i].childNodes[0].nodeValue);
// node = replaceHTML(node, nodes[i].childNodes[0].nodeValue);
$("#"+nodes[i].nodeName).html(nodes[i].childNodes[0].nodeValue);
spectext = document.getElementById("spectext");
if ((nodes[i].nodeName == "editor") && (spectext != undefined) && (spectext.parentNode != undefined))

View File

@ -14,7 +14,7 @@ cgi_getvars BOTH ALL
[ "$PACKAGE" ] && PACKAGEENCODED=`cgi_encodevar "$PACKAGE"` || PACKAGEENCODED=
#cgi_getvars POST
if [ "$REQUEST" != "refresh" ]; then
if [ "${REQUEST:0:7}" != "refresh" ]; then
echo "`date` - USER=$USER&REQUEST=$REQUEST&ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGE&MAINTAINERMODE=$MAINTAINERMODE" >> $LOG
fi
@ -65,7 +65,7 @@ if [ "$USER" ]; then
else
USER_ENABLED=
fi
elif [ "$REQUEST" != "refresh" ]; then
elif [ "${REQUEST:0:7}" != "refresh" ]; then
# no "$USER_SECRET" set; require password
echo -n "<output><![CDATA[Please enter your password: <input type=password id=password "
echo -n "onkeypress=if(checkEnter(event))"
@ -88,7 +88,7 @@ if [ "$USER" ]; then
exit
fi
fi
elif [ "$REQUEST" != "refresh" ]; then
elif [ "${REQUEST:0:7}" != "refresh" ]; then
echo -n "<output><![CDATA[Please enter your username: <input type=text id=username "
echo -n "onkeypress=if(checkEnter(event)){"
echo -n "user=encodeURIComponent(getElementById('username').value);"
@ -110,7 +110,7 @@ elif [ "$REQUEST" != "refresh" ]; then
exit
fi
if [ "$USER_ENABLED" != "1" -a "$REQUEST" != "refresh" ]; then
if [ "$USER_ENABLED" != "1" -a "${REQUEST:0:7}" != "refresh" ]; then
echo -n "<environments> </environments>"
echo -n "<speccreate> </speccreate>"
echo -n "<specedit> </specedit>"
@ -210,48 +210,53 @@ fi
#
# Public requests
#
if [ "$REQUEST" = "refresh" -o ! "$USER" ]; then
[ -e "$WEBBUILD_STATEDIR/social_log" ] || exit
# social box
echo -n "<socialbox>"
count=0
if [ ! "$FROMID" -o "$FROMID" = "0" -o "$FROMID" = "NaN" ]; then
if [ "$USER" ]; then
line=`tail -n 500 $WEBBUILD_STATEDIR/social_log | grep -v " SUSER=$USER " 2>/dev/null | tail -n 25 | head -n 1`
else
line=`tail -n 500 $WEBBUILD_STATEDIR/social_log | grep -v " STARGET=developers " 2>/dev/null | tail -n 25 | head -n 1`
if [ "$REQUEST" = "refresh" -o "$REQUEST" = "refreshsocial" -o ! "$USER" ]; then
if [ "$WEBBUILD_URL" -a "${WEBBUILD_URL/\/localhost\//}" = "$WEBBUILD_URL" ]; then
curl -s "$WEBBUILD_URL?REQUEST=refreshsocial&USER=$USER&SECRET=`cgi_encodevar \"$USER_SECRET\"`&USER_EMAIL=$USER_EMAIL&FROMID=$FROMID"
else
[ -e "$WEBBUILD_STATEDIR/social_log" ] || exit
# social box
echo -n "<socialbox>"
count=0
SID=0
if [ ! "$FROMID" -o "$FROMID" = "0" -o "$FROMID" = "NaN" ]; then
if [ "$USER" ]; then
line=`tail -n 500 $WEBBUILD_STATEDIR/social_log | grep -v " SUSER=$USER " 2>/dev/null | tail -n 25 | head -n 1`
else
line=`tail -n 500 $WEBBUILD_STATEDIR/social_log | grep -v " STARGET=developers " 2>/dev/null | tail -n 25 | head -n 1`
fi
eval $line
FROMID=$SID
fi
eval $line
FROMID=$SID
tail -n 100 $WEBBUILD_STATEDIR/social_log | while read line; do
STYPE=
SPRIVACY=
SUSER=
STARGET=
SID=
eval $line
[ "$SID" ] || continue
[ $SID -ge $FROMID ] || continue
[ "$STARGET" = "developers" -a ! "$USER" ] && continue
[ "$SUSER" = "$USER" -a "$STARGET" == "developers" ] && continue
if [ "$SPRIVACY" -a ! "$USER" ]; then
USER_GRAVATAR=
else
USER_GRAVATAR=`echo -n $SEMAIL | md5sum | sed "s| .*||"`
fi
echo -n "<add id=\"$SID\"><![CDATA[<div style=\"margin:0;padding:0;\"><div style=\"vertical-align:middle;position:relative;float:left;height:24px;width:24px;margin-right:2px;\">"
echo -n "<img src=\"http://www.gravatar.com/avatar/$USER_GRAVATAR?s=24&d=http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=24\" /></div>"
if [ "$SPRIVACY" -a ! "$USER" ]; then
SUSER="a developer"
elif [ "$USER" = "$SUSER" ]; then
SUSER="you"
fi
echo -n "<div style=\"position:relative;margin-left:24px;height:auto;padding:0;\"><b>$SUSER</b> $STEXT <i><span name=socialtime time=$STIME></span></i></div>"
echo -n "</div><div style=\"clear:both;\"><hr></div>]]></add>"
count=$(($count + 1))
done
echo -n "</socialbox>"
fi
tail -n 100 $WEBBUILD_STATEDIR/social_log | while read line; do
STYPE=
SPRIVACY=
SUSER=
STARGET=
SID=
eval $line
[ "$SID" ] || continue
[ $SID -ge $FROMID ] || continue
[ "$STARGET" = "developers" -a ! "$USER" ] && continue
[ "$SUSER" = "$USER" -a "$STARGET" == "developers" ] && continue
if [ "$SPRIVACY" -a ! "$USER" ]; then
USER_GRAVATAR=
else
USER_GRAVATAR=`echo -n $SEMAIL | md5sum | sed "s| .*||"`
fi
echo -n "<add id=\"$SID\"><![CDATA[<div style=\"margin:0;padding:0;\"><div style=\"vertical-align:middle;position:relative;float:left;height:24px;width:24px;margin-right:2px;\">"
echo -n "<img src=\"http://www.gravatar.com/avatar/$USER_GRAVATAR?s=24&d=http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=24\" /></div>"
if [ "$SPRIVACY" -a ! "$USER" ]; then
SUSER="a developer"
elif [ "$USER" = "$SUSER" ]; then
SUSER="you"
fi
echo -n "<div style=\"position:relative;margin-left:24px;height:auto;padding:0;\"><b>$SUSER</b> $STEXT <i><span name=socialtime time=$STIME></span></i></div>"
echo -n "</div><div style=\"clear:both;\"><hr></div>]]></add>"
count=$(($count + 1))
done
echo -n "</socialbox>"
fi
if [ "$USER_ENABLED" != "1" ]; then
@ -461,9 +466,11 @@ if [ "$REQUEST" = "repsearch" ]; then
echo -n "<output><![CDATA["
echo -n "<hr><b>Search results for \"$REPSEARCHTEXT\":</b><div align=left class=output id=outputtop style=\"font-family:serif;color:black;background-color:#E0F2D0;\">"
# echo -n "<pre><!-- SCROLL -->"
curl -s "${WEBBUILD_DISTROQUERY_URL}?query=$REPSEARCHTEXT&search_milestone2=true&search_devel=true\
&search_i586=true&search_x86_64=true&search_arm=true&search_sources=true&query_compact=true&replyplain=true"
# $SUDO_WRAPPER 0 local "$USER" "" "openmamba-repository search -i ${REPSEARCHTEXT/-/\-}" | \
REPSEARCHTEXT_FMT=`echo "${REPSEARCHTEXT}" | sed "s|[[:space:]]|+|g"`
curl -s "${WEBBUILD_DISTROQUERY_URL}?query=${REPSEARCHTEXT_FMT}&search_milestone2=true&search_milestone3=true&search_devel=true\
&search_i586=true&search_x86_64=true&search_arm=true&search_sources=true&query_compact=true&replyplain=true" | \
sed "s| \(href=.\)/| \1${SITE_BASE_URL}/|g"
# $SUDO_WRAPPER 0 local "$USER" "" "autodist-repository search -i ${REPSEARCHTEXT/-/\-}" | \
# parse_search_output ${AUTOPORT_ARCH[$ENVIRONMENT]}
# sed "s|\(.*(source).*\)|<font color=white><b>\1</b></font>|;
# s|\(.*(${AUTOPORT_ARCH[$ENVIRONMENT]}).*\)|<font color=lightgreen>\1</font>|"
@ -479,7 +486,7 @@ if [ "$REQUEST" = "environmentsearch" ]; then
echo -n "<hr><b>Environment search results for \"$ENVSEARCHTEXT\":</b><div align=left class=output id=outputtop>"
echo -n "<pre><!-- SCROLL -->"
echo -n "<font style=\"background-color:gray\">Installed packages providing '$ENVSEARCHTEXT':</font><br>"
WHAT_PROVIDES=`$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "rpm -q --what-provides \"$ENVSEARCHTEXT\"" | sort -u`
WHAT_PROVIDES=`$SUDO_WRAPPER binary $ENVIRONMENT "$USER" "" "rpm -q --what-provides \"$ENVSEARCHTEXT\"" | sort -u`
echo -n "$WHAT_PROVIDES<br>"
if [ "${WHAT_PROVIDES:0:10}" != "no package" ]; then
for f in $WHAT_PROVIDES; do
@ -537,7 +544,7 @@ if [ "$REQUEST" = "rpmmanager" ]; then
rpmmanagerfiles=$rpmmanagerdir/$rpmmanagermask
if [ "${rpmmanagermode}" = "environment" ]; then
# local files in environment
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "ls -t $rpmmanagerfiles 2>/dev/null" | \
$SUDO_WRAPPER binary $ENVIRONMENT "$USER" "" "ls -t $rpmmanagerfiles 2>/dev/null" | \
while read f; do
pkgname=`basename $f`
echo -n "<label>"
@ -645,6 +652,10 @@ echo -n "<topcontrols><![CDATA["
# new session button
echo -n "<input type=button id=newsessionbutton value=\"New session\" onclick="
echo -n "window.open(document.URL);>"
# rpm manager
echo -n "<input type=button id=rpmmanager value=\"RPM manager\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=rpmmanager\");>"
# expert mode checkbox
[ "$STATE_ADVANCEDCONTROLS" ] && CHECKED="checked=checked" || CHECKED=
echo -n " <span style=\"white-space:nowrap\">Autodist:<input type=checkbox id=\"advancedcontrols\" "
@ -727,7 +738,7 @@ elif [ ! "$REQUEST" -o "$REQUEST" = "changeenvironment" -o "$REQUEST" = "switchm
echo -n "onchange=ajax_getvalues(\"REQUEST=edit&ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&"
echo -n "PACKAGE=\"+encodeURIComponent(this.value)+\"&REQUEST=changespec\");>"
echo -n "<option value=\"\">-- Select a .spec file --</option>"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "ls *.spec 2>/dev/null| sed \"s|.spec$||\" | sort -f" | while read f; do
$SUDO_WRAPPER binary $ENVIRONMENT "$USER" "" "ls *.spec 2>/dev/null| sed \"s|.spec$||\" | sort -f" | while read f; do
specname=${f/.spec}
[ "$PACKAGE" = "$specname" ] && SELECTED="selected=\"selected\"" || SELECTED=
echo -n "<option value=\"$specname\" $SELECTED>${specname}</option>"
@ -884,12 +895,12 @@ if [ "$MAINTAINERMODE" = "true" -o ! "${AUTOPORT_UPDATE[$ENVIRONMENT]}" ]; then
#(getElementById('package').selectedIndex);>"
echo "<option value=\"\">-- Select a SRPM package --</option>"
SRPMBUTTONDISABLED="disabled=disabled"
if [ -e $local_ftp/$REPOSITORY ]; then
if [ "$local_ftp" -a -e $local_ftp/$REPOSITORY ]; then
if [ $local_ftp/$REPOSITORY/SRPMS.base -nt $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY ]; then
ls $local_ftp/$REPOSITORY/SRPMS.base/ | grep ".src.rpm$" | sort -f > $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY
ls --color=none $local_ftp/$REPOSITORY/SRPMS.base/ | grep ".src.rpm$" | sort -f > $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY
fi
else
curl $REPS_BASE_URL/$REPOSITORY/SRPMS.base/ | grep .src.rpm | \
curl -s $REPS_BASE_URL/$REPOSITORY/SRPMS.base/ | grep .src.rpm | \
sed "s|.*\.src\.rpm\">\(.*\)</a>.*|\1|" | sort -f > $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY
fi
while read f; do
@ -1000,7 +1011,12 @@ fi
if [ "$REQUEST" = "prepare" -o "$REQUEST" = "updatespec" -o "$REQUEST" = "speccreate" -o \
"$REQUEST" = "rebuildspec" -o "$REQUEST" = "renamespec" -o "$REQUEST" = "deletespec" -o \
"$REQUEST" = "autodistprepare" -o "$REQUEST" = "autodistupdate" -o "$REQUEST" = "addpkgnote" ]; then
echo -n "<output><![CDATA[<hr><b>Console output:</b><div align=left class=output id=outputbottom>"
if [ "$REQUEST" = "speccreate" ]; then
OUTPUTMODE="outputtop"
else
OUTPUTMODE="outputbottom"
fi
echo -n "<output><![CDATA[<hr><b>Console output:</b><div align=left class=output id=$OUTPUTMODE>"
echo -n "<pre>"
RET=255
case $REQUEST in
@ -1023,29 +1039,40 @@ if [ "$REQUEST" = "prepare" -o "$REQUEST" = "updatespec" -o "$REQUEST" = "speccr
RET=$?
;;
"speccreate") if [ "$SPECCREATEURL" -a "$PACKAGE" ]; then
if [ "${SPECCREATEURL/\/}" = "$SPECCREATEURL" ]; then
# local source in /SOURCES
SPECCREATEURL="../SOURCES/$SPECCREATEURL"
fi
AUTOSPEC_CMDLINE="-n $PACKAGE -o $PACKAGE.spec"
#DECODEDURL=`cgi_decodevar $SPECCREATEURL`
[ "$SPECCREATETYPE" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE -t $SPECCREATETYPE"
[ "$SPECCREATEVERSION" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE -v $SPECCREATEVERSION"
[ "$SPECCREATEGITBRANCH" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE --git-branch $SPECCREATEGITBRANCH"
[ "$USER_FULLNAME" -a "$USER_EMAIL" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE --packager-fullname=\"$USER_FULLNAME\" --packager-email=\"$USER_EMAIL\""
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "$AUTOSPEC_CMD -s \"$SPECCREATEURL\" $AUTOSPEC_CMDLINE \
--changelog \"package created using the webbuild interface\""
RET=$?
[ $RET -eq 0 ] && {
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STARGET=developers STEXT=\"is working on <b>$PACKAGE</b> new package in <b>`print_environment_descr $ENVIRONMENT`</b> environment\" STIME=`date +%s`"
# prepare
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bp $PACKAGE.spec --nodeps"
RET=$?
if [ $RET -eq 0 ]; then
REQUEST_NEXT="showbuilddocs"
FOUND_EXISTING=`curl -s "${WEBBUILD_DISTROQUERY_URL}?package=$PACKAGE&search_milestone2=true&search_milestone3=true&search_devel=true&search_sources=true&query_compact=true&replyplain=true&searchbox=false"`
if [ "$FOUND_EXISTING" != "" ]; then
echo -n "<div align=left class=output id=outputtop style=\"font-family:serif;color:black;background-color:#E0F2D0;\">"
echo "<b><font color=red>ERROR: package already exists, please update from appropriate version:</font><b>"
echo -n "<hr><b>Search results for \"$PACKAGE\":</b>$FOUND_EXISTING"
echo -n "</div>"
RET=1
continue
else
if [ "${SPECCREATEURL/\/}" = "$SPECCREATEURL" ]; then
# local source in /SOURCES
SPECCREATEURL="../SOURCES/$SPECCREATEURL"
fi
#echo "<br><font color=gold>HINT: don't forget to add build requirements after successful build! Edit specfile and check <i>recreate SRPM</i> before sending the package.</font>"
}
AUTOSPEC_CMDLINE="-n $PACKAGE -o $PACKAGE.spec"
#DECODEDURL=`cgi_decodevar $SPECCREATEURL`
[ "$SPECCREATETYPE" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE -t $SPECCREATETYPE"
[ "$SPECCREATEVERSION" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE -v $SPECCREATEVERSION"
[ "$SPECCREATEGITBRANCH" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE --git-branch $SPECCREATEGITBRANCH"
[ "$USER_FULLNAME" -a "$USER_EMAIL" ] && AUTOSPEC_CMDLINE="$AUTOSPEC_CMDLINE --packager-fullname=\"$USER_FULLNAME\" --packager-email=\"$USER_EMAIL\""
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "$AUTOSPEC_CMD -s \"$SPECCREATEURL\" $AUTOSPEC_CMDLINE \
--changelog \"package created using the webbuild interface\""
RET=$?
[ $RET -eq 0 ] && {
eval `$SUDO_WRAPPER specinfo $ENVIRONMENT "$USER" $PACKAGE ""`
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STARGET=developers STEXT=\"is working on <b>$PACKAGE</b> new package in <b>`print_environment_descr $ENVIRONMENT`</b> environment\" STIME=`date +%s`"
# prepare
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bp $PACKAGE.spec --nodeps --define=\"_topdir $SPECVAR_WORKINGHOME/RPM\""
RET=$?
if [ $RET -eq 0 ]; then
:
REQUEST_NEXT="showbuilddocs"
fi
}
fi
else
echo "ERROR: both source archive URL and name are needed."
RET=1
@ -1072,7 +1099,7 @@ if [ "$REQUEST" = "prepare" -o "$REQUEST" = "updatespec" -o "$REQUEST" = "speccr
autodistjobs="$AUTODISTJOB"
fi
[ "$REPOSITORY" ] && REPOSITORYADD="--repository $REPOSITORY" || REPOSITORYADD="--repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]}"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist -v -p $autodistjobs $REPOSITORYADD --arch $AUTODISTARCH --user $USER $AUTODISTADD"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist -v -p $autodistjobs $REPOSITORYADD --arch $AUTODISTARCH --user $USER $AUTODISTADD -- --colors web"
RET=$?
;;
"autodistupdate") [ "$AUTODISTFORCE" = "true" ] && AUTODISTADD="--force" || AUTODISTADD=
@ -1081,15 +1108,18 @@ if [ "$REQUEST" = "prepare" -o "$REQUEST" = "updatespec" -o "$REQUEST" = "speccr
AUTODISTADD="$AUTODISTADD --rebuild -- --changelog \"${AUTODISTUPDATECHANGELOG}\""
fi
autodistjobs=
if [ "$AUTODISTVERSION" ]; then
AUTODISTVER="\#$AUTODISTVERSION"
fi
if [ "$AUTODISTPKGS" ]; then
for p in $AUTODISTPKGS; do
autodistjobs="$autodistjobs $AUTODISTJOB/$p"
autodistjobs="$autodistjobs $AUTODISTJOB/$p${AUTODISTVER}"
done
else
autodistjobs="$AUTODISTJOB"
autodistjobs="$AUTODISTJOB${AUTODISTVER}"
fi
[ "$REPOSITORY" ] && REPOSITORYADD="--repository $REPOSITORY" || REPOSITORYADD="--repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]}"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist -v -u $autodistjobs $REPOSITORYADD --arch $AUTODISTARCH --user $USER $AUTODISTADD"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist -v -u $autodistjobs $REPOSITORYADD --arch $AUTODISTARCH --user $USER $AUTODISTADD -- --colors web"
RET=$?
;;
"addpkgnote") echo "`date +%s` $USER $ENVIRONMENT $PKGNOTE" >> $WEBBUILD_STATEDIR/notes/$PACKAGE.notes; RET=$? ;;
@ -1134,9 +1164,19 @@ if [ "$MAINTAINERMODE" = "true" ]; then
echo -n "<editor><![CDATA["
echo -n "<div class=maintainer>"
echo -n "<b>Recent packages in $REPOSITORY:</b><br>"
cat $local_ftp/distromatic/$REPOSITORY/_recent.inc | sed "s|a href=|a target=new href=|g"
if [ "$local_ftp" -a -e $local_ftp/distromatic/$REPOSITORY ]; then
if [ $local_ftp/distromatic/$REPOSITORY/_recent.inc -nt $WEBBUILD_STATEDIR/cache/repository-recent-$REPOSITORY ]; then
cat $local_ftp/distromatic/$REPOSITORY/_recent.inc > $WEBBUILD_STATEDIR/cache/repository-recent-$REPOSITORY
cat $local_ftp/$REPOSITORY/distromatic.log > $WEBBUILD_STATEDIR/cache/repository-distromaticlog-$REPOSITORY
fi
else
curl -s $REPS_BASE_URL/distromatic/$REPOSITORY/_recent.inc > $WEBBUILD_STATEDIR/cache/repository-recent-$REPOSITORY
curl -s $REPS_BASE_URL/$REPOSITORY/distromatic.log > $WEBBUILD_STATEDIR/cache/repository-distromaticlog-$REPOSITORY
fi
cat $WEBBUILD_STATEDIR/cache/repository-recent-$REPOSITORY | sed "s|a \(href=.\)/|a target=new \1${SITE_BASE_URL}/|g"
echo -n "<br><b>Log:</b><br><pre>"
cat $local_ftp/$REPOSITORY/distromatic.log
cat $WEBBUILD_STATEDIR/cache/repository-distromaticlog-$REPOSITORY
echo -n "</pre></div>"
echo -n "<input type=button id=updatespecbutton value=\"refresh\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
@ -1181,7 +1221,7 @@ if [ "$REQUEST" = "edit" -o "$REQUEST" = "reloadspec" -o "$REQUEST" = "switchmai
echo -n "</div>"
fi
echo -n "Current <b>$PACKAGE.spec</b> in build environment:<textarea id=spectext class=editor>"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "cat $PACKAGE.spec"
$SUDO_WRAPPER binary $ENVIRONMENT "$USER" $PACKAGE "cat $PACKAGE.spec"
echo -n "</textarea>]]></editor>"
# else
# echo "<output><![CDATA[<div align=left class=output id=outputtop>"
@ -1201,14 +1241,15 @@ fi
# operation panel
if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "<operationpanel><![CDATA["
echo -n "<div style=\"margin-top:140px;background-color:#E0F2D0;border:1px;\">"
if [ "$PACKAGE" ]; then
echo -n "Package: <b>$PACKAGE</b><br>Version: "
[ "${SPECVAR_Epoch[0]}" ] && echo -n "${SPECVAR_Epoch[0]}:"
echo -n "<b>${SPECVAR_Version[0]}-${SPECVAR_Release[0]}</b><br>"
fi
showEnvironmentPanel
echo -n "<hr>"
[ "$PACKAGE" ] && {
echo -n "Package: <b>$PACKAGE</b><br>Version: <b>"
[ "${SPECVAR_Epoch[0]}" ] && echo -n "${SPECVAR_Epoch[0]}:" || echo -n "0:"
echo -n "${SPECVAR_Version[0]}-${SPECVAR_Release[0]}</b><br>"
}
echo -n "Target arch:<select id=rpmbuildarch>"
echo -n "</div>"
echo -n "<br><b>Build/Send options:</b><br>Arch:<select id=rpmbuildarch>"
for f in i586 arm x86_64 ppc; do
SELECTED=
if [ "$f" = "$RPMBUILDARCH" ]; then
@ -1219,8 +1260,8 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "<option value=\"$f\" $SELECTED>$f</option>"
done
echo -n "</select>"
echo -n "<label style=\"background-color:red;padding:1px;\"><input type=checkbox id=\"rpmforce\" value=\"force\">force&nbsp;</label>"
echo -n "<label style=\"padding:1px;\"><input type=checkbox id=\"debug\" value=\"debug\">debug&nbsp;</label>"
echo -n "&nbsp;<label style=\"background-color:red;padding:1px;\"><input type=checkbox id=\"rpmforce\" value=\"force\">force&nbsp;</label>"
echo -n "&nbsp;<label style=\"padding:1px;\"><input type=checkbox id=\"debug\" value=\"debug\">debug&nbsp;</label>"
# destination repository select
echo -n "<br>Send to:"
echo -n "<select id=sendrepository>"
@ -1246,7 +1287,7 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "<option value=\"$repname\" $SELECTED>$repname</option>"
done
echo -n "</select><br>"
[ "${AUTOPORT_UPDATE[$ENVIRONMENT]}" -o "$STATE_ADVANCEDCONTROLS" ] && echo -n "<hr><div style=\"background-color:#FFFFDE\"><b>Autodist batch builds:</b><br>"
[ "${AUTOPORT_UPDATE[$ENVIRONMENT]}" -o "$STATE_ADVANCEDCONTROLS" ] && echo -n "<br><div style=\"background-color:#FFFFDE\"><b>Autodist batch builds:</b><br>"
if [ "$PACKAGE" ]; then
if [ "${AUTOPORT_UPDATE[$ENVIRONMENT]}" ]; then
echo -n "Patch for $PACKAGE:<br>"
@ -1310,6 +1351,9 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "<option value=\"$PACKAGEENCODED\" $SELECTED>$PACKAGE (defaults)</option>"
fi
echo -n "</select>"
if [ "$AUTODISTJOBSELECTED" -a "$AUTODISTJOB" = "$PACKAGE" ]; then
echo -n "<br><font color=red>You should use autodist for this package!</font>"
fi
if [ "$AUTODISTJOB" ]; then
echo -n "<br>Job packages:"
echo -n "<label><input type=checkbox name=autodistpkgsselectallcheckbox value=\"\" onclick=checkAllBoxes('autodistpkgscheckbox',this.checked);>select/unselect all</label>"
@ -1342,6 +1386,7 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "AUTODISTJOB=\"+getSelectedValueById('autodistjobs')+\"&"
echo -n "AUTODISTPKGS=\"+encodeURIComponent(p)+\"&"
echo -n "AUTODISTUPDATECHANGELOG=\"+encodeURIComponent(getElementById('autodistupdatechangelog').value)+\"&"
echo -n "AUTODISTVERSION=\"+getElementById('autodistversion').value+\"&"
echo -n "ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autodistupdate\");>"
# autodist build
echo -n "<input type=button value=\"build\" onclick="
@ -1376,16 +1421,16 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autodistsend\""
echo -n ",\"`cgi_encodevar "Send selected packages for <b>"`\"+getSelectedValueById('autodistjobs')+\"`cgi_encodevar "</b> job to <b>"`\"+"
echo -n "getSelectedValueById('sendrepository')+\"`cgi_encodevar "</b>?"`\"); class=redbutton $DISABLED>"
# autodist update changelog
echo -n "Rebuild changelog:"
echo -n "<input type=text id=autodistupdatechangelog style=\"width:95%\">"
# autodist schedule
echo -n "<br><input type=button value=\"schedule job\" onclick="
echo -n "<br>New version:<input type=text id=autodistversion value=\"\" style=\"width:20%\"> "
echo -n "<input type=button value=\"schedule job\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "AUTODISTJOB=\"+getSelectedValueById('autodistjobs')+\"&"
echo -n "REQUEST=schedule&SCHEDULEVERSION=\"+getElementById('scheduleversion').value"
echo -n "REQUEST=schedule&AUTODISTVERSION=\"+getElementById('autodistversion').value"
echo -n ",\"`cgi_encodevar "Schedule <b>"`\"+getSelectedValueById('autodistjobs')+\"`cgi_encodevar "</b> autodist job for automatic update?"`\"); class=boldbutton>"
echo -n "(version:<input type=text id=scheduleversion value=\"\" size=\"6\">)"
# autodist update changelog
echo -n "<br>Rebuild changelog:<br>"
echo -n "<input type=text id=autodistupdatechangelog style=\"width:95%\">"
# autodist show schedule
echo -n "<input type=button value=\"show schedule\" onclick=ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=showscheduled\");>"
@ -1403,7 +1448,7 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "<br>"
fi
# automatic port
if [ ! "${AUTOPORT_DISABLE[$ENVIRONMENT]}" -a ! "${AUTOPORT_UPDATE[$ENVIRONMENT]}" ]; then
if [ "${AUTOPORT_PORT_REPOSITORY[$ENVIRONMENT]}" ]; then
echo -n "Automatic port:"
echo -n "<input type=button id=autoportnp value=\"port\" onclick="
echo -n "p=getSelectedValueById('sendrepository');"
@ -1418,85 +1463,26 @@ if [ "$MAINTAINERMODE" != "true" ]; then
fi
fi
if [ "$PACKAGE" ]; then
echo -n "<hr><div style=\"background-color:#E0F2D0\"><b>RPM packaging commands:</b><br>"
# check for updates
echo -n "<input type=button value=\"check for updates\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autospecupdatescheck&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue()));>"
# unpack
echo -n "<input type=button value=\"prepare\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpmprepare&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue()));>"
# build
echo -n "<input type=button value=\"build\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpmbuild&"
echo -n "RPMBUILDARCH=\"+getSelectedValueById('rpmbuildarch')+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&RPMFORCE=\"+getElementById('rpmforce').checked); class=boldbutton>"
# unpackaged files
echo -n "<input type=button value=\"unpackaged files\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autospeclistcheck&"
echo -n "RPMBUILDARCH=\"+getSelectedValueById('rpmbuildarch')+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue()));>"
# build requirements
echo -n "<input type=button value=\"build requirements\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autospecbuildreq\");>"
echo -n "<hr><div style=\"background-color:#E0F2D0\">"
## check for updates
#echo -n "<input type=button value=\"check for updates\" onclick="
#echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autospecupdatescheck&"
#echo -n "RPMBUILDARCH=\"+getSelectedValueById('rpmbuildarch')+\"&"
#echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue()));>"
## recreate SRPM
#echo -n "<input type=button value=\"recreate SRPM\" onclick="
#echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=srpmbuild&"
#echo -n "RPMFORCE=\"+getElementById('rpmforce').checked+\"&"
#echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&RPMFORCE=\"+getElementById('rpmforce').checked);>"
# rpm checks
echo -n "<input type=button id=rpmchecks value=\"checks\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpmchecks\");>"
echo -n "<input type=button id=rpmsimulateinstallbutton value=\"simulate install\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpmsimulateinstall\");>"
# rpm install
[ ! "$USER_CANINSTALL" ] && DISABLED="disabled=disabled"
echo -n "<input type=button id=rpminstallbutton value=\"install\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpminstall&"
echo -n "RPMFORCE=\"+getElementById('rpmforce').checked"
echo -n ",\"`cgi_encodevar "Install <b>$PACKAGE</b> in current environment?"`\""
echo -n "); class=redbutton $DISABLED>"
# rpm send
if [ "$SPECVAR_CHECK_NOAUTOBUILDREQ" ]; then
HREFADD="disabled=disabled title=\"WARNING: fix specfile build requirements before you can send the package\""
else
HREFADD=
fi
echo -n "<input type=button id=sendpackagebutton value=\"send\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=sendpackage&"
echo -n "SENDRECREATESRPM=\"+getElementById('sendrecreatesrpm').checked+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "SENDREPOSITORY=\"+getSelectedValueById('sendrepository')"
echo -n ",\"`cgi_encodevar "Send <b>$PACKAGE</b> built packages to <b>"`\"+getSelectedValueById('sendrepository')+"
echo -n "\"`cgi_encodevar "</b>?<br><br><font color=goldenrod>HINT: does summary look short and good?</font><br><b>${SPECVAR_Name[0]} - ${SPECVAR_Summary[0]}.</b>"`\""
echo -n "); class=redbutton $HREFADD>"
# recreate and send SRPM
if [ "$SPECVAR_CHECK_NOAUTOBUILDREQ" ]; then
HREFADD="disabled=disabled title=\"WARNING: fix specfile build requirements before you can send the package\""
else
HREFADD=
fi
echo -n "<input type=button id=sendsourcebutton value=\"send SRPM\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=sendsource&"
echo -n "RPMFORCE=\"+getElementById('rpmforce').checked+\"&"
echo -n "SENDRECREATESRPM=\"+getElementById('sendrecreatesrpm').checked+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "SENDREPOSITORY=\"+getSelectedValueById('sendrepository')"
echo -n ",\"`cgi_encodevar "Send <b>$PACKAGE</b> source package only to <b>"`\"+getSelectedValueById('sendrepository')+"
echo -n "\"`cgi_encodevar "</b>?<br><br>WARNING: use this to refresh the SRPM of a package which already exists with same release in repository"`\""
echo -n "); class=redbutton $HREFADD>"
# recreate SRPM before sending checkbox
echo -n "<label style=\"color:red;padding:0;\"><input type=checkbox id=\"sendrecreatesrpm\" value=\"force\">recreate SRPM</label>"
# add patches
echo -n "<hr><b>Add patches:</b>"
echo -n "<b>Add patches:</b>"
echo -n "<input type=button id=addpatchbutton value=\"submit\" onclick=ajax_getvalues(\""
echo -n "REQUEST=addpatch&ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "ADDPATCHURL=\"+encodeURIComponent(getElementById('addpatchurl').value)+\"&"
echo -n "ADDPATCHNAME=\"+encodeURIComponent(getElementById('addpatchname').value));>"
echo -n "&nbsp;<a href=\"http://pastebin.com\" target=_new>pastebin</a><br>"
echo -n "URL:<input type=text id=addpatchurl value=\"\" style=\"size:100%\">"
echo -n "URL:<input type=text id=addpatchurl value=\"\" style=\"width:80%\">"
echo -n "<br><div style=\"white-space:nowrap;font-size:9px;width:100%;overflow:hidden\"><span style=\"float:left;margin-top:6px;\">$PACKAGE-${SPECVAR_Version}-</span>"
echo -n "<span style=\"display:block;float:right;margin-top:6px;\">.patch</span>"
echo -n "<span style=\"display:block;overflow:hidden;padding-right:5px;\"><input type=text id=addpatchname value=\"\" style=\"width:100%\"></span></div>"
@ -1509,11 +1495,12 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "UPLOADFILENAME=\"+encodeURIComponent(getElementById('fileToUpload').value));>Upload</button>"
echo -n "</form>"
echo -n "</div><hr>"
echo -n "</div>"
# info from package sources
echo -n "<hr><div style=\"background-color:#A7DEDE\">"
echo -n "<b>Info from package in the works:</b><br>"
# show sources
echo -n "<select id=sourcefile onchange="
echo -n "<select id=sourcefile style=\"width:98%\" onchange="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=showsourcefile&"
echo -n "SOURCEFILE=\"+getSelectedValueById('sourcefile'));>"
echo -n "<br><option value=\"\">-- select a source to display --</option>"
@ -1523,7 +1510,7 @@ if [ "$MAINTAINERMODE" != "true" ]; then
done
echo -n "</select>"
# show patches
echo -n "<select id=patchfile onchange="
echo -n "<select id=patchfile style=\"width:98%\" onchange="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=showpatchfile&"
echo -n "PATCHFILE=\"+getSelectedValueById('patchfile'));>"
echo -n "<option value=\"\">-- select a patch to display --</option>"
@ -1556,6 +1543,15 @@ if [ "$MAINTAINERMODE" != "true" ]; then
# show package changelog
echo -n "<input type=button value=\"changelog(s)\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=showchangelogs\");>"
# add a note
echo -n "<label>"
echo -n "<input type=button id=addpkgnote value=\"add a note:\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "REQUEST=addpkgnote&PKGNOTE=\"+encodeURIComponent(getElementById('pkgnote').value));></label></span>"
echo -n "<span style=\"display:block;overflow:hidden;padding-right:5px;\">"
echo -n "<input type=text id=pkgnote value=\"\" style=\"width:100%\">"
echo -n "</span>"
# generic info
echo -n "<hr><b>Generic info:</b><br>"
@ -1566,7 +1562,7 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "<input type=button value=\"approved licenses\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=approvedlicenses\");>"
# templates
echo -n "<select id=autospectemplate onchange="
echo -n "<select id=autospectemplate style=\"width:98%\" onchange="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=showautospectemplate&"
echo -n "AUTOSPECTEMPLATE=\"+getSelectedValueById('autospectemplate'));>"
echo -n "<option value=\"\">-- display a .spec template --</option>"
@ -1576,7 +1572,7 @@ if [ "$MAINTAINERMODE" != "true" ]; then
done
echo -n "</select>"
# macros
echo -n "<select id=macrosfile onchange="
echo -n "<select id=macrosfile style=\"width:98%\" onchange="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=showmacrosfile&"
echo -n "MACROSFILE=\"+getSelectedValueById('macrosfile'));>"
echo -n "<option value=\"\">-- display a RPM macros file --</option>"
@ -1586,22 +1582,43 @@ if [ "$MAINTAINERMODE" != "true" ]; then
echo -n "<option value=\"$macrosfile\">$macrosfile</option>"
done
echo -n "</select></div>"
echo -n "</div>"
fi
echo -n "<hr><b>Host maintainance:</b><br>"
## run ldconfig
#echo -n "<input type=button id=runldconfig value=\"run ldconfig\" onclick="
#echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
#echo -n "REQUEST=runldconfig\");>"
# environment search
echo -n "<div style=\"white-space:nowrap;width:100%;\">Provides:<input type=text style=\"width:75%;align:center;padding:0;margin:2px;\" id=environmentsearch value=\"Search package or provide...\" "
echo -n "onfocus=\"if (this.value==this.defaultValue) this.value=''\" "
echo -n "onkeypress=if(checkEnter(event))ajax_getvalues(\""
echo -n "ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=environmentsearch&ENVSEARCHTEXT=\"+encodeURIComponent(getElementById('environmentsearch').value));></div>"
# system upgrade
echo -n "<input type=button id=smartupgrade value=\"system upgrade\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=smartupgrade\""
echo -n ",\"`cgi_encodevar "Upgrade current environment to latest updates now?"`\"); class=redbutton>"
echo -n "]]></operationpanel>"
fi
echo -n "<chatpanel><![CDATA["
# broadcast message
echo -n "<hr><b>Write a message to all developers:</b><br>"
echo -n "<textarea id=broadcastmessage style=\"width:98%;font-size:8pt;resize:none;\" rows=4 "
echo -n "onkeypress=if(checkEnter()){ajax_getvalues(\""
echo -n "<div style=\"position:absolute;width:220px;\">"
echo -n "<textarea id=broadcastmessage style=\"font-family:sans;height:36px;width:80%;float:left;font-size:8pt;resize:none;\" "
echo -n "onfocus=\"if(this.value==this.defaultValue)this.value='';\">Chat with online developers...</textarea>"
echo -n "<input type=button style=\"float:right\" onclick=ajax_getvalues(\""
echo -n "ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "MAINTAINERMODE=\"+getElementById('maintain').checked+\"&"
echo -n "REQUEST=broadcastmessage&BROADCASTMESSAGE=\"+encodeURIComponent(getElementById('broadcastmessage').value));"
echo -n "getElementById('broadcastmessage').value=\"\";}>"
echo -n "</textarea>"
echo -n "getElementById('broadcastmessage').value=\"\"; value=\"Send\" />"
#echo -n "<input type=button value=\"send\" onClick="
echo -n "]]></chatpanel>"
echo -n "</div>]]></chatpanel>"
if [ "$REQUEST" != "" ]; then
echo -n "<output><![CDATA[<hr>"
@ -1629,21 +1646,21 @@ case $REQUEST in
"smartupgrade") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "export LANG=C;sudo smart update && sudo smart upgrade"
RET=$?
;;
"runldconfig") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "/sbin/ldconfig"
"runldconfig") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "export LANG=C;sudo /sbin/ldconfig"
RET=$?
;;
"showpatch") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "autodist-tool makepatch $PACKAGE"; RET=$? ;;
"showpatch") $SUDO_WRAPPER binary $ENVIRONMENT "$USER" $PACKAGE "autodist-tool makepatch $PACKAGE"; RET=$? ;;
"removepatch") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "autodist-tool makepatch $PACKAGE remove"
RET=$?
if [ $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"removed the autodist patch for <b>$PACKAGE</b>\" STIME=`date +%s`"
fi ;;
"autopatch") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "autodist-tool makepatch $PACKAGE auto"
"autopatch") $SUDO_WRAPPER binary $ENVIRONMENT "$USER" $PACKAGE "autodist-tool makepatch $PACKAGE auto"
RET=$?
if [ $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"made an autodist patch for <b>$PACKAGE</b>\" STIME=`date +%s`"
fi ;;
"updatepatch") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "autodist-tool makepatch $PACKAGE update"
"updatepatch") $SUDO_WRAPPER binary $ENVIRONMENT "$USER" $PACKAGE "autodist-tool makepatch $PACKAGE update"
RET=$?
if [ $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"made an autodist <b>update</b> patch for <b>$PACKAGE</b>\" STIME=`date +%s`"
@ -1654,11 +1671,11 @@ case $REQUEST in
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"made an autodist <b>build</b> patch for <b>$PACKAGE</b>\" STIME=`date +%s`"
fi ;;
"showscheduled") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist-tool schedule"; RET=$? ;;
"schedule") if [ "$SCHEDULEVERSION" ]; then
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist-tool schedule $AUTODISTJOB#$SCHEDULEVERSION"
"schedule") if [ "$AUTODISTVERSION" ]; then
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist-tool schedule $AUTODISTJOB#$AUTODISTVERSION"
RET=$?
if [ $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"scheduled autodist job <b>$AUTODISTJOB</b> for update to version $SCHEDULEVERSION\" STIME=`date +%s`"
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"scheduled autodist job <b>$AUTODISTJOB</b> for update to version $AUTODISTVERSION\" STIME=`date +%s`"
fi
else
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist-tool schedule $AUTODISTJOB"
@ -1682,7 +1699,7 @@ case $REQUEST in
else
autodistjobs="$AUTODISTJOB"
fi
$SUDO_WRAPPER background $ENVIRONMENT "$USER" "$PACKAGE" "autodist -v -b $autodistjobs --repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]} --arch $AUTODISTARCH --user $USER $AUTODISTADD" &>/dev/null
$SUDO_WRAPPER background $ENVIRONMENT "$USER" "$PACKAGE" "autodist -v -b $autodistjobs --repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]} --arch $AUTODISTARCH --user $USER $AUTODISTADD -- --colors web" &>/dev/null
[ $? -ne 0 ] && RET=$? || {
RET=-1
echo "Autodist build start. You may see the output in the <b>Webbuild jobs</b> box above."
@ -1698,7 +1715,7 @@ case $REQUEST in
else
autodistjobs="$AUTODISTJOB"
fi
$SUDO_WRAPPER background $ENVIRONMENT "$USER" "$PACKAGE" "autodist -v -i $autodistjobs --repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]} --arch $AUTODISTARCH --user $USER $AUTODISTADD" &>/dev/null
$SUDO_WRAPPER background $ENVIRONMENT "$USER" "$PACKAGE" "autodist -v -i $autodistjobs --repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]} --arch $AUTODISTARCH --user $USER $AUTODISTADD -- --colors web" &>/dev/null
[ $? -ne 0 ] && RET=$? || {
RET=-1
echo "Autodist install start. You may see the output in the <b>Webbuild jobs</b> box above."
@ -1713,7 +1730,7 @@ case $REQUEST in
else
autodistjobs="$AUTODISTJOB"
fi
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist -v -s $autodistjobs --repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]} --server $SENDREPOSITORY --arch $AUTODISTARCH --user $USER $AUTODISTADD"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "autodist -v -s $autodistjobs --repository ${AUTOPORT_BASE_REPOSITORY[$ENVIRONMENT]} --server $SENDREPOSITORY --arch $AUTODISTARCH --user $USER $AUTODISTADD -- --colors web"
RET=$?
[ $RET -eq 0 ] && social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"sent <b>$AUTODISTPKGS $SPECVAR_Version-$SPECVAR_Release</b> from <i>`print_environment_descr $ENVIRONMENT`</i> to <b>$SENDREPOSITORY</b>\" STIME=`date +%s`"
;;
@ -1733,7 +1750,11 @@ case $REQUEST in
fi
;;
"autospecupdatescheck") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a2"; RET=$? ;;
"rpmprepare") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bp $PACKAGE.spec --nodeps"; RET=$? ;;
"rpmprepare") [ "$RPMBUILDARCH" -a "$RPMBUILDARCH" != "${AUTOPORT_ARCH[$ENVIRONMENT]}" ] && \
RPMARCHADD="--target $RPMBUILDARCH --define=\"cross_target_cpu $RPMBUILDARCH\""
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bp $PACKAGE.spec $RPMARCHADD --nodeps --define=\"_topdir $SPECVAR_WORKINGHOME/RPM\""
RET=$?
;;
"rpmbuild") [ "$RPMFORCE" = "true" ] && RPMFORCEADD="--force-build"
[ "$RPMBUILDARCH" -a "$RPMBUILDARCH" != "${AUTOPORT_ARCH[$ENVIRONMENT]}" ] && \
RPMARCHADD="-A $RPMBUILDARCH --define \"cross_target_cpu=$RPMBUILDARCH\""
@ -1746,14 +1767,19 @@ case $REQUEST in
}
;;
"srpmbuild") [ "$RPMFORCE" = "true" ] && RPMFORCEADD="--nodeps"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bs --define=\"_sourcedir $SPECVAR_WORKINGHOME/RPM/SOURCES\" $RPMFORCEADD $PACKAGE.spec"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE \
"rpmbuild -bs \
--define=\"_topdir $SPECVAR_WORKINGHOME/RPM\" \
$RPMFORCEADD $PACKAGE.spec"
RET=$? ;;
"autospeclistcheck")
[ "$RPMBUILDARCH" -a "$RPMBUILDARCH" != "${AUTOPORT_ARCH[$ENVIRONMENT]}" ] && \
RPMARCHADD="-A $RPMBUILDARCH --define \"cross_target_cpu=$RPMBUILDARCH\""
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a5 --list-check --force $RPMARCHADD"
RET=$? ;;
"autospecbuildreq") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a6"
"autospecbuildreq")
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "sudo /sbin/ldconfig"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a6"
RET=$? ;;
"rpmchecks") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a8"; RET=$? ;;
"rpmsimulateinstall") $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a7"; RET=$? ;;
@ -1766,10 +1792,12 @@ case $REQUEST in
fi ;;
"sendpackage") if [ "$SENDREPOSITORY" ]; then
if [ "$SENDRECREATESRPM" = "true" ]; then
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bs --define=\"_sourcedir $SPECVAR_WORKINGHOME/RPM/SOURCES\" $PACKAGE.spec $RPMFORCEADD && $AUTOSPEC_CMD -u $PACKAGE -a10 --server $SENDREPOSITORY"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bs \
--define=\"_topdir $SPECVAR_WORKINGHOME/RPM\" \
$PACKAGE.spec $RPMFORCEADD && $AUTOSPEC_CMD -u $PACKAGE -a10 --server $SENDREPOSITORY --arch $AUTODISTARCH"
RET=$?
else
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a10 --server $SENDREPOSITORY"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "$AUTOSPEC_CMD -u $PACKAGE -a10 --server $SENDREPOSITORY --arch $AUTODISTARCH"
RET=$?
fi
if [ $RET -eq 0 ]; then
@ -1783,7 +1811,9 @@ case $REQUEST in
"sendsource") [ "$RPMFORCE" = "true" ] && RPMFORCEADD="--nodeps"
if [ "$SENDREPOSITORY" ]; then
if [ "$SENDRECREATESRPM" = "true" ]; then
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bs --define=\"_sourcedir $SPECVAR_WORKINGHOME/RPM/SOURCES\" $PACKAGE.spec $RPMFORCEADD && $AUTOSPEC_CMD -u $PACKAGE -a10 --server $SENDREPOSITORY --norpm"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "rpmbuild -bs \
--define=\"_topdir $SPECVAR_WORKINGHOME/RPM\" \
$PACKAGE.spec $RPMFORCEADD && $AUTOSPEC_CMD -u $PACKAGE -a10 --server $SENDREPOSITORY --norpm"
RET=$?
if [ $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"sent edited <b>$PACKAGE</b> source to <b>$SENDREPOSITORY</b>\" STIME=`date +%s`"
@ -1873,7 +1903,7 @@ case $REQUEST in
for p in $PACKAGES; do
[ "$REPOSITORYSIMULATE" = "true" -o ! "$USER_CANMAINTAIN" ] && SIMULATEADD="-s" || SIMULATEADD=
[ "$REPOSITORYFORCE" = "true" ] && FORCEADD="-f"
$SUDO_WRAPPER 0 local "$USER" "$PACKAGE" "openmamba-repository import $SENDREPOSITORY $p -d $REPOSITORYIMPORTTO $SIMULATEADD $FORCEADD -y"
$SUDO_WRAPPER 0 local "$USER" "$PACKAGE" "autodist-repository import $SENDREPOSITORY $p -d $REPOSITORYIMPORTTO $SIMULATEADD $FORCEADD -y"
RET=$?
if [ ! "$SIMULATEADD" -a $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"imported <b>$p</b> from <b>$SENDREPOSITORY</b> to <b>$REPOSITORYIMPORTTO</b>\" STIME=`date +%s`"
@ -1890,7 +1920,7 @@ case $REQUEST in
for p in $PACKAGES; do
[ "$REPOSITORYSIMULATE" = "true" -o ! "$USER_CANMAINTAIN" ] && SIMULATEADD="-s" || SIMULATEADD=
[ "$REPOSITORYFORCE" = "true" ] && SIMULATEADD="$SIMULATEADD -f"
$SUDO_WRAPPER 0 local "$USER" "$PACKAGE" "openmamba-repository release $SENDREPOSITORY $p -d $REPOSITORYIMPORTTO $SIMULATEADD -y"
$SUDO_WRAPPER 0 local "$USER" "$PACKAGE" "autodist-repository release $SENDREPOSITORY $p -d $REPOSITORYIMPORTTO $SIMULATEADD -y"
RET=$?
if [ ! "$SIMULATEADD" -a $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"released <b>$p</b> from <b>$SENDREPOSITORY</b> to <b>$REPOSITORYIMPORTTO</b>\" STIME=`date +%s`"
@ -1905,7 +1935,7 @@ case $REQUEST in
break
}
for p in $PACKAGES; do
$SUDO_WRAPPER 0 local "$USER" "" "openmamba-repository diff $SENDREPOSITORY $p -d $REPOSITORYIMPORTTO"
$SUDO_WRAPPER 0 local "$USER" "" "autodist-repository diff $SENDREPOSITORY $p -d $REPOSITORYIMPORTTO"
RET=$?
[ $RET -eq 0 ] || break
done
@ -1918,7 +1948,7 @@ case $REQUEST in
}
for p in $PACKAGES; do
[ "$REPOSITORYSIMULATE" = "true" -o ! "$USER_CANMAINTAIN" ] && SIMULATEADD="-s" || SIMULATEADD=
$SUDO_WRAPPER 0 local "$USER" "$PACKAGE" "openmamba-repository archive $SENDREPOSITORY $p -y"
$SUDO_WRAPPER 0 local "$USER" "$PACKAGE" "autodist-repository archive $SENDREPOSITORY $p -y"
RET=$?
if [ ! "$SIMULATEADD" -a $RET -eq 0 ]; then
social_log "SUSER=$USER SEMAIL=$USER_EMAIL STEXT=\"archived <b>$p</b> from <b>$SENDREPOSITORY</b>\" STIME=`date +%s`"
@ -1934,7 +1964,8 @@ case $REQUEST in
echo "ERROR: changelog was not specified."
RET=1
else
$SUDO_WRAPPER background $ENVIRONMENT "$USER" "$PACKAGE" "autoport -r $SENDREPOSITORY -d $REPOSITORYIMPORTTO $PACKAGES -u \"$MASSREBUILDCHANGELOG\" --user $USER" &>/dev/null
SCRIPTARGS=`echo -e $MASSREBUILDBUILDREQ | awk 'BEGIN {FS="\\\\n"} {for(i=1;i<=NF;i++) printf "--buildreq %s ", $i }'`
$SUDO_WRAPPER background $ENVIRONMENT "$USER" "$PACKAGE" "autoport -r $SENDREPOSITORY -d $REPOSITORYIMPORTTO $PACKAGES -u \"$MASSREBUILDCHANGELOG\" -s \"$SCRIPTARGS\" --user $USER" &>/dev/null
[ $? -ne 0 ] && RET=$? || {
RET=-1
echo -n "Mass rebuild started. You may see the output in the <b>Webbuild jobs</b> box above."
@ -1944,6 +1975,18 @@ case $REQUEST in
# fi
fi
;;
"repositorymassrebuilddependant")
if [ ! "$PACKAGES" ]; then
echo "ERROR: no package(s) selected."
RET=1
else
$SUDO_WRAPPER background $ENVIRONMENT "$USER" "$PACKAGE" "autoport -r $SENDREPOSITORY -d $REPOSITORYIMPORTTO $PACKAGES -ud --user $USER" &>/dev/null
[ $? -ne 0 ] && RET=$? || {
RET=-1
echo -n "Mass rebuild started. You may see the output in the <b>Webbuild jobs</b> box above."
}
fi
;;
"repositorysync")
if [ "$REPOSITORY" ]; then
$SUDO_WRAPPER background local "$USER" "" "/etc/cron.hourly/10-openmamba-sync-back $REPOSITORY"
@ -2015,9 +2058,9 @@ case $REQUEST in
[ $RET -eq 0 ] && RET=-1 ;;
"showpatchfile") OUTPATCHFILE=${PATCHFILE/*\/}
case ${OUTPATCHFILE/*.} in
gz|gzip) $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "gunzip -c $SPECVAR_RPMSOURCESDIR/$OUTPATCHFILE" | parse_patch_output ;;
bz2) $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "bzcat $SPECVAR_RPMSOURCESDIR/$OUTPATCHFILE" | parse_patch_output ;;
*) $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" $PACKAGE "cat $SPECVAR_RPMSOURCESDIR/$OUTPATCHFILE" | parse_patch_output ;;
gz|gzip) $SUDO_WRAPPER binary $ENVIRONMENT "$USER" $PACKAGE "gunzip -c $SPECVAR_RPMSOURCESDIR/$OUTPATCHFILE" | parse_patch_output ;;
bz2) $SUDO_WRAPPER binary $ENVIRONMENT "$USER" $PACKAGE "bzcat $SPECVAR_RPMSOURCESDIR/$OUTPATCHFILE" | parse_patch_output ;;
*) $SUDO_WRAPPER binary $ENVIRONMENT "$USER" $PACKAGE "cat $SPECVAR_RPMSOURCESDIR/$OUTPATCHFILE" | parse_patch_output ;;
esac
RET=$?
[ $RET -eq 0 ] && RET=-1
@ -2106,8 +2149,13 @@ if [ "$MAINTAINERMODE" = "true" ]; then
# echo "<option value=\"\">-- Select a SRPM package --</option>"
echo -n "<label><input type=checkbox name=pkgsselectallcheckbox value=\"\" onclick=checkAllBoxes('packagescheckbox',this.checked);>select/unselect all</label>"
echo -n "<div class=multiselect>"
if [ $local_ftp/$REPOSITORY/SRPMS.base -nt $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY ]; then
ls $local_ftp/$REPOSITORY/SRPMS.base/ | grep ".src.rpm$" | sort -f > $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY
if [ "$local_ftp" -a -e $local_ftp/$REPOSITORY ]; then
if [ $local_ftp/$REPOSITORY/SRPMS.base -nt $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY ]; then
ls --color=none $local_ftp/$REPOSITORY/SRPMS.base/ | grep ".src.rpm$" | sort -f > $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY
fi
else
curl -s $REPS_BASE_URL/$REPOSITORY/SRPMS.base/ | grep .src.rpm | \
sed "s|.*\.src\.rpm\">\(.*\)</a>.*|\1|" | sort -f > $WEBBUILD_STATEDIR/cache/repository-src-$REPOSITORY
fi
while read f; do
pkgname=${f/.src.rpm}
@ -2137,6 +2185,8 @@ if [ "$MAINTAINERMODE" = "true" ]; then
echo -n "<select id=repositoryimportto>"
if [ "${REPOSITORY:0:10}" = "milestone2" ]; then
IMPORT_REPOSITORIES=$AUTOPORT_MILESTONE2_IMPORT_REPOSITORIES
elif [ "${REPOSITORY:0:10}" = "milestone3" ]; then
IMPORT_REPOSITORIES=$AUTOPORT_MILESTONE3_IMPORT_REPOSITORIES
else
IMPORT_REPOSITORIES="$AUTOPORT_DEVEL_IMPORT_REPOSITORIES devel-$USER $AUTOPORT_DEVEL_RELEASE_REPOSITORIES"
fi
@ -2200,8 +2250,18 @@ if [ "$MAINTAINERMODE" = "true" ]; then
echo -n "REQUEST=repositoryarchive\""
echo -n ",\"`cgi_encodevar "Archive <b>"`\"+p+\"`cgi_encodevar "</b> in <b>$REPOSITORY</b>?"`\""
echo -n "); class=redbutton>"
# force checkbox
echo -n "<label><input type=checkbox id=\"repositoryforce\" value=\"force\">force</label>"
# simulate checkbox
echo -n "<label><input type=checkbox id=\"repositorysimulate\" value=\"simulate\">simulate</label>"
# changelog for mass rebuild
echo -n "<hr><b>Mass rebuild of selected packages:</b><br>Changelog:"
echo -n "<input type=text id=massrebuildchangelog style=\"width:100%\">"
# autodist update buildrequirements
echo -n "Add build requirement(s):<br>"
echo -n "<textarea id=massrebuildbuildreq style=\"width:98%;font-size:8pt;resize:none;\" rows=2></textarea>"
# mass rebuild
echo -n "<input type=button value=\"mass rebuild\" onclick="
echo -n "<input type=button value=\"rebuild\" onclick="
echo -n "p=getCheckedValuesByName('packagescheckbox');"
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&"
echo -n "PACKAGES=\"+encodeURIComponent(p)+\"&"
@ -2210,16 +2270,26 @@ if [ "$MAINTAINERMODE" = "true" ]; then
echo -n "REPOSITORYSIMULATE=\"+getElementById('repositorysimulate').checked+\"&"
echo -n "REPOSITORYFORCE=\"+getElementById('repositoryforce').checked+\"&"
echo -n "MASSREBUILDCHANGELOG=\"+encodeURIComponent(getElementById('massrebuildchangelog').value)+\"&"
echo -n "MASSREBUILDBUILDREQ=\"+encodeURIComponent(getElementById('massrebuildbuildreq').value)+\"&"
echo -n "SENDREPOSITORY=$REPOSITORY&REQUEST=repositorymassrebuild\""
echo -n ",\"`cgi_encodevar "Rebuild <b>"`\"+p+\"`cgi_encodevar "</b> from <b>$REPOSITORY</b> and send to <b>"`\"+getSelectedValueById('repositoryimportto')+"
echo -n "\"`cgi_encodevar "</b>?"`\""
echo -n "); class=redbutton>"
echo -n " Changelog:"
echo -n "<input type=text id=massrebuildchangelog style=\"width:100%\">"
# force checkbox
echo -n "<label><input type=checkbox id=\"repositoryforce\" value=\"force\">force</label>"
# simulate checkbox
echo -n "<label><input type=checkbox id=\"repositorysimulate\" value=\"simulate\">simulate</label>"
# mass rebuild of dependant packages
echo -n "<input type=button value=\"rebuild dependant\" onclick="
echo -n "p=getCheckedValuesByName('packagescheckbox');"
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&"
echo -n "PACKAGES=\"+encodeURIComponent(p)+\"&"
echo -n "MAINTAINERMODE=\"+getElementById('maintain').checked+\"&"
echo -n "REPOSITORYIMPORTTO=\"+getSelectedValueById('repositoryimportto')+\"&"
echo -n "REPOSITORYSIMULATE=\"+getElementById('repositorysimulate').checked+\"&"
echo -n "REPOSITORYFORCE=\"+getElementById('repositoryforce').checked+\"&"
echo -n "MASSREBUILDCHANGELOG=\"+encodeURIComponent(getElementById('massrebuildchangelog').value)+\"&"
echo -n "MASSREBUILDBUILDREQ=\"+encodeURIComponent(getElementById('massrebuildbuildreq').value)+\"&"
echo -n "SENDREPOSITORY=$REPOSITORY&REQUEST=repositorymassrebuilddependant\""
echo -n ",\"`cgi_encodevar "Rebuild package which depend on <b>"`\"+p+\"`cgi_encodevar "</b> in <b>$REPOSITORY</b> and send to <b>"`\"+getSelectedValueById('repositoryimportto')+"
echo -n "\"`cgi_encodevar "</b>?"`\""
echo -n "); class=redbutton>"
fi
echo -n "]]></operationpanel>"
fi
@ -2241,5 +2311,5 @@ else
echo -n ")"
fi
echo -n " :: openmamba webbuild</title>"
echo -n " :: openmamba webbuild @`hostname`</title>"
echo "</webbuild>"

View File

@ -1,7 +1,7 @@
#!/bin/bash
#
# webbuild functions
# Copyright (c) 2012 by Silvan Calarco <silvan.calarco@mambasoft.it>
# Copyright (c) 2012-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
. /etc/autodist/config
@ -36,6 +36,14 @@ function social_log() {
STATE_SOCIALLOG_ID=$(($STATE_SOCIALLOG_ID + 1))
set_user_state_var STATE_SOCIALLOG_ID $STATE_SOCIALLOG_ID webbuild
echo "SID=$STATE_SOCIALLOG_ID SPRIVACY=$STATE_PRIVACYMODE $line" >> $WEBBUILD_STATEDIR/social_log
# Note: checking that URL does not point here again to avoid recursive requests
if [ "$WEBBUILD_URL" -a "${WEBBUILD_URL/\/localhost\//}" = "$WEBBUILD_URL" ]; then
eval $line
USER_SECRET_FIXED=`echo $USER_SECRET | sed "s|\$|\\$|"`
curl -s "$WEBBUILD_URL?REQUEST=message&USER=$USER&SECRET=`cgi_encodevar \"$USER_SECRET\"`&USER_EMAIL=$USER_EMAIL&\
MESSAGE=`cgi_encodevar \"$STEXT\"`" >/dev/null
fi
fi
}
@ -88,9 +96,9 @@ function cgi_get_POST_vars()
cgi_get_POST_upload "${CONTENT_TYPE/*boundary=}"
return
fi
[ "${CONTENT_TYPE:0:33}" != "application/x-www-form-urlencoded" ] && \
echo "Warning: you should probably use MIME type "\
"application/x-www-form-urlencoded instead of ${CONTENT_TYPE}!" 1>&2
#[ "${CONTENT_TYPE:0:33}" != "application/x-www-form-urlencoded" ] && \
# echo "Warning: you should probably use MIME type "\
# "application/x-www-form-urlencoded instead of ${CONTENT_TYPE}!" 1>&2
# save POST variables (only first time this is called)
[ -z "$QUERY_STRING_POST" \
-a "$REQUEST_METHOD" = "POST" -a ! -z "$CONTENT_LENGTH" ] &&
@ -160,7 +168,7 @@ function cgi_getvars()
p=`echo $q | sed "s|&.*||"`
q=`echo $q | sed "s|[^&]*&||"`
k="${p%%=*}" # get the key (variable name) from it
[ "$k" = "REMOTE_ADDR" -o "$k" = "REMOTE_HOST" -o "$k" = "REMOTE_PORT" -o "$k" = "REMOTE_USER" ] && continue
[ ! "$k" -o "$k" = "REMOTE_ADDR" -o "$k" = "REMOTE_HOST" -o "$k" = "REMOTE_PORT" -o "$k" = "REMOTE_USER" ] && continue
v="${p#*=}" # get the value from it
# decode and evaluate var if requested
if [ "$k" != "SPECTEXT" ]; then
@ -205,7 +213,7 @@ function parse_search_output() {
echo -n "<a class=searchlink href=\"/distribution/distromatic.html?tag=$REPOSITORY&pkg=$PKG.$ARCH\" target=_new>$2</a><br>"
echo -n "</font>"
# if [ "$ARCH" ]
# $SUDO_WRAPPER 0 local "$USER" "" "openmamba-repository search -i $REPSEARCHTEXT" | \
# $SUDO_WRAPPER 0 local "$USER" "" "autodist-repository search -i $REPSEARCHTEXT" | \
# sed "s|\(.*(source).*\)|<font color=white><b>\1</b></font>|;
# s|\(.*(${AUTOPORT_ARCH[$ENVIRONMENT]}).*\)|<font color=lightgreen>\1</font>|"
done

View File

@ -1,8 +1,13 @@
#
# webbuild functions-private include file
# Copyright (c) 2012-2014 by Silvan Calarco <silvan.calarco@mambasoft.it>
#
repository_list() {
if [ "$WEBBUILD_REPOSITORIES" ]; then
echo "${WEBBUILD_REPOSITORIES[*]}"
else
$SUDO_WRAPPER 0 local "$USER" "" "/usr/sbin/openmamba-repository list"
$SUDO_WRAPPER 0 local "$USER" "" "/usr/sbin/autodist-repository list"
fi
}
@ -51,10 +56,10 @@ function showlog() {
echo -n "<pre>"
if [ "$LOGTYPE" = "processtail" ]; then
echo -n "<!-- SCROLL -->"
tail -n +0 -f $f --pid $PROCESSPID | stdbuf -oL sed "s|<|\&lt;|g"
tail -n +0 -f $f --pid $PROCESSPID | stdbuf -oL sed "s|<\([/]pre>\)|\&lt;\1|g"
echo -n "<!-- ENDSCROLL -->"
else
if [ $LOGFILESIZE -lt 524288 ]; then
if [ $LOGFILESIZE -lt 2097152 ]; then
if [ -r $f ]; then
cat $f | parse_build_output $PACKAGE
else
@ -62,13 +67,13 @@ function showlog() {
fi
else
if [ -r $f ]; then
head -c 262144 $f | parse_build_output $PACKAGE
head -c 1048576 $f | parse_build_output $PACKAGE
echo "<br><font style=\"background-color:yellow;color:black\">&lt;------ CUT (long file) -------&gt;</font>"
tail -c 262144 $f | parse_build_output $PACKAGE
tail -c 1048576 $f | parse_build_output $PACKAGE
else
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "head -c 262144 $f" | parse_build_output $PACKAGE
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "head -c 1048576 $f" | parse_build_output $PACKAGE
echo "<br><font style=\"background-color:yellow;color:black\">&lt;------ CUT (long file) -------&gt;</font>"
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "tail -c 262144 $f" | parse_build_output $PACKAGE
$SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "tail -c 1048576 $f" | parse_build_output $PACKAGE
fi
fi
fi
@ -79,6 +84,7 @@ function showlog() {
function showEnvironmentPanel() {
echo -n "Host: <b>`hostname`</b><br>"
echo -n "Environment: <b>"
if [ "${AUTOPORT_CHROOT_USER[$ENVIRONMENT]}" ]; then
echo -n "${AUTOPORT_CHROOT_USER[$ENVIRONMENT]} - "
@ -102,33 +108,18 @@ function showEnvironmentPanel() {
# toolchain
echo -n "<br>"
local toolchain_output=`LANGUAGE=C $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "gcc --version | head -n1; LANGUAGE=C ld -v"`
local gcc_ver=`echo $toolchain_output | sed "s|.*(GCC) \([0-9.]*\) .*|\1|"`
local binutils_ver=`echo $toolchain_output | sed "s|.*GNU \(.*\) (GNU Binutils.*)\(.*\)|\1 \2|"`
echo "Toolchain: gcc $gcc_ver, $binutils_ver"
# system upgrade
echo -n "<br><input type=button id=smartupgrade value=\"system upgrade\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=smartupgrade\""
echo -n ",\"`cgi_encodevar "Upgrade current environment to latest updates now?"`\"); class=redbutton>"
## run ldconfig
#echo -n "<input type=button id=runldconfig value=\"run ldconfig\" onclick="
#echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
#echo -n "REQUEST=runldconfig\");>"
# rpm manager
echo -n "<input type=button id=rpmmanager value=\"RPM manager\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=rpmmanager\");>"
# environment search
echo -n "<br><div style=\"white-space:nowrap;width:100%;\">Provides:<input type=text style=\"width:75%;align:center;padding:0;margin:2px;\" id=environmentsearch value=\"Search package or provide...\" "
echo -n "onfocus=\"if (this.value==this.defaultValue) this.value=''\" "
echo -n "onkeypress=if(checkEnter(event))ajax_getvalues(\""
echo -n "ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=environmentsearch&ENVSEARCHTEXT=\"+encodeURIComponent(getElementById('environmentsearch').value));></div>"
if [ ! -e $WEBBUILD_STATEDIR/cache/environment-$ENVIRONMENT-data -o \
"`find $WEBBUILD_STATEDIR/cache/environment-$ENVIRONMENT-data -mmin +5`" ]; then
local toolchain_output=`LANGUAGE=C $SUDO_WRAPPER 0 $ENVIRONMENT "$USER" "" "gcc --version | head -n1; LANGUAGE=C clang -v | head -n1; LANGUAGE=C ld -v"`
local gcc_ver=`echo $toolchain_output | sed "s|.*(GCC) \([0-9.]*\) .*|\1|"`
local binutils_ver=`echo $toolchain_output | sed "s|.*GNU \(.*\) (GNU Binutils.*)\(.*\)|\1 \2|"`
local clang_ver=`echo $toolchain_output | sed "s|.*clang version \([0-9.]*\) .*|\1|"`
local toolchain_text="gcc $gcc_ver, clang $clang_ver, $binutils_ver"
echo "$toolchain_text" > $WEBBUILD_STATEDIR/cache/environment-$ENVIRONMENT-data
else
local toolchain_text=`cat $WEBBUILD_STATEDIR/cache/environment-$ENVIRONMENT-data`
fi
echo "Toolchain: $toolchain_text"
}
@ -172,20 +163,69 @@ function print_editorcontrols() {
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "REQUEST=deletespec\",\"`cgi_encodevar "Really delete <b>$PACKAGE.spec</b>?"`\")>"
# specfile rename
echo -n "<input type=button id=updatespecbutton value=\"rename to:\" onclick="
echo -n "<input type=button id=updatespecbutton value=\"rename:\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&RENAMESPECFROM=$PACKAGE&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "REQUEST=renamespec&PACKAGE=\"+encodeURIComponent(getElementById('specnewname').value));>"
echo -n "<input type=text id=specnewname value=\"\" size=12>.spec"
# add a note
echo -n "<label>"
echo -n "<input type=button id=addpkgnote value=\"add a note:\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&"
echo -n "<input type=text id=specnewname value=\"\" size=6>"
# unpack
echo -n "<input type=button value=\"prepare\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpmprepare&"
echo -n "RPMBUILDARCH=\"+getSelectedValueById('rpmbuildarch')+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue()));>"
# build
echo -n "<input type=button value=\"build\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpmbuild&"
echo -n "RPMBUILDARCH=\"+getSelectedValueById('rpmbuildarch')+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&RPMFORCE=\"+getElementById('rpmforce').checked); class=boldbutton>"
# unpackaged files
echo -n "<input type=button value=\"unpackaged list\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autospeclistcheck&"
echo -n "RPMBUILDARCH=\"+getSelectedValueById('rpmbuildarch')+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue()));>"
# build requirements
echo -n "<input type=button value=\"build reqs\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=autospecbuildreq\");>"
# rpm install
[ ! "$USER_CANINSTALL" ] && DISABLED="disabled=disabled"
echo -n "<input type=button id=rpminstallbutton value=\"install\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=rpminstall&"
echo -n "RPMFORCE=\"+getElementById('rpmforce').checked"
echo -n ",\"`cgi_encodevar "Install <b>$PACKAGE</b> in current environment?"`\""
echo -n "); class=redbutton $DISABLED>"
# rpm send
if [ "$SPECVAR_CHECK_NOAUTOBUILDREQ" ]; then
HREFADD="disabled=disabled title=\"WARNING: fix specfile build requirements before you can send the package\""
else
HREFADD=
fi
echo -n "<input type=button id=sendpackagebutton value=\"send\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=sendpackage&"
echo -n "SENDRECREATESRPM=\"+getElementById('sendrecreatesrpm').checked+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "REQUEST=addpkgnote&PKGNOTE=\"+encodeURIComponent(getElementById('pkgnote').value));></label></span>"
echo -n "<span style=\"display:block;overflow:hidden;padding-right:5px;\">"
echo -n "<input type=text id=pkgnote value=\"\" style=\"width:100%\">"
echo -n "</span></div>"
echo -n "AUTODISTARCH=\"+getSelectedValueById('rpmbuildarch')+\"&"
echo -n "SENDREPOSITORY=\"+getSelectedValueById('sendrepository')"
echo -n ",\"`cgi_encodevar "Send <b>$PACKAGE</b> built packages to <b>"`\"+getSelectedValueById('sendrepository')+"
echo -n "\"`cgi_encodevar "</b>?<br><br><font color=goldenrod>HINT: does summary look short and good?</font><br><b>${SPECVAR_Name[0]} - ${SPECVAR_Summary[0]}.</b>"`\""
echo -n "); class=redbutton $HREFADD>"
# recreate and send SRPM
if [ "$SPECVAR_CHECK_NOAUTOBUILDREQ" ]; then
HREFADD="disabled=disabled title=\"WARNING: fix specfile build requirements before you can send the package\""
else
HREFADD=
fi
echo -n "<input type=button id=sendsourcebutton value=\"send SRPM\" onclick="
echo -n "ajax_getvalues(\"ENVIRONMENT=$ENVIRONMENT&REPOSITORY=$REPOSITORY&PACKAGE=$PACKAGEENCODED&REQUEST=sendsource&"
echo -n "RPMFORCE=\"+getElementById('rpmforce').checked+\"&"
echo -n "SENDRECREATESRPM=\"+getElementById('sendrecreatesrpm').checked+\"&"
echo -n "SPECTEXT=\"+encodeURIComponent(editor.getValue())+\"&"
echo -n "SENDREPOSITORY=\"+getSelectedValueById('sendrepository')"
echo -n ",\"`cgi_encodevar "Send <b>$PACKAGE</b> source package only to <b>"`\"+getSelectedValueById('sendrepository')+"
echo -n "\"`cgi_encodevar "</b>?<br><br>WARNING: use this to refresh the SRPM of a package which already exists with same release in repository"`\""
echo -n "); class=redbutton $HREFADD>"
# recreate SRPM before sending checkbox
echo -n "<label style=\"color:red;padding:0;\"><input type=checkbox id=\"sendrecreatesrpm\" value=\"force\">recreate SRPM</label>"
# specfile update
echo -n "<div style=\"width:100%;overflow:hidden;\"><span style=\"float:left\">"
echo -n "<input type=button id=updatespecbutton value=\"update\" onclick="

View File

@ -0,0 +1,8 @@
<Directory /var/www/html>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
DirectoryIndex webbuild.html index.html index.php
# SSILegacyExprParser on
</Directory>
Timeout 600

View File

@ -150,7 +150,7 @@ else
if [ "$MODE" = "binary" ]; then
$SUCMDPREFIX ". /etc/profile;cd $WORKINGHOME/RPM/SPECS;$COMMAND;echo \$? > $rettmpfile" 2>&1
else
$SUCMDPREFIX ". /etc/profile;cd $WORKINGHOME/RPM/SPECS;$COMMAND;echo \$? > $rettmpfile" 2>&1 | tr -d '\f' | tee $cmdtmpfile
$SUCMDPREFIX ". /etc/profile;cd $WORKINGHOME/RPM/SPECS;$COMMAND;echo \$? > $rettmpfile" 2>&1 | tr -d '\f' | tee $cmdtmpfile | parse_generic_output
fi
# sed "s|<|\&lt;|g" |
else