Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version ist only displayed for packages, not for dev (because dev ... is not a version?) #2313

Closed
3 tasks done
kappuchino opened this issue Oct 26, 2024 · 6 comments
Closed
3 tasks done
Labels

Comments

@kappuchino
Copy link

kappuchino commented Oct 26, 2024

Welcome

  • Yes, I'm using a binary release within 2 latest releases.
  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've included all information below (version, config, etc).

What did you expect to see?

I wanted to know how many releases lego on Ubunu LTS 24 was behind (since it didn't know mailinabox as a dns service) so i did
lego --version
and expected something like
lego version v4.16.2 (or something less than v4.18) linux/amd64

What did you see instead?

But then asking lego installed with apt-get lego it only shows:
lego --version
lego version dev linux/amd64

How do you use lego?

Binary

Reproduction steps

Install Ubuntu 24.04.1 LTS, apt-get lego, see for yourself

Version of lego

lego version dev linux/amd64

(and that is my point - from when is the dev?)

Logs

# paste output here

Go environment (if applicable)

$ go version && go env
# paste output here

More context, if I may

Its a suggestion / bug that helps to figure out clearly the the packaged version or a dev version installed before (since an older dev veraion also does not show its generation/version). If this is not helpful, feel free to close. I've solved my issue after this. It just took me some time (more than it needed to be) to figure out since i had no idea what version I was on.

@kappuchino kappuchino added the bug label Oct 26, 2024
@ldez ldez added question and removed bug labels Oct 26, 2024
@ldez
Copy link
Member

ldez commented Oct 26, 2024

Hello,

FYI we don't maintain deb packages.

The dev version it's because the packager of the deb doesn't follow the right way to build the binary.

Official lego binaries or binaries built with the official way have either a version or a hash.

I recommend asking the packager to change the way used to build lego.

@ldez ldez closed this as completed Oct 26, 2024
@kappuchino
Copy link
Author

kappuchino commented Oct 26, 2024

Hello idez,

thank you for your lanswer. I understand you pov:
The maintainer is responsible of putting the "right" version of the binary into the distro/repo. I agree.

But ... I'm talking about a usability issue here, something that can be solved if you/the maintainers would be willing to display additionally to "dev" the approx version. This provides help to the understanding which dns provider is available and more. So ultimatly its an altruistic feature: Help others to understand the capabilities of their version. This will gradually "leak" into the versions provided by the package maintainers and then be even more helpful.

Thank you again for the fast reply and maybe reconsidering to put in the version next to "dev".
Have a great day.

@ldez
Copy link
Member

ldez commented Oct 26, 2024

FYI, my login is Ldez.

The version is set during the build, if the build is wrong, we cannot do magic.

The "approximate version" (commit hash) is set when using the right way to build.

$ ./lego --version
lego version 892c30afee4c832a151deb4a096980e6a7f3e3a6 linux/amd64

@ldez
Copy link
Member

ldez commented Oct 26, 2024

FYI, if you want to know the list of the available DNS providers of your version, you can use the following command:

$ lego dnshelp
Credentials for DNS providers must be passed through environment variables.

To display the documentation for a specific DNS provider, run:

  $ lego dnshelp -c code

Supported DNS providers:
  acme-dns, alidns, allinkl, arvancloud, auroradns, autodns, azure, azuredns, bindman, bluecat, brandit, bunny, checkdomain, civo, clouddns, cloudflare, cloudns, cloudru, cloudxns, conoha, constellix, corenetworks, cpanel, derak, desec, designate, digitalocean, directadmin, dnshomede, dnsimple, dnsmadeeasy, dnspod, dode, domeneshop, dreamhost, duckdns, dyn, dynu, easydns, edgedns, efficientip, epik, exec, exoscale, freemyip, gandi, gandiv5, gcloud, gcore, glesys, godaddy, googledomains, hetzner, hostingde, hosttech, httpnet, httpreq, huaweicloud, hurricane, hyperone, ibmcloud, iij, iijdpf, infoblox, infomaniak, internetbs, inwx, ionos, ipv64, iwantmyname, joker, liara, lightsail, limacity, linode, liquidweb, loopia, luadns, mailinabox, manual, metaname, mijnhost, mittwald, mydnsjp, mythicbeasts, namecheap, namedotcom, namesilo, nearlyfreespeech, netcup, netlify, nicmanager, nifcloud, njalla, nodion, ns1, oraclecloud, otc, ovh, pdns, plesk, porkbun, rackspace, rcodezero, regru, rfc2136, rimuhosting, route53, safedns, sakuracloud, scaleway, selectel, selectelv2, selfhostde, servercow, shellrent, simply, sonic, stackpath, tencentcloud, timewebcloud, transip, ultradns, variomedia, vegadns, vercel, versio, vinyldns, vkcloud, volcengine, vscale, vultr, webnames, websupport, wedos, yandex, yandex360, yandexcloud, zoneee, zonomi

More information: https://go-acme.github.io/lego/dns

@kappuchino
Copy link
Author

Apologies for the misnaming Ldez, this computer has a crappy font. I and l is sometimes a hit and miss.

Well: I already solved my issue. This was posted/submitted out of a thought that this might help others. One can only try.
From what I understand now, the version string is "dev" due line 16 in cmd/lego/main.go and it has to be that way.

Allright. don't want to waste more time. Thanks again for the explanations. I love this software, it helps me provide tools easier to my peers via a shared server, since i can automagically renew certs. cheers.

@ldez
Copy link
Member

ldez commented Oct 28, 2024

I changed the default version: this is not perfect because it's not possible to know if the code has been modified, but at least it indicates a probable "starting point".

The command lego dnshelp is still the best way to know the availability of a DNS provider.

Related to #2315, #2314

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants