Commit Graph

171 Commits

Author SHA1 Message Date
Michael Hudson-Doyle ab97297009 set environment variables in snapcraft.yaml not wrappers 2021-07-14 12:02:45 +12:00
Dan Bungert 4cbfb7f18f
Abstract resource file lookup relative to SNAP (#998)
* Abstract resource file lookup relative to SNAP

Using SNAP to find the resource files is a bit of an odd requirement for
non-subiquity clients.  Start abstracting that away so it's easier to
change later.

Also move loadkeys to lookup from this, since the previous solution is
still a problem for ubuntu-desktop-installer.

* Move loadkeys / configure-apt to bin

loadkeys / configure-apt are in usr/bin only when we specially put them
there by way of snapcraft, which makes things a little harder on
non-subiquity clients.  Move them to bin, which is to say don't have
snapcraft put them in usr/bin.
2021-07-13 16:14:31 -06:00
Michael Hudson-Doyle aac56ae776 update curtin to get some raid container fixes 2021-07-07 08:40:33 +12:00
Michael Hudson-Doyle 8e253fb955 remove some apps from the snapcraft.yaml 2021-07-02 11:59:21 +12:00
Michael Hudson-Doyle 5f6695d9d3 add python3-yaml to build-packages (make-kbd-info.py now indirectly requires this) 2021-06-11 14:21:16 +12:00
Michael Hudson-Doyle c91245600c update probert 2021-06-10 10:04:41 +12:00
Michael Hudson-Doyle 4c03823b06 update probert to version that has mark-wlan-earlier merged 2021-06-03 11:29:49 +12:00
Michael Hudson-Doyle 4965f1000d update curtin 2021-04-16 09:12:00 +12:00
Michael Hudson-Doyle 83823515ca
Merge pull request #921 from mwhudson/no-mount-run
remove curtin hook to bind mount /run into target now curtin does this
2021-03-31 11:47:20 +13:00
Michael Hudson-Doyle c6185075c7 update curtin 2021-03-30 09:30:03 +13:00
Michael Hudson-Doyle fac360b8e7 remove curtin hook to bind mount /run into target now curtin does this
Curtin added this in version 19.3 so we can stop doing it.
2021-03-29 14:49:59 +13:00
Michael Hudson-Doyle 5d93eb824a process keyboard data into api friendly format when building snap
This is a bit sideways from the real thing I'm working on which is
moving most of the logic of keyboard handling to the server side but
anyway. This also lets me check some assumptions while processing the
data rather than in the view code.
2021-03-16 16:02:23 +13:00
Michael Hudson-Doyle d448adb1c1 probert moved to the canonical github org a while ago 2021-02-19 10:33:38 +13:00
Michael Hudson-Doyle e813726aaa yaml is bad 2021-01-27 15:20:32 +13:00
Michael Hudson-Doyle 0ff1739d19 use curtin 21.2 release 2021-01-27 14:55:52 +13:00
Michael Hudson-Doyle a888d823af pin pyyaml version 2021-01-20 22:33:01 +13:00
Michael Hudson-Doyle a8c0c5bebd update curtin and probert branches to commits that contain dasd goodness 2020-12-16 10:24:27 +13:00
Michael Hudson-Doyle 6fe600987c pin yarl to 1.5.1 when building the snap too 2020-11-04 10:57:22 +13:00
Dimitri John Ledkov 89df170814
Bump probert to fixed json output commit 2020-10-20 12:50:19 +01:00
Michael Hudson-Doyle c0f0e3caaa add subiquity-server to snap 2020-09-23 13:29:01 +12:00
Michael Hudson-Doyle 4638815e45 update to probert tip, adding recognition of CAN nics 2020-08-13 21:25:13 +12:00
Foster "Forst" Snowhill e90b84b675
snapcraft: add build-essential dependency for probert
The core image by default does not include the build-essential package. We need it to build the rtnetlink extension
for probert. If gcc is missing, the following error occurs:

    running build_ext
    building 'probert._rtnetlink' extension
    creating build/temp.linux-x86_64-3.6
    creating build/temp.linux-x86_64-3.6/probert
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/python3.6m -fPIC -I/root/parts/probert/
    install/usr/include/python3.6m -c probert/_rtnetlinkmodule.c -o build/temp.linux-x86_64-3.6/probert/_rtnetlinkmodule.o -I/usr/include/libnl3
    unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
    error: command 'x86_64-linux-gnu-gcc' failed with exit status

In this commit we include build-essential for the probert build step.
2020-08-02 18:05:33 +02:00
Foster "Forst" Snowhill 304719eb4d
snapcraft: unminimize iso-codes package
When building the snap in a clean environment, we start with a minimised core image. This image excludes translation
files, which are needed for the "languagelists" step. The following error will show up when building:

    Building languagelists
    do not know native name for oc
    Failed to run 'override-build': Exit code was 1.

This is due to translation files being excluded by default in /etc/dpkg/dpkg.cfg.d/excludes on minimised systems:

    # Drop all translations
    path-exclude=/usr/share/locale/*/LC_MESSAGES/*.mo

We now comment this line and reinstall the "iso-codes" package.
2020-08-02 18:05:29 +02:00
Michael Hudson-Doyle c6fecae958 set PYTHONIOENCODING to utf-8 in snapcraft.yaml for subiquity{,-service}
for https://bugs.launchpad.net/ubuntu-z-systems/+bug/1884027

Not really sure why this only shows up now.
2020-06-18 21:36:21 +12:00
Michael Hudson-Doyle 999edebc46 go back to getting curtin from ubuntu/devel branch 2020-06-04 07:34:09 +12:00
Michael Hudson-Doyle afe22f2982 Merge branch 'master' into better-language-lists 2020-05-21 12:40:28 +12:00
Michael Hudson-Doyle 99ad097306 snapcraft.yaml fixery 2020-05-21 11:54:49 +12:00
Michael Hudson-Doyle 5cb37acefc make some language lists at snap build time 2020-05-21 11:54:49 +12:00
Michael Hudson-Doyle 48736606ec inline streamlined version of build_i18n & intltool into our setup.py
I found the layers and layers of other tools just confusing.

"python3 setup.py build" generates an identical (apart from timestamp)
POT file and an identical build directory before and after this change.
2020-05-08 15:01:06 +12:00
Michael Hudson-Doyle cb0f77c33e update to curtin master 2020-05-07 12:48:53 +12:00
Michael Hudson-Doyle f3a0ba12bd update probert to drop --mknodes from vgscan invocation 2020-05-01 13:37:04 +12:00
Michael Hudson-Doyle 12f01405ae
Merge pull request #717 from mwhudson/no-stage-libc6
stop staging libc6 now we are core18 based
2020-04-24 13:56:20 +12:00
Michael Hudson-Doyle 73d1136eee do not stage libnl* packages, they are in the core snap 2020-04-24 13:54:21 +12:00
Michael Hudson-Doyle 1e373563ea one more curtin hotfix 2020-04-23 10:38:13 +12:00
Dimitri John Ledkov 3f0b7c062b Ship rharper hotfix for dm-name 2020-04-22 17:33:53 +01:00
Dimitri John Ledkov d28d32a36a Update curtin to a hotfix 2020-04-22 17:12:27 +01:00
Michael Hudson-Doyle 69c993e5cb update curtin 2020-04-22 15:56:28 +12:00
Ryan Harper 7f301dbe7c snapcraft: override-pull of curtin to inject the git commit hash into version string 2020-04-21 11:27:16 -05:00
Michael Hudson-Doyle f2b6edbafa update curtin to needed commit 2020-04-21 12:20:31 +12:00
Michael Hudson-Doyle 874b525b6f stop staging libc6 now we are core18 based 2020-04-17 15:20:54 +12:00
Michael Hudson-Doyle ebd8101b59 update curtin
this lets us drop efibootmgr from the snap again
2020-04-17 10:33:32 +12:00
Michael Hudson-Doyle d9e73a17a6 get apport python package and hooks from focal branch 2020-04-16 12:31:03 +12:00
Dimitri John Ledkov 5cca44b70d
Merge pull request #707 from mwhudson/use-apport-hooks-from-snap
Use apport hooks from snap
2020-04-15 16:52:00 +01:00
Michael Hudson-Doyle f604dc245b make part name better 2020-04-15 17:11:18 +12:00
Michael Hudson-Doyle 85ebbec4fc use apport hooks from the snap, not the live system
also include most hooks in the snap
2020-04-15 16:56:12 +12:00
Dimitri John Ledkov bd98660d98 Switch to core18 2020-04-12 20:01:58 +01:00
Michael Hudson-Doyle b540dc1d84 switch to probert and curtin tips to get latest fixes 2020-04-12 08:40:28 +12:00
Michael Hudson-Doyle c9448bba9d try to make efibootmgr an optional stage-package 2020-04-02 22:46:15 +13:00
Michael Hudson-Doyle 4212ee41e4 stage efibootmgr for now 2020-04-02 21:44:33 +13:00
Michael Hudson-Doyle 100661b60c use wipe/preserve refactor commit from curtin 2020-03-27 13:23:10 +13:00
Michael Hudson-Doyle aca4c513fd add cloud-init to stage-packages 2020-03-20 14:48:16 +13:00
Michael Hudson-Doyle 3f519870ad use curtin's ubuntu/devel branch again
has the dasd stuff now
2020-02-28 13:50:15 +00:00
Michael Hudson-Doyle be165d941c update to probert tip to get dasd goodness 2020-02-26 23:22:51 +13:00
Dimitri John Ledkov 436ee1d76d Bump curtin to commit with multipath fixes 2020-01-30 23:10:12 +00:00
Michael Hudson-Doyle 9e81562e1f move to current curtin master, including fix for installing kernels on !amd64 2019-12-17 12:58:25 +13:00
Michael Hudson-Doyle ff53d86bcc bump probert to get fix for device deletion crash 2019-12-12 09:21:30 +13:00
Michael Hudson-Doyle 9c0b215b31 use curtin master as of today 2019-12-06 09:32:52 +13:00
Michael Hudson-Doyle ae033101e6 code for uploading to daisy 2019-11-21 14:54:35 +13:00
Michael Hudson-Doyle 74ef2ad8f6 add a way to create a crash report 2019-11-07 14:47:18 +13:00
Michael Hudson-Doyle 4afb53a7ce bump probert 2019-11-06 14:59:25 +13:00
Michael Hudson-Doyle b0d19fc58b go back to getting curtin from ubuntu/devel branch 2019-11-06 10:34:37 +13:00
Michael Hudson-Doyle 129b855c54 use my curtin branch 2019-10-15 09:50:42 +13:00
Dimitri John Ledkov dd8de22238 Use 19.2-33-gedfdb1d1 curtin from master for all the bugfixes. 2019-10-09 13:03:34 +01:00
Michael Hudson-Doyle 88946c3c85 go back to getting curtin from ubuntu/devel branch 2019-09-30 14:58:48 +13:00
Michael Hudson-Doyle c495277642 grab a curtin commit off master to address nvme validation fixes 2019-08-28 12:00:37 +12:00
Michael Hudson-Doyle 492faf6263 update to probert tip to get multipath, lvm, raid fixes 2019-07-18 12:25:52 +12:00
Michael Hudson-Doyle 9a2934cdaa Go back to using the ubuntu/devel branch of curtin now it has released 2019-07-18 09:34:43 +12:00
Michael Hudson-Doyle 42bff6bf27 use curtin master for now 2019-07-10 09:17:08 +12:00
Dimitri John Ledkov 553bfc262a Fixup subiquity run snapcraft. 2019-05-09 14:15:03 +01:00
Michael Hudson-Doyle 7f9ff2c70e add separate curthook script to bind mount /run 2019-05-09 10:01:49 +12:00
Michael Hudson-Doyle 85af470cec update probert to current tip 2019-04-26 16:31:01 +12:00
Michael Hudson-Doyle 700d462cb6 take jsonschema from probert
probert has a requirements.txt that pins the version to the version
currently in the archive whereas curtin's is unversioned.
2019-04-04 15:04:08 +13:00
Michael Hudson-Doyle ec15929d60 Update to probert tip
The minimum required: it still only looks at the "blockdev" key in the
probe data, none of the exciting new stuff.
2019-04-02 13:43:09 +13:00
Michael Hudson-Doyle 6de5dbbd8e configure apt during installs to prefer installation from install media 2019-03-29 10:55:16 +13:00
Michael Hudson-Doyle 307155a7fb bump probert commit 2019-03-26 10:59:34 +13:00
Michael Hudson-Doyle da6bb5022d include ssh-import-id in the snap 2018-12-13 14:15:43 +13:00
Michael Hudson-Doyle aed58f099d my attempt at a check mark 2018-11-28 14:51:04 +13:00
Michael Hudson-Doyle 69f018db5b invoke curtin from the snap 2018-11-20 11:47:51 +13:00
Michael Hudson-Doyle 1a28d8b9c2 add curtin to snap 2018-11-19 14:24:39 +13:00
Michael Hudson-Doyle 8c1a497523 fix some snapcraft deprecation warnings 2018-11-19 12:36:55 +13:00
Michael Hudson-Doyle 67ebf6ad35 do not let the user choose a reserved username
using the same logic as d-i
2018-07-17 10:32:48 +12:00
Michael Hudson-Doyle 40a90a8894 depend on newer probert 2018-07-12 11:39:40 +12:00
Michael Hudson-Doyle db042eafa6 read vlan config from netlink
using support i just added to probert
2018-07-08 14:16:22 +12:00
Michael Hudson-Doyle d6f634d646 use a custom console font 2018-06-26 11:20:31 +12:00
Scott Moser af94275618 Make tox and Makefile more similar.
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.
2018-06-05 22:19:17 -04:00
Michael Hudson-Doyle 28dd8c9d17 stage python3-requests & python3-requests-unixsocket 2018-05-22 13:59:06 +12:00
Michael Hudson-Doyle 9cdc6e8472 update probert dep 2018-05-03 12:13:18 +12:00
Michael Hudson-Doyle 40900cc335 specify an exact commit of probert to use 2018-05-03 10:07:54 +12:00
Michael Hudson-Doyle 8efd54670e add locales to build-packages for the kbdnames part to fix keyboard names for non english locales (LP: #1766105) 2018-04-24 10:08:43 +12:00
Michael Hudson-Doyle 57c8160ffb fix build with newer snapcraft 2018-02-27 13:38:14 +13:00
Michael Hudson-Doyle e8c167d825 this is a more appropriate restart-condition for us i think 2018-02-13 12:42:34 +13:00
Michael Hudson-Doyle b5a6038f81 have a subiquity-service be part of the snap 2018-02-09 13:53:03 +13:00
Michael Hudson-Doyle 2cc3989ad2 some keyboard selection fixes I had forgotten to push to github :( 2018-02-08 11:57:52 +13:00
Michael Hudson-Doyle 1794ed53dd
implement keyboard selection (#276)
A new screen immediately after language.
2018-02-08 10:37:22 +13:00
Michael Hudson-Doyle 3d5bb1a280 remove curtin from the snap
livecd-rootfs puts it in the install media for us. this could go the other way
and remove it from the install media but eh, i don't much care and having two
copies is silly.

this requires removing SNAP from the environment before invoking curtin,
because curtin uses SNAP to find bits of itself (this probably means that we
were using a mix of the two copies of curtin we had before this change!)
2018-01-17 15:29:42 +13:00
Michael Hudson-Doyle 0dedddddad include libsystemd0 in the snap
it's needed now that snapcraft is better about not letting things in a classic
snap link to libraries in the host filesystem.
2018-01-17 12:27:39 +13:00
Michael Hudson-Doyle b5c48fdfb9 only stage the wrappers in the wrapper part 2018-01-16 15:11:49 +13:00
Michael Hudson-Doyle 76e56394de pip install urwid is broken in bionic for now, switch to archive package 2018-01-16 15:10:51 +13:00
Michael Hudson-Doyle fccd653ae4 only stage the users-and-groups file 2017-11-20 11:05:05 +13:00
Michael Hudson-Doyle 1cf60ccafd use probert's requirements.txt, subiquity does not directly depend on pyudev 2017-11-17 11:15:11 +13:00