Commit graph

109 commits

Author SHA1 Message Date
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 684c04f71e docker: Ignore Rust target directories 2020-09-06 11:33:38 -04:00
Eric Kidd 8b9a2d2e3e
Merge pull request #99 from emk/sqlx
Add support for static linking of `sqlx`
2020-09-04 08:48:22 -04:00
Eric Kidd 089001b45a Update documentation for sqlx
We also add a `CHANGELOG.md` file.
2020-09-04 08:40:24 -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
Eric Kidd 5437f09ff7
Merge pull request #95 from bitzl/add-cargo-deb
Add cargo deb support
2020-05-17 08:44:40 -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
Eric Kidd 0325cfcac0
Merge pull request #90 from stevenleadbeater/patch-1
switching to GitHub hosted OpenSSL tar balls
2020-04-05 09:57:50 -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 441e6222bb
Merge pull request #83 from tofay/chown
Use "ADD --chown" examples
2020-01-26 07:58:55 -05:00
Eric Kidd a980e27da6 Add cargo-deny to image 2020-01-15 09:23:39 -05:00
Tom Fay 8f2936c318 Use ADD --chown 2019-11-13 10:14:16 +00:00
Eric Kidd d4fba1d396
Merge pull request #73 from emk/experimental
Port to Ubuntu 18.04, add optional OpenSSL 1.1 support
2019-04-28 13:56:40 -04:00
Eric Kidd 318c95d365 Remove obsolete note 2019-04-28 13:55:14 -04:00
Eric Kidd 17db9d6272 Update README for new images 2019-04-28 13:37:21 -04:00
Eric Kidd 6a0705ca9d Update issue templates 2019-04-28 13:37:11 -04:00
Eric Kidd 4beb7f32c4 Merge branch 'master' of github.com:emk/rust-musl-builder into experimental
Syncing with master for final checks.
2019-04-28 09:29:07 -04: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 3e2e396444 Tweak bug report template 2019-04-21 07:36:06 -04:00
Eric Kidd 4ab6e288ff Add issue templates
This project is getting fairly popular, and I need some help sorting bug reports into:

1. Cases where `./test-image` has broken.
2. Cases where `./test-image` works, but the user is having trouble getting their own images to work.
2019-04-21 07:33:50 -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
Eric Kidd 8f3d28c26e examples/using-diesel: Fix link errors 2019-04-18 11:34:20 -04:00
Eric Kidd c0fb03aa6b
Merge pull request #57 from insanitybit/master
Support static builds with grpcio dependencies
2018-12-22 22:10:36 -05: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
Eric Kidd 17a680a0eb
Merge pull request #56 from frol/patch-2
Drop Cargo registry caches after cargo-audit installation
2018-10-12 08:34:04 -04: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 7119ebae22 Add hints on how to cache builds 2018-07-09 09:08:59 -04:00
Eric Kidd 79804c01e6 Add extra hint about diesel setup 2018-07-09 08:20:11 -04:00
Eric Kidd bc32059eee Update documentation for making diesel work 2018-04-25 07:02:35 -04:00
Eric Kidd 55b72cbe89
Merge pull request #48 from dvic/update_diesel_deps
Remove patch pg-sys, use openssl crate and diesel stable
2018-04-25 06:55:09 -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 6ba2dd5978 Remove patch pg-sys, use openssl crate and diesel stable 2018-04-25 11:18:02 +02:00
Damir Vandic 60c2f1143d Update to openssl 1.0.2o and postgres 9.6.8 2018-04-25 11:15:40 +02:00