~smoser/usd-importer:cleanup/build-cleanups

Last commit made on 2018-10-16
Get this branch:
git clone -b cleanup/build-cleanups https://git.launchpad.net/~smoser/usd-importer
Only Scott Moser can upload to this branch. If you are Scott Moser please log in for upload directions.

Branch merges

Branch information

Name:
cleanup/build-cleanups
Repository:
lp:~smoser/usd-importer

Recent commits

defd76c... by Scott Moser on 2018-09-27

Fix native build.

Builds cloud-initramfs-tools [native] and cloud-utils [non-native].

4bea658... by Scott Moser on 2018-09-27

run_in_lxd: do not use a shell in sudo.

using a shell makes things more difficult.

26cf622... by Scott Moser on 2018-09-27

arguments are a list, not a set.

a set is unordered, and arguments are most definitely ordered.
  --file foo
doesn't work as
  foo --file.

72dd823... by Scott Moser on 2018-09-22

Rework installing dependencies.

a.) do not re-try installing dependencies.
b.) use apt-get build-dep everywhere except trusty.
c.) install fakeroot explicitly (or dpkg-buildpackage complains as non-root).
d.) use eatmydata if it can when apt-get install.

Things to note:
 * On trusty, install devscripts with '--no-install-recommends'.
   we do not install them at all elsewhere.
 * Do not install sudo or equivs anymore.

0e572b8... by Scott Moser on 2018-09-22

build: Explicitly wait for the container to finish booting.

Rather than relying on retrying 'apt-get update' to indicate
success, add a shell snippet to do that.

97b955e... by Scott Moser on 2018-09-22

build: build in Ubuntu devel for 'unstable', 'testing', 'devel'.

76e2596... by Scott Moser on 2018-09-22

build: Be more explicit about creating user in container.

Explicitly create a user in build. Previously a user was created
as a side effect of trying to run a command as that user in the
container.

2aadcff... by Robie Basak on 2018-10-12

Fix call into core snap awk binary

The core snap's loader is tied to its libc. usr/bin/awk inside the core
snap refers to /lib64/ld-linux-x86-64.so.2, which is therefore incorrect
when called from a classic snap.

Add a wrapper for awk which calls awk in the core snap correctly,
through its own loader.

Separately, we also need to set LD_LIBRARY_PATH so that the loader can
find the shared libraries supplied by the core snap that satisfy its own
dependencies, rather than look at the host system or into our own snap
which may not have them. This was the original bug. Fixing this revealed
the problem above. Both issues are resolved by wrapping this call.

This does raise some questions such as what it means for a classic snap
to be making use of a core snap's binaries, and whether this is an
appropriate thing to do given that the core snap's binaries all specify
the "wrong" loader path in the classic case since the core snap won't be
mounted at the root of the filesystem. This might need some refactoring
of how the git-ubuntu snap works in the future, but for now we can fix
the awk case to fix the current regression in master.

With thanks to Michael Vogt.

LP: #1796017

67206b0... by Robie Basak on 2018-10-02

Add awk integration test

4fe8482... by Robie Basak on 2018-09-27

Drop keyrings.alt version restriction

The launchpadlib part requires "keyring" with no version restriction. By
requiring a particular version here, we're relying that some newest
version of keyring will work with this particular keyrings.alt, which
fails with keyring 15.0.0 vs. keyrings.alt 2.3. Since launchpadlib
already has no version restriction, do the same for keyrings.alt. Then
at least if "pip3 install" works, so should the snap.

Alternatively we could have added a version restriction to the
launchpadlib part, but at the moment that pattern isn't used anywhere,
and the requirements are taken from launchpadlib's setup.py with no
patching. If we want to restrict versions some other way, then we'll
need a major reworking of how the snap is put together.

Now the test checking that keyring can find a functional backend should
always pass.

LP: #1794041