Only set `PREV_STAGE`, `PREV_STAGE_DIR` and `PREV_ROOTFS_DIR` when the
stage is actually built.
When building a custom image, I wanted to make the least modifications
to this repo, so I've added `SKIP` files to `stage3` and `stage4`, and
created my own `stage5`, but this confused `copy_previous`, which was
trying to copy the rootfs from a un-built stage. This fixes this issue.
* 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.
In that case (i.e. stage2/01-sys-tweaks and stage2/02-net-tweaks) a
directory with a same name (00-pc) is getting created for both quilt
patch sets. This might yield a situation when second patch set is not
applied.
The fix is to come up with a more sophisticated naming convention for intermediate
patchset directory (which .pc symlinks to) and create separate
directories for each patchset.