32 Commits

Author SHA1 Message Date
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