Commit Graph

38 Commits

Author SHA1 Message Date
Mark Spatz 502e5fa0e3 Remove QCOW2 build mechanism (#648) 2024-02-23 04:19:10 +00:00
Ponj 19acff0238 Fix typo (#725)
depoy > deploy
2023-11-22 13:59:13 +00:00
Stefan Becker 0ef867e5eb Fix build-docker.sh CONTINUE=1 mode (#716)
This fixes commit ed68013abb

Remove extra quotes so that docker sees pigen_work, not "pigen_work".
2023-10-17 14:42:07 +01:00
Reuben Miller ed68013abb fix: support bash v3 by removing array usage (#705) 2023-09-25 15:04:19 +01:00
Stefan Becker 01d24ef227 Skip binfmt_misc register when unnecessary (#693)
This improves commit 6dc45a80e7

Check if interpreter is already registered before running the register
step. This avoids unnecessary "sudo" execution which may require user
interaction for the password.

Improves on #685
2023-05-09 14:24:49 +01:00
Stefan Becker 9249e146d2 Copy container log to deploy (#688)
The container log is much more detailed than the default build.log,
which makes life much easier for a build maintainer. Before deleting the
container copy the log out to the deploy/ directory.
2023-04-03 10:08:50 +01:00
Mohsen Tahmasebi 6dc45a80e7 Register binfmt_misc entry for docker build (#685) 2023-04-03 09:27:59 +01:00
Stefan Becker b8437a77ba DRY removal for docker run command line (#686)
Factor out the differences into variables so that there is only one
implementation of the "docker run" command line to maintain.
2023-03-28 11:53:54 +01:00
Stefan Becker 0db41e35ef Ensure that deploy is always owned by user (#680)
Switch "docker cp" to tar streaming mode. As the receiving "tar" command
is executed outside Docker the resulting directories & files are owned
by the calling user.
2023-03-27 14:31:02 +01:00
Stefan Becker cf40e4b299 Check that docker is not set up in rootless mode (#679)
Mounting binfmt_misc inside the container requires root rights. If
"docker info" indicates rootless mode then fall back to "sudo docker".

Allow the user to override the docker command with the DOCKER by setting
the environment variable.
2023-03-27 14:30:34 +01:00
Serge Schneider c393ef105e Strip trailing spaces 2022-02-02 14:04:25 +00:00
simonliedl 0b4874f75a Fix docker build with debian bullseye image
- Fix missing sfdisk which is not included anymore in bullseye container
- Fix problem with binfmt_misc not being mounted inside docker although present on host
2022-01-31 15:51:58 +00:00
Serge Schneider d9b4a4a985 Switch to bullseye 2021-10-05 16:59:28 +01:00
DBongiorno-CG 54e1bb428f Added simple catch for default case in which PIGEN_DOCKER_OPTS is unspecified during docker build (#522) 2021-06-17 22:44:30 +01:00
Claude Warren f271ce26e9 Added PIGEN_DOCKER_OPTS to build-docker.sh (#521) 2021-06-16 14:32:21 +01:00
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