From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) by sourceware.org (Postfix) with ESMTP id BD69B3AA900F for ; Thu, 17 Nov 2022 16:26:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BD69B3AA900F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Content-Type: multipart/signed; boundary="Apple-Mail=_6CE19049-6FA2-458F-899A-BF4FDC6296FB"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\)) Subject: Re: [PATCH] gdb: new --with-pkgversion-suffix configure option From: Sam James In-Reply-To: Date: Thu, 17 Nov 2022 16:26:08 +0000 Cc: Andrew Burgess , gdb-patches@sourceware.org Message-Id: References: <86a03c4f56f167a7c08ce40200425d92a2ac39e8.1668165880.git.aburgess@redhat.com> To: Mike Frysinger X-Mailer: Apple Mail (2.3731.200.110.1.12) X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --Apple-Mail=_6CE19049-6FA2-458F-899A-BF4FDC6296FB Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On 16 Nov 2022, at 16:58, Mike Frysinger via Gdb-patches = wrote: >=20 > On 11 Nov 2022 11:24, Andrew Burgess via Gdb-patches wrote: >> Once GDB 13.1 is released, then the version string, for a build of = GDB >> made from the release branch should look like this: >>=20 >> $ gdb --version >> GNU gdb (GDB) 13.1 >>=20 >> We provide a configure option, --with-pkgversion, which allows = control >> over the 'GDB' string within '(GDB) ', and so, if we configure like >> this: >>=20 >> $ ../src/configure --with-pkgversion=3D"My Distro" >>=20 >> then the final GDB's version string would look like this: >>=20 >> $ gdb --version >> GNU gdb (My Distro) 13.1 >>=20 >> It is not unreasonable to think that somebody building a distribution >> specific version of GDB like this might want to also augment the >> version number (13.1) in order to indicate a local patch level. >>=20 >> Now, the existing configure option, --with-pkgversion, clearly seems >> to indicate that the package specific version number should be >> included here, however, I don't find this result satisfactory. >>=20 >> Here are some possibilities. I could include the full version = number, >> including my local patch number, like this: >>=20 >> GNU gdb (My Distro 13.1.5) 13.1 >>=20 >> I don't like this because of the duplication. I could drop the >> upstream version number, like this: >>=20 >> GNU gdb (My Distro 5) 13.1 >>=20 >> But I don't like this because it (IMHO) can lead to confusion, is = this >> GDB version 5? Version 13.1? I think this can potentially cause >> confusion for a user. >>=20 >> I propose that a far better solution is to add a new configure option >> that will allow me to attach additional content at the end of the >> version string, like this: >>=20 >> GNU gdb (My Distro) 13.1.5 >=20 > i strongly dislike this proposal because it's smooshing distro = versions and > official versions with no clear separation at all. this is bad for = us, bad > for our users, and imo bad for even the distros/vendors. >=20 > if --with-pkgversion=3D isn't specified, the users will see the bare = version only. > (yes, i'm aware people can patch the source to display whatever they = want, but > that doesn't mean we have to encourage or make it easy to do) >=20 > even if it is specified, users will say things like "i'm using GDB = 13.1.5", > and then we'll have to figure out whose "13.1.5" that is. users will = also do > things like search for "GDB version 13.1.5" and then get confused when = no such > release exists. >=20 > it also means once we release a GDB version X, we can never release a = point > version after that (e.g. X.Y). which is what these docs, albeit = perhaps > outdated, explain: > https://sourceware.org/gdb/wiki/Internals%20Versions > i'm aware that currently we've moved to X.Y and don't seem to ever = plan on > doing plain X or X.Y.Z, but that doesn't mean we should cede the = entire > future to random vendors. >=20 > backing up a bit, the example you provided is: >> GNU gdb (My Distro 13.1.5) 13.1 > first off, i don't see a problem with the duplication, but that's me. > second, it sounds like your distro is claiming version numbers it = shouldn't ? > why are you calling it version "13.1.5" instead of "13.1 patch 5" or = "13.1-5" > or something like that ? this sounds like a bug in the distro/vendor = that > you're working on. >=20 > in Gentoo we use: >> GNU gdb (Gentoo 12.1 p3) 12.1 >> GNU gdb (Gentoo 12.1 vanilla) 12.1 > to make it very clear to everyone involved: > (1) it's a Gentoo build > (2) what our upstream base version is > (3) what the Gentoo packaging version is > (4) how we've patched it, or not >=20 > personally i've never found the "(GDB)" to be useful information. = seems like > we could do away with it entirely ? i'll admit i haven't looked at = the history > of it at all though. >=20 > if we want to avoid changing existing behavior/format in the --version = strings, > maybe we should have a new configure option that inserts a new line so = it's > very clear what's going on ? >=20 > $ gdb --version > GNU gdb (GDB) 12.1 > Vendor: Gentoo 12.1 p3 > Copyright (C) 2022 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later = > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. >=20 >> --- /dev/null >> +++ b/gdbsupport/pkgversion-suffix.m4 >> + >> +dnl Add support for the --with-pkgversion-suffix configure option. = Allows >> +dnl the user to specify a string that is appended to the version = number. >> +AC_DEFUN([GDB_PKGVERSION_SUFFIX],[ >> + AC_ARG_WITH(pkgversion-suffix, >> + AS_HELP_STRING([--with-pkgversion-suffix=3DSTRING], >> + [Append STRING to the end of the version = number]), >=20 > i really dislike how this is made into a gdb-only thing. the existing = options > --with-pkgversion=3D & --with-bugurl=3D are pretty standard across the = GNU toolchain > project space and are extremely helpful to keep consistent. can we = please look > for a solution that maintains that consistency ? I feel the same. The approach we use in Gentoo seems to work well enough And diverting from the standard autotools way of doing this feels = unfortunate. It's really nice to be able to bang these options in to GNU projects and have it just work. I agree the suggested output change might be a bit neater though. When I first saw the patch, I assumed that someone had just missed the existing options existed. Best, sam --Apple-Mail=_6CE19049-6FA2-458F-899A-BF4FDC6296FB Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iNUEARYKAH0WIQQlpruI3Zt2TGtVQcJzhAn1IN+RkAUCY3ZgoF8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0MjVB NkJCODhERDlCNzY0QzZCNTU0MUMyNzM4NDA5RjUyMERGOTE5MAAKCRBzhAn1IN+R kIRqAQCAPZcjHfvGTvgjv0Fh36KTG5hihmMx7T6Mhinyiods/gEAkKiFROr8/49b RGTpl8GK+JP+NgLwSNRGVugw8myR3QM= =fko+ -----END PGP SIGNATURE----- --Apple-Mail=_6CE19049-6FA2-458F-899A-BF4FDC6296FB--