Compare commits
45 Commits
Author | SHA1 | Date | |
---|---|---|---|
144f1b0eb6 | |||
faa153d41e | |||
d435051d50 | |||
9afdb96444 | |||
eaf4e0220c | |||
3b032d1d8c | |||
6032d80cdb | |||
66ce879682 | |||
3b15ee14b7 | |||
949a4c35df | |||
d77d29fd37 | |||
4d8a804eee | |||
60f8e3cff0 | |||
73791f2c58 | |||
8aaf239342 | |||
9ab37c25c2 | |||
491357aebb | |||
bf3085f435 | |||
f6543e78fa | |||
ea098185e1 | |||
52f9b3e9e0 | |||
55224a3ecb | |||
bbcc9460b4 | |||
8e4e790104 | |||
487dbb2824 | |||
f05b31368f | |||
fa602e75e0 | |||
45b347da76 | |||
5927784c85 | |||
59a1ad0317 | |||
3e0f261856 | |||
85e7950c4e | |||
58d61d51e3 | |||
b59c024914 | |||
82c5f79f27 | |||
5241fa7e82 | |||
a89e2b9a13 | |||
f72d0b3663 | |||
56f41ede80 | |||
a59ea180af | |||
e3e4104f4e | |||
4f12cc4969 | |||
1da0a6d971 | |||
a66a8f8029 | |||
2dd4d2632d |
5
Makefile
5
Makefile
@ -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
|
||||
|
||||
@ -62,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
|
||||
@ -101,6 +101,7 @@ install-data:
|
||||
@$(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
|
||||
|
||||
|
73
autodist
73
autodist
@ -5,20 +5,20 @@
|
||||
#
|
||||
# Released under the terms of the GNU GPL release 3 license
|
||||
#
|
||||
VERSION=0.9.12
|
||||
VERSION=0.9.20
|
||||
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,6 +53,7 @@ ${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""
|
||||
"
|
||||
|
||||
}
|
||||
@ -91,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
|
||||
@ -190,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
|
||||
@ -494,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
|
||||
@ -544,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 ] && {
|
||||
@ -604,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/ *})."
|
||||
@ -614,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
|
||||
@ -785,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)
|
||||
|
12
autodist-cgi
12
autodist-cgi
@ -358,10 +358,14 @@ 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&REP=$RNUM&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
|
||||
|
@ -15,21 +15,22 @@ function usage() {
|
||||
echo "Copyright (c) 2007-2014 by Silvan Calarco"
|
||||
echo
|
||||
echo "Usage:"
|
||||
echo "$me list"
|
||||
echo "$me import REPOSITORY [PKGS ...] [-d REPOSITORY] [-s] [-y]"
|
||||
echo "$me release REPOSITORY [PKGS ...] [-d REPOSITORY] [-s] [-y]"
|
||||
echo "$me archive REPOSITORY PKGS ..."
|
||||
echo "$me restore REPOSITORY PKGS ..."
|
||||
echo "$me query REPOSITORY PKGS ..."
|
||||
echo "$me search [-i] [-r regexp] STRING"
|
||||
echo "$me verify REPOSITORY [PKGS ...]"
|
||||
echo "$me inspect REPOSITORY {PKGS ...} [-d REPOSITORY]"
|
||||
echo "$me setwarning REPOSITORY {PKG ...} -t \"TEXT\""
|
||||
echo "$me diff REPOSITORY [PKGS ...] [-d REPOSITORY]"
|
||||
echo "$me distromatic REPOSITORY"
|
||||
echo "$me install REPOSITORY [PKGS ...] [-f]"
|
||||
echo "$me import REPOSITORY [PKGS ...] [-d REPOSITORY] [-s] [-y]"
|
||||
echo "$me inspect REPOSITORY {PKGS ...} [-d REPOSITORY]"
|
||||
echo "$me list"
|
||||
echo "$me query REPOSITORY PKGS ..."
|
||||
echo "$me release REPOSITORY [PKGS ...] [-d REPOSITORY] [-s] [-y]"
|
||||
echo "$me restore REPOSITORY PKGS ..."
|
||||
echo "$me search [-i] [-r regexp] STRING"
|
||||
echo "$me setwarning REPOSITORY {PKG ...} -t \"TEXT\""
|
||||
echo "$me verify REPOSITORY [PKGS ...]"
|
||||
echo
|
||||
echo " -d use given repository as destination (default: devel)"
|
||||
echo " -f force import to destination repository"
|
||||
echo " -f force operation"
|
||||
echo " -r match repositories with given regexp"
|
||||
echo " -s simulate operations to see if it would work"
|
||||
echo " -t warning text"
|
||||
@ -152,6 +153,38 @@ function get_pkg_buildinfo() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# get_pkg_info - uses distromatic generated build file to get packages information from the repository
|
||||
#
|
||||
# $1: repository name
|
||||
# $2: architecture
|
||||
# $3: pkg name
|
||||
function get_pkg_info() {
|
||||
|
||||
local pkg buildarch rep line
|
||||
|
||||
[ $1 ] && rep=$1 || exit 200
|
||||
[ $2 ] && buildarch=$2 || exit 200
|
||||
[ $3 ] && pkg=$3 || exit 200
|
||||
|
||||
[ -e ${PKGLIST}.$buildarch ] || {
|
||||
echo "ERROR: get_pkg_info: file ${PKGLIST}.$buildarch missing; aborting."
|
||||
exit 1
|
||||
}
|
||||
|
||||
line=`grep "^$pkg " ${PKGLIST}.$buildarch 2>/dev/null | tail -n1`
|
||||
set -- $line
|
||||
pkg_name=$1
|
||||
pkg_version=$2
|
||||
pkg_size=$3
|
||||
pkg_unknown=$4
|
||||
pkg_repository=$5
|
||||
pkg_unknown2=$6
|
||||
pkg_release=$7
|
||||
pkg_arch=$buildarch
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
function import_file() {
|
||||
[ $1 ] || exit 200
|
||||
|
||||
@ -638,7 +671,7 @@ while [ "$1" ]; do
|
||||
*)
|
||||
if [ "$command" ]; then
|
||||
case "$command" in
|
||||
"import"|"release"|"query"|"verify"|"archive"|"restore"|"diff"|"inspect"|"setwarning"|"distromatic")
|
||||
"import"|"release"|"query"|"verify"|"archive"|"restore"|"diff"|"inspect"|"install"|"setwarning"|"distromatic")
|
||||
[ "$origrepository" ] &&
|
||||
packages="$packages $1" ||
|
||||
origrepository=$1
|
||||
@ -657,7 +690,7 @@ while [ "$1" ]; do
|
||||
esac
|
||||
else
|
||||
case "$1" in
|
||||
"import"|"release"|"query"|"verify"|"archive"|"restore"|"list"|"diff"|"inspect"|"setwarning"|"distromatic"|"search") command=$1 ;;
|
||||
"import"|"release"|"query"|"verify"|"archive"|"restore"|"list"|"diff"|"inspect"|"install"|"setwarning"|"distromatic"|"search") command=$1 ;;
|
||||
*)
|
||||
usage
|
||||
echo "Errror: $1 is not a valid command; aborting."
|
||||
@ -711,6 +744,7 @@ done
|
||||
|
||||
[ "$origrepository" ] || { usage; exit 200; }
|
||||
SRCPKGLIST="${LOCAL_REPS_BASE_DIR}/$origrepository/srcpkglist"
|
||||
PKGLIST="${LOCAL_REPS_BASE_DIR}/$origrepository/pkglist"
|
||||
|
||||
[ "$DEST_MODE" ] || { echo "ERROR: $destrepository is not a valid repository; aborting." >&2; exit 200; }
|
||||
[ "$ORIG_MODE" ] || { echo "ERROR: $origrepository is not a valid repository; aborting." >&2; exit 200; }
|
||||
@ -896,6 +930,60 @@ SRCPKGLIST="${LOCAL_REPS_BASE_DIR}/$origrepository/srcpkglist"
|
||||
exit 0;
|
||||
}
|
||||
|
||||
[ "$command" = "install" ] && {
|
||||
[ "$packages" ] || { usage; exit 1; }
|
||||
myarch=`uname -p`
|
||||
if [ "$myarch" = "*686" -o "$myarch" = "athlon" -o "$myarch" = "pentium*" ]; then
|
||||
myarch="i586"
|
||||
fi
|
||||
for i in $packages; do
|
||||
pkg=$i
|
||||
pkgarch=
|
||||
if [ "${i/.*}" != "${i}" ]; then
|
||||
pkg=${i/.*}
|
||||
pkgarch=${i/*.}
|
||||
fi
|
||||
if [ "$pkgarch" -a "$pkgarch" != "$myarch" ]; then
|
||||
get_pkg_info $origrepository $pkgarch $pkg
|
||||
[ "$pkg_name" ] || {
|
||||
echo "WARNING: $pkg not found in $origrepository for arch $pkgarch; skipping."
|
||||
continue
|
||||
}
|
||||
else
|
||||
get_pkg_info $origrepository $myarch $pkg
|
||||
[ "$pkg_name" ] || {
|
||||
echo "WARNING: $pkg not found in $origrepository for arch $myarch; skipping."
|
||||
continue
|
||||
}
|
||||
fi
|
||||
pkg_file=${pkg_name}-${pkg_version}-${pkg_release}.$pkg_arch.rpm
|
||||
pkg_path=${LOCAL_REPS_BASE_DIR}/$pkg_repository/RPMS.$pkg_arch/${pkg_file}
|
||||
[ -r $pkg_path ] || {
|
||||
echo "WARNING: file $pkg_path should exist but doesn't; skipping."
|
||||
continue
|
||||
}
|
||||
echo "Installing $pkg_file..."
|
||||
if [ "$force" = "1" ]; then
|
||||
rpm -i $pkg_path --force
|
||||
rpmret=$?
|
||||
[ $rpmret -gt 0 ] && echo "WARNING: rpm returned $rpmret"
|
||||
if [ "$pkg_arch" != "$myarch" ]; then
|
||||
pkg_file=${pkg_name}-${pkg_version}-${pkg_release}.$myarch.rpm
|
||||
pkg_path=${LOCAL_REPS_BASE_DIR}/$pkg_repository/RPMS.$myarch/${pkg_file}
|
||||
echo "Other arch installation forced; reinstalling native arch package after..."
|
||||
rpm -i $pkg_path --force
|
||||
rpmret=$?
|
||||
[ $rpmret -gt 0 ] && echo "WARNING: rpm returned $rpmret"
|
||||
fi
|
||||
else
|
||||
rpm -i $pkg_path
|
||||
rpmret=$?
|
||||
[ $rpmret -gt 0 ] && echo "WARNING: rpm returned $rpmret"
|
||||
fi
|
||||
done
|
||||
exit 0;
|
||||
}
|
||||
|
||||
[ "$command" = "distromatic" ] && {
|
||||
[ -r $SRCPKGLIST ] || {
|
||||
echo "ERROR: srcpkglist file missing for $origrepository repository; aborting." >&2
|
||||
|
1
autodist-tmpfilesd
Normal file
1
autodist-tmpfilesd
Normal file
@ -0,0 +1 @@
|
||||
d /run/autodist 775 autodist packager
|
@ -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
|
||||
|
@ -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 ] || {
|
||||
@ -231,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
|
||||
|
147
autoport
147
autoport
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Released under the terms of the GNU GPL release 3 license
|
||||
#
|
||||
VERSION=0.9.12
|
||||
VERSION=0.9.20
|
||||
|
||||
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
|
||||
@ -238,8 +245,10 @@ fetch_repfiles() {
|
||||
echo "Warning: unable to fetch ${REPS_BASE_URL}/$PORT_REPOSITORY/srcpkglist"
|
||||
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 -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 "Error: unable to fetch $PORT_REPOSITORY_DISTROMATIC_URL/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
|
||||
@ -247,7 +256,7 @@ fetch_repfiles() {
|
||||
}
|
||||
done
|
||||
curl -f -L -s ${REPS_BASE_URL}/${PORT_REPOSITORY/-*}/unstage.$TARGET_ARCH -o $DATADIR/$PORT_REPOSITORY/unstage.$TARGET_ARCH ||
|
||||
echo "Error: unable to fetch ${REPS_BASE_URL}/${PORT_REPOSITORY/-*}/unstage.$TARGET_ARCH"
|
||||
echo "Warning: unable to fetch ${REPS_BASE_URL}/${PORT_REPOSITORY/-*}/unstage.$TARGET_ARCH"
|
||||
}
|
||||
|
||||
[ $# -gt 0 ] || { usage ; exit 1; }
|
||||
@ -277,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 ;;
|
||||
@ -285,6 +297,9 @@ for ((i=1; i<=$#; i++)); do
|
||||
-r) shift
|
||||
PORT_REPOSITORY="${!i}"
|
||||
;;
|
||||
-s) shift
|
||||
SCRIPT_ARGS="${!i}"
|
||||
;;
|
||||
-d) shift
|
||||
DEST_REPOSITORY="${!i}"
|
||||
;;
|
||||
@ -331,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
|
||||
@ -361,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."
|
||||
@ -488,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"
|
||||
@ -517,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
|
||||
@ -529,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) "
|
||||
@ -543,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"
|
||||
@ -574,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
|
||||
}
|
||||
@ -583,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
|
||||
@ -618,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
|
||||
}
|
||||
@ -729,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[*]}
|
||||
|
@ -1,7 +1,8 @@
|
||||
# Global configuration file for autodist
|
||||
#
|
||||
AUTODIST_ARCHS=(i586 x86_64 arm)
|
||||
REPS_BASE_URL=http://www.openmamba.org/pub/openmamba
|
||||
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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
@ -18,7 +18,7 @@ fi
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
@ -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
|
||||
|
@ -21,6 +21,7 @@ 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)
|
||||
|
@ -92,6 +92,7 @@ function editorChanged() {
|
||||
|
||||
function ajax_getvalues(request,confirm) {
|
||||
var url = "/cgi-bin/webbuild"
|
||||
var xmlhttp;
|
||||
|
||||
if (!user) {
|
||||
user=getCookie("webbuild-user");
|
||||
|
@ -467,7 +467,8 @@ if [ "$REQUEST" = "repsearch" ]; then
|
||||
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"
|
||||
&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>|;
|
||||
@ -484,7 +485,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
|
||||
@ -542,7 +543,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>"
|
||||
@ -732,7 +733,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>"
|
||||
@ -889,12 +890,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 --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
|
||||
@ -1005,7 +1006,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
|
||||
@ -1028,29 +1034,43 @@ 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_devel=true&search_sources=true&query_compact=true&replyplain=true" | \
|
||||
sed "s|.*\([0-9][0-9]*\) result.*|\1|"`
|
||||
if [ "$FOUND_EXISTING" != "0" -a "$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>"
|
||||
curl -s "${WEBBUILD_DISTROQUERY_URL}?package=$PACKAGE&search_milestone2=true&search_devel=true&search_sources=true&query_compact=true&replyplain=true" | \
|
||||
sed "s| \(href=.\)/| \1${SITE_BASE_URL}/|g"
|
||||
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
|
||||
@ -1077,7 +1097,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=
|
||||
@ -1086,15 +1106,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=$? ;;
|
||||
@ -1139,9 +1162,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&"
|
||||
@ -1186,7 +1219,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>"
|
||||
@ -1347,6 +1380,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="
|
||||
@ -1381,16 +1415,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\");>"
|
||||
@ -1408,7 +1442,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');"
|
||||
@ -1427,10 +1461,12 @@ if [ "$MAINTAINERMODE" != "true" ]; then
|
||||
# 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()));>"
|
||||
# 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="
|
||||
@ -1472,6 +1508,7 @@ if [ "$MAINTAINERMODE" != "true" ]; then
|
||||
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 "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>"`\""
|
||||
@ -1597,16 +1634,16 @@ 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>"
|
||||
@ -1634,21 +1671,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`"
|
||||
@ -1659,11 +1696,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"
|
||||
@ -1687,7 +1724,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."
|
||||
@ -1703,7 +1740,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."
|
||||
@ -1718,7 +1755,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`"
|
||||
;;
|
||||
@ -1738,7 +1775,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\""
|
||||
@ -1751,14 +1792,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=$? ;;
|
||||
@ -1771,10 +1817,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
|
||||
@ -1788,7 +1836,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`"
|
||||
@ -1939,7 +1989,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."
|
||||
@ -1949,6 +2000,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"
|
||||
@ -2020,9 +2083,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
|
||||
@ -2111,8 +2174,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 --color=none $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}
|
||||
@ -2205,8 +2273,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)+\"&"
|
||||
@ -2215,16 +2293,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
|
||||
@ -2246,5 +2334,5 @@ else
|
||||
echo -n ")"
|
||||
fi
|
||||
|
||||
echo -n " :: openmamba webbuild</title>"
|
||||
echo -n " :: openmamba webbuild @`hostname`</title>"
|
||||
echo "</webbuild>"
|
||||
|
@ -96,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" ] &&
|
||||
@ -168,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
|
||||
|
@ -59,7 +59,7 @@ function showlog() {
|
||||
tail -n +0 -f $f --pid $PROCESSPID | stdbuf -oL sed "s|<|\<|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
|
||||
@ -67,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\"><------ CUT (long file) -------></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\"><------ CUT (long file) -------></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
|
||||
@ -84,6 +84,7 @@ function showlog() {
|
||||
|
||||
function showEnvironmentPanel() {
|
||||
|
||||
echo -n "Build host: <b>`hostname`</b><br>"
|
||||
echo -n "Environment: <b>"
|
||||
if [ "${AUTOPORT_CHROOT_USER[$ENVIRONMENT]}" ]; then
|
||||
echo -n "${AUTOPORT_CHROOT_USER[$ENVIRONMENT]} - "
|
||||
@ -107,10 +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"
|
||||
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"
|
||||
|
||||
# system upgrade
|
||||
echo -n "<br><input type=button id=smartupgrade value=\"system upgrade\" onclick="
|
||||
|
8
webbuild/webbuild-httpd.conf
Normal file
8
webbuild/webbuild-httpd.conf
Normal 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
|
@ -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|<|\<|g" |
|
||||
else
|
||||
|
Reference in New Issue
Block a user