Commit graph

23 commits

Author SHA1 Message Date
Holger Pandel
bf8c9f5383
Add QCOW2 build mechanism (#349) 2021-02-10 10:37:15 +00:00
Ani
dd96ca1c86
Automagically use i386/debian:buster (#415)
* Autmagically use 1386/debian:buster when running on 64-bit host to prevent error #271
2020-10-06 10:58:18 +01:00
Tim Visée
65f91b8349
BusyBox realpath does not support -s flag, fallback to use no flags (#384)
* BusyBox realpath does not support -s flag, fallback to use no flags

* Fix config sourcing problem
2020-02-20 17:20:03 +00:00
snoe925
a449c75fac OS X does not have realpath (#342)
Check that realpath is present.  OS X doesn't have realpath.  The RPi builds on Docker for Mac if you increase the VM size. I am using 256G for my image.  See the Docker for Mac preferences.
2019-11-11 18:23:58 +00:00
Kevin Stone
18b945ffb2 Moved git-hash determination to passed in build variable (#273) 2019-08-11 16:44:00 +01:00
Hugo Hromic
920e22bdc5 Ensure that the configuration file is an absolute path in Docker build (#306)
* Use `&&` instead of `;` in Docker pipeline

* In case of error, `&&` does not continue execution

* Silence shellcheck warning

* SC2086: Double quote to prevent globbing and word splitting.

* Ensure that the configuration file is an absolute path in Docker build

The specific problem is in commit 2ddd7c1, where the passed config file
(using the `-c` option) is now mounted inside the container using the
`--volume src:dest:opt` Docker option.

The problem is that Docker requires absolute paths for mounting single
files inside the container, otherwise it silently tries to mount a volume
name instead as an empty directory. Therefore the Docker build no longer
works with the following invocation forms (relative config-paths):

    ./build-docker.sh -c myconfig
    /path/to/build-docker.sh -c myconfig   # also doesn't work

This commit uses `realpath` (included in coreutils) in the Docker build
script to ensure that the passed configuration file is always an
absolute path before passing it to Docker.
2019-07-30 12:38:26 +01:00
Jens Hilligsøe
5436273ec7 Make build_docker.sh portable again (#308)
Last commit made the script break on macOS.

From `man sed` (On Linux):

```
       -E, -r, --regexp-extended

              use extended regular expressions in the script (for portability use POSIX -E).
```
2019-07-23 14:44:33 +01:00
Samuele Maci
ae4ec6445e build-docker.sh does not assume PWD=<repo root> (#302)
* bash variables in build-docker.sh are wrapped by curly brackets

* Ensure presence of config file while running build-docker.sh

* Do not assume that build-docker.sh is run from the repository root directory

* Mount config file in predictable location in docker container
2019-07-02 14:56:41 +01:00
Hugo Hromic
407663a57f Silence shellcheck warnings (#279)
* SC1091: the `config` file might not be present, which is normal.
* SC2086: Double quote to prevent globbing and word splitting.

Tested clean output using: `find -name "*.sh" -exec shellcheck -x {} \;`
2019-04-25 10:11:57 +01:00
Hugo Hromic
564f8ef1b8 Silence shellcheck warnings (#255)
* Made more specific shellcheck disables
* Fixed variable quoting (SC2086,SC2064)
* Use `$*` expansion instead of `$@` when not using arrays (SC2124)
* Use cleaner `$()` syntax instead of back quotes (SC2006)
* Improved comparator (SC2166)
* Minor improvements in coding style

Tested clean output using: `find -name "*.sh" | xargs -n1 shellcheck -x`.
2019-02-18 12:54:15 +00:00
Sam Tygier
c147df99bc Ensure extra config file is passed to docker
Fixes #253

Rather than use --env-file, which gets overwritten by the regular config file, pass the any arguments to build-docker.sh through to build.sh.
2019-02-18 09:30:23 +00:00
Sam Tygier
7fbfdda31e Add commandline argument for config file
A config file can be specified when running build, e.g.:

  ./build.sh myconfig
2018-12-21 04:09:47 +00:00
Serge Schneider
ff2d5edee1 shellcheck 2018-03-13 12:50:50 +00:00
andig
b4035400ff Add option to preserve build container (#160) 2018-03-05 15:35:11 +00:00
andig
40e5dae819 Correct help text (#145) 2018-01-02 18:17:07 +00:00
Claus Strasburger
52c6748e67 fix docker-in-docker copying when not doing CONTINUE=1 2017-09-21 15:06:11 +01:00
Claus Strasburger
732a87415d Docker-Build enhancements
- don't use any volume mounts anymore to allow using docker-in-docker
(with docker.sock mounted)
- smaller Docker build context by ignoring some files
2017-09-21 12:53:01 +01:00
Jacen
727db0ed63 [fixing] docker parts 2017-09-04 16:43:25 +01:00
TJ Rana
3441133d1c Corrected various typos (#91)
* Rename License.md to LICENSE

* Correct typos

* Clean up code layout

Organize layout with extra lines
2017-07-27 12:11:07 +02:00
Claus Strasburger
bab0fe3b0d Docker build: move to debian stretch 2017-07-17 12:21:28 +02:00
Andrew Smith
cdf1cf2aba Also use -v in error message 2017-06-27 13:10:09 +01:00
Thomas Phillips
c92638438a Fixed running docker script from within pwd containing spaces 2017-06-27 13:08:08 +01:00
Claus F. Strasburger
667318116a Added Docker support (#40)
* Added Docker support

- replaced necessity for devicemapper (through kpartx) by using parted and
  losetup with offsets
- added Dockerfile
- added dependency for parted and grep
- added hints to README.md
- common: loop through unmounts, fix shellcheck warnings

* stage2: use debconf instead of console-setup patch. Fixes #41
2017-01-23 12:44:03 +00:00