diff options
-rw-r--r-- | testing/atuin/APKBUILD | 170 | ||||
-rw-r--r-- | testing/atuin/atuin-server.pre-install | 6 | ||||
-rw-r--r-- | testing/atuin/atuin.confd | 19 | ||||
-rw-r--r-- | testing/atuin/atuin.initd | 35 | ||||
-rw-r--r-- | testing/atuin/atuin.logrotate | 6 | ||||
-rw-r--r-- | testing/atuin/atuin.post-install | 7 | ||||
-rw-r--r-- | testing/atuin/cargo-lock.patch | 1174 | ||||
-rw-r--r-- | testing/atuin/cleanup-deps.patch | 21 | ||||
-rw-r--r-- | testing/atuin/dont-create-config-dir-if-not-needed.patch | 45 | ||||
-rw-r--r-- | testing/atuin/dont-pollute-shell-env.patch | 40 | ||||
-rw-r--r-- | testing/atuin/server-log-without-ansi-style.patch | 16 | ||||
-rw-r--r-- | testing/atuin/sqlx-use-system-libsqlite.patch | 15 | ||||
-rw-r--r-- | testing/atuin/standalone-server.patch | 51 | ||||
-rw-r--r-- | testing/atuin/use-system-tls.patch | 23 |
14 files changed, 1628 insertions, 0 deletions
diff --git a/testing/atuin/APKBUILD b/testing/atuin/APKBUILD new file mode 100644 index 00000000000..261236c3f93 --- /dev/null +++ b/testing/atuin/APKBUILD @@ -0,0 +1,170 @@ +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +pkgname=atuin +pkgver=0.9.1 +pkgrel=0 +# Keep in sync with sqlx version in Cargo.lock. +_sqlx_ver=0.5.13 +pkgdesc="Magical shell history" +url="https://github.com/ellie/atuin" +# armhf: build getting stuck on CI +# riscv64, s390x: blocked by rust/cargo +arch="all !armhf !riscv64 !s390x" +license="MIT" +makedepends=" + cargo + clang + jq + libsodium-dev + openssl-dev + sqlite-dev + " +pkgusers="atuin" +install=" + $pkgname-server.pre-install + $pkgname.post-install" +subpackages=" + $pkgname-sync + $pkgname-server + $pkgname-server-openrc + $pkgname-zsh-plugin:_zsh_plugin:noarch + $pkgname-bash-completion + $pkgname-fish-completion + $pkgname-zsh-completion + " +source="https://github.com/ellie/atuin/archive/v$pkgver/atuin-$pkgver.tar.gz + https://github.com/launchbadge/sqlx/archive/v$_sqlx_ver/sqlx-$_sqlx_ver.tar.gz + dont-create-config-dir-if-not-needed.patch + standalone-server.patch + cleanup-deps.patch + dont-pollute-shell-env.patch + + use-system-tls.patch + sqlx-use-system-libsqlite.patch + server-log-without-ansi-style.patch + cargo-lock.patch + + $pkgname.initd + $pkgname.confd + $pkgname.logrotate + " +options="!check" # FIXME: some tests are broken + +export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 +export CARGO_PROFILE_RELEASE_LTO="true" +export CARGO_PROFILE_RELEASE_OPT_LEVEL="s" +export CARGO_PROFILE_RELEASE_PANIC="abort" + +export SODIUM_USE_PKG_CONFIG=1 + +prepare() { + local sqlx_ver + sqlx_ver=$(cargo metadata --format-version 1 \ + | jq -er '.packages[] | select(.name=="sqlx") | .version') \ + || { error 'Unable to find sqlx version in Cargo.lock'; return 1; } + if [ "$_sqlx_ver" != "$sqlx_ver" ]; then + error "Bump _sqlx_ver in APKBUILD to: $sqlx_ver" + return 1 + fi + + mkdir -p vendor + mv "$srcdir"/sqlx-$_sqlx_ver vendor/sqlx + + # Build with sqlx which we patched to remove bundled libsqlite3. + # See https://github.com/launchbadge/sqlx/issues/191. + cat >> Cargo.toml <<-EOF + + [patch.crates-io] + sqlx = { path = "./vendor/sqlx" } + sqlx-core = { path = "./vendor/sqlx/sqlx-core" } + EOF + + default_prepare + + cargo fetch --locked +} + +build() { + msg2 'Building server' + cargo build --frozen --release --no-default-features --features server + mv target/release/atuin target/release/atuin-server + + msg2 'Building client with sync' + cargo build --frozen --release --no-default-features --features client,sync + mv target/release/atuin target/release/atuin-sync + + msg2 'Building client without sync' + cargo build --frozen --release --no-default-features --features client + + mkdir -p comp + local shell; for shell in bash fish zsh; do + ./target/release/atuin gen-completions -s $shell > comp/atuin.$shell + done +} + +check() { + cargo test --workspace --frozen --features client,sync,server +} + +package() { + pkgdesc="$pkgdesc - offline only client" + provider_priority=100 # highest + + install -D -m755 target/release/atuin -t "$pkgdir"/usr/bin/ + install -D -m755 target/release/atuin-server -t "$pkgdir"/usr/bin/ + + install -D -m644 comp/atuin.bash "$pkgdir"/usr/share/bash-completion/completions/atuin + install -D -m644 comp/atuin.fish "$pkgdir"/usr/share/fish/completions/atuin.fish + install -D -m644 comp/atuin.zsh "$pkgdir"/usr/share/zsh/site-functions/_atuin + + install -d -m755 -o atuin "$pkgdir"/etc/$pkgname + install -D -m640 -o atuin atuin-server/server.toml -t "$pkgdir"/etc/$pkgname/ + + install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname + install -D -m644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname +} + +sync() { + pkgdesc="$pkgdesc - client with history sync" + provider_priority=10 # lowest + + install -D -m755 "$builddir"/target/release/atuin-sync "$subpkgdir"/usr/bin/atuin +} + +server() { + pkgdesc="$pkgdesc - sync server" + + amove etc/atuin/server.toml + amove usr/bin/atuin-server +} + +openrc() { + default_openrc + install_if="openrc $pkgname-server=$pkgver-r$pkgrel" +} + +_zsh_plugin() { + pkgdesc="$pkgdesc (Zsh plugin)" + depends="cmd:atuin=$pkgver-r$pkgrel" + install_if="zsh cmd:atuin=$pkgver-r$pkgrel" + + install -D -m644 "$builddir"/src/shell/atuin.zsh \ + "$subpkgdir"/usr/share/zsh/plugins/$pkgname/$pkgname.plugin.zsh +} + +sha512sums=" +69c8b8779be7b616eeeba311c74f4dddb39ccd864ddfab74d33c4f8fbf5c7702ab14714a0c31af5a4c007e99c63756d7c63d8ae2427e33dc0a4c16ee814a45ce atuin-0.9.1.tar.gz +756df570c14d00948d5e94f841e3bc82b1be6b3809b7108870cc69247fc1a7bf09ccb3f9a44eddc8254a74b7aace26951d65e786a73274b9379714e0e68d5289 sqlx-0.5.13.tar.gz +0c3c872afd6f3651ca97e2d6bef666d308d6418dfcc1e3ef5b6ad75ea2a8b556e17a35a2cdbf092b04960ea8b74d86e81535e7b76b72ad19827ed9b406af62d9 dont-create-config-dir-if-not-needed.patch +d3bc27493d3e51f65f6c02067936588fabe7e40f4f2bd8e87f2cff2231c9a2764a15cc8b96e1486c9afb54c1728ebfea59df7cd85f767e98b8887ca66939f63a standalone-server.patch +6c6c2dd8690bcdde798195d29ae4ac0c00f4acfab109bcc185a2346cfaf0cb48d8fceb24f88c2a811529e9aa777346af819958d8e159fac5fe9dcd6254ca63d6 cleanup-deps.patch +cfff0da150c4b3f21c99f067db0cd8fc43a9c85199602f7c46e4cceb74aad06413735b6d4032f8fbaef6f675512bc79bc49ae291725b9151e7db5b95d35c2907 dont-pollute-shell-env.patch +46527e0b5b76022fe7259338ec61f3fe2f4c1803c7fc67274a814e7d2ad5dfa9ef5c878f4bcc0b7da1184fd381c4127b48cb27eead91af1d49d5dbe242462f42 use-system-tls.patch +334f326dbeb9382b2d5d461afe9fd41fc043f4d0432712f484829fc1a697d6aa36d73d3dbafa3add126ee29a562aef005010fd806d17e439eac800aac763617e sqlx-use-system-libsqlite.patch +8e78e6a562ae310ef40cf62e0bd7dddbca5611e9321df551e07f21292acf3e925568218be17b8afaf4c1a1c104c5210829c1fa0334904227af45043f23db531e server-log-without-ansi-style.patch +c72559e9c5f6a60f0f957013a53f980365cee0b8d28f6ff4721e1731af39419c4f385c94486d46142e398f4518e91da7fcddf061fbfff64dddb8249eaa26d354 cargo-lock.patch +c58622c6e3ab16a5d84204f0ef313c5dd6dc912da7295531983e2497d9e7914765c8e1bbe8d67fd5fe47f577c5be792830fb22cd59973f5f796b88c55b5e0534 atuin.initd +5f1631f0b06f19733025ad3efec6b44ef13937cd8f2f9b7e3cc8c0ba53495850c06fb8c5377d1d003dda00e2d11835056d3fc1b3ba8ecefb575e61a83159f33e atuin.confd +30946fe22ede072d76331762c862382f03a35735e5741c46367320a116ac285615ae757e20a9cf7adceb8ba24b827581992fa5b7f84e595cd862a3c2ae69dbe0 atuin.logrotate +" diff --git a/testing/atuin/atuin-server.pre-install b/testing/atuin/atuin-server.pre-install new file mode 100644 index 00000000000..8c7c5de45c0 --- /dev/null +++ b/testing/atuin/atuin-server.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S atuin 2>/dev/null +adduser -S -D -H -h /dev/null -s /sbin/nologin -G atuin -g "added by package atuin-server" atuin 2>/dev/null + +exit 0 diff --git a/testing/atuin/atuin.confd b/testing/atuin/atuin.confd new file mode 100644 index 00000000000..cd0f0d1865f --- /dev/null +++ b/testing/atuin/atuin.confd @@ -0,0 +1,19 @@ +# Configuration for /etc/init.d/atuin + +# Logging level or directives. See env_logger's RUST_LOG variable for more +# information (https://docs.rs/env_logger/latest/env_logger/#enabling-logging). +#loglevel="WARN" + +# Redirect atuin output to file. +# If you want to disable this, set both variables to an empty string. +#output_log="/var/log/atuin-server.log" +#error_log="/var/log/atuin-server.log" + +# Path to directory with the server.toml config. +#cfgdir="/etc/atuin" + +# User (and group) to run atuin server as. +#command_user="atuin:atuin" + +# Uncomment to use process supervisor. +# supervisor="supervise-daemon" diff --git a/testing/atuin/atuin.initd b/testing/atuin/atuin.initd new file mode 100644 index 00000000000..50d973037e2 --- /dev/null +++ b/testing/atuin/atuin.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run +description="Sync server for shell history" + +: ${command_user:="atuin:atuin"} +: ${output_log="/var/log/atuin-server.log"} +: ${error_log="/var/log/atuin-server.log"} +: ${cfgdir:="/etc/atuin"} +: ${loglevel:="WARN"} + +command="/usr/bin/atuin-server" +command_args="server start $command_args" +command_background="yes" +pidfile="/run/$RC_SVCNAME.pid" + +start_stop_daemon_args=" + --env ATUIN_CONFIG_DIR=$cfgdir + --env RUST_LOG=$loglevel + " +supervise_daemon_args="$start_stop_daemon_args" + +required_files="$cfgdir/server.toml" + +depend() { + need net + use postgresql +} + +start_pre() { + if [ "$output_log" ]; then + checkpath -f -o "$command_user" -m 640 -q "$output_log" || return 1 + fi + if [ "$error_log" ]; then + checkpath -f -o "$command_user" -m 640 -q "$error_log" || return 1 + fi +} diff --git a/testing/atuin/atuin.logrotate b/testing/atuin/atuin.logrotate new file mode 100644 index 00000000000..8dc30391912 --- /dev/null +++ b/testing/atuin/atuin.logrotate @@ -0,0 +1,6 @@ +/var/log/atuin-server.log { + compress + copytruncate + missingok + notifempty +} diff --git a/testing/atuin/atuin.post-install b/testing/atuin/atuin.post-install new file mode 100644 index 00000000000..2f01d9b9965 --- /dev/null +++ b/testing/atuin/atuin.post-install @@ -0,0 +1,7 @@ +#!/bin/sh + +cat >&2 <<EOF +* If you want atuin with sync support, install package atuin-sync. +EOF + +exit 0 diff --git a/testing/atuin/cargo-lock.patch b/testing/atuin/cargo-lock.patch new file mode 100644 index 00000000000..ffe82f0dc5b --- /dev/null +++ b/testing/atuin/cargo-lock.patch @@ -0,0 +1,1174 @@ +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -23,15 +23,6 @@ + ] + + [[package]] +-name = "ansi_term" +-version = "0.12.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +-dependencies = [ +- "winapi", +-] +- +-[[package]] + name = "anyhow" + version = "1.0.57" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -194,7 +185,7 @@ + "http", + "http-body", + "hyper", +- "itoa 1.0.1", ++ "itoa", + "matchit", + "memchr", + "mime", +@@ -232,6 +223,25 @@ + checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + + [[package]] ++name = "bindgen" ++version = "0.59.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" ++dependencies = [ ++ "bitflags", ++ "cexpr", ++ "clang-sys", ++ "lazy_static", ++ "lazycell", ++ "peeking_take_while", ++ "proc-macro2", ++ "quote", ++ "regex", ++ "rustc-hash", ++ "shlex", ++] ++ ++[[package]] + name = "bitflags" + version = "1.3.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -239,59 +249,20 @@ + + [[package]] + name = "block-buffer" +-version = "0.7.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +-dependencies = [ +- "block-padding", +- "byte-tools", +- "byteorder", +- "generic-array 0.12.4", +-] +- +-[[package]] +-name = "block-buffer" + version = "0.10.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" + dependencies = [ +- "generic-array 0.14.5", ++ "generic-array", + ] + + [[package]] +-name = "block-padding" +-version = "0.1.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +-dependencies = [ +- "byte-tools", +-] +- +-[[package]] +-name = "bstr" +-version = "0.2.17" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +-dependencies = [ +- "lazy_static", +- "memchr", +- "regex-automata", +- "serde", +-] +- +-[[package]] + name = "bumpalo" + version = "3.9.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" + + [[package]] +-name = "byte-tools" +-version = "0.3.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" +- +-[[package]] + name = "byteorder" + version = "1.4.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -316,6 +287,15 @@ + checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" + + [[package]] ++name = "cexpr" ++version = "0.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" ++dependencies = [ ++ "nom", ++] ++ ++[[package]] + name = "cfg-if" + version = "1.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -355,6 +335,17 @@ + ] + + [[package]] ++name = "clang-sys" ++version = "1.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21" ++dependencies = [ ++ "glob", ++ "libc", ++ "libloading", ++] ++ ++[[package]] + name = "clap" + version = "3.1.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -408,40 +399,22 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d" + dependencies = [ +- "cli-table-derive", +- "csv", + "termcolor", + "unicode-width", + ] + + [[package]] +-name = "cli-table-derive" +-version = "0.4.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2af3bfb9da627b0a6c467624fb7963921433774ed435493b5c08a3053e829ad4" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn", +-] +- +-[[package]] + name = "config" + version = "0.13.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "3ea917b74b6edfb5024e3b55d3c8f710b5f4ed92646429601a42e96f0812b31b" + dependencies = [ + "async-trait", +- "json5", + "lazy_static", + "nom", + "pathdiff", +- "ron", +- "rust-ini", + "serde", +- "serde_json", + "toml", +- "yaml-rust", + ] + + [[package]] +@@ -458,6 +431,22 @@ + ] + + [[package]] ++name = "core-foundation" ++version = "0.9.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" ++dependencies = [ ++ "core-foundation-sys", ++ "libc", ++] ++ ++[[package]] ++name = "core-foundation-sys" ++version = "0.8.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" ++ ++[[package]] + name = "cpufeatures" + version = "0.2.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -517,48 +506,17 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" + dependencies = [ +- "generic-array 0.14.5", ++ "generic-array", + "typenum", + ] + + [[package]] +-name = "csv" +-version = "1.1.6" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1" +-dependencies = [ +- "bstr", +- "csv-core", +- "itoa 0.4.8", +- "ryu", +- "serde", +-] +- +-[[package]] +-name = "csv-core" +-version = "0.1.10" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" +-dependencies = [ +- "memchr", +-] +- +-[[package]] + name = "digest" +-version = "0.8.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +-dependencies = [ +- "generic-array 0.12.4", +-] +- +-[[package]] +-name = "digest" + version = "0.10.3" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" + dependencies = [ +- "block-buffer 0.10.2", ++ "block-buffer", + "crypto-common", + "subtle", + ] +@@ -614,12 +572,6 @@ + ] + + [[package]] +-name = "dlv-list" +-version = "0.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" +- +-[[package]] + name = "dotenv" + version = "0.15.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -685,10 +637,13 @@ + ] + + [[package]] +-name = "fake-simd" +-version = "0.1.2" ++name = "fastrand" ++version = "1.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" ++checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" ++dependencies = [ ++ "instant", ++] + + [[package]] + name = "flume" +@@ -699,7 +654,7 @@ + "futures-core", + "futures-sink", + "pin-project", +- "spin 0.9.2", ++ "spin", + ] + + [[package]] +@@ -709,6 +664,21 @@ + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + + [[package]] ++name = "foreign-types" ++version = "0.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" ++dependencies = [ ++ "foreign-types-shared", ++] ++ ++[[package]] ++name = "foreign-types-shared" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" ++ ++[[package]] + name = "form_urlencoded" + version = "1.0.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -802,15 +772,6 @@ + + [[package]] + name = "generic-array" +-version = "0.12.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +-dependencies = [ +- "typenum", +-] +- +-[[package]] +-name = "generic-array" + version = "0.14.5" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +@@ -831,6 +792,12 @@ + ] + + [[package]] ++name = "glob" ++version = "0.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" ++ ++[[package]] + name = "h2" + version = "0.3.13" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -859,21 +826,12 @@ + ] + + [[package]] +-name = "hashbrown" +-version = "0.12.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758" +-dependencies = [ +- "ahash", +-] +- +-[[package]] + name = "hashlink" + version = "0.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" + dependencies = [ +- "hashbrown 0.11.2", ++ "hashbrown", + ] + + [[package]] +@@ -915,7 +873,7 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" + dependencies = [ +- "digest 0.10.3", ++ "digest", + ] + + [[package]] +@@ -926,7 +884,7 @@ + dependencies = [ + "bytes", + "fnv", +- "itoa 1.0.1", ++ "itoa", + ] + + [[package]] +@@ -988,7 +946,7 @@ + "http-body", + "httparse", + "httpdate", +- "itoa 1.0.1", ++ "itoa", + "pin-project-lite", + "socket2", + "tokio", +@@ -998,16 +956,16 @@ + ] + + [[package]] +-name = "hyper-rustls" +-version = "0.23.0" ++name = "hyper-tls" ++version = "0.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" ++checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" + dependencies = [ +- "http", ++ "bytes", + "hyper", +- "rustls 0.20.4", ++ "native-tls", + "tokio", +- "tokio-rustls 0.23.3", ++ "tokio-native-tls", + ] + + [[package]] +@@ -1034,7 +992,7 @@ + checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" + dependencies = [ + "autocfg", +- "hashbrown 0.11.2", ++ "hashbrown", + ] + + [[package]] +@@ -1075,12 +1033,6 @@ + + [[package]] + name = "itoa" +-version = "0.4.8" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +- +-[[package]] +-name = "itoa" + version = "1.0.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +@@ -1095,29 +1047,34 @@ + ] + + [[package]] +-name = "json5" +-version = "0.4.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +-dependencies = [ +- "pest", +- "pest_derive", +- "serde", +-] +- +-[[package]] + name = "lazy_static" + version = "1.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + + [[package]] ++name = "lazycell" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" ++ ++[[package]] + name = "libc" + version = "0.2.122" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "ec647867e2bf0772e28c8bcde4f0d19a9216916e890543b5a03ed8ef27b8f259" + + [[package]] ++name = "libloading" ++version = "0.7.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" ++dependencies = [ ++ "cfg-if", ++ "winapi", ++] ++ ++[[package]] + name = "libsodium-sys" + version = "0.2.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1135,18 +1092,12 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" + dependencies = [ +- "cc", ++ "bindgen", + "pkg-config", + "vcpkg", + ] + + [[package]] +-name = "linked-hash-map" +-version = "0.5.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +- +-[[package]] + name = "lock_api" + version = "0.4.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1166,12 +1117,6 @@ + ] + + [[package]] +-name = "maplit" +-version = "1.0.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" +- +-[[package]] + name = "matchers" + version = "0.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1198,7 +1143,7 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "658646b21e0b72f7866c7038ab086d3d5e1cd6271f060fd37defb241949d0582" + dependencies = [ +- "digest 0.10.3", ++ "digest", + ] + + [[package]] +@@ -1249,6 +1194,24 @@ + ] + + [[package]] ++name = "native-tls" ++version = "0.2.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" ++dependencies = [ ++ "lazy_static", ++ "libc", ++ "log", ++ "openssl", ++ "openssl-probe", ++ "openssl-sys", ++ "schannel", ++ "security-framework", ++ "security-framework-sys", ++ "tempfile", ++] ++ ++[[package]] + name = "nom" + version = "7.1.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1373,22 +1336,51 @@ + checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" + + [[package]] +-name = "opaque-debug" +-version = "0.2.3" ++name = "openssl" ++version = "0.10.40" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" ++checksum = "fb81a6430ac911acb25fe5ac8f1d2af1b4ea8a4fdfda0f1ee4292af2e2d8eb0e" ++dependencies = [ ++ "bitflags", ++ "cfg-if", ++ "foreign-types", ++ "libc", ++ "once_cell", ++ "openssl-macros", ++ "openssl-sys", ++] + + [[package]] +-name = "ordered-multimap" +-version = "0.4.3" ++name = "openssl-macros" ++version = "0.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" ++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" + dependencies = [ +- "dlv-list", +- "hashbrown 0.12.0", ++ "proc-macro2", ++ "quote", ++ "syn", + ] + + [[package]] ++name = "openssl-probe" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" ++ ++[[package]] ++name = "openssl-sys" ++version = "0.9.73" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9d5fd19fb3e0a8191c1e34935718976a3e70c112ab9a24af6d7cadccd9d90bc0" ++dependencies = [ ++ "autocfg", ++ "cc", ++ "libc", ++ "pkg-config", ++ "vcpkg", ++] ++ ++[[package]] + name = "os_str_bytes" + version = "6.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1466,55 +1458,18 @@ + checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + + [[package]] +-name = "percent-encoding" +-version = "2.1.0" ++name = "peeking_take_while" ++version = "0.1.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" ++checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + + [[package]] +-name = "pest" +-version = "2.1.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +-dependencies = [ +- "ucd-trie", +-] +- +-[[package]] +-name = "pest_derive" ++name = "percent-encoding" + version = "2.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" +-dependencies = [ +- "pest", +- "pest_generator", +-] ++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + + [[package]] +-name = "pest_generator" +-version = "2.1.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" +-dependencies = [ +- "pest", +- "pest_meta", +- "proc-macro2", +- "quote", +- "syn", +-] +- +-[[package]] +-name = "pest_meta" +-version = "2.1.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" +-dependencies = [ +- "maplit", +- "pest", +- "sha-1 0.8.2", +-] +- +-[[package]] + name = "pin-project" + version = "1.0.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1749,6 +1704,15 @@ + checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + + [[package]] ++name = "remove_dir_all" ++version = "0.5.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" ++dependencies = [ ++ "winapi", ++] ++ ++[[package]] + name = "reqwest" + version = "0.11.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1763,45 +1727,28 @@ + "http", + "http-body", + "hyper", +- "hyper-rustls", ++ "hyper-tls", + "ipnet", + "js-sys", + "lazy_static", + "log", + "mime", ++ "native-tls", + "percent-encoding", + "pin-project-lite", +- "rustls 0.20.4", +- "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", +- "tokio-rustls 0.23.3", ++ "tokio-native-tls", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +- "webpki-roots 0.22.3", + "winreg", + ] + + [[package]] +-name = "ring" +-version = "0.16.20" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +-dependencies = [ +- "cc", +- "libc", +- "once_cell", +- "spin 0.5.2", +- "untrusted", +- "web-sys", +- "winapi", +-] +- +-[[package]] + name = "rmp" + version = "0.8.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1824,17 +1771,6 @@ + ] + + [[package]] +-name = "ron" +-version = "0.7.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1b861ecaade43ac97886a512b360d01d66be9f41f3c61088b42cedf92e03d678" +-dependencies = [ +- "base64", +- "bitflags", +- "serde", +-] +- +-[[package]] + name = "rust-crypto" + version = "0.2.36" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1848,14 +1784,10 @@ + ] + + [[package]] +-name = "rust-ini" +-version = "0.18.0" ++name = "rustc-hash" ++version = "1.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" +-dependencies = [ +- "cfg-if", +- "ordered-multimap", +-] ++checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + + [[package]] + name = "rustc-serialize" +@@ -1864,40 +1796,6 @@ + checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" + + [[package]] +-name = "rustls" +-version = "0.19.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +-dependencies = [ +- "base64", +- "log", +- "ring", +- "sct 0.6.1", +- "webpki 0.21.4", +-] +- +-[[package]] +-name = "rustls" +-version = "0.20.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921" +-dependencies = [ +- "log", +- "ring", +- "sct 0.7.0", +- "webpki 0.22.0", +-] +- +-[[package]] +-name = "rustls-pemfile" +-version = "0.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1ee86d63972a7c661d1536fefe8c3c8407321c3df668891286de28abcd087360" +-dependencies = [ +- "base64", +-] +- +-[[package]] + name = "ryu" + version = "1.0.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -1919,29 +1817,42 @@ + checksum = "088c5d71572124929ea7549a8ce98e1a6fd33d0a38367b09027b382e67c033db" + + [[package]] ++name = "schannel" ++version = "0.1.19" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" ++dependencies = [ ++ "lazy_static", ++ "winapi", ++] ++ ++[[package]] + name = "scopeguard" + version = "1.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + + [[package]] +-name = "sct" +-version = "0.6.1" ++name = "security-framework" ++version = "2.6.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce" ++checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc" + dependencies = [ +- "ring", +- "untrusted", ++ "bitflags", ++ "core-foundation", ++ "core-foundation-sys", ++ "libc", ++ "security-framework-sys", + ] + + [[package]] +-name = "sct" +-version = "0.7.0" ++name = "security-framework-sys" ++version = "2.6.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" ++checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" + dependencies = [ +- "ring", +- "untrusted", ++ "core-foundation-sys", ++ "libc", + ] + + [[package]] +@@ -1970,7 +1881,7 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" + dependencies = [ +- "itoa 1.0.1", ++ "itoa", + "ryu", + "serde", + ] +@@ -1982,32 +1893,20 @@ + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" + dependencies = [ + "form_urlencoded", +- "itoa 1.0.1", ++ "itoa", + "ryu", + "serde", + ] + + [[package]] + name = "sha-1" +-version = "0.8.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +-dependencies = [ +- "block-buffer 0.7.3", +- "digest 0.8.1", +- "fake-simd", +- "opaque-debug", +-] +- +-[[package]] +-name = "sha-1" + version = "0.10.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" + dependencies = [ + "cfg-if", + "cpufeatures", +- "digest 0.10.3", ++ "digest", + ] + + [[package]] +@@ -2018,7 +1917,7 @@ + dependencies = [ + "cfg-if", + "cpufeatures", +- "digest 0.10.3", ++ "digest", + ] + + [[package]] +@@ -2040,6 +1939,12 @@ + ] + + [[package]] ++name = "shlex" ++version = "1.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" ++ ++[[package]] + name = "signal-hook-registry" + version = "1.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -2090,12 +1995,6 @@ + + [[package]] + name = "spin" +-version = "0.5.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +- +-[[package]] +-name = "spin" + version = "0.9.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "511254be0c5bcf062b019a6c89c01a664aa359ded62f78aa72c6fc137c0590e5" +@@ -2127,8 +2026,6 @@ + [[package]] + name = "sqlx" + version = "0.5.13" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "551873805652ba0d912fec5bbb0f8b4cdd96baf8e2ebf5970e5671092966019b" + dependencies = [ + "sqlx-core", + "sqlx-macros", +@@ -2137,8 +2034,6 @@ + [[package]] + name = "sqlx-core" + version = "0.5.13" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e48c61941ccf5ddcada342cd59e3e5173b007c509e1e8e990dafc830294d9dc5" + dependencies = [ + "ahash", + "atoi", +@@ -2163,7 +2058,7 @@ + "hkdf", + "hmac", + "indexmap", +- "itoa 1.0.1", ++ "itoa", + "libc", + "libsqlite3-sys", + "log", +@@ -2173,10 +2068,9 @@ + "paste", + "percent-encoding", + "rand 0.8.5", +- "rustls 0.19.1", + "serde", + "serde_json", +- "sha-1 0.10.0", ++ "sha-1", + "sha2", + "smallvec", + "sqlformat", +@@ -2185,16 +2079,12 @@ + "thiserror", + "tokio-stream", + "url", +- "webpki 0.21.4", +- "webpki-roots 0.21.1", + "whoami", + ] + + [[package]] + name = "sqlx-macros" + version = "0.5.13" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bc0fba2b0cae21fc00fe6046f8baa4c7fcb49e379f0f592b04696607f69ed2e1" + dependencies = [ + "dotenv", + "either", +@@ -2212,12 +2102,11 @@ + [[package]] + name = "sqlx-rt" + version = "0.5.13" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4db708cd3e459078f85f39f96a00960bd841f66ee2a669e90bf36907f5a79aae" + dependencies = [ ++ "native-tls", + "once_cell", + "tokio", +- "tokio-rustls 0.22.0", ++ "tokio-native-tls", + ] + + [[package]] +@@ -2269,6 +2158,20 @@ + ] + + [[package]] ++name = "tempfile" ++version = "3.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" ++dependencies = [ ++ "cfg-if", ++ "fastrand", ++ "libc", ++ "redox_syscall", ++ "remove_dir_all", ++ "winapi", ++] ++ ++[[package]] + name = "termcolor" + version = "1.1.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -2391,28 +2294,16 @@ + ] + + [[package]] +-name = "tokio-rustls" +-version = "0.22.0" ++name = "tokio-native-tls" ++version = "0.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" ++checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" + dependencies = [ +- "rustls 0.19.1", ++ "native-tls", + "tokio", +- "webpki 0.21.4", + ] + + [[package]] +-name = "tokio-rustls" +-version = "0.23.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4151fda0cf2798550ad0b34bcfc9b9dcc2a9d2471c895c68f3a8818e54f2389e" +-dependencies = [ +- "rustls 0.20.4", +- "tokio", +- "webpki 0.22.0", +-] +- +-[[package]] + name = "tokio-stream" + version = "0.1.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -2535,7 +2426,6 @@ + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" + dependencies = [ +- "ansi_term", + "lazy_static", + "matchers", + "regex", +@@ -2571,12 +2461,6 @@ + checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" + + [[package]] +-name = "ucd-trie" +-version = "0.1.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" +- +-[[package]] + name = "unicode-bidi" + version = "0.3.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -2616,12 +2500,6 @@ + checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + + [[package]] +-name = "untrusted" +-version = "0.7.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +- +-[[package]] + name = "url" + version = "2.2.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -2776,44 +2654,6 @@ + ] + + [[package]] +-name = "webpki" +-version = "0.21.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea" +-dependencies = [ +- "ring", +- "untrusted", +-] +- +-[[package]] +-name = "webpki" +-version = "0.22.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +-dependencies = [ +- "ring", +- "untrusted", +-] +- +-[[package]] +-name = "webpki-roots" +-version = "0.21.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" +-dependencies = [ +- "webpki 0.21.4", +-] +- +-[[package]] +-name = "webpki-roots" +-version = "0.22.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "44d8de8415c823c8abd270ad483c6feeac771fad964890779f9a8cb24fbbc1bf" +-dependencies = [ +- "webpki 0.22.0", +-] +- +-[[package]] + name = "whoami" + version = "1.2.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +@@ -2904,13 +2744,4 @@ + checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" + dependencies = [ + "winapi", +-] +- +-[[package]] +-name = "yaml-rust" +-version = "0.4.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" +-dependencies = [ +- "linked-hash-map", + ] diff --git a/testing/atuin/cleanup-deps.patch b/testing/atuin/cleanup-deps.patch new file mode 100644 index 00000000000..51313f4d22d --- /dev/null +++ b/testing/atuin/cleanup-deps.patch @@ -0,0 +1,21 @@ +Patch-Source: https://github.com/ellie/atuin/pull/407 (modified) +-- +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Sat, 14 May 2022 01:17:19 +0200 +Subject: [PATCH] Cleanup dependencies – disable unnecessary or unused features + +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -61,1 +61,1 @@ itertools = "0.10.3" +-cli-table = "0.4" ++cli-table = { version = "0.4", default-features = false } +--- a/atuin-client/Cargo.toml ++++ b/atuin-client/Cargo.toml +@@ -35,1 +35,1 @@ directories = "4" +-config = "0.13" ++config = { version = "0.13", default-features = false, features = ["toml"] } +--- a/atuin-server/Cargo.toml ++++ b/atuin-server/Cargo.toml +@@ -19,1 +19,1 @@ chrono = { version = "0.4", features = ["serde"] } +-config = "0.13" ++config = { version = "0.13", default-features = false, features = ["toml"] } diff --git a/testing/atuin/dont-create-config-dir-if-not-needed.patch b/testing/atuin/dont-create-config-dir-if-not-needed.patch new file mode 100644 index 00000000000..2cadb2c8f2e --- /dev/null +++ b/testing/atuin/dont-create-config-dir-if-not-needed.patch @@ -0,0 +1,45 @@ +Patch-Source: https://github.com/ellie/atuin/pull/406 +-- +From 6ee7c089e01acdd62ff92801ebcaa474e6bead56 Mon Sep 17 00:00:00 2001 +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Fri, 13 May 2022 03:32:28 +0200 +Subject: [PATCH] Don't create config dir for server in default location if not + needed + +...respect ATUIN_CONFIG_DIR. + +The current behaviour is problematic when running atuin server as a +system service with config dir in /etc/atuin. +--- + atuin-server/src/settings.rs | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/atuin-server/src/settings.rs b/atuin-server/src/settings.rs +index 8e8961e9..e6745173 100644 +--- a/atuin-server/src/settings.rs ++++ b/atuin-server/src/settings.rs +@@ -17,15 +17,11 @@ pub struct Settings { + + impl Settings { + pub fn new() -> Result<Self> { +- let config_dir = atuin_common::utils::config_dir(); +- let config_dir = config_dir.as_path(); +- +- create_dir_all(config_dir)?; +- + let mut config_file = if let Ok(p) = std::env::var("ATUIN_CONFIG_DIR") { + PathBuf::from(p) + } else { + let mut config_file = PathBuf::new(); ++ let config_dir = atuin_common::utils::config_dir(); + config_file.push(config_dir); + config_file + }; +@@ -50,6 +46,7 @@ impl Settings { + )) + } else { + let example_config = include_bytes!("../server.toml"); ++ create_dir_all(config_file.parent().unwrap())?; + let mut file = File::create(config_file)?; + file.write_all(example_config)?; + diff --git a/testing/atuin/dont-pollute-shell-env.patch b/testing/atuin/dont-pollute-shell-env.patch new file mode 100644 index 00000000000..b5c12835a12 --- /dev/null +++ b/testing/atuin/dont-pollute-shell-env.patch @@ -0,0 +1,40 @@ +Patch-Source: https://github.com/ellie/atuin/pull/408 +-- +From 0837c46983a1f0a15748318fab3ed618671714ea Mon Sep 17 00:00:00 2001 +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Sat, 14 May 2022 02:22:00 +0200 +Subject: [PATCH] Don't pollute shell environment - remove 'id' variable + +--- + src/shell/atuin.bash | 3 +-- + src/shell/atuin.zsh | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/shell/atuin.bash b/src/shell/atuin.bash +index e47e3c98..f0302291 100644 +--- a/src/shell/atuin.bash ++++ b/src/shell/atuin.bash +@@ -2,8 +2,7 @@ ATUIN_SESSION=$(atuin uuid) + export ATUIN_SESSION + + _atuin_preexec() { +- id=$(atuin history start "$1") +- export ATUIN_HISTORY_ID="$id" ++ export ATUIN_HISTORY_ID=$(atuin history start "$1") + } + + _atuin_precmd() { +diff --git a/src/shell/atuin.zsh b/src/shell/atuin.zsh +index 32cbe6a1..2326c3b2 100644 +--- a/src/shell/atuin.zsh ++++ b/src/shell/atuin.zsh +@@ -13,8 +13,7 @@ export ATUIN_SESSION=$(atuin uuid) + export ATUIN_HISTORY="atuin history list" + + _atuin_preexec(){ +- id=$(atuin history start "$1") +- export ATUIN_HISTORY_ID="$id" ++ export ATUIN_HISTORY_ID=$(atuin history start "$1") + } + + _atuin_precmd(){ diff --git a/testing/atuin/server-log-without-ansi-style.patch b/testing/atuin/server-log-without-ansi-style.patch new file mode 100644 index 00000000000..145dd2f8a5e --- /dev/null +++ b/testing/atuin/server-log-without-ansi-style.patch @@ -0,0 +1,16 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Fri, 13 May 2022 03:08:00 +0200 +Subject: [PATCH] Build server without ANSI styles + +This is not very useful for textual log files... + +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -72,7 +72,6 @@ + version = "0.3" + default-features = false + features = [ +- "ansi", + "fmt", + "registry", + "env-filter", diff --git a/testing/atuin/sqlx-use-system-libsqlite.patch b/testing/atuin/sqlx-use-system-libsqlite.patch new file mode 100644 index 00000000000..157c5f259ea --- /dev/null +++ b/testing/atuin/sqlx-use-system-libsqlite.patch @@ -0,0 +1,15 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Fri, 13 May 2022 01:44:00 +0200 +Subject: [PATCH] Build sqlx-core with system libsqlite3 + +--- a/vendor/sqlx/sqlx-core/Cargo.toml ++++ b/vendor/sqlx/sqlx-core/Cargo.toml +@@ -135,6 +135,6 @@ + libsqlite3-sys = { version = "0.24.1", optional = true, default-features = false, features = [ + "pkg-config", + "vcpkg", +- "bundled", +- "unlock_notify" ++ "unlock_notify", ++ "buildtime_bindgen" + ] } diff --git a/testing/atuin/standalone-server.patch b/testing/atuin/standalone-server.patch new file mode 100644 index 00000000000..847afce7eeb --- /dev/null +++ b/testing/atuin/standalone-server.patch @@ -0,0 +1,51 @@ +Patch-Source: https://github.com/ellie/atuin/pull/404 (backported) +-- +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Fri, 13 May 2022 02:30:49 +0200 +Subject: [PATCH] Allow to build atuin server without client + +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -33,13 +33,14 @@ members = ["./atuin-client", "./atuin-server", "./atuin-common"] + # TODO(conradludgate) + # Currently, this keeps the same default built behaviour for v0.8 + # We should rethink this by the time we hit a new breaking change +-default = ["sync", "server"] ++default = ["client", "sync", "server"] ++client = ["atuin-client"] + sync = ["atuin-client/sync"] + server = ["atuin-server", "tracing-subscriber"] + + [dependencies] + atuin-server = { path = "atuin-server", version = "0.9.1", optional = true } +-atuin-client = { path = "atuin-client", version = "0.9.1", default-features = false } ++atuin-client = { path = "atuin-client", version = "0.9.1", optional = true, default-features = false } + atuin-common = { path = "atuin-common", version = "0.9.1" } + + log = "0.4" +--- a/src/command/mod.rs ++++ b/src/command/mod.rs +@@ -1,6 +1,7 @@ + use clap::Subcommand; + use eyre::Result; + ++#[cfg(feature = "client")] + mod client; + + #[cfg(feature = "server")] +@@ -9,6 +10,7 @@ + #[derive(Subcommand)] + #[clap(infer_subcommands = true)] + pub enum AtuinCmd { ++ #[cfg(feature = "client")] + #[clap(flatten)] + Client(client::Cmd), + +@@ -21,6 +23,7 @@ + impl AtuinCmd { + pub async fn run(self) -> Result<()> { + match self { ++ #[cfg(feature = "client")] + Self::Client(client) => client.run().await, + #[cfg(feature = "server")] + Self::Server(server) => server.run().await, diff --git a/testing/atuin/use-system-tls.patch b/testing/atuin/use-system-tls.patch new file mode 100644 index 00000000000..d3405ed43d4 --- /dev/null +++ b/testing/atuin/use-system-tls.patch @@ -0,0 +1,23 @@ +From: Jakub Jirutka <jakub@jirutka.cz> +Date: Fri, 13 May 2022 01:42:00 +0200 +Subject: [PATCH] Build with system OpenSSL instead of bundled rusttls + +--- a/atuin-client/Cargo.toml ++++ b/atuin-client/Cargo.toml +@@ -41,3 +41,3 @@ + sqlx = { version = "0.5", features = [ +- "runtime-tokio-rustls", ++ "runtime-tokio-native-tls", + "chrono", +@@ -55,5 +55,5 @@ + reqwest = { version = "0.11", features = [ + "json", +- "rustls-tls", ++ "default-tls", + ], default-features = false, optional = true } + rust-crypto = { version = "^0.2", optional = true } +--- a/atuin-server/Cargo.toml ++++ b/atuin-server/Cargo.toml +@@ -27,1 +27,1 @@ +-sqlx = { version = "0.5", features = [ "runtime-tokio-rustls", "chrono", "postgres" ] } ++sqlx = { version = "0.5", features = [ "runtime-tokio-native-tls", "chrono", "postgres" ] } |