webbuild: add support for mass rebuild of dependant packages

This commit is contained in:
Silvan Calarco 2014-07-06 23:23:55 +02:00
parent fa602e75e0
commit f05b31368f

View File

@ -1958,6 +1958,18 @@ $PACKAGE.spec $RPMFORCEADD && $AUTOSPEC_CMD -u $PACKAGE -a10 --server $SENDREPOS
# 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"
@ -2219,13 +2231,13 @@ if [ "$MAINTAINERMODE" = "true" ]; then
# simulate checkbox
echo -n "<label><input type=checkbox id=\"repositorysimulate\" value=\"simulate\">simulate</label>"
# changelog for mass rebuild
echo -n "<hr><b>Mass rebuild:</b><br>Changelog:"
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:<br>"
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)+\"&"
@ -2239,6 +2251,21 @@ if [ "$MAINTAINERMODE" = "true" ]; then
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>"
# 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