diff --git a/.cargo/config b/.cargo/config new file mode 100644 index 0000000000000000000000000000000000000000..ff7f7580ce91a1ab2f4455595629ff632e3bbeb0 --- /dev/null +++ b/.cargo/config @@ -0,0 +1,2 @@ +[target.aarch64-unknown-linux-gnu] +linker = "aarch64-linux-gnu-gcc" \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index c7809b0e1c821ae1bec463f581e315bb622ede2d..b82a59808a74f70d841be4034d8884e6f858974b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,7 +61,7 @@ sha2 = "0.10.6" bincode = "2.0.0-rc.3" secstr = "0.5.1" openssl-sys = "0.9.90" -openssl= "0.10.55" +openssl= { version = "0.10.55", features = ["vendored"]} foreign-types-shared = "0.1.1" actix-identity = "0.5.2" actix-session = { version = "0.7.2", features = ["redis-rs-session"]} diff --git a/Makefile b/Makefile index f33af13a26a3ba22b58c4b0cc1770e2464b77353..9713235526948c6a4d34138ef2657502c1ed7480 100644 --- a/Makefile +++ b/Makefile @@ -15,9 +15,17 @@ init: builder-image: docker build -t tommylike/signatrust-builder:$(GIT_COMMIT) -f docker/Dockerfile.openeuler . + client-image: docker build -t tommylike/signatrust-client:$(GIT_COMMIT) --build-arg BINARY=client -f docker/Dockerfile . +client-publish: client-publish-x86-64 client-publish-aarch64 + +client-publish-x86-64: + docker build -t tommylike/signatrust-client-linux-x86-64:$(GIT_COMMIT) --build-arg BINARY=client --build-arg PLATFORM=x86_64-unknown-linux-gnu -f docker/Dockerfile.client_multiple_platform . +client-publish-aarch64: + docker build -t tommylike/signatrust-client-linux-aarch64:$(GIT_COMMIT) --build-arg BINARY=client --build-arg PLATFORM=aarch64-unknown-linux-gnu -f docker/Dockerfile.client_multiple_platform . + data-server-image: docker build -t tommylike/signatrust-data-server:$(GIT_COMMIT) --build-arg BINARY=data-server -f docker/Dockerfile.data-server . diff --git a/docker/Dockerfile.client_multiple_platform b/docker/Dockerfile.client_multiple_platform new file mode 100644 index 0000000000000000000000000000000000000000..b032330c5062c55ca6b7815345b5c3961e662b7e --- /dev/null +++ b/docker/Dockerfile.client_multiple_platform @@ -0,0 +1,11 @@ +FROM rust:latest +ARG BINARY +ARG PLATFORM +LABEL Author=TommyLike +WORKDIR /app +COPY .. /app + +RUN apt update -y && apt install crossbuild-essential-arm64 libssl-dev protobuf-compiler -y +RUN rustup target add $PLATFORM +RUN cargo build --release --bin $BINARY --target $PLATFORM +