1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-23 15:37:01 +00:00

chasquid-util: switch --configdir into --config_dir and deprecate --configdir

There's an inconsistency between chasquid (which uses `--config_dir`) and
chasquid-util (which uses `--configdir`).

That is prone to cause confusion, so this patch renames chasquid-util's
flag, leaving the old one as deprecated with a warning message.

Closes https://github.com/albertito/chasquid/pull/60.

Amended-by: Alberto Bertogli <albertito@blitiri.com.ar>
  Added test case for the deprecated option, adjusted commit message.
This commit is contained in:
Albert ARIBAUD
2025-03-21 15:02:03 +01:00
committed by Alberto Bertogli
parent e5e7256d3e
commit fa074ec16c
6 changed files with 39 additions and 14 deletions

View File

@@ -48,8 +48,8 @@ Usage:
private key.
Options:
-C=<path>, --configdir=<path> Configuration directory
-v Verbose mode
-C=<path>, --config_dir=<path> Configuration directory
-v Verbose mode
`
// Command-line arguments.
@@ -74,12 +74,16 @@ func main() {
}
// Load globals.
if d, ok := args["--configdir"]; ok {
if d, ok := args["--config_dir"]; ok {
configDir = d
}
if d, ok := args["-C"]; ok {
configDir = d
}
if d, ok := args["--configdir"]; ok {
configDir = d
Warnf("Option --configdir is deprecated, use --config_dir instead")
}
commands := map[string]func(){
"user-add": userAdd,
@@ -114,6 +118,11 @@ func Fatalf(s string, arg ...interface{}) {
os.Exit(1)
}
// Warnf prints the given message to stderr, but does not exit the program.
func Warnf(s string, arg ...interface{}) {
fmt.Fprintf(os.Stderr, s+"\n", arg...)
}
func userDBForDomain(domain string) string {
if domain == "" {
domain = args["$2"]

View File

@@ -1,21 +1,21 @@
# Unknown argument.
c = ./chasquid-util --configdir=.config blahrarghar
c = ./chasquid-util --config_dir=.config blahrarghar
c <- Unknown argument "blahrarghar"
c wait 1
c = ./chasquid-util --configdir=.nonono check-userdb
c = ./chasquid-util --config_dir=.nonono check-userdb
c <- Error: file ".nonono/domains//users" does not exist
c wait 1
c = ./chasquid-util --configdir=.nonono print-config
c = ./chasquid-util --config_dir=.nonono print-config
c <- Error loading config: failed to read config at ".nonono/chasquid.conf": open .nonono/chasquid.conf: no such file or directory
c wait 1
c = ./chasquid-util --configdir=.nonono aliases-resolve email@addr
c = ./chasquid-util --config_dir=.nonono aliases-resolve email@addr
c <- Error loading config: failed to read config at ".nonono/chasquid.conf": open .nonono/chasquid.conf: no such file or directory
c wait 1
c = ./chasquid-util --configdir=.nonono domaininfo-remove domain
c = ./chasquid-util --config_dir=.nonono domaininfo-remove domain
c <- Error loading config: failed to read config at ".nonono/chasquid.conf": open .nonono/chasquid.conf: no such file or directory
c wait 1

View File

@@ -1,5 +1,5 @@
# --help
c = ./chasquid-util --configdir=.config --help
c = ./chasquid-util --config_dir=.config --help
c <-
c <- Usage:
c wait 0
@@ -22,3 +22,8 @@ c <~ drop_characters: +"\."
c <~ mail_log_path: +"<syslog>"
c wait 0
# Deprecated --configdir.
c = ./chasquid-util --configdir=.config print-config
c <- Option --configdir is deprecated, use --config_dir instead
c <~ hostname: +".*"
c wait 0