mv Release Release.gpg buildd/
done
+ STAMP=${STAMP:-$(date "+%Y%m%d%H%M")}
+
for dist in $(ls -1 ${incoming}/dists/); do
# Skip project trace directory
if [ "${dist}x" = "projectx" ]; then continue; fi
dak generate-packages-sources2 -s "${queue}"
+ STAMP=${STAMP:-$(date "+%Y%m%d%H%M")}
+
local exportdir="${queuedir}${qdir}/tree/${STAMP}"
local targetdir="${queuedir}${qdir}/export"
dak export -q "${queue}" -d "${exportdir}" --all
- ln -sfT ${targetdir} ${exportdir}
+ ln -sfT ${exportdir} ${targetdir}
find ${queuedir}${qdir}/tree -mindepth 1 -maxdepth 1 -not -name "${STAMP}" -type d -print0 | xargs --no-run-if-empty -0 rm -rf
}
. "${configdir}/common"
dak import-users-from-passwd
-dak queue-report -n > $webdir/new.html
-dak queue-report -8 -d new,byhand,stable-new,oldstable-new -r $webdir/stat
-dak show-deferred -r $webdir/stat > ${webdir}/deferred.html
-dak graph -n new,byhand,p-u-new,o-p-u-new,deferred -r $webdir/stat -i $webdir/stat -x $scriptsdir/rrd-release-freeze-dates
# do not run show-new and other stuff in parallel
LOCKFILE="$lockdir/unchecked.lock"
rm -f $LOCKFILE
fi
+dak queue-report -n > $webdir/new.html
+dak queue-report -8 -d new,byhand,stable-new,oldstable-new -r $webdir/stat
+dak show-deferred -r $webdir/stat > ${webdir}/deferred.html
+dak graph -n new,byhand,p-u-new,o-p-u-new,deferred -r $webdir/stat -i $webdir/stat -x $scriptsdir/rrd-release-freeze-dates
+
cd $webdir
cat removals-20*.txt > removals-full.txt
cat removals.txt >> removals-full.txt
################################################################################
+def sort_uploads(uploads, session, nobinaries=False):
+ sources = {}
+ sorteduploads = []
+ suitesrc = [s.source for s in session.query(DBSource.source). \
+ filter(DBSource.suites.any(Suite.suite_name.in_(['unstable', 'experimental'])))]
+ comments = [p.package for p in session.query(NewComment.package). \
+ filter_by(trainee=False).distinct()]
+ for upload in uploads:
+ source = upload.changes.source
+ if not source in sources:
+ sources[source] = []
+ sources[source].append({'upload': upload,
+ 'date': upload.changes.created,
+ 'stack': 1,
+ 'binary': True if source in suitesrc else False,
+ 'comments': True if source in comments else False})
+ for src in sources:
+ if len(sources[src]) > 1:
+ changes = sources[src]
+ firstseen = sorted(changes, key=lambda k: (k['date']))[0]['date']
+ changes.sort(key=lambda item:item['date'])
+ for i in range (0, len(changes)):
+ changes[i]['date'] = firstseen
+ changes[i]['stack'] = i + 1
+ sorteduploads += sources[src]
+ if nobinaries:
+ sorteduploads = [u["upload"] for u in sorted(sorteduploads,
+ key=lambda k: (k["comments"], k["binary"],
+ k["date"], -k["stack"]))]
+ else:
+ sorteduploads = [u["upload"] for u in sorted(sorteduploads,
+ key=lambda k: (k["comments"], -k["binary"],
+ k["date"], -k["stack"]))]
+ return sorteduploads
+
+################################################################################
+
def end():
accept_count = SummaryStats().accept_count
accept_bytes = SummaryStats().accept_bytes
if len(uploads) > 1:
sys.stderr.write("Sorting changes...\n")
- uploads.sort()
+ uploads = sort_uploads(uploads, session, Options["No-Binaries"])
if Options["Comments"]:
show_new_comments(uploads, session)