Merge branch 'lazy-reproducible-builds'

We have "lazy reproducible builds" now. What I mean by that is, that
the resulting "apk" archive is not fully reproducible, but all binaries
inside it are. This is necessary to kick-off the binary repo, which is
in turn required to get the testsuite going on Travis. Read #64 for more
information.

Usage:
```
pmbootstrap build hello-world --buildinfo
pmbootstrap challenge /tmp/path/to/hello-world-1-r2.apk
```

The "--buildinfo" parameter generates a "buildinfo.json", which contains
the versions of all dependencies. It is not very optimizied, so this
is a performance bottleneck and takes 10 seconds (which is quite much
considering that the hello-world package builds in less than a second).
This can be improved in the future, and then the buildinfo parameter
may become the default.
This commit is contained in:
Oliver Smith 2017-06-11 14:19:57 +02:00
commit 3a3dd8063f
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
10 changed files with 286 additions and 4 deletions

View file

@ -56,9 +56,12 @@ def main():
if args.action == "aportgen":
pmb.aportgen.generate(args, args.package)
elif args.action == "build":
pmb.build.package(args, args.package, args.arch, args.force, False)
pmb.build.package(args, args.package, args.arch, args.force, False,
args.buildinfo)
elif args.action == "build_init":
pmb.build.init(args, args.suffix)
elif args.action == "challenge":
pmb.build.challenge(args, args.apk)
elif args.action == "checksum":
pmb.build.checksum(args, args.package)
elif args.action == "chroot":