Commit Graph

39246 Commits

Author SHA1 Message Date
Jan Kundrát
ab86389881 package/rauc: Version bump to 0.3
There's a bug in 0.2 which prevents proper operation when activated via
D-Bus, which is why I'm bumping this.

Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz>
Link: https://github.com/rauc/rauc/issues/125
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-08 22:15:41 +01:00
Baruch Siach
56057835f6 wget: bump to version 1.19.4
Update license hash; s/http/https/ of in-text URLs.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-08 22:04:53 +01:00
Steve Kenton
aa33514bee udftools: new package
Signed-off-by: Steve Kenton <skenton@ou.edu>
[Thomas: add hash for the license file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 17:05:35 +01:00
Cam Hutchison
2d020aeb60 package/ncurses: add option to install extra terminfo files
Add an option to ncurses to install extra user-configured terminfo
files. By default, only a small number of vital terminfo files are
installed on the target. This allows a build to specify the terminfo
files it needs.

Signed-off-by: Cam Hutchison <camh@xdna.net>
[Thomas: qstrip the variable before using it.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 16:16:42 +01:00
Adam Duskett
41a3bc75e1 ncurses: bump to 6.1
Remove 0002-recognise-uclinux.patch as it has been applies upstream.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 15:53:54 +01:00
Adam Duskett
4b3b757307 json-for-modern-cpp: bump to v3.1.0
Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 15:53:50 +01:00
Yegor Yefremov
ecfde09985 support/testing: add python-cryptography tests
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 15:10:39 +01:00
Waldemar Brodkorb
873040371b autofs: allow to use libtirpc
uClibc-ng removed internal RPC implementation as it
is ipv4 only and can not be used for most important RPC software
rpcbind and nfs-utils.
musl does not implement RPC and GNU C library deprecated the
internal implementation a while ago.
It is still possible to use the C library implementation.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: change to use libtirpc when available, not just when the
toolchain does not have RPC support.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 14:05:44 +01:00
Romain Naour
c032e6825a package/glibc: security bump to 2.27
See: https://sourceware.org/ml/libc-announce/2018/msg00000.html
https://sourceware.org/glibc/wiki/Release/2.27

Fixes the following CVEs:
 CVE-2017-1000408
 CVE-2017-1000409
 CVE-2017-16997
 CVE-2018-1000001
 CVE-2018-6485

While at it, add license file hashes.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 13:41:48 +01:00
Jagan Teki
98b68d08fa board: Add Tinker RK3288 board support
Add Tinker board, from rk3288 family SOC.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-06 11:39:48 +01:00
Jagan Teki
cdbb96e0b1 board: Add Vyasa RK3288 board support
Add Vyasa board, from rk3288 family SOC.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-06 11:39:48 +01:00
Romain Naour
30daaed193 package/glibc: remove GLIBC_SRC_SUBDIR
GLIBC_SRC_SUBDIR was needed when Buildroot supported
eglibc which stored all sources in a sub-directory.
It was not removed by the commit removing eglibc support [1].

[1] 500de2598a

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-06 11:34:43 +01:00
Romain Naour
f1d4756d46 package/libraw: rename internal powf64
Starting with Glibc 2.27, powf64() is provided by the C library
and colide with the one defined dy libraw.

Rename internal powf64 to libraw_powf64.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 22:55:00 +01:00
Romain Naour
e14eea82ac package/pulseaudio: only define memfd_create() if not already defined
Before glibc version 2.27 there was no wrapper for memfd_create(2).

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 22:54:52 +01:00
Romain Naour
ab9b556f98 package/x11r7/xlib_libxshmfence: fix build with glibc 2.27
With glibc 2.27 memfd_create() is inside a _GNU_SOURCE guard, so call
AC_USE_SYSTEM_EXTENSIONS to get this defined.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas: add reference to upstream commit, as suggested by Yann E. Morin.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 22:53:05 +01:00
Thomas Petazzoni
14fdb63804 support/config-fragments: remove bogus BR2_JLEVEL option
There is no reason to have a BR2_JLEVEL option in such toolchain
defconfigs.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 22:46:59 +01:00
Thomas Petazzoni
6030986311 support/config-fragments: add internal defconfigs for glibc and musl
While we have several defconfigs building internal toolchains with
uClibc, we don't have any building internal toolchain with glibc and
musl. However, having such defconfigs is nice when we bump the C
library version, in order to immediately get feedback on build
failures.

Note that while the ARC internal defconfig uses glibc, it uses the
special ARC glibc version, so it doesn't test version bumps of the
upstream glibc C library.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 22:45:17 +01:00
Martin Kepplinger
99c6f9fba1 x11vnc: update to 0.9.15
This updates x11vnc from 0.9.14 to 0.9.15. The cherry-picked patch is now
part of the release.

Signed-off-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 18:18:16 +01:00
Scott Fan
f83d92b60f package/sqlite: bump version to 3220000 (3.22.0)
Signed-off-by: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 18:15:04 +01:00
Thomas Petazzoni
49fabb152a Kick-off 2018.05 cycle
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 17:49:16 +01:00
Peter Korsgaard
ca7bf21fbf CHANGES: add 2018.02-rc1 release date
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 17:24:45 +01:00
Peter Korsgaard
f367a2f165 docs/website/news.html: update for 2018.02-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 17:24:11 +01:00
Peter Korsgaard
30bffce8d5 Update for 2018.02-rc1
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 16:34:00 +01:00
Eric Le Bihan
e9429539ec support/testing: add tests for Rust
To test the support for the Rust language, the following tests are added:

- building Rust compiler and Cargo from source.
- installing a pre-built Rust compiler and building Cargo from source.

For each test, a Rust test program is built and installed in the root file
system of a ARM vexpress QEMU system. The test is declared OK if the program can
be run properly from the test system.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:48 +01:00
Eric Le Bihan
d0ac3c9b21 docs/manual: document cargo-based packages
Add instructions for adding a package which uses Cargo as build system.

[Peter: fix indentation]
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:48 +01:00
Eric Le Bihan
990a7d14cf cargo: new package
This new package provides Cargo, the Rust official package manager.
Cargo is written in Rust and uses Cargo as its build system. It also
depends on other Rust packages.

Normally, a previously installed version of Cargo would be used to:

 1. Fetch the dependencies.
 2. Build the new version of Cargo, using the available Rust compiler.

But the fetching step prevents offline builds. So instead two features
of Cargo are leveraged: vendoring [1] and local registry.

First, a tarball of the build dependencies generated using `cargo
vendor` is fetched along with Cargo source code.

Then, the build process is as follows:

 1. The tarball of the build dependencies is uncompressed in a local
    registry.
 2. A snapshot of Cargo, provided by cargo-bin, builds the final
    version of Cargo.
 3. A configuration file telling Cargo how to cross-compile programs for
    the target is generated and installed.

Currently, only the host variant is provided.

[1] https://github.com/alexcrichton/cargo-vendor

[Peter: use src.fedoraproject.org, fix comment]
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:48 +01:00
Eric Le Bihan
736e0fc5d6 libcurl: add host variant
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:48 +01:00
Eric Le Bihan
31847c297d libhttpparser: add host variant
Allow build of host variant of libhttpparser.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:48 +01:00
Eric Le Bihan
93a911fd5b libssh2: add host variant
Allow build of host variant of libssh2, which depends on host-openssl.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:47 +01:00
Eric Le Bihan
b50522d838 rust: new package
This new package provides rustc, the compiler for the Rust programming
language, built from source.

Currently, only the host variant is built.

The Rust compiler uses LLVM as its backend: a copy of LLVM source code
is provided and CMake is used to build it. It is possible to use a
pre-built external copy. When LLVM/clang will be available in Buildroot,
it would be possible to benefit from this feature and thus decrease
build time.

LLVM is configured to generate code for x86, ARM, PowerPC and MIPS
architectures.

The Rust compiler uses Cargo as its build system and is written in Rust.
Therefore this package depends on cargo-bin and rust-bin.

The internal build process is as follows:

 1. stage0 compiler, provided by rust-bin, is used to build stage1
    compiler.
 2. stage1 compiler builds the final Rust compiler (stage2 compiler)
    and the standard library for the host architecture.
 3. the standard library for the target architecture is built.

The target architecture to support is given by the GNU/LLVM target
triple. Rust supports some predefined targets [1]. As the build system
expects the triple to be in the form of <arch>-unknown-<system> and
Buildroot toolchain wrapper uses <arch>-buildroot-<system>, the package
Makefile uses $(RUST_TARGET_NAME) defined in the rustc package and uses
it instead of $(GNU_TARGET_NAME).

When compiling Rust code with this compiler, the generated program only
depends on the target C library, as it is statically linked to the Rust
standard library and any other code from Rust packages (a.k.a.
"crates").

If the jemalloc package is selected, support for this memory allocator
will be enabled in the target standard library.

The menuconfig entry for rustc is also updated to expose this provider.

[1] https://forge.rust-lang.org/platform-support.html

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:47 +01:00
Eric Le Bihan
c7a189c661 cargo-bin: new package
This new package fetches a binary version of Cargo, suitable to
bootstrap the host variants of the Rust compiler and Cargo, the package
manager.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:47 +01:00
Eric Le Bihan
194bcaeae3 rust-bin: new package
This package provides a pre-built version of rustc, the compiler for the
Rust programming language, fetched from the upstream project.

A pre-built version of the standard library for the host as well as one
for the chosen target are also fetched and installed.

Only the host variant is provided to allow the user to cross-compile
Rust programs and run them on the target.

This package could also be used to provide a bootstrap compiler when building
Rust from source. So, in order to add it as a build dependency, the compiler and
standard libraries are only installed in $(HOST_DIR) if the package is
explicitly selected.

The menuconfig entry for rustc is also updated to expose this provider.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:47 +01:00
Eric Le Bihan
40e6e08d0b rustc: new virtual package
The compiler for the Rust programming language is called rustc.

There is only one reference implementation for it, based on LLVM, from
the Rust project [1]. It can generate code for various architectures so
it can be labeled as a cross-compiler. But, as for GCC, building it
from source takes time.

So it would be sensible to have at least one package which provides it
as a pre-built version, fetched from the upstream project. Later another
package can be added, to build it from source code.

In addition to the compiler, the standard library for the host and/or
the target should also be fetched/built.

So, add a virtual package named rustc to enable support for multiple
providers.

Currently, only the host variant will be available to allow the user to
cross-compile Rust programs for the target.

[1] http://rust-lang.org

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:57:47 +01:00
Bernd Kuhls
5b679d7806 package/libsamplerate: add optional dependency to alsa-lib
Configure summary without this patch and without alsa-lib built before:

  Extra tools required for testing and examples :
[...]
    Have ALSA : ................... no

and with this patch

  Extra tools required for testing and examples :
[...]
    Have ALSA : ................... yes

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 14:55:46 +01:00
Fabio Estevam
2cb312f963 configs/mx53loco: Bump U-Boot and kernel versions
Bump U-Boot to 2018.01 version and kernel to 4.15.1.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 14:42:45 +01:00
Peter Korsgaard
e478ad1e5d gcc: or1k: use 20170218 tag instead of branch
As pointed out by Joel Stanley:
https://patchwork.ozlabs.org/patch/863011/

Github now longer provides the exact same tarball for the or1k musl-5.4.0
tarball, breaking the build.  Even more, musl-5.4.0 is the name of a git
branch, not a tag.

Fix both problems by changing to the or1k-musl-5.4.0-20170218 tag, which
points to the exact same git commit.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Tested-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 08:30:38 +01:00
Thomas Petazzoni
e2c03d54bb Revert "python3: bump to 2.6.4"
This reverts commit 233202597d, which
causes a lot of build failures. Part of the Python build process tries
to use os.replace(), which is only available since Python 3.3. It
should work if the host-python being built was used, but unfortunately
the system Python ends up being used, causing the build failure.

Fixes:

  http://autobuild.buildroot.net/results/ed95a7ded6bd6c17bd0820b3a96862487b71eb2b/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2018-02-05 07:08:42 +01:00
Romain Naour
9385bc0520 package/bootstrap: fix licence file path
The licence file is in css/ directory.

Fixes:
http://autobuild.buildroot.net/results/0d4/0d4b9488d1aa80e8d290e4dfe1937c3879eceea4

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-05 07:06:34 +01:00
Peter Korsgaard
77d58aab46 CHANGES: update with recent changes
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-05 00:49:07 +01:00
Bernd Kuhls
4d4a0473f2 package/libcodec2: fix upstream source URL
Upstream changed to URL of the source tarball and removed SHA1SUMS.
Added license hash.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-04 23:47:48 +01:00
Zoltan Gyarmati
0b4bbf6e08 package/gpsd: add config option for Spectratime iSync and build fix patch
As in the inital 3.17 version bump patch the iSync config option was not
added, the iSync driver was implicitly enabled in the gpsd config as default,
and due to a bug in the gpsd build setup, this caused several autobuild issues
which are fixed by this. This commit adds both the Buildroot config option and
the gpsd patch which was also sent to and accepted in upstream.

Fixes:
    http://autobuild.buildroot.net/results/555b4bdd1707aa21e6d3014e30b635c96c5efffc
    http://autobuild.buildroot.net/results/cfc14a2c471c63ecc4c95c12b8e00ed7656acfd2
    http://autobuild.buildroot.net/results/2104e15526bd6f467f0d56dee10b5fa46e2c71dd
    http://autobuild.buildroot.net/results/610b3f898b396c1def682b809482408c2c4555bc
    ... and many more.

Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-02-04 23:45:40 +01:00
Scott Fan
c8fea679cc configs/toradex_apalis_imx6: bump U-Boot and kernel to the official image version 2.7
According to the following guide:
https://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code#iMX_6_Based_Modules_ApalisColibri_iMX6

The official final 2.7 version released at 2018-01-04, see the following link:
https://developer.toradex.com/software/linux/linux-software/release-details

Signed-off-by: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 22:05:39 +01:00
Yann E. MORIN
a874fc151a support/dockker: create and push tagged images
Currently, we refer to the latest version of the image, which means we
can't guarantee any reproducibility. Also, it measn we can't have a
separate images for the maintenance branches (especially the LTS) and
master.

Update the comment in the Dockerfile to create and push tagged images.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:58:59 +01:00
Yann E. MORIN
5fdf5e4099 support/docker: use a fixed Debian snapshot
Since we're now using a specific base image tag, we need to also use a
specific, stable repository to get additional packages from for this
image.

As such, use the Debian snapshot that matches the base image.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:57:53 +01:00
Yann E. MORIN
3c24b8bd40 support/docker: use a known base distribution
Currently, we are using debian:stable, which is subject to change with
time, as new stable versions of Debian are released/updated.

Use the latest tagged stable release, stretch-20171210 as of today, as
the base distribution to use.

This will ease reproducible builds in the future.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:57:37 +01:00
Yann E. MORIN
efa8744655 support/docker: don't be silent when setting up
This image is not built very often, and when it is, it is important to
see what's going on, so don't be silent when installing packages from
the distro, and since that can take a bit of time it thus serves as
progress report...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:53:02 +01:00
Yann E. MORIN
7517aef4dc support/docker: limit the number of layers
The official documentation [0] suggests limiting the number of layers
generated from a dockerfile. A layer is created for each RUN (and COPY
and ADD) command. But we are only ever interested in the final image,
so the intermediate layers are useless to us.

Limit the number of RUN commands to limit the number of generated
layers.

[0] https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#minimize-the-number-of-layers

Reported-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:52:03 +01:00
Danomi Manchego
9c267b4967 xcb-util-wm: add license file
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:47:56 +01:00
Danomi Manchego
b98ffc1885 xcb-util-image: add license file
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:47:45 +01:00
Gwenhael Goavec-Merou
fce9598d60 python-remi: fix trailing whitespace and line size
Fixes line size in Config.in, trailing whitespace after # and empty line

Fixes:
 - https://gitlab.com/buildroot.org/buildroot/-/jobs/50971692

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-02-04 21:25:02 +01:00