From 1cf9273fcd8cb745f92721114715aa71511eff6f Mon Sep 17 00:00:00 2001 From: h7x4 Date: Mon, 15 Dec 2025 10:08:58 +0900 Subject: [PATCH] Add rust profile `release-lto` --- Cargo.toml | 17 +++++++++-------- create-deb.sh | 7 +++++-- nix/default.nix | 1 + 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4ae6559..3ba8bff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,6 +51,13 @@ uuid = { version = "1.19.0", features = ["v4"] } [target.'cfg(target_os = "linux")'.dependencies] landlock = "0.4.4" +[build-dependencies] +anyhow = "1.0.100" +git2 = { version = "0.20.3", default-features = false } + +[dev-dependencies] +regex = "1.12.2" + [features] default = ["mysql-admutils-compatibility"] mysql-admutils-compatibility = [] @@ -61,18 +68,12 @@ name = "muscl" bench = false path = "src/main.rs" -[profile.release] +[profile.release-lto] +inherits = "release" strip = true lto = true codegen-units = 1 -[build-dependencies] -anyhow = "1.0.100" -git2 = { version = "0.20.3", default-features = false } - -[dev-dependencies] -regex = "1.12.2" - [package.metadata.deb] name = "muscl" priority = "optional" diff --git a/create-deb.sh b/create-deb.sh index 9b5ca2f..72aae6c 100755 --- a/create-deb.sh +++ b/create-deb.sh @@ -2,6 +2,8 @@ set -euo pipefail +declare -r RUST_PROFILE="release-lto" + if [[ "${CREATE_DEB_DEBUG:-}" == "1" ]]; then set -x fi @@ -16,12 +18,12 @@ if ! command -v cargo-deb &> /dev/null; then exit 1 fi -cargo build --release +cargo build --profile "$RUST_PROFILE" mkdir -p assets/completions ( - PATH="./target/release:$PATH" + PATH="./target/$RUST_PROFILE:$PATH" COMPLETE=bash muscl > assets/completions/muscl.bash COMPLETE=zsh muscl > assets/completions/_muscl @@ -41,6 +43,7 @@ sed -i 's/muscl/mysql-dbadm/g' assets/completions/{mysql-dbadm.bash,mysql-dbadm. sed -i 's/muscl/mysql-useradm/g' assets/completions/{mysql-useradm.bash,mysql-useradm.fish,_mysql-useradm} DEFAULT_CARGO_DEB_ARGS=( + --profile "$RUST_PROFILE" --no-build ) diff --git a/nix/default.nix b/nix/default.nix index 36f04c0..c2f36bd 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -22,6 +22,7 @@ let pname = "${cargoToml.package.name}${pnameSuidSuffix}${pnameCraneSuffix}"; rustPlatformArgs = { + buildType = "release-lto"; buildFeatures = lib.optional suidSgidSupport "suid-sgid-mode"; cargoLock.lockFile = cargoLock;