1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2025-12-16 14:27: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

View File

@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "chasquid-util 1"
.TH chasquid-util 1 "2023-12-03" "" ""
.TH chasquid-util 1 "2025-03-21" "" ""
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -185,9 +185,12 @@ security level downgrade. Talks to the running chasquid instance.
.IP "\fBprint-config\fR" 8
.IX Item "print-config"
Parse and print the configuration in a human-readable way.
.IP "\fB\-C\fR or \fB\-\-configdir=<path\fR>" 8
.IX Item "-C or --configdir=<path>"
.IP "\fB\-C\fR or \fB\-\-config_dir=<path\fR>" 8
.IX Item "-C or --config_dir=<path>"
Configuration directory.
.IP "\fB\-\-configdir=<path\fR>" 8
.IX Item "--configdir=<path>"
Deprecated alias for \fB\-\-config_dir=<path\fR>.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fBchasquid\fR\|(1)

View File

@@ -56,10 +56,14 @@ chasquid-util is a command-line utility for [chasquid(1)](chasquid.1.md) operati
Parse and print the configuration in a human-readable way.
- **-C** or **--configdir=&lt;path**>
- **-C** or **--config\_dir=&lt;path**>
Configuration directory.
- **--configdir=&lt;path**>
Deprecated alias for **--config\_dir=&lt;path**>.
# SEE ALSO
[chasquid(1)](chasquid.1.md)

View File

@@ -60,10 +60,14 @@ security level downgrade. Talks to the running chasquid instance.
Parse and print the configuration in a human-readable way.
=item B<-C> or B<--configdir=<path>>
=item B<-C> or B<--config_dir=<path>>
Configuration directory.
=item B<--configdir=<path>>
Deprecated alias for B<--config_dir=<path>>.
=back
=head1 SEE ALSO