Patches for Fedora 42 & 43

"Andrew L. Moore" <[email protected]> Mon, 13 Oct 2025 01:07:17 -0400
Newsgroups gmane.comp.gnu.global.bugs
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------egM7pntEtjGXC6jSqt1HTwQs
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Please find attached patches that allow building GNU Global v6.6.14 on
Fedora GNU/Linux v42 and v43. The first three are straight forward:

1. When looking for Universal Ctags, use option `--extras'. The code
    does this, but configure was using `--extra'.

2. When looking for libsqlite3, add /usr/lib64 to the search path.

3. Address a GNU C v15 compilation error: assignment from incompatible
    pointer type 'int (*)(void)'. The fix is to conditionally add
    prototypes to dberr masks.

Many modern systems come with Gnulib. So either GNU Global could link
against the system Gnulib, or, alternatively, the Gnulib `bootstrap'
script could be added to the GNU Global distribution. Gnulib bootstrap
downloads Gnulib modules as needed. See:

https://cgit.git.savannah.gnu.org/cgit/gnulib.git/tree/top/bootstrap

One complication is that the function hash_string is no longer
included in Gnulib.

4. So the final patch is an attempt to address these issues in
    minimalist (lazy) way: If the system provides regcomp and
    getopt_long, then the system-provided functions are used by
    default. To override this, use the configure option
    `--with-included-regex'. An updated version of the hash_string
    function by Bruno Haible is added directly to libutil/strhash.c.
    The function is described in the article:

    https://www.haible.de/bruno/hashfunc.html

A more correct approach might be to leverage Gnulib's bootstrap script
and update strhash.c to use current Gnulib hash functions. If I had
more time, I would have liked to offer an alternative patch for this.
The current Gnulib does have lots of overhead, so maybe the included
patch will be acceptable compromise.

--------------egM7pntEtjGXC6jSqt1HTwQs
Content-Type: text/x-patch; charset=UTF-8; name="uctags-extras-option.diff"
Content-Disposition: attachment; filename="uctags-extras-option.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBlZjJjOWM2
Li41YTllNDE1IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFj
CkBAIC0zNDMsNyArMzQzLDcgQEAgQUNfQVJHX1dJVEgodW5pdmVyc2FsLWN0YWdzLAogCXdp
dGh2YWw9CiAJZm9yIGQgaW4gYGVjaG8gJFBBVEggfCBzZWQgLWUgJ3MvXjovLjovJyAtZSAn
cy86Oi86LjovZycgLWUgJ3MvOiQvOi4vJyAtZSAncy86LyAvZydgCiAJZG8KLQkJaWYgdGVz
dCAteCAiJGQvY3RhZ3MiICYmIChzaCAtYyAiJyRkL2N0YWdzJyAtLV94Zm9ybWF0PSclUiAl
LTE2TiAlNG4gJS0xNkYgJUMnIC0tZXh0cmE9K3IgLS1maWVsZHM9K3IgLXggL2Rldi9udWxs
IikgPiAvZGV2L251bGwgMj4mMTsgdGhlbgorICAgICAgICAgICAgICAgIGlmIHRlc3QgLXgg
IiRkL2N0YWdzIiAmJiAoc2ggLWMgIickZC9jdGFncycgLS1feGZvcm1hdD0nJVIgJS0xNk4g
JTRuICUtMTZGICVDJyAtLWV4dHJhcz0rciAtLWZpZWxkcz0rciAteCAvZGV2L251bGwiKSA+
IC9kZXYvbnVsbCAyPiYxOyB0aGVuCiAJCQl3aXRodmFsPSIkZC9jdGFncyIKIAkJCWJyZWFr
CiAJCWZpCg==
--------------egM7pntEtjGXC6jSqt1HTwQs
Content-Type: text/x-patch; charset=UTF-8; name="lib64-sqlite3.diff"
Content-Disposition: attachment; filename="lib64-sqlite3.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA1YTllNDE1
Li4yNWU1N2NlIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFj
CkBAIC0yNDcsOCArMjQ3LDEwIEBAIEFDX0FSR19XSVRIKHNxbGl0ZTMsCiAJCQlpZiAhIHRl
c3QgLXIgIiR3aXRodmFsL2luY2x1ZGUvc3FsaXRlMy5oIjsgdGhlbgogCQkJCUFDX01TR19F
UlJPUihbaGVhZGVyICR3aXRodmFsL2luY2x1ZGUvc3FsaXRlMy5oIG5vdCBmb3VuZC5dKQog
CQkJZmkKLQkJCWlmICEgdGVzdCAtciAiJHdpdGh2YWwvbGliL2xpYnNxbGl0ZTMuc28iICYm
ICEgdGVzdCAtciAiJHdpdGh2YWwvbGliL2xpYnNxbGl0ZTMuZHlsaWIiOyB0aGVuCi0JCQkJ
QUNfTVNHX0VSUk9SKFtsaWJyYXJ5ICR3aXRodmFsL2xpYi9saWJzcWxpdGUzLiogbm90IGZv
dW5kLl0pCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAhIHRlc3QgLXIgIiR3aXRodmFs
L2xpYi9saWJzcWxpdGUzLnNvIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYg
ISB0ZXN0IC1yICIkd2l0aHZhbC9saWI2NC9saWJzcWxpdGUzLnNvIiBcCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJiYgISB0ZXN0IC1yICIkd2l0aHZhbC9saWIvbGlic3FsaXRl
My5keWxpYiI7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNfTVNH
X0VSUk9SKFtsaWJyYXJ5ICR3aXRodmFsL2xpYiovbGlic3FsaXRlMy4qIG5vdCBmb3VuZC5d
KQogCQkJZmkKIAkJCUFNX0NPTkRJVElPTkFMKFVTRV9TUUxJVEUzX1ZFTkRPUkVELCBmYWxz
ZSkKIAkJCUFNX0NQUEZMQUdTPSIkQU1fQ1BQRkxBR1MgLUkkd2l0aHZhbC9pbmNsdWRlIgo=

