* Crude diffoscope report generator
@ 2016-02-04 20:27 Leo Famulari
0 siblings, 0 replies; only message in thread
From: Leo Famulari @ 2016-02-04 20:27 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1: Type: text/plain, Size: 584 bytes --]
I have been investigating some reproducibility problems using Guix and
diffoscope. We have all the tools to make possible but it's not
automated yet.
I've attached the crude shell script I've been using to build, rebuild,
and generate a diffoscope report. Perhaps it will help others and
inspire more work in this area :)
You use it from within your Guix checkout, and the only argument it
accepts is the name of a package.
BTW, the rsync options are adapted from --archive, but modified to alter
symlinks so that they do not point into the store. I'm sure they could
be improved.
[-- Attachment #2: checker --]
[-- Type: text/plain, Size: 532 bytes --]
#!/bin/sh
set -u
set -e
main() {
if [ $# -lt 1 ]; then
printf "Give a package name.\n"
exit 1
fi
package=$1
shift
if [ $# -ne 0 ]; then
printf "Unknown parameter %s\n" "$1"
exit 1
fi
mkdir a
mkdir b
mypath="$(./pre-inst-env guix build --no-substitutes $package)" \
&& rsync -rLptgoD "$mypath" ./a \
&& guix gc -d "$mypath" \
&& mypath="$(./pre-inst-env guix build --no-substitutes $package)" \
&& rsync -rLptgoD "$mypath" ./b \
&& guix gc -d "$mypath" \
&& diffoscope --html ./report ./a ./b
}
main "$@"
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-02-04 20:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-04 20:27 Crude diffoscope report generator Leo Famulari
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.