Как настроить установку с помощью `Cargo`? - PullRequest
1 голос
/ 27 сентября 2019

Скажем, у меня есть стандартный проект Cargo

my-package
├── Cargo.lock
├── Cargo.toml
└── src
    ├── bin
    │   └── an_executable.rs
    └── lib.rs

По причинам, связанным с его надлежащим функционированием, мне нужно установить исполняемый файл an_executable в качестве пользователя root и с установленным битом setuid на.Я могу легко сделать это из рабочего каталога с помощью

cargo build --release
sudo install -o root -g root -m 4755 -t /usr/local/bin target/release/an_executable

Есть ли способ настроить процесс установки (параметры в Cargo.toml, пользовательский сценарий сборки ...), чтобы то же самое происходило при попыткеустановить его с cargo install my-package?

1 Ответ

1 голос
/ 27 сентября 2019

Нет, это за пределы того, что делает cargo.

В качестве альтернативы, вы можете управлять сборкой пакета, используя стандартный Makefile и использовать цель install, которая делает то, что вам нужно.Что-то под мелодию this .

Имейте в виду, что не все целевые платформы, в частности Windows, имеют такую ​​концепцию, как setuid.

...