Commit Graph

81 Commits

Author SHA1 Message Date
Joseph Bisch
dbf04f4ece Use lsb_release to get codename rather than /etc/lsb-release
It seems like a lsb_release program should be available on any distro if
the appropriate package is installed. So it seems better to use
lsb_release instead of /etc/lsb-release, because Debian doesn't appear
to have /etc/lsb-release.
2015-10-06 19:32:06 -04:00
Daniel Morante
aac596e346 Missing wget
The build process for [Bitcoin](https://github.com/bitcoin/bitcoin/blob/master/doc/gitian-building.md) was failing with the following error

```
./bin/gbuild:21:in `system!': failed to run on-target setarch x86_64 bash -x < var/build-script > var/build.log 2>&1 (RuntimeError)
        from ./bin/gbuild:137:in `build_one_configuration'
        from ./bin/gbuild:267:in `block (2 levels) in <main>'
        from ./bin/gbuild:262:in `each'
        from ./bin/gbuild:262:in `block in <main>'
        from ./bin/gbuild:260:in `each'
        from ./bin/gbuild:260:in `<main>'
```

Inside the log file `var/build.log` the entries towards the end show

```
/bin/sh: 1: wget: not found
```
2015-09-15 00:01:08 -04:00
Devrandom
923016ec8d minor cleanup of previous 2015-08-03 14:21:43 -07:00
Dev Random
82ba171c71 Merge pull request #97 from luke-jr/cache_ro
gbuild: Allow disabling fetch of modified caches with `--cache-read-only` option
2015-08-03 13:12:00 -07:00
Luke Dashjr
9d46e26c2e gbuild: Allow disabling fetch of modified caches with --cache-read-only option 2015-08-03 18:50:19 +00:00
Devrandom
ec56a82d4b full path to mkfs.ext4 2015-07-29 13:17:03 -07:00
Joseph Bisch
db712b254e Add back accidentally removed ! from gsign 2015-06-29 15:42:06 -04:00
Joseph Bisch
ede6af7864 Switch ECDSA signing to generic --signing_program option
This should allow anyone to write any signing program and use it in
conjunction with gsign as long as it supports the same options/arguments
as gpg does (namely -u for the signer and an argument for the file to
sign).
2015-06-29 15:09:31 -04:00
Joseph Bisch
da0276608e Add ECDSA signing to gsign
Relies on a script in the Armory source tree to handle the actual
signing.
2015-06-29 09:02:25 -04:00
Devrandom
1ae746f68f LXC cleanup 2015-05-17 10:55:47 -07:00
Devrandom
af56f89a6a improved LXC support
fixes #86
2015-05-16 20:48:18 -07:00
Devrandom
81bf5d7025 ensure guest upgrade occurs before attempting to get manifest
fixes #85
2015-03-23 20:52:40 -07:00
Devrandom
7d1e7c5419 trusty fixes, remove legacy grub
fixes #84
2015-03-23 19:47:45 -07:00
Dev Random
b4201676d8 fix trusty kernel install 2015-03-13 12:21:02 -07:00
Devrandom
c834f371bb Revert "git: minimize uploaded git files"
This reverts commit dcf28c8b86.

due to issue #74 - branches don't work
2014-11-25 11:30:07 -08:00
Cory Fields
b1e59cf0a1 cache: define cache paths and GBUILD_CACHE_ENABLED only if caching is enabled 2014-11-11 01:24:32 -05:00
Dev Random
02f4440473 Merge pull request #72 from theuni/git-minimize-upload
git: minimize uploaded git files
2014-11-10 10:37:36 -08:00
Cory Fields
66015b9f14 cache: define variables for cache paths 2014-11-10 01:48:19 -05:00
Cory Fields
dcf28c8b86 git: minimize uploaded git files
Rather than uploading every checked-out file of a repository and the
repository objects themselves, skip the checkout and instruct git to compact
before upload. The result is that only a handful of files are transferred,
rather than hundreds or thousands for large repositories.

The HEAD ref is updated before upload so that a hard reset works as before on
the target. The reflog is also disabled in order to avoid uploading useless log
files.

This change is backwards-compatible, but it will only have an effect on new
repositories.
2014-11-10 01:48:04 -05:00
Cory Fields
00d5b9849c cache: require the enable_cache key to be set to true in order to use cache functionality 2014-09-22 20:10:33 -04:00
Christopher Gurnee
63fe5d1de2 Fix issue #63: use lxc-execute instead of lxc-start 2014-09-04 16:54:05 -04:00
Cory Fields
923ea1055d fix: use don't use methods that require new ruby version
This is a regression from ea24af10. Dir.exists isn't available in ruby 1.8
2014-08-22 19:41:44 -04:00
Dev Random
8e907adcc4 Merge pull request #58 from laanwj/master
Extend gverify comparison
2014-08-21 14:36:52 -07:00
Cory Fields
00114ee98f fix: Separate cache from output files in yml report
Otherwise the output may look non-deterministic if there are stale files in
the cache.
2014-08-12 18:23:10 -04:00
Cory Fields
6a64b48d69 fix: create cache dirs to avoid file copy errors
This fixes builds that don't use caching.
2014-08-12 17:54:35 -04:00
Cory Fields
ea24af1043 Add common cache and per-build cache
Allow each builder to cache some files for re-use in the next build. This
allows for poor-man's dependency chaining.

Additionally, add a common cache pool for all builds. This can be used for
saving (for example) downloaded files to be shared between builds.
2014-08-07 13:01:37 -04:00
Ben Rossi
feef35616b Allow @ in URLs so Gitian-Builder works against source stored on BitBucket. 2014-07-25 11:54:43 -04:00
Giuseppe Mazzotta
25db707b34 Use a clean environment when building VMs 2014-06-11 16:52:41 +02:00
Wladimir J. van der Laan
449bc5b243 Extend gverify comparison
- Allow comparing to a sepcific 'golden' manifest with `--compare-to`
- By default pick the first manifest to compare to, instead of always
  comparing against the previous one, which is confusing
- Show line-by-line difference if `-v` given
2014-06-11 09:37:03 +02:00
gdm85
1504c76f11 Fix issue #56: clean up environment before gbuild'ing
Originally proposed by cfields
2014-06-11 00:00:16 +02:00
Wladimir J. van der Laan
5785dfc3ae Un-hardcode host/guest IP
I was running into trouble using gitian LXC INSIDE a VirtualBox VM, because
the 10.0.2.x IP range overlaps with the range that VirtualBox uses for
its internal NAT network.

This commit makes it possible to override the host and guest IP that
is used during LXC image creation and the build, using environment variables:

- `GITIAN_HOST_IP` (default=10.0.2.2, host IP from the viewpoint of the
   VM, can be used for both LXC and KVM)
- `LXC_GUEST_IP` (default=10.0.2.5, guest IP from the viewpoint of the
   host, effective for LXC only)

When these are not defined the behavior remains the same as before.
2014-04-02 16:24:52 +02:00
Dev Random
c9e62adc21 Merge pull request #50 from simondlr/increase_time
Increase time for checking if a target has started.
2014-04-01 11:14:14 -07:00
Wladimir J. van der Laan
534248d236 Make it possible to override source URL
To make test builds it can be useful to point gitian at an
alternative repository.

This commit makes this possible by adding a `--url PAIRS` command line
option, that allows to optionally specify where to fetch the code, for
example:

    gbuild --url bitcoin=https://github.com/laanwj/bitcoin.git --commit bitcoin=2014_03_...
2014-04-01 10:36:50 +02:00
Simon de la Rouviere
d8d01f7bad Increase time for checking if a target has started. 2014-02-11 17:18:30 +02:00
Tom Robinson
a6fdc28839 Add VirtualBox support to make-base-vm via Vagrant 2014-02-01 19:23:44 -08:00
devrandom
ac4f77bcd1 Initialize umask to a known value (002) 2013-12-04 14:16:44 -08:00
Matt Corallo
95e09ae608 Increase disk size for things like Firefox that need it. 2013-10-31 21:35:37 -04:00
devrandom
79c1217cb1 make passing env vars work across guest OS suites 2013-09-29 10:58:33 -07:00
Arlo Breault
d9cc3d14b9 Don't warn in if LXC. 2013-06-17 21:57:07 -07:00
Dev Random
5512bb3cec Merge pull request #35 from luke-jr/no_recommends
Don't install package recommends implicitly
2013-05-05 20:42:49 -07:00
Dev Random
41c3545e3b Merge pull request #34 from luke-jr/bugfix_noninteractive
Bugfix: Use noninteractive frontend for apt-get
2013-05-05 20:42:03 -07:00
Luke Dashjr
f43ff49fa7 Don't install package recommends implicitly (require yml to specify them) 2013-04-18 06:35:07 +00:00
Luke Dashjr
ffe46ca40b Bugfix: Use noninteractive frontend for apt-get 2013-04-18 06:34:16 +00:00
Luke Dashjr
46b75df3d3 Bugfix: Pass --update-head-ok to git fetch to avoid problems overwriting checked out branch 2013-04-18 06:31:10 +00:00
Luke Dashjr
9512784622 Bugfix: git fetch directly from the remote URL, rather than only setting a default the first time
- Fixes problem where the gitian URL varies for different branches of the same repository
- Explicitly fetching tags using + allows repository to overwrite existing tags (changed tag)
- Fetching branch heads to local heads correctly makes branch names available for commit option
- Fetching both branches and tags at the same time optimizes things slightly
2013-04-09 07:33:43 +00:00
devrandom
5746af15e0 setarch on guest for LXC
Some packages use uname -m, which is not set to i386 on LXC on a 64 bit
host.

fixes #24
2012-09-12 10:10:27 -07:00
Dev Random
93d443077e Merge pull request #22 from TheBlueMatt/master
Make using an invalid tag/commit an error
2012-09-06 22:02:11 -07:00
Matt Corallo
e27f2a7bce Make using an invalid tag/commit an error 2012-09-06 15:03:41 -04:00
devrandom
9c95b90ca3 Fix git-fetch and brctl doc 2012-08-03 15:02:36 -07:00
devrandom
e82c0b4760 Work around cron issue during make-base-vm 2012-08-03 15:00:26 -07:00