Commit Graph

56 Commits

Author SHA1 Message Date
Emelie Graven 2e01b896fe
Update lib versions 2021-11-16 14:37:04 +01:00
Eric Kidd b38371cd34 Update libs and tools 2021-02-13 10:34:43 -05:00
Eric Kidd 42159c2334 Fix mdbook script injection (CVE-2020-26297)
This patch fixes a script injection bug in mdbook that affects people
who publish documentation rendered using mdbook.
2021-01-07 07:39:41 -05:00
Eric Kidd 0dab4b64c7 Update everything we can
We're holding back two things:

- Postgres 12 and up breaks `libpq-sys`.
- Ubuntu 20.04 breaks `sqlx`.

We intend to merge this branch as the main release.
2021-01-04 14:24:29 -05:00
Eric Kidd 3ae8179705 Experimental: Improve support for `USER root`
This PR attempts to lay the groundwork to address
https://github.com/emk/rust-musl-builder/issues/96. In particular, we
install the Rust toolchain globally by abusing `rustup`.

We still preserve the legacy `rust` user but we now encourage derived
Dockerfiles to consider `USER root`.

This PR also removes ARM support. We want to explore the idea of
supporting ARM more reliably using a separate image, but perhaps it
would be better to refer those users to one of the Rust
cross-compilation toolchains. See
https://github.com/emk/rust-musl-builder/issues/63 for discussion.
2020-09-06 11:54:46 -04:00
Eric Kidd 727d912b3b Add support for static linking of `sqlx`
`sqlx` requires linking against OpenSSL twice:

- `sqlx-macros` needs to link against OpenSSL as a shared libary for use
  at compile time.
- `sqlx` needs to link against OpenSSL a static library for use at
  runtime.

You can find the details here:

https://github.com/launchbadge/sqlx/issues/670
https://github.com/sfackler/rust-openssl/issues/1337

We go with the fix proposed by @sfackler, and add a test program that we
can use to verify everything works correctly.

We remove a few `OPENSSL`-related variables that were added 4 years ago,
and that no longer appear to be needed.
2020-09-03 16:24:49 -04:00
Eric Kidd 9f6efa542f Update tools & C libraries 2020-08-27 12:32:12 -04:00
Eric Kidd 37cf61cd7e Update mdbook and cargo-deny
PostgreSQL still isn't updated to 12, but I'll probably do that soon.
2020-07-16 11:50:20 -04:00
Eric Kidd 47be0cd958 Update dependencies and docs 2020-06-05 09:22:59 -04:00
Eric Kidd ca56eb3096 Merge branch 'master' of github.com:emk/rust-musl-builder 2020-06-02 06:19:40 -04:00
Eric Kidd cd8ae923dd Add `cargo about` to images
This can be used to generate a file with all the licenses for the
project.
2020-06-02 06:19:36 -04:00
Marcus Bitzl b5214bc618 Add cargo deb support 2020-05-13 09:22:17 +02:00
Eric Kidd 75e49d2f8b Update all dependencies
I've tweaked this so that we can easily update our dependencies in the
future.

