Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lego for openSUSE:Factory checked in at 2026-06-01 18:04:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lego (Old) and /work/SRC/openSUSE:Factory/.lego.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lego" Mon Jun 1 18:04:34 2026 rev:27 rq:1356271 version:5.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/lego/lego.changes 2026-05-30 23:00:59.479309849 +0200 +++ /work/SRC/openSUSE:Factory/.lego.new.1937/lego.changes 2026-06-01 18:06:26.324359020 +0200 @@ -1,0 +2,8 @@ +Mon Jun 01 05:36:52 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 5.2.1: + * fix: print the suggested configuration if the file cannot be + created + * docs: improve flag description related to slices + +------------------------------------------------------------------- Old: ---- lego-5.2.0.obscpio New: ---- lego-5.2.1.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lego.spec ++++++ --- /var/tmp/diff_new_pack.q2gHwN/_old 2026-06-01 18:06:30.868547473 +0200 +++ /var/tmp/diff_new_pack.q2gHwN/_new 2026-06-01 18:06:30.872547639 +0200 @@ -17,7 +17,7 @@ Name: lego -Version: 5.2.0 +Version: 5.2.1 Release: 0 Summary: Let's Encrypt/ACME client and library written in Go License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.q2gHwN/_old 2026-06-01 18:06:30.908549132 +0200 +++ /var/tmp/diff_new_pack.q2gHwN/_new 2026-06-01 18:06:30.912549298 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/go-acme/lego</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v5.2.0</param> + <param name="revision">v5.2.1</param> <param name="match-tag">v*</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.q2gHwN/_old 2026-06-01 18:06:30.932550127 +0200 +++ /var/tmp/diff_new_pack.q2gHwN/_new 2026-06-01 18:06:30.944550625 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/go-acme/lego</param> - <param name="changesrevision">7ac1d358b525ceb4d286acb36f75533535b3ac75</param></service></servicedata> + <param name="changesrevision">6ae6f51eed37ccd4e16e597e60be9c2dc206b61d</param></service></servicedata> (No newline at EOF) ++++++ lego-5.2.0.obscpio -> lego-5.2.1.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lego-5.2.0/CHANGELOG.md new/lego-5.2.1/CHANGELOG.md --- old/lego-5.2.0/CHANGELOG.md 2026-05-29 22:12:20.000000000 +0200 +++ new/lego-5.2.1/CHANGELOG.md 2026-06-01 03:35:02.000000000 +0200 @@ -6,6 +6,15 @@ So if you think that lego is worth it, please consider [donating](https://donate.ldez.dev). +## v5.2.1 + +- Release date: 2026-06-01 +- Tag: [v5.2.1](https://github.com/go-acme/lego/releases/tag/v5.2.1) + +### Fixed + +- **[cli,migration]** Print the suggested configuration if the file cannot be created + ## v5.2.0 - Release date: 2026-05-29 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lego-5.2.0/acme/api/internal/sender/useragent.go new/lego-5.2.1/acme/api/internal/sender/useragent.go --- old/lego-5.2.0/acme/api/internal/sender/useragent.go 2026-05-29 22:12:20.000000000 +0200 +++ new/lego-5.2.1/acme/api/internal/sender/useragent.go 2026-06-01 03:35:02.000000000 +0200 @@ -4,7 +4,7 @@ const ( // ourUserAgent is the User-Agent of this underlying library package. - ourUserAgent = "xenolf-acme/5.2.0" + ourUserAgent = "xenolf-acme/5.2.1" // ourUserAgentComment is part of the UA comment linked to the version status of this underlying library package. // values: detach|release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lego-5.2.0/cmd/cmd_migrate.go new/lego-5.2.1/cmd/cmd_migrate.go --- old/lego-5.2.0/cmd/cmd_migrate.go 2026-05-29 22:12:20.000000000 +0200 +++ new/lego-5.2.1/cmd/cmd_migrate.go 2026-06-01 03:35:02.000000000 +0200 @@ -30,48 +30,61 @@ func createMigrate() *cli.Command { return &cli.Command{ - Name: "migrate", - Usage: "Migrate certificates and accounts.", - Action: func(ctx context.Context, cmd *cli.Command) error { - log.Warnf(log.LazySprintf("The migration will not work if the certificates have been generated with the '--filename' flag."+ - " Use the flag '--%s' to only migrate accounts.", flags.FlgAccountOnly)) - log.Warnf(log.LazySprintf("Please create a backup of %q before the migration.", cmd.String(flags.FlgPath))) - - if !prompt.Confirm("Continue?") { - return nil - } - - cfg := &configuration.Configuration{ - Accounts: map[string]*configuration.Account{}, - Certificates: map[string]*configuration.Certificate{}, - } - - err := migrate.Accounts(cmd.String(flags.FlgPath), cfg) - if err != nil { - return err - } - - if cmd.Bool(flags.FlgAccountOnly) { - return createConfigurationFile(cfg) - } - - err = migrate.Certificates(cmd.String(flags.FlgPath), cfg) - if err != nil { - return err - } - - return createConfigurationFile(cfg) - }, - Flags: flags.CreateMigrateFlags(), + Name: "migrate", + Usage: "Migrate certificates and accounts.", + Action: migration, + Flags: flags.CreateMigrateFlags(), } } -func createConfigurationFile(cfg *configuration.Configuration) error { +func migration(_ context.Context, cmd *cli.Command) error { + root := cmd.String(flags.FlgPath) + + log.Warnf(log.LazySprintf("The migration will not work if the certificates have been generated with the '--filename' flag."+ + " Use the flag '--%s' to only migrate accounts.", flags.FlgAccountOnly)) + log.Warnf(log.LazySprintf("Please create a backup of %q before the migration.", root)) + + if !prompt.Confirm("Continue?") { + return nil + } + + cfg := &configuration.Configuration{ + Accounts: map[string]*configuration.Account{}, + Certificates: map[string]*configuration.Certificate{}, + } + + err := migrate.Accounts(root, cfg) + if err != nil { + return err + } + + if cmd.Bool(flags.FlgAccountOnly) { + return createConfigurationFile(root, cfg) + } + + err = migrate.Certificates(root, cfg) + if err != nil { + return err + } + + return createConfigurationFile(root, cfg) +} + +func createConfigurationFile(root string, cfg *configuration.Configuration) error { + wd, err := os.Getwd() + if err == nil { + if filepath.Join(wd, ".lego") != root { + cfg.Storage = "FIXME: " + root + } + } + date := strconv.FormatInt(time.Now().Unix(), 10) file, err := os.Create(fmt.Sprintf(".lego.migration.%s.yml", date)) if err != nil { - return err + log.Debug("The suggested configuration file cannot be created.", log.ErrorAttr(err)) + + return suggestedConfigurationFallback(cfg) } defer func() { _ = file.Close() }() @@ -83,7 +96,18 @@ log.Debug("Creating the configuration file.", slog.String("filepath", filename)) - _, err = file.WriteString(callToAction) + err = createSuggestedConfiguration(file, cfg) + if err != nil { + return err + } + + log.Warn("If you want to use the configuration file, please rename and review the file to handle the FIXME.", slog.String("filepath", filename)) + + return nil +} + +func createSuggestedConfiguration(file *os.File, cfg *configuration.Configuration) error { + _, err := file.WriteString(callToAction) if err != nil { return err } @@ -93,7 +117,18 @@ return fmt.Errorf("could not encode the configuration file: %w", err) } - log.Warn("If you want to use the configuration file, please rename and review the file to handle the FIXME.", slog.String("filepath", filename)) + return nil +} + +func suggestedConfigurationFallback(cfg *configuration.Configuration) error { + log.Info("Suggested configuration file content.") + + err := createSuggestedConfiguration(os.Stdout, cfg) + if err != nil { + return err + } + + log.Warn("If you want to use the configuration file, please review the content to handle the FIXME and save it to a `.lego.yml` file.") return nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lego-5.2.0/cmd/internal/flags/flags.go new/lego-5.2.1/cmd/internal/flags/flags.go --- old/lego-5.2.0/cmd/internal/flags/flags.go 2026-05-29 22:12:20.000000000 +0200 +++ new/lego-5.2.1/cmd/internal/flags/flags.go 2026-06-01 03:35:02.000000000 +0200 @@ -408,9 +408,8 @@ Category: categoryDNS01Challenge, Name: FlgDNSResolvers, Sources: cli.EnvVars(toEnvName(FlgDNSResolvers)), - Usage: "Set the nameservers to use for performing (recursive) CNAME resolving and apex domain determination." + - " For DNS-01 challenge verification, the authoritative DNS server is queried directly." + - " Supported: host:port." + + Usage: "Set the nameservers to use for performing (recursive) CNAME resolving, apex domain determination, and propagation checks." + + " Syntax: 'host:port'. For multiple values either repeat the flag or provide a comma-separated list." + " The default is to use the system nameservers, or Cloudflare's nameservers if the system's cannot be determined.", }, &cli.IntFlag{ @@ -462,7 +461,7 @@ Name: FlgDNSPersistResolvers, Sources: cli.EnvVars(toEnvName(FlgDNSPersistResolvers)), Usage: "Set the resolvers to use for DNS-PERSIST-01 TXT lookups." + - " Supported: host:port." + + " Syntax: 'host:port'. For multiple values either repeat the flag or provide a comma-separated list." + " The default is to use the system nameservers, or Cloudflare's nameservers if the system's cannot be determined.", }, &cli.IntFlag{ @@ -730,7 +729,7 @@ Name: FlgDomains, Aliases: []string{flgAliasDomains}, Sources: cli.EnvVars(toEnvName(FlgDomains)), - Usage: "Add a domain. For multiple domains either repeat the option or provide a comma-separated list.", + Usage: "Add a domain. For multiple values either repeat the flag or provide a comma-separated list.", } } @@ -749,7 +748,8 @@ Name: FlgCertName, Aliases: []string{flgAliasCertName}, Sources: cli.EnvVars(toEnvName(FlgCertName)), - Usage: "The certificate IDs/Names, used to retrieve the certificates.", + Usage: "The certificate IDs/Names, used to retrieve the certificates." + + " For multiple values either repeat the flag or provide a comma-separated list.", } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lego-5.2.0/docs/data/zz_cli_help.toml new/lego-5.2.1/docs/data/zz_cli_help.toml --- old/lego-5.2.0/docs/data/zz_cli_help.toml 2026-05-29 22:12:20.000000000 +0200 +++ new/lego-5.2.1/docs/data/zz_cli_help.toml 2026-06-01 03:35:02.000000000 +0200 @@ -52,7 +52,7 @@ | Flag | Env Var | Usage | |------|-------|-------| | `--accept-tos`, `-a` | `LEGO_ACCEPT_TOS` | By setting this flag to true, you indicate that you accept the current CA terms of service. | -| `--domains string`, `-d string` | `LEGO_DOMAINS` | Add a domain. For multiple domains either repeat the option or provide a comma-separated list. | +| `--domains string`, `-d string` | `LEGO_DOMAINS` | Add a domain. For multiple values either repeat the flag or provide a comma-separated list. | | `--email string`, `-m string` | `LEGO_EMAIL` | Email used for registration and recovery contact. | | `--help`, `-h` | | show help | | `--key-type string`, `-k string` | `LEGO_KEY_TYPE` | Key type to use for private keys. Supported: EC256, EC384, RSA2048, RSA3072, RSA4096, RSA8192. <br> (Default: "EC256") | @@ -124,7 +124,7 @@ | `--dns.propagation.disable-ans` | `LEGO_DNS_PROPAGATION_DISABLE_ANS` | By setting this flag to true, disables the need to await propagation of the TXT record to all authoritative name servers. | | `--dns.propagation.disable-rns` | `LEGO_DNS_PROPAGATION_DISABLE_RNS` | By setting this flag to true, disables the need to await propagation of the TXT record to all recursive name servers (aka resolvers). | | `--dns.propagation.wait duration` | `LEGO_DNS_PROPAGATION_WAIT` | By setting this flag, disables all the propagation checks of the TXT record and uses a wait duration instead. <br> (Default: 0s) | -| `--dns.resolvers string` | `LEGO_DNS_RESOLVERS` | Set the nameservers to use for performing (recursive) CNAME resolving and apex domain determination. For DNS-01 challenge verification, the authoritative DNS server is queried directly. Supported: host:port. The default is to use the system nameservers, or Cloudflare's nameservers if the system's cannot be determined. | +| `--dns.resolvers string` | `LEGO_DNS_RESOLVERS` | Set the nameservers to use for performing (recursive) CNAME resolving, apex domain determination, and propagation checks. Syntax: 'host:port'. For multiple values either repeat the flag or provide a comma-separated list. The default is to use the system nameservers, or Cloudflare's nameservers if the system's cannot be determined. | | `--dns.timeout int` | `LEGO_DNS_TIMEOUT` | Set the DNS timeout value to a specific value in seconds. Used only when performing authoritative name server queries. <br> (Default: 10) | #### Flags related to the DNS-PERSIST-01 challenge: @@ -137,7 +137,7 @@ | `--dns-persist.propagation.disable-ans` | `LEGO_DNS_PERSIST_PROPAGATION_DISABLE_ANS` | By setting this flag to true, disables the need to await propagation of the TXT record to all authoritative name servers. | | `--dns-persist.propagation.disable-rns` | `LEGO_DNS_PERSIST_PROPAGATION_DISABLE_RNS` | By setting this flag to true, disables the need to await propagation of the TXT record to all recursive name servers (aka resolvers). | | `--dns-persist.propagation.wait duration` | `LEGO_DNS_PERSIST_PROPAGATION_WAIT` | By setting this flag, disables all the propagation checks of the TXT record and uses a wait duration instead. <br> (Default: 0s) | -| `--dns-persist.resolvers string` | `LEGO_DNS_PERSIST_RESOLVERS` | Set the resolvers to use for DNS-PERSIST-01 TXT lookups. Supported: host:port. The default is to use the system nameservers, or Cloudflare's nameservers if the system's cannot be determined. | +| `--dns-persist.resolvers string` | `LEGO_DNS_PERSIST_RESOLVERS` | Set the resolvers to use for DNS-PERSIST-01 TXT lookups. Syntax: 'host:port'. For multiple values either repeat the flag or provide a comma-separated list. The default is to use the system nameservers, or Cloudflare's nameservers if the system's cannot be determined. | | `--dns-persist.timeout int` | `LEGO_DNS_PERSIST_TIMEOUT` | Set the DNS timeout value to a specific value in seconds. Used for DNS-PERSIST-01 lookups. <br> (Default: 0) | #### Flags related to the HTTP-01 challenge: @@ -429,7 +429,7 @@ | Flag | Env Var | Usage | |------|-------|-------| -| `--cert.name string`, `-c string` | `LEGO_CERT_NAME` | The certificate IDs/Names, used to retrieve the certificates. | +| `--cert.name string`, `-c string` | `LEGO_CERT_NAME` | The certificate IDs/Names, used to retrieve the certificates. For multiple values either repeat the flag or provide a comma-separated list. | | `--email string`, `-m string` | `LEGO_EMAIL` | Email used for registration and recovery contact. | | `--help`, `-h` | | show help | | `--keep` | `LEGO_KEEP` | Keep the certificates after the revocation instead of archiving them. | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lego-5.2.0/internal/useragent/useragent.go new/lego-5.2.1/internal/useragent/useragent.go --- old/lego-5.2.0/internal/useragent/useragent.go 2026-05-29 22:12:20.000000000 +0200 +++ new/lego-5.2.1/internal/useragent/useragent.go 2026-06-01 03:35:02.000000000 +0200 @@ -10,7 +10,7 @@ const ( // ourUserAgent is the User-Agent of this underlying library package. - ourUserAgent = "goacme-lego/5.2.0" + ourUserAgent = "goacme-lego/5.2.1" // ourUserAgentComment is part of the UA comment linked to the version status of this underlying library package. // values: detach|release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lego-5.2.0/zz_gen_version.go new/lego-5.2.1/zz_gen_version.go --- old/lego-5.2.0/zz_gen_version.go 2026-05-29 22:12:20.000000000 +0200 +++ new/lego-5.2.1/zz_gen_version.go 2026-06-01 03:35:02.000000000 +0200 @@ -2,7 +2,7 @@ package main -const defaultVersion = "v5.2.0+dev-release" +const defaultVersion = "v5.2.1+dev-release" var version = "" ++++++ lego.obsinfo ++++++ --- /var/tmp/diff_new_pack.q2gHwN/_old 2026-06-01 18:06:32.792627267 +0200 +++ /var/tmp/diff_new_pack.q2gHwN/_new 2026-06-01 18:06:32.804627765 +0200 @@ -1,5 +1,5 @@ name: lego -version: 5.2.0 -mtime: 1780085540 -commit: 7ac1d358b525ceb4d286acb36f75533535b3ac75 +version: 5.2.1 +mtime: 1780277702 +commit: 6ae6f51eed37ccd4e16e597e60be9c2dc206b61d ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/lego/vendor.tar.gz /work/SRC/openSUSE:Factory/.lego.new.1937/vendor.tar.gz differ: char 13, line 1