--------------egM7pntEtjGXC6jSqt1HTwQs
Content-Type: text/x-patch; charset=UTF-8; name="dberr-mask-prototypes.diff"
Content-Disposition: attachment; filename="dberr-mask-prototypes.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL2xpYmRiL2NvbXBhdC5oIGIvbGliZGIvY29tcGF0LmgKaW5kZXggOWM1
MjIxOS4uZjMzMTQ5OCAxMDA2NDQKLS0tIGEvbGliZGIvY29tcGF0LmgKKysrIGIvbGliZGIv
Y29tcGF0LmgKQEAgLTgzLDYgKzgzLDE0IEBAIHN0YXRpYyBpbnQgX19zaWd0ZW1wOwkJLyoq
PCBGb3IgdGhlIHVzZSBvZiBzaWdwcm9jbWFzayAqLwogI2VuZGlmCiAjZW5kaWYKIAorI2lm
bmRlZiBfX1AKKyNpZm5kZWYgX19TVERDX18KKyMgZGVmaW5lIF9fUChwcm90bykgKCkKKyNl
bHNlCisjIGRlZmluZSBfX1AocHJvdG8pIHByb3RvCisjZW5kaWYgIC8qIF9fU1REQ19fICov
CisjZW5kaWYgIC8qIF9fUCAqLworCiAvKiBDb21wYXRpYmlsaXR5IG1hY3JvcyAqLwogLyoK
ICAqIE9sZCBkZWZpbml0aW9ucyB3ZXJlIHJld3JpdHRlbiB1c2luZyAnSEFWRV9YWFgnIG1h
Y3Jvcy4KZGlmZiAtLWdpdCBhL2xpYmRiL2RiLmMgYi9saWJkYi9kYi5jCmluZGV4IGQ2NzM0
YTEuLmQxNzc1OGYgMTAwNjQ0Ci0tLSBhL2xpYmRiL2RiLmMKKysrIGIvbGliZGIvZGIuYwpA
QCAtODksMTAgKzg5LDEwIEBAIHZvaWQKIF9fZGJwYW5pYyhEQiAqZGJwKQogewogCS8qIFRo
ZSBvbmx5IHRoaW5nIHRoYXQgY2FuIHN1Y2NlZWQgaXMgYSBjbG9zZS4gKi8KLQlkYnAtPmRl
bCA9IChpbnQgKCopKCkpX19kYmVycjsKLQlkYnAtPmZkID0gKGludCAoKikoKSlfX2RiZXJy
OwotCWRicC0+Z2V0ID0gKGludCAoKikoKSlfX2RiZXJyOwotCWRicC0+cHV0ID0gKGludCAo
KikoKSlfX2RiZXJyOwotCWRicC0+c2VxID0gKGludCAoKikoKSlfX2RiZXJyOwotCWRicC0+
c3luYyA9IChpbnQgKCopKCkpX19kYmVycjsKKwlkYnAtPmRlbCA9IChpbnQgKCopX19QKChj
b25zdCBzdHJ1Y3QgX19kYiAqLCBjb25zdCBEQlQgKiwgdV9pbnQpKSlfX2RiZXJyOworCWRi
cC0+ZmQgPSAoaW50ICgqKV9fUCgoY29uc3Qgc3RydWN0IF9fZGIgKikpKV9fZGJlcnI7CisJ
ZGJwLT5nZXQgPSAoaW50ICgqKV9fUCgoY29uc3Qgc3RydWN0IF9fZGIgKiwgY29uc3QgREJU
ICosIERCVCAqLCB1X2ludCkpKV9fZGJlcnI7CisJZGJwLT5wdXQgPSAoaW50ICgqKV9fUCgo
Y29uc3Qgc3RydWN0IF9fZGIgKiwgREJUICosIGNvbnN0IERCVCAqLCB1X2ludCkpKV9fZGJl
cnI7CisJZGJwLT5zZXEgPSAoaW50ICgqKV9fUCgoY29uc3Qgc3RydWN0IF9fZGIgKiwgREJU
ICosIERCVCAqLCB1X2ludCkpKV9fZGJlcnI7CisJZGJwLT5zeW5jID0gKGludCAoKilfX1Ao
KGNvbnN0IHN0cnVjdCBfX2RiICosIHVfaW50KSkpX19kYmVycjsKIH0K
--------------egM7pntEtjGXC6jSqt1HTwQs
Content-Type: text/x-patch; charset=UTF-8; name="use-system-gnulib.diff"
Content-Disposition: attachment; filename="use-system-gnulib.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggNDQ0NTJkYy4u
NmJiZjc2NCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAg
LTExLDcgKzExLDEwIEBACiAjIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogIwogQUNMT0NBTF9BTUZM
QUdTID0gLUkgbTQKLVNVQkRJUlMgPSBsaWJnbGliYyBsaWJ1dGlsIGxpYnBhcnNlciBsaWJs
dGRsIHBsdWdpbi1mYWN0b3J5CitTVUJESVJTID0gbGlidXRpbCBsaWJwYXJzZXIgbGlibHRk
bCBwbHVnaW4tZmFjdG9yeQoraWYgTERBRERfR05VTElCCisJU1VCRElSUyArPSBsaWJnbGli
YworZW5kaWYKIGlmICFVU0VfREIxODVfQ09NUEFUCiAgICAgICAgIFNVQkRJUlMgKz0gbGli
ZGIKIGVuZGlmCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5k
ZXggMjVlNTdjZS4uYmY5ZWVkMSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2Nv
bmZpZ3VyZS5hYwpAQCAtMjUsNiArMjUsNyBAQCBBQ19JTklUKFtHTlUgR2xvYmFsXSxbNi42
LjE0XSkKIEFDX0RFRklORShDT1BZUklHSFRfWUVBUixbIjE5OTYtMjAyNCJdLFtDb3B5cmln
aHQgWWVhcl0pCiBBQ19DT05GSUdfU1JDRElSKGdsb2JhbC9nbG9iYWwuYykKIEFDX0NPTkZJ
R19IRUFERVJTKFtjb25maWcuaDpjb25maWctaC5pbl0pCitBQ19DT05GSUdfTElCT0JKX0RJ
UihbbGliZ2xpYmNdKQogQUNfQ09ORklHX01BQ1JPX0RJUlMoW200XSkKIEFDX1BSRVJFUSgy
LjcxKQogQU1fSU5JVF9BVVRPTUFLRShbMS45LjMgZ251IHN1YmRpci1vYmplY3RzXSkKQEAg
LTIyMCw3ICsyMjEsMzkgQEAgQUNfQVJHX1dJVEgoZGIxODUtY29tcGF0LAogXSxbIHdpdGhf
ZGIxODVfY29tcGF0PW5vIF0pCiBBTV9DT05ESVRJT05BTChbVVNFX0RCMTg1X0NPTVBBVF0s
IFt0ZXN0ICIkd2l0aF9kYjE4NV9jb21wYXQiICE9IG5vXSkKIAotTERBREQ9Jy4uL2xpYnBh
cnNlci9saWJnbG9wYXJzZXIuYSAuLi9saWJ1dGlsL2xpYmdsb3V0aWwuYSAnJERCTElCUkFS
WScgLi4vbGliZ2xpYmMvbGliZ2xvZ2xpYmMuYScKK0xEQUREPScuLi9saWJwYXJzZXIvbGli
Z2xvcGFyc2VyLmEgLi4vbGlidXRpbC9saWJnbG91dGlsLmEgJyREQkxJQlJBUlkKKworQVhf
RlVOQ19HRVRPUFRfTE9ORworCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW5jbHVkZWQg
cmVnZXggaXMgcmVxdWVzdGVkXSkKK0FDX0FSR19XSVRIKFtpbmNsdWRlZC1yZWdleF0sCisg
IFtBU19IRUxQX1NUUklORyhbLS13aXRoLWluY2x1ZGVkLXJlZ2V4XSwKKyAgICBbdXNlIGlu
Y2x1ZGVkIEdOVSByZWdleCBsaWJyYXJ5XSldLAorICAgIFtdLCBbd2l0aF9pbmNsdWRlZF9y
ZWdleD1jaGVja10pCitBQ19NU0dfUkVTVUxUKFskd2l0aF9pbmNsdWRlZF9yZWdleF0pCitp
ZiB0ZXN0ICEgLiIkd2l0aF9pbmNsdWRlZF9yZWdleCIgPSAuJ3llcyc7IHRoZW4KKyAgICBB
Q19DSEVDS19GVU5DUyhbcmVnY29tcF0sCisgICAgICBbd2l0aF9pbmNsdWRlZF9yZWdleD1u
b10sCisgICAgICBbd2l0aF9pbmNsdWRlZF9yZWdleD15ZXMKKyAgICAgICBBQ19NU0dfV0FS
TihbU3lzdGVtIHJlZ2V4IG5vdCBmb3VuZCwgZmFsbGluZyBiYWNrIHRvIGluY2x1ZGVkIHZl
cnNpb25dKV0pCitmaQorQU1fQ09ORElUSU9OQUwoW0xJQkFERF9SRUdFWF0sCisgICAgICAg
IFt0ZXN0IC4iJHdpdGhfaW5jbHVkZWRfcmVnZXgiID0gLid5ZXMnIFwKKyAgICAgICAgICAg
LW8gLiIkYWNfY3ZfZnVuY19nZXRvcHRfbG9uZyIgIT0gLid5ZXMnXSkKK0FNX0NPTkRfSUYo
W0xJQkFERF9SRUdFWF0sCisgIFtMREFERD0iJExEQUREIC4uL2xpYmdsaWJjL2xpYmdsb2ds
aWJjLmEiCisgICBBQ19ERUZJTkUoW0hBVkVfUkVHX1NZTlRBWF9UXSwgWzFdLAorICAgIFtE
ZWZpbmUgdG8gMSBpZiByZWdleC5oIGRlZmluZXMgYHJlZ19zeW50YXhfdCcuXSldLAorICBb
QUNfQ0hFQ0tfVFlQRVMoW3JlZ19zeW50YXhfdF0sCisgICAgW0FDX0RFRklORShbSEFWRV9S
RUdfU1lOVEFYX1RdLCBbMV0sCisgICAgICBbRGVmaW5lIHRvIDEgaWYgcmVnZXguaCBkZWZp
bmVzIGByZWdfc3ludGF4X3QnLl0pXSxbXSwKKyAgICAgIFtbI2luY2x1ZGUgPHN5cy90eXBl
cy5oPgorI2luY2x1ZGUgPHJlZ2V4Lmg+XV0pXSkKKworQU1fQ09ORElUSU9OQUwoW0xEQURE
X0dOVUxJQl0sCisgIFt0ZXN0IC4iJHdpdGhfaW5jbHVkZWRfcmVnZXgiID0gLid5ZXMnIFwK
KyAgICAgLW8gLiIkYWNfY3ZfZnVuY19nZXRvcHRfbG9uZyIgIT0gLid5ZXMnXSkKKwogZG5s
CiBkbmwgVXNlIHNxbGl0ZTMgQVBJLgogZG5sCmRpZmYgLS1naXQgYS9saWJ1dGlsL3N0cmhh
c2guYyBiL2xpYnV0aWwvc3RyaGFzaC5jCmluZGV4IDM5M2EwNjkuLjg3OWJhZTUgMTAwNjQ0
Ci0tLSBhL2xpYnV0aWwvc3RyaGFzaC5jCisrKyBiL2xpYnV0aWwvc3RyaGFzaC5jCkBAIC0y
MCw2ICsyMCw3IEBACiAjaWZkZWYgSEFWRV9DT05GSUdfSAogI2luY2x1ZGUgPGNvbmZpZy5o
PgogI2VuZGlmCisjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAj
aW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTcyLDkgKzczLDI3
IEBAIHN0cmhhc2hfY2xvc2UoaGFzaCk7CQkJCS8vIGZyZWUgcmVzb3VyY2VzLgogCiAjZGVm
aW5lIG9ic3RhY2tfY2h1bmtfYWxsb2MgY2hlY2tfbWFsbG9jCiAjZGVmaW5lIG9ic3RhY2tf
Y2h1bmtfZnJlZSBmcmVlCisjZGVmaW5lIExPTkdCSVRTIChDSEFSX0JJVCAqIHNpemVvZihs
b25nKSkKKworLyogU291cmNlOiBodHRwczovL3d3dy5oYWlibGUuZGUvYnJ1bm8vaGFzaGZ1
bmMuaHRtbCAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcKK2NvbXB1dGVfaGFzaHZhbCAoY29u
c3Qgdm9pZCAqa2V5LCBzaXplX3Qga2V5bGVuKQoreworICBzaXplX3QgY250OworICB1bnNp
Z25lZCBsb25nIGludCBodmFsOworCisgIGNudCA9IDA7CisgIGh2YWwgPSBrZXlsZW47Cisg
IHdoaWxlIChjbnQgPCBrZXlsZW4pCisgICAgeworICAgICAgaHZhbCA9IChodmFsIDw8IDkp
IHwgKGh2YWwgPj4gKExPTkdCSVRTIC0gOSkpOworICAgICAgaHZhbCArPSAodW5zaWduZWQg
bG9uZyBpbnQpICooKChjaGFyICopIGtleSkgKyBjbnQrKyk7CisgICAgfQorICByZXR1cm4g
aHZhbCAhPSAwID8gaHZhbCA6IH4oKHVuc2lnbmVkIGxvbmcpIDApOworfQogCiAvKioKLSAq
IHN0cmhhc2hfb3Blbjogb3BlbiBzdHJpbmcgaGFzaCB0YWJsZS4KKyAqIHN0cmhhc2hfb3Bl
bjogb3BlbiAgaGFzaCB0YWJsZS4KICAqCiAgKglAcGFyYW1baW5dCWJ1Y2tldHMJIHNpemUg
b2YgYnVja2V0IHRhYmxlCiAgKglAcmV0dXJuCXNoCVNUUkhBU0ggc3RydWN0dXJlCkBAIC0x
MDgsNyArMTI3LDggQEAgc3RyaGFzaF9vcGVuKGludCBidWNrZXRzKQogc3RydWN0IHNoX2Vu
dHJ5ICoKIHN0cmhhc2hfYXNzaWduKFNUUkhBU0ggKnNoLCBjb25zdCBjaGFyICpuYW1lLCBp
bnQgZm9yY2UpCiB7Ci0Jc3RydWN0IHNoX2hlYWQgKmhlYWQgPSAmc2gtPmh0YWJbX19oYXNo
X3N0cmluZyhuYW1lKSAlIHNoLT5idWNrZXRzXTsKKyAgICAgICAgc3RydWN0IHNoX2hlYWQg
KmhlYWQgPQorICAgICAgICAgICZzaC0+aHRhYltjb21wdXRlX2hhc2h2YWwobmFtZSwgc3Ry
bGVuKG5hbWUpKSAlIHNoLT5idWNrZXRzXTsKIAlzdHJ1Y3Qgc2hfZW50cnkgKmVudHJ5Owog
CiAJLyoK

--------------egM7pntEtjGXC6jSqt1HTwQs--