OctoPrint port and listening IP can now be configured
First-time and Octo-Config now use a shared library reducing duplicate
code
Reverted output files to default format
Updated TODO
Timestamps in the build now grab the time at the beginning of the build,
instead of the end
Sudoers file didn't use chroot path
Rearranged octo-config into first-time folder and renamed first-time
folder to utils
Added the unix timestamp for when the build was built to the file name
Disabled no password on the pi account for sudo actions
Fixed a stupid mistake where I piped a function into bash instead of
the void
GUI has been implemented using NoDM
Some files have been shifted to more appropriate stages
Updated the name in NOOBS (although whats the point?)
OctoPrint is now built and installed
Removed LightDM as its a buggy mess
Exposed RELEASE as a configurable variable and updated README.md. As a
bonus, there is only on place to change the release name when the next
release is stable now.
* 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 {} \;`
* 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`.
Check that the username is valid before doing any work. Use the default regex from debian's adduser.conf. Will also avoid risk of special characters causing issues.
* Occasionally, it is necessary to symbolically link the pi-gen/work
directory to a different place on the filesystem. This is true if
the current partition is low on space, or when building within
vagrant virtual machine shared mounts which do not support all
regular fs operations.
* Without this change, the pi-gen build will fail to unmount because
the OS 'mount' command returns canonical paths which fails to match
the symbolically linked path to 'work' dir.
* Add MAX_STAGES variable
If set, only runs up to that stage
* Show "Skipping stageX" message for all skipped stages
* Add RUN_STAGE variable to run a single stage
* Document RUN_STAGE and MAX_STAGE
* Removed SKIP file support for main stage
* build.sh: Support comments in package files
This patch allows the use of hash comments inside patch files. It's a
little ugly, but it strips comments and collapses all whitespace down to
single space characters between package names. It handles comments
anywhere in a line, as well.
Was unsure if \ continuation of the long sed line or the inclusion of a
couple of lines of comments explaining what the sed expressions are
doing would be appreciated, so didn't include them in this patch.
* build.sh: whitespace fix
* build.sh: Use sed script for packages files
Broke the sed expressions out of build.sh and put them their own
documented sed script. This greatly improves readability and avoids
build.sh getting messier.
Broke the substitution command into two separate subs. The first just
deletes comments, and the second collapses all whitespace into a single
space. This too is easier to read, and catches a couple of edge cases
that would result it not all whitespace being collapsed. The result may
still have (one) leading and/or trailing space, which is acceptable.