snappy:release/2.38

Last commit made on 2019-04-11
Get this branch:
git clone -b release/2.38 https://git.launchpad.net/snappy

Branch merges

Branch information

Name:
release/2.38
Repository:
lp:snappy

Recent commits

973e06a... by Michael Vogt on 2019-04-11

releasing package snapd version 2.38.1

b621ab9... by Maciej Borzecki on 2019-04-01

tests/lib/prepare-restore: further tweak snapd package purge

On some distros, attempting to purge a package that does not exist may fail.
Make sure we purge snapd only where we know it's preinstalled, but make sure
that there are no signs of snapd on other systems too.

Signed-off-by: Maciej Borzecki <email address hidden>

dd3614f... by Michael Vogt on 2019-04-01

tests: add workaround for missing cache reset on older snapd

Older versions of snapd did not do a `rm -rf /var/cache/snapd/*`.
Newer versions of snapd create /var/cache/snapd/aux which means
that `dpkg --purge snapd` may fail after a re-exec. We need to
think how to fix that.

However to unblock tests we should add this workaround.

0be7ed7... by Michael Vogt on 2019-04-11

ubuntu: disable -buildmode=pie on armhf to fix memory issue

ubuntu: disable -buildmode=pie on armhf to fix memory issue

This PR disables -buildmode=pie on 32bit systems only and leaves it
on for the other arches (for now).

Building go binaries with -buildmode=pie causes issue on ARM
32bit boards. This was originally reported by a customer and
tracked in LP #1822738.

The issue is that the new GC in 1.7+ allocates a large chunk
of memory (>150Mb in our case) on ARM systems when using
buildmode=pie on the low-memory system where this was observed.

The following happens:
1. We build snap/snapd with -buildmode=pie
2. There is a bug in the malloc.go code in 1.10
3. Because the board this runs on has too little ram the kernel
   relocates it from a relatively low memory start address to a pretty
   high one. Because the GO memory system assumes it initially owns
   all the memory from the point where it start to the start it creates
   a huge GC bitmap memory region.
4. Because the pi2 does have enough ram the kernel does not relocate it
   so we cannot observe the error there.

Using -buildmode=pie is not super important on GO according to
one of the authors:
https://groups.google.com/forum/#!topic/golang-nuts/Jd9tlNc6jUE

The relevant LP bug:
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1822738

Use the dpkg-architecture command to determine if the system
is 32bit and if so do *not* use -buildmode=pie. Also update
the test to look at 32/64 bit instead of using `uname -m`.

7d32222... by Michael Vogt on 2019-03-21

releasing package snapd version 2.38

6f6e48d... by "John R. Lenton" <email address hidden> on 2019-03-20

overlord/snapstate,: retry less for auto-stuff

This tweaks the code so that autorefreshes are never set
to retry. Also it bumps the minimum time between retries
to 30 minutes.

dc30131... by Paweł Stołowski on 2019-03-20

cmd/snap: fix regression of snap saved command (#6617)

Fix regression of snap saved command - don't error out if the optional setID is omitted.

8e8715c... by Michael Vogt on 2019-03-20

Merge pull request #6613 from anonymouse64/bugfix/2.38-docker-no-privileged-dev-ptmx

interfaces/builtin: add dev/pts/ptmx access to docker_support (for 2.38)

1feebec... by Ian Johnson on 2019-03-16

interfaces/builtin/docker_support.go: add dev/pts/ptmx access

Recent versions of docker now create a symlink from /dev/ptmx to
/dev/pts/ptmx in order to create a new interactive shell instead of
performing a bind mount. This access allows one to disconnect the
privileged interface from docker and still use the "less privileged"
version of the docker-support interface.

Signed-off-by: Ian Johnson <email address hidden>

80eb116... by John Lenton on 2019-03-14

overlord/snapstate, store: address @pedronis's review

Thank you :-)