These are currently applied with hacks in the core18 repo when building the
core18 snap, but that was always meant to be a temporary thing until it was
upstreamed... here's the upstreaming.
Signed-off-by: Ian Johnson <ian.johnson@canonical.com>
On Core20 devices, the user may decice to invoke a recovery chooser by holding
down a specific key. Make sure that the recovery chooser trigger detection
service runs before, so that by the time console-conf runs, the trigger
detection window is closed and we may launch the chooser if needed.
Note, the patch only includes the bits for ensuring the correct order during
boot.
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
The service is named core.start-snapd.service in core20. Add a comment
explaining why we need this.
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
On core18 the firstboot seeding happens via the core18.start-snapd
service. This service will do the initial start of snapd when the
system is unseeded. This service will wait until the system is
fully seeded.
We cannot run console-conf before that because it uses the "snap"
command which will not be available before the system is seeded.
Once that has landed https://github.com/snapcore/core18/pull/74
can be reverted (in fact the hooks/200-console-conf-after.chroot
file can be removed entirely).
The binary packages from the subiquity source are unused with the exception
of console-conf (+subiquitycore) which is input into the core snap build;
and subiquity-tools is particularly bad as it has a hard-coded dependency
on python-all, which is not at all normal for a runtime package.
So just stop building these unmaintained binaries, and only build the ones
we actually use.
This does a few things with the end goal of making simplifying and
making consistent tox and 'make' methods of test or check.
Things here:
* move python programs out of bin and into their own main. Use
entry_points to get scripts written for them. One gain here is
that we no longer have python programs that are not named .py.
flake8 and friends would not check those programs by default.
* install scripts in bin/ using the setup.py scripts and adjust
snapcraft.yaml and debian packaging for that.
* declare and use PYTHON in Makefile to avoid repeating 'python3'
* declare and use CHECK_DIRS in Makefile for list of dirs to check.
* no longer run 'flake8' from 'make check' by default.
* remove the old tests/ directory.