Commit 1c1e7a27 authored by Chris Lamb's avatar Chris Lamb 👀 Committed by Holger Levsen
Browse files

reproducible: Also generate diffoscope .json results.

parent a0927060
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ DISTRO_BASE = os.path.join(BASE, conf_distro['distro_root'])

DBD_URI = os.path.join(DISTRO_URI, conf_distro['diffoscope_html'])
DBDTXT_URI = os.path.join(DISTRO_URI, conf_distro['diffoscope_txt'])
DBDJSON_URI = os.path.join(DISTRO_URI, conf_distro['diffoscope_json'])
LOGS_URI = os.path.join(DISTRO_URI, conf_distro['buildlogs'])
DIFFS_URI = os.path.join(DISTRO_URI, conf_distro['logdiffs'])
NOTES_URI = os.path.join(DISTRO_URI, conf_distro['notes'])
@@ -48,6 +49,7 @@ HISTORY_URI = os.path.join(DISTRO_URI, conf_distro['pkghistory'])
BUILDINFO_URI = os.path.join(DISTRO_URI, conf_distro['buildinfo'])
DBD_PATH = BASE + DBD_URI
DBDTXT_PATH = BASE + DBDTXT_URI
DBDJSON_PATH = BASE + DBDJSON_URI
LOGS_PATH = BASE + LOGS_URI
DIFFS_PATH = BASE + DIFFS_URI
NOTES_PATH = BASE + NOTES_URI
@@ -92,6 +94,8 @@ log.debug("DBD_URI:\t\t" + DBD_URI)
log.debug("DBD_PATH:\t" + DBD_PATH)
log.debug("DBDTXT_URI:\t" + DBDTXT_URI)
log.debug("DBDTXT_PATH:\t" + DBDTXT_PATH)
log.debug("DBDJSON_URI:\t" + DBDJSON_URI)
log.debug("DBDJSON_PATH:\t" + DBDJSON_PATH)
log.debug("LOGS_URI:\t" + LOGS_URI)
log.debug("LOGS_PATH:\t" + LOGS_PATH)
log.debug("DIFFS_URI:\t" + DIFFS_URI)
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ json_out = reproducible.json
tracker.json_out = reproducible-tracker.json
diffoscope_html = dbd
diffoscope_txt = dbdtxt
diffoscope_json = dbdjson
buildlogs = logs
logdiffs = logdiffs
notes = notes
+7 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ exit_early_if_debian_is_broken() {
create_results_dirs() {
	mkdir -vp $DEBIAN_BASE/dbd/${SUITE}/${ARCH}
	mkdir -vp $DEBIAN_BASE/dbdtxt/${SUITE}/${ARCH}
	mkdir -vp $DEBIAN_BASE/dbdjson/${SUITE}/${ARCH}
	mkdir -vp $DEBIAN_BASE/logs/${SUITE}/${ARCH}
	mkdir -vp $DEBIAN_BASE/logdiffs/${SUITE}/${ARCH}
	mkdir -vp $DEBIAN_BASE/rbuild/${SUITE}/${ARCH}
@@ -288,6 +289,10 @@ handle_ftbr() {
		mv ./$DBDTXT $DEBIAN_BASE/dbdtxt/$SUITE/$ARCH/
		gzip -9n $DEBIAN_BASE/dbdtxt/$SUITE/$ARCH/$DBDTXT
	fi
	if [ -f ./$DBDJSON ] ; then
		mv ./$DBDJSON $DEBIAN_BASE/dbdjson/$SUITE/$ARCH/
		gzip -9n $DEBIAN_BASE/dbdjson/$SUITE/$ARCH/$DBDJSON
	fi
	calculate_build_duration
	update_db_and_html "FTBR"
}
@@ -363,6 +368,7 @@ call_diffoscope_on_changes_files() {
		-- sh -c "export TMPDIR=$TEMP ; timeout $TIMEOUT diffoscope \
			--html $TMPDIR/${DBDREPORT} \
			--text $TMPDIR/$DBDTXT \
			--json $TMPDIR/$DBDJSON \
			--profile=- \
			$TMPDIR/b1/${CHANGES} \
			$TMPDIR/b2/${CHANGES}" \
@@ -511,6 +517,7 @@ get_source_package() {
	EVERSION="$(echo $VERSION | cut -d ':' -f2)"  # EPOCH_FREE_VERSION is too long
	DBDREPORT="${SRCPACKAGE}_${EVERSION}.diffoscope.html"
	DBDTXT="${SRCPACKAGE}_${EVERSION}.diffoscope.txt"
	DBDJSON="${SRCPACKAGE}_${EVERSION}.diffoscope.json"
	BUILDINFO="${SRCPACKAGE}_${EVERSION}_${ARCH}.buildinfo"
	BUILDINFO_SIGNED="${BUILDINFO}.asc"

+1 −0
Original line number Diff line number Diff line
@@ -685,6 +685,7 @@ cleanup_pkg_files() {
	rm -vf $DEBIAN_BASE/logs/${SUITE}/${ARCH}/${SRCPACKAGE}_*.build?.log{,.gz}
	rm -vf $DEBIAN_BASE/dbd/${SUITE}/${ARCH}/${SRCPACKAGE}_*.diffoscope.html
	rm -vf $DEBIAN_BASE/dbdtxt/${SUITE}/${ARCH}/${SRCPACKAGE}_*.diffoscope.txt{,.gz}
	rm -vf $DEBIAN_BASE/dbdjson/${SUITE}/${ARCH}/${SRCPACKAGE}_*.diffoscope.json{,.gz}
	rm -vf $DEBIAN_BASE/buildinfo/${SUITE}/${ARCH}/${SRCPACKAGE}_*.buildinfo
	rm -vf $DEBIAN_BASE/logdiffs/${SUITE}/${ARCH}/${SRCPACKAGE}_*.diff{,.gz}
}
+10 −10
Original line number Diff line number Diff line
@@ -77,17 +77,17 @@ def not_unrep_with_dbd_file():
    results = query_db(query)
    for pkg, version, suite, arch in results:
        eversion = strip_epoch(version)
        dbd = DBD_PATH + '/' + suite + '/' + arch + '/' + pkg + '_' + \
            eversion + '.diffoscope.html'
        dbdtxt = '{}/{}/{}/{}_{}.diffoscope.txt.gz'.format(
            DBDTXT_PATH, suite, arch, pkg, eversion)
        if os.access(dbd, os.R_OK):
            bad_pkgs.append((pkg, version, suite, arch))
            log.warning(dbd + ' exists but ' + suite + '/' + arch + '/' + pkg + ' (' + version + ')'
                        ' is not FTBR.')
        if os.access(dbdtxt, os.R_OK):
        for prefix, extension in ((
            (DBD_PATH, 'html'),
            (DBDTXT_PATH, 'txt.gz'),
            (DBDJSON_PATH, 'json.gz'),
        )):
            filename = '{}/{}/{}/{}_{}.diffoscope.{}.gz'.format(
                prefix, suite, arch, pkg, eversion, extension)
            if not os.access(filename, os.R_OK):
                continue
            bad_pkgs.append((pkg, version, suite, arch))
            log.warning(dbdtxt + ' exists but ' + suite + '/' + arch + '/' + pkg + ' (' + version + ')'
            log.warning(filename + ' exists but ' + suite + '/' + arch + '/' + pkg + ' (' + version + ')'
                        ' is not FTBR.')
    return bad_pkgs

Loading