Thread overview | |||||
---|---|---|---|---|---|
|
December 07, 2020 Calling executable generated by dub with sudo | ||||
---|---|---|---|---|
| ||||
Let's say I build my package using dub run from an Ubuntu terminal. How can I add sudo as the executable is being run? I tried adding preRunCommands to my dub.sdl as described in [1] but that just runs sudo and terminal throws an error. Best, Selim [1] https://dub.pm/package-format-sdl |
December 07, 2020 Re: Calling executable generated by dub with sudo | ||||
---|---|---|---|---|
| ||||
Posted in reply to Selim Ozel | On Monday, 7 December 2020 at 20:34:36 UTC, Selim Ozel wrote:
> Let's say I build my package using dub run from an Ubuntu terminal. How can I add sudo as the executable is being run? I tried adding preRunCommands to my dub.sdl as described in [1] but that just runs sudo and terminal throws an error.
>
> Best,
> Selim
>
> [1] https://dub.pm/package-format-sdl
Something like this, I guess:
import core.sys.posix.unistd: getuid;
import std.process: execv;
void main(string[] args)
{
if (getuid() != 0) {
execv("sudo", args);
return 1; // failed to exec
}
// The rest of your code goes here
}
|
December 08, 2020 Re: Calling executable generated by dub with sudo | ||||
---|---|---|---|---|
| ||||
Posted in reply to Selim Ozel | On Monday, 7 December 2020 at 20:34:36 UTC, Selim Ozel wrote:
> Let's say I build my package using dub run from an Ubuntu terminal. How can I add sudo as the executable is being run? I tried adding preRunCommands to my dub.sdl as described in [1] but that just runs sudo and terminal throws an error.
>
> Best,
> Selim
>
> [1] https://dub.pm/package-format-sdl
My solution has been slightly different. I use postBuildCommands and use dub build package:example_backend at my terminal instead of dub run package:example_backend.
subPackage {
name "example_backend"
sourcePaths "source/example_backend" "lib"
importPaths "lib"
targetName "example_backend"
targetType "executable"
dependency "mysql-native" version="~>2.2.2"
postBuildCommands "sudo ./example_backend"
}
Best,
Selim
|
Copyright © 1999-2021 by the D Language Foundation