Commit Graph
10 Commits
Author SHA1 Message Date
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
Hugo Hromic cf50ff26d2 Update Dockerfile base image to Debian Buster (#295)
With the Qemu version shipped with Debian Stretch, the `man-db` package
being installed for Buster in the image triggers many of these errors:

    qemu: Unsupported syscall: 383

This is a manifestation of the following bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891109

This is resolved in the current Qemu version shipped with Debian Buster.
2019-06-27 11:47:23 +01:00
Hugo Hromic 8acf95f237 Do not assume the changelog file is always present for the info file (#280)
The `(..)/raspberrypi-kernel/changelog.Debian.gz` file is not guaranteed
to be present in the built `ROOTFS_DIR`, for example when building very
minimal images without package documentation. In these cases, the `firmware`
variable will be left empty and the subsequent calls to `curl` will return
large 404 HTML content from GitHub.

Instead, simply check if the changelog file exists before using it.
2019-04-25 10:28:48 +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
Hugo Hromic 9e6af47045 Improve update_issue() function in common script
* Allow to customise pi-gen script name and repository in the generated issue file
* Preserve compatibility with existing function calls
2019-02-18 09:21:10 +00:00
Hugo Hromic 3b90b7ffed Improve bootstrap() function in common script
* Tidy up and simplify function code
* Allow to pass extra arguments to debootstrap, e.g. `--variant minbase`
* Preserve compatibility with existing function calls
2019-02-18 09:21:10 +00:00
Hugo Hromic 8d9cfb3e46 stage0: add missing raspberrypi-kernel package to the firmware sub stage (#185) 2018-06-04 09:44:31 +01:00
Hugo Hromic fea9e2945a export-image: clean additional backup files (#186) 2018-06-04 09:43:42 +01:00
Hugo Hromic 9d76d3a6a2 stage2: clean unused/obsolete patch (#187) 2018-06-04 09:42:52 +01:00