From 23ae334befb8b81b89b01c9aeb7ef9c866c6597b Mon Sep 17 00:00:00 2001 From: Christian Visintin Date: Sun, 23 Mar 2025 15:57:54 +0100 Subject: [PATCH] ci(build): build vendored smb and refactor platform deps (#333) --- .github/workflows/build-artifacts.yml | 8 +- Cargo.lock | 175 +++++++++++++++---------- Cargo.toml | 26 ++-- dist/build/aarch64_debian10/Dockerfile | 28 +++- dist/build/linux-aarch64.sh | 2 +- dist/build/linux-x86_64.sh | 2 +- dist/build/x86_64_debian10/Dockerfile | 28 +++- 7 files changed, 176 insertions(+), 93 deletions(-) diff --git a/.github/workflows/build-artifacts.yml b/.github/workflows/build-artifacts.yml index f463e94..86183b7 100644 --- a/.github/workflows/build-artifacts.yml +++ b/.github/workflows/build-artifacts.yml @@ -3,6 +3,9 @@ name: "Build artifacts" on: workflow_dispatch: +env: + TERMSCP_VERSION: "0.17.0" + jobs: build-binaries: name: Build - ${{ matrix.platform.release_for }} @@ -32,11 +35,12 @@ jobs: run: | mkdir -p .artifact mv target/${{ matrix.platform.target }}/release/termscp .artifact/termscp + tar -czf .artifact/termscp-v${{ env.TERMSCP_VERSION }}-${{ matrix.platform.target }}.tar.gz -C .artifact termscp ls -l .artifact/ - name: "Upload artifact" uses: actions/upload-artifact@v4 with: if-no-files-found: error retention-days: 1 - name: ${{ matrix.platform.release_for }} - path: .artifact/termscp + name: termscp-${{ matrix.platform.target }} + path: .artifact/termscp-v${{ env.TERMSCP_VERSION }}-${{ matrix.platform.target }}.tar.gz diff --git a/Cargo.lock b/Cargo.lock index 4bedecb..83c9224 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -425,7 +425,7 @@ dependencies = [ "hyper-util", "pin-project-lite", "rustls 0.21.12", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", @@ -751,9 +751,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.16" +version = "1.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" +checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" dependencies = [ "jobserver", "libc", @@ -1157,9 +1157,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] @@ -1617,14 +1617,16 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi 0.13.3+wasi-0.2.2", - "windows-targets 0.52.6", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", ] [[package]] @@ -1635,14 +1637,16 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fda788993cc341f69012feba8bf45c0ba4f3291fcc08e214b4d5a7332d88aff" +checksum = "5220b8ba44c68a9a7f7a7659e864dd73692e417ef0211bea133c7b74e031eeb9" dependencies = [ "bitflags 2.9.0", "libc", "libgit2-sys", "log", + "openssl-probe", + "openssl-sys", "url", ] @@ -1936,7 +1940,7 @@ dependencies = [ "hyper 1.6.0", "hyper-util", "log", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", @@ -2397,7 +2401,7 @@ dependencies = [ "kube-core", "pem", "rand 0.8.5", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-pemfile 2.2.0", "secrecy", "serde", @@ -2480,13 +2484,15 @@ dependencies = [ [[package]] name = "libgit2-sys" -version = "0.18.0+1.9.0" +version = "0.18.1+1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1a117465e7e1597e8febea8bb0c410f1c7fb93b1e1cddf34363f8390367ffec" +checksum = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e" dependencies = [ "cc", "libc", + "libssh2-sys", "libz-sys", + "openssl-sys", "pkg-config", ] @@ -3064,18 +3070,41 @@ checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pavao" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8677bec6eb74833954ae5b63c3a6d58ea5447327cc8842a7c023b7d48d18af0c" +checksum = "0b5b84c6ab7b745d233668e868f67dac1f40a8329c0f9d41ac50addf36adb883" dependencies = [ "cfg_aliases", "lazy_static", "libc", "log", - "pkg-config", + "pavao-sys", "thiserror 2.0.12", ] +[[package]] +name = "pavao-src" +version = "4.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29b20a487b78fd44d081eb16717d062f78cae52888a7affeed1e7da3be1b9247" +dependencies = [ + "cc", + "git2", + "glob", +] + +[[package]] +name = "pavao-sys" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd4336fa254e9df9f752adc3e2b70f01b4eacfb32f34433bafda3a898056737" +dependencies = [ + "cc", + "libc", + "pavao-src", + "pkg-config", +] + [[package]] name = "pem" version = "3.0.5" @@ -3265,34 +3294,36 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.23", + "rustls 0.23.25", "socket2", "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] name = "quinn-proto" -version = "0.11.9" +version = "0.11.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" dependencies = [ "bytes", - "getrandom 0.2.15", - "rand 0.8.5", + "getrandom 0.3.2", + "rand 0.9.0", "ring", "rustc-hash 2.1.1", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-pki-types", "slab", "thiserror 2.0.12", @@ -3324,6 +3355,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "rand" version = "0.8.5" @@ -3381,7 +3418,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.1", + "getrandom 0.3.2", ] [[package]] @@ -3553,9 +3590,9 @@ dependencies = [ [[package]] name = "remotefs-smb" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74686dd420fd460f123212a7ceb7e9850aa0b242f250f5e7119525f867acf94a" +checksum = "c077c88aecf906b0267def951277dc4f6fd1f368edb73d333771a24c0b47970a" dependencies = [ "filetime", "libc", @@ -3643,9 +3680,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e327e510263980e231de548a33e63d34962d29ae61b467389a1a09627a254" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" dependencies = [ "base64 0.22.1", "bytes", @@ -3667,7 +3704,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.23", + "rustls 0.23.25", "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", @@ -3780,9 +3817,9 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" +checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" dependencies = [ "bitflags 2.9.0", "errno", @@ -3805,16 +3842,16 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.23" +version = "0.23.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" +checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" dependencies = [ "aws-lc-rs", "log", "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.102.8", + "rustls-webpki 0.103.0", "subtle", "zeroize", ] @@ -3895,9 +3932,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.8" +version = "0.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +checksum = "0aa4eeac2588ffff23e9d7a7e9b3f971c5fb5b7ebc9452745e0c232c64f83b2f" dependencies = [ "aws-lc-rs", "ring", @@ -4059,7 +4096,7 @@ dependencies = [ "log", "quick-xml 0.37.2", "regex", - "reqwest 0.12.14", + "reqwest 0.12.15", "self-replace", "semver", "serde_json", @@ -4508,14 +4545,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.19.0" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ "fastrand", - "getrandom 0.3.1", + "getrandom 0.3.2", "once_cell", - "rustix 1.0.2", + "rustix 1.0.3", "windows-sys 0.59.0", ] @@ -4643,9 +4680,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.39" +version = "0.3.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad298b01a40a23aac4580b67e3dbedb7cc8402f3592d7f49469de2ea4aecdd8" +checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" dependencies = [ "deranged", "itoa", @@ -4660,15 +4697,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c97a5b985b7c11d7bc27fa927dc4fe6af3a6dfb021d28deb60d3bf51e76ef" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8093bc3e81c3bc5f7879de09619d06c9a5a5e45ca44dfeeb7225bae38005c5c" +checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" dependencies = [ "num-conv", "time-core", @@ -4753,7 +4790,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.23", + "rustls 0.23.25", "tokio", ] @@ -5181,9 +5218,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasi" -version = "0.13.3+wasi-0.2.2" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" dependencies = [ "wit-bindgen-rt", ] @@ -5463,9 +5500,9 @@ dependencies = [ [[package]] name = "windows-link" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" [[package]] name = "windows-registry" @@ -5473,7 +5510,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" dependencies = [ - "windows-result 0.3.1", + "windows-result 0.3.2", "windows-strings", "windows-targets 0.53.0", ] @@ -5489,9 +5526,9 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06374efe858fab7e4f881500e6e86ec8bc28f9462c47e5a9941a0142ad86b189" +checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" dependencies = [ "windows-link", ] @@ -5581,9 +5618,9 @@ dependencies = [ [[package]] name = "windows-version" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bfbcc4996dd183ff1376a20ade1242da0d2dcaff83cc76710a588d24fd4c5db" +checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c" dependencies = [ "windows-link", ] @@ -5747,9 +5784,9 @@ dependencies = [ [[package]] name = "wit-bindgen-rt" -version = "0.33.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ "bitflags 2.9.0", ] @@ -5773,7 +5810,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" dependencies = [ "libc", - "rustix 1.0.2", + "rustix 1.0.3", ] [[package]] @@ -5814,18 +5851,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.23" +version = "0.8.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" +checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" dependencies = [ "proc-macro2", "quote", @@ -5883,9 +5920,9 @@ dependencies = [ [[package]] name = "zip" -version = "2.3.0" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84e9a772a54b54236b9b744aaaf8d7be01b4d6e99725523cb82cb32d1c81b1d7" +checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" dependencies = [ "arbitrary", "crc32fast", diff --git a/Cargo.toml b/Cargo.toml index d0e5463..8d762a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -60,6 +60,8 @@ regex = "^1" remotefs = "^0.3" remotefs-aws-s3 = "0.4" remotefs-kube = "0.4" +remotefs-ftp = { version = "^0.2", features = ["vendored", "native-tls"] } +remotefs-ssh = { version = "^0.6", features = ["ssh2-vendored"] } remotefs-webdav = "^0.2" rpassword = "^7" self_update = { version = "^0.42", default-features = false, features = [ @@ -83,6 +85,12 @@ version-compare = "^0.2" whoami = "^1.5" wildmatch = "^2" +[target."cfg(not(target_os = \"macos\"))".dependencies] +remotefs-smb = { version = "^0.3", optional = true } + +[target."cfg(target_family = \"unix\")".dependencies] +uzers = "0.12" + [dev-dependencies] pretty_assertions = "^1" serial_test = "^3" @@ -91,27 +99,13 @@ serial_test = "^3" cfg_aliases = "0.2" vergen-git2 = { version = "1", features = ["build", "cargo", "rustc", "si"] } - [features] default = ["smb", "keyring"] github-actions = [] isolated-tests = [] -smb = ["dep:remotefs-smb"] keyring = [] - -[target."cfg(not(target_os = \"macos\"))".dependencies] -remotefs-smb = { version = "^0.3", optional = true } - -[target."cfg(target_family = \"windows\")"] -[target."cfg(target_family = \"windows\")".dependencies] -remotefs-ftp = { version = "^0.2", features = ["native-tls"] } -remotefs-ssh = "^0.6" - -[target."cfg(target_family = \"unix\")"] -[target."cfg(target_family = \"unix\")".dependencies] -remotefs-ftp = { version = "^0.2", features = ["vendored", "native-tls"] } -remotefs-ssh = { version = "^0.6", features = ["ssh2-vendored"] } -uzers = "0.12" +smb = ["dep:remotefs-smb"] +smb-vendored = ["remotefs-smb/vendored"] [profile.dev] incremental = true diff --git a/dist/build/aarch64_debian10/Dockerfile b/dist/build/aarch64_debian10/Dockerfile index 912b45c..c6a74ba 100644 --- a/dist/build/aarch64_debian10/Dockerfile +++ b/dist/build/aarch64_debian10/Dockerfile @@ -9,9 +9,33 @@ RUN apt update && apt install -y \ libdbus-1-dev \ build-essential \ libsmbclient-dev \ - libsmbclient \ + libgit2-dev \ + build-essential \ + pkg-config \ + libbsd-dev \ + libcap-dev \ + libcups2-dev \ + libgnutls28-dev \ + libicu-dev \ + libjansson-dev \ + libkeyutils-dev \ + libldap2-dev \ + zlib1g-dev \ + libpam0g-dev \ + libacl1-dev \ + libarchive-dev \ + flex \ + bison \ + libntirpc-dev \ + libtracker-sparql-3.0-dev \ + libglib2.0-dev \ + libdbus-1-dev \ + libsasl2-dev \ + libunistring-dev \ bash \ - curl + curl \ + cpanminus && \ + cpanm Parse::Yapp::Driver; # Install rust RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rust.sh && \ diff --git a/dist/build/linux-aarch64.sh b/dist/build/linux-aarch64.sh index 9141428..4d53e59 100755 --- a/dist/build/linux-aarch64.sh +++ b/dist/build/linux-aarch64.sh @@ -38,7 +38,7 @@ cd - mkdir -p ${PKGS_DIR}/deb/ mkdir -p ${PKGS_DIR}/aarch64-unknown-linux-gnu/ docker run --name "$ARM64_DEB_NAME" -d "$ARM64_DEB_NAME" || docker start "$ARM64_DEB_NAME" -docker exec -it "$ARM64_DEB_NAME" bash -c ". \$HOME/.cargo/env && git fetch origin && git checkout origin/$BRANCH && cargo build --release && cargo deb" +docker exec -it "$ARM64_DEB_NAME" bash -c ". \$HOME/.cargo/env && git fetch origin && git checkout origin/$BRANCH && cargo build --release --features smb-vendored && cargo deb" docker cp ${ARM64_DEB_NAME}:/usr/src/termscp/target/debian/termscp_${VERSION}-1_arm64.deb ${PKGS_DIR}/deb/termscp_${VERSION}_arm64.deb docker cp ${ARM64_DEB_NAME}:/usr/src/termscp/target/release/termscp ${PKGS_DIR}/aarch64-unknown-linux-gnu/ docker stop "$ARM64_DEB_NAME" diff --git a/dist/build/linux-x86_64.sh b/dist/build/linux-x86_64.sh index 96125c6..219c519 100755 --- a/dist/build/linux-x86_64.sh +++ b/dist/build/linux-x86_64.sh @@ -36,7 +36,7 @@ cd - mkdir -p ${PKGS_DIR}/deb/ mkdir -p ${PKGS_DIR}/x86_64-unknown-linux-gnu/ docker run --name "$X86_64_DEB_NAME" -d "$X86_64_DEB_NAME" || docker start "$X86_64_DEB_NAME" -docker exec -it "$X86_64_DEB_NAME" bash -c ". \$HOME/.cargo/env && git fetch origin && git checkout origin/$BRANCH && cargo build --release && cargo deb" +docker exec -it "$X86_64_DEB_NAME" bash -c ". \$HOME/.cargo/env && git fetch origin && git checkout origin/$BRANCH && cargo build --release --features smb-vendored && cargo deb" docker cp ${X86_64_DEB_NAME}:/usr/src/termscp/target/debian/termscp_${VERSION}-1_amd64.deb ${PKGS_DIR}/deb/termscp_${VERSION}_amd64.deb docker cp ${X86_64_DEB_NAME}:/usr/src/termscp/target/release/termscp ${PKGS_DIR}/x86_64-unknown-linux-gnu/ docker stop "$X86_64_DEB_NAME" diff --git a/dist/build/x86_64_debian10/Dockerfile b/dist/build/x86_64_debian10/Dockerfile index 912b45c..c6a74ba 100644 --- a/dist/build/x86_64_debian10/Dockerfile +++ b/dist/build/x86_64_debian10/Dockerfile @@ -9,9 +9,33 @@ RUN apt update && apt install -y \ libdbus-1-dev \ build-essential \ libsmbclient-dev \ - libsmbclient \ + libgit2-dev \ + build-essential \ + pkg-config \ + libbsd-dev \ + libcap-dev \ + libcups2-dev \ + libgnutls28-dev \ + libicu-dev \ + libjansson-dev \ + libkeyutils-dev \ + libldap2-dev \ + zlib1g-dev \ + libpam0g-dev \ + libacl1-dev \ + libarchive-dev \ + flex \ + bison \ + libntirpc-dev \ + libtracker-sparql-3.0-dev \ + libglib2.0-dev \ + libdbus-1-dev \ + libsasl2-dev \ + libunistring-dev \ bash \ - curl + curl \ + cpanminus && \ + cpanm Parse::Yapp::Driver; # Install rust RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rust.sh && \