Note that we're still using PostgreSQL 11 and we should probably start
testing everything with 12.
2020-04-23 12:43:04 -04:00
Eric Kidd 1f2f0260c1 Build OpenSSL 1.1.1 by default (fixes #91)
OpenSSL 1.0.2 has reached its end-of-life and it will no longer recieve
security fixes. So we're changing our tagging scheme.
2020-04-10 09:26:17 -04:00
Steven Leadbeater e91828b81f
switching to GitHub hosted OpenSSL tar balls
Old URLs are now 404ing
2020-04-02 14:48:11 +01:00
Eric Kidd 8fed5b0501
Merge pull request #89 from zacatac/zack/private-github
Ensure "ghtoken" is available in "$PATH"
2020-03-30 08:00:45 -04:00
Eric Kidd 2e1bf11f3c Update mdbook & add graphviz support
We add the handy mdbook-graphviz plugin, which allows us to include
inline DOT diagrams in our manuals. Nice!
2020-03-28 16:21:52 -04:00
Zack Field 78df9b1f64 Ensure "ghtoken" is available in "$PATH" 2020-03-18 16:56:09 -07:00
Eric Kidd a980e27da6 Add `cargo-deny` to image 2020-01-15 09:23:39 -05:00
Eric Kidd e58507e1aa Attempt to kludge a fix for OpenSSL 1.1 "engine"
This is needed to build `cargo audit` and other programs that use
OpenSSL 1.1's "engine" component.
2019-04-27 21:32:09 -04:00
Eric Kidd 58098af689 OpenSSL: Re-enable `async` and `engine`
We can't build `libgit2` while passing `no-engine` to OpenSSL. Let's
also try removing `no-async`, just in case somebody needs that.

`no-engine` seems to break OpenSSL 1.0 but not 1.1. I'm not feeling
motivated to find out why on a Saturday; let the CI system see if this
works.
2019-04-27 17:54:15 -04:00
Eric Kidd e50cbda169 Allow building with OpenSSL 1.0 or 1.1
It turns out that some popular libaries still have problems with OpenSSL
1.1, particularly `postgres` 0.15. So we'll build two sets of images
now.

We also explain the new image tagging scheme, and fix a bug wher the
test script didn't test the newly built image.
2019-04-27 09:21:32 -04:00
Eric Kidd 388941cd8a Update Ubuntu and other dependencies
We update our base image to Ubuntu 18.04, and update all of our
dependencies to the latest released versions. This includes:

- gcc-multilib-arm-linux-gnueabihf (latest distro version)
- mdbook 0.2.1 (0.2.3 is out, but there's no binary build)
- OpenSSL 1.1.1b
- libpq 11.2
2019-04-18 12:10:44 -04:00
Colin cbb3022dd6
Update Dockerfile 2018-12-22 15:14:36 -08:00
Insanitybit dc272029d7 Fix spacing 2018-10-13 12:06:18 -07:00
Insanitybit d82fb80017 Add golang and link for g++ 2018-10-13 12:03:53 -07:00
Vlad Frolov 5869f71858
Drop Cargo registry caches after cargo-audit installation 2018-09-17 14:04:29 +03:00
Eric Kidd 14ff0ce4bf Add cargo-audit support 2018-07-25 07:10:46 -04:00
Eric Kidd ac72f86150
Merge pull request #47 from dvic/openssl_pg_update
Update to openssl 1.0.2o and postgres 9.6.8
2018-04-25 06:53:35 -04:00
Eric Kidd 96abda6d77 Add support for `mdbook` (for documentation) 2018-04-25 06:52:32 -04:00
Damir Vandic 60c2f1143d Update to openssl 1.0.2o and postgres 9.6.8 2018-04-25 11:15:40 +02:00
Eric Kidd 7b30114420 Merge branch 'fix/link_zlib_with_test' of https://github.com/mriehl/rust-musl-builder
Merge libgit2 support, but heavily overhaul the tests.
2018-04-08 13:42:02 -04:00
Adrian Calinescu cd173cfff5 Fix switch to musl target for ARM static binaries 2018-03-26 12:43:31 +03:00
Adrian Calinescu 240bea532b
Added GCC ARM 2018-03-25 16:01:36 +03:00
Adrian Calinescu ee64b7113e
Added ARM hard float target (Raspberry Pi) 2018-03-25 15:03:53 +03:00
Patrick Haun b54783917c
[fix] always link zlib static
libz-sys uses these options
8eb6f9e8f4/build.rs (L52)
2018-03-19 19:43:43 +01:00
Eric Kidd 96002c7986 Add support for accessing private GitHub repositories
Thank you to Faraday.
2018-02-28 06:59:21 -05:00
Vlad Frolov b4df797bce Updated the process of native libs builds to make it more reliable 2018-02-23 13:13:00 +02:00
Eric Kidd d33fbc37d2 Add `sqlite` support for `diesel` applications (fixes #28)
This appears to work fine from inside an Alpine container, but it hasn't
been extensively tested yet.
2017-12-16 16:15:02 -05:00
Eric Kidd fcc6921ddb Add working example and test case for diesel
Fixes #27, or at least works around it.

This deals with the issues mentioned in
https://github.com/sgrif/pq-sys/pull/18, and it relies heavily on ideas
from @golddranks and @clux.
2017-10-24 09:05:22 -04:00
Eric Kidd 372d547138 Add libz and libpq to support diesel 2017-09-26 09:26:46 -04:00
Peter Cummuskey 88def5fe01 Adding sbin folder back to path so apt-get works again. 2017-08-21 17:26:42 +12:00
Silvio Fricke 2d21d0f62d update openssl from 1.0.2j to 1.0.2l
Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
2017-08-08 17:40:33 +02:00
Eric Kidd 0c1c134978 Add `&&` to shell script 2016-11-25 07:56:34 -05:00
Eric Kidd a5fbde9b8b Add musl target manually again 2016-11-25 07:54:46 -05:00
Eric Kidd ee2ab52448 Fix missing continuation line 2016-11-25 07:52:24 -05:00
Eric Kidd a61815dd1a Use DOCKER_TAG to pick correct toolchain 2016-11-25 07:45:10 -05:00
Eric Kidd 67f9e0c858 Add `OPENSSL_DIR` env var to support newer versions of hyper
The hyper 0.9.x build scripts now require this variable to be set.
2016-11-19 08:50:55 -05:00
Eric Kidd 8ac90b66a5 Upgrade OpenSSL to 1.0.2j 2016-11-19 08:50:41 -05:00
Eric Kidd 4bbe14e5cb Use pre-built musl-tools package 2016-11-19 08:50:23 -05:00