Created attachment 251428 [details] Patch for libxml2 This will be a "Meta" PR, at least libxslt will also be needed to updated at the same time. Compile tested on FreeBSD 14.0-RELEASE (amd64) (make, make check-plist, make test) Compile tested on FreeBSD 14.1-RELEASE (aarch64) (make, make check-plist, make test) Poudriere testport OK 13.2-RELEASE (amd64) Poudriere testport OK 14.0-RELEASE (amd64) Tested with all listed consumers (including ones for py-libxml2) on freshports.org on 13.2-RELEASE (amd64) using Poudriere: https://pdr2.bofh.network/build.html?mastername=132-diizzy&build=2024-06-12_15h36m18s
I have a patch for libxslt ready which I'll submit soon, for now we can work on the fallout of ports that are already known (see link to pdr2).
Comment on attachment 251428 [details] Patch for libxml2 This needs the legacy option exposed and enabled by default, amongst other things. Will reduce the fallout somewhat. Also note that meson is now available. Upstream still indirectly recommends autotools for Unix-like systems, especially as evidenced by their CI.
It would be great if we could do without legacy as we're essentially just pushing work in front of us for a later date by using it. Ports that have ~dead/inactive upstream and no users in tree textproc/diffmark - Abandonware (should be marked as unfetchable at least) also removes... textproc/p5-XML-DifferenceMarkup textproc/liblingoteach - Abandonware (last activity ~20 years ago) also removes... misc/lingoteach devel/libiqxmlrpc - ~ Abandonware, upstream requests patches textproc/libcroco - Needs patch, deprecated/dead and already removed in other repos such as Debian and Fedora Compatibility: databases/spatialite - Probably needs the http functionality in libxml2 enabled to keep if the libxml module is enabled There are also a few compatibility patches recently added to upstream libxml2 repo: https://gitlab.gnome.org/GNOME/libxml2/-/commit/599ceaffad97faff9e77a3237d319f18cdc2984a https://gitlab.gnome.org/GNOME/libxml2/-/commit/bd208d5fe110999b17ef88d45648e2a248dc964e Even without these (for now) we can try to prepare as much as possible. General note, Most of the fallout is from 2.12.X which we didn't import due the amount of work required to migrate to 2.11.X.
No, I've actually had 2.12 in my own WIP tree this entire time, but yes even with legacy exposed and enabled by default some downstream stuff had to give. This is one of those ports where you cannot only account for ports consumers. Further, it's not so much work for us, but the consumers' upstream projects need time and effort to migrate from the legacy APIs. Legacy stays.
Updated list regarding http functionality, databases/spatialite - Probably needs the http functionality in libxml2 enabled to keep the libxml module is enabled cad/openvsp - Probably depends on the http functionality in libxml2
Created attachment 251475 [details] Patch for libxml2 v2 Enable http module as some ports requires this functionality such as databases/spatialite and cad/openvsp
Created attachment 251491 [details] Patch for libxml2 v3 Backport upstream commits: 95939d6ea3718c458620eeda850add549cd07e99 7c3151903da31efb7a42f3e27857f9f7df6f88e1 b61a960bf6dba639b310646300a1fc21ef473afc References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/95939d6ea3718c458620eeda850add549cd07e99 https://gitlab.gnome.org/GNOME/libxml2/-/commit/7c3151903da31efb7a42f3e27857f9f7df6f88e1 https://gitlab.gnome.org/GNOME/libxml2/-/commit/b61a960bf6dba639b310646300a1fc21ef473afc
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=14ef9b0ef00043e34cd1f0f9611667503ebe1006 commit 14ef9b0ef00043e34cd1f0f9611667503ebe1006 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:16:18 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 textproc/p5-XML-DifferenceMarkup: Deprecate and set expiration date to 2024-07-16 Depends on deprecated port textproc/diffmark PR: 279705 Approved by: portmgr (blanket) textproc/p5-XML-DifferenceMarkup/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=e1a4636af2dc1f4e3b002b6458371ee3fa558155 commit e1a4636af2dc1f4e3b002b6458371ee3fa558155 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:26:12 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:53 +0000 devel/libiqxmlrpc: Deprecate and set expiration date to 2024-07-16 Fails to build with libxml2 2.13.0 PR: 279705 devel/libiqxmlrpc/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=86be50192c1a97237c9923dc878cae46e2f6a3f2 commit 86be50192c1a97237c9923dc878cae46e2f6a3f2 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:20:58 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 textproc/liblingoteach: Deprecate and set expiration date to 2024-07-16 Abandonware, last activity 18+ years ago and fails to build with libxml2 2.13.0 PR: 279705 textproc/liblingoteach/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=0fea4d9fc1398edf126dd255c5490c32af6f2c58 commit 0fea4d9fc1398edf126dd255c5490c32af6f2c58 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:23:11 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 misc/lingoteach: Deprecate and set expiration date to 2024-07-16 Depends on deprecated port textproc/liblingoteach PR: 279705 misc/lingoteach/Makefile | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=20ee0c7068c50c85dabfb99e1d3a86ada9fdab32 commit 20ee0c7068c50c85dabfb99e1d3a86ada9fdab32 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-06-16 16:13:14 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-06-16 16:35:52 +0000 textproc/diffmark: Deprecate and set expiration date to 2024-07-16 Deprecate as port fails to build with libxml2 2.13.0 and upstream is gone PR: 279705 textproc/diffmark/Makefile | 4 ++++ 1 file changed, 4 insertions(+)
Comment on attachment 251491 [details] Patch for libxml2 v3 Backports are fine otherwise
Created attachment 251599 [details] Patch for libxml2 v4 Update to 2.13.1 Remove deprecated MEM_DEBUG option New mini-exp run can be found here: https://pdr2.bofh.network/build.html?mastername=140-diizzy&build=libxml2-2131
Created attachment 251644 [details] Patch for libxml2 v5 Backport upstream patches aaa24ca6be56d1573357c88ac82a1542f832576d, 7759765c6c3fcd0735fe7caeb83f1be0f2da7775 and MR 266 References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/aaa24ca6be56d1573357c88ac82a1542f832576d https://gitlab.gnome.org/GNOME/libxml2/-/commit/7759765c6c3fcd0735fe7caeb83f1be0f2da7775 https://gitlab.gnome.org/GNOME/libxml2/-/merge_requests/266
Created attachment 251885 [details] Patch for libxml2 v6
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=8e35b11ca62acfd1e1cb81506c64f3ad773521d9 commit 8e35b11ca62acfd1e1cb81506c64f3ad773521d9 Author: Daniel Engberg <diizzy@FreeBSD.org> AuthorDate: 2024-07-06 11:40:15 +0000 Commit: Daniel Engberg <diizzy@FreeBSD.org> CommitDate: 2024-07-06 12:02:09 +0000 games/manaplus: Deprecate and set expiration date to 2024-08-06 Fails to build with libxml2 2.13.2, unmaintained for years and very little activity upstream for the past 2 years PR: 279705 games/manaplus/Makefile | 3 +++ 1 file changed, 3 insertions(+)
New run here: https://pdr2.bofh.network/build.html?mastername=140-diizzy&build=libxml2-2132-libxslt-1142-run1 PRs applied: 279705, 279741, 279976 and 279956 Ignore tclxml, that's my fault
Created attachment 252032 [details] v7 Back to autotools. LEGACY option added and enabled by default, resurrect STATIC, both for the benefit of consumers not in the tree. LEGACY implies http, lzma and zlib, which can be exposed as separate options. Rename the python child port to textproc/libxml2-python, as the Python package name is "libxml2-python" (and not "libxml2"). Currently has USE_PYTHON=distutils despite a pyproject.toml existing (USE_PYTHON=pep517) but need to slightly modify python.mk to allow the parent port's do-configure to run (setup.py is generated).
Created attachment 252033 [details] Patch for libxml2 v7 Backport upstream patches dd5adf54c9a2edd452ff828277d85b1d18431d75, e30cb632e734394ddbd7bd62b57cee3586424352 and bf43e8a888cbee75e13622fea8a722b9d166c437 References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/dd5adf54c9a2edd452ff828277d85b1d18431d75 https://gitlab.gnome.org/GNOME/libxml2/-/commit/e30cb632e734394ddbd7bd62b57cee3586424352 https://gitlab.gnome.org/GNOME/libxml2/-/commit/bf43e8a888cbee75e13622fea8a722b9d166c437
Created attachment 252189 [details] Patch for libxml2 v8 Backport upstream patches 8699ba234b5a1328f0f30ca739b8f1dbc90ccf5e, a0330b53c8034bb79220e403e8d4ad8c23ef088f and ed8b4264f65b1ced1e3b13967dd1cf90102cfa40 References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/8699ba234b5a1328f0f30ca739b8f1dbc90ccf5e https://gitlab.gnome.org/GNOME/libxml2/-/commit/a0330b53c8034bb79220e403e8d4ad8c23ef088f https://gitlab.gnome.org/GNOME/libxml2/-/commit/ed8b4264f65b1ced1e3b13967dd1cf90102cfa40
Created attachment 252261 [details] Patch for libxml2 v9 Update to 2.13.3
Created attachment 253697 [details] Patch for libxml2 v10
Created attachment 255146 [details] Patch for libxml2 v11
Is there any timeframe for this update to happen?
The "major" blocker is www/webkit2-gtk* (listed in 279741) which is outdated (by ~2 years) and from what I can tell by looking at upstream supposedly have multiple CVE issues. If someone wants to "hotfix" it feel free to submit a patch otherwise we're looking at ~100 desktop ports or so not being available. x11-toolkits/wxgtk3* also depends on webkit2-gtk so that's why it's so "many" ports being affected.
Hi, I'd like to request an exp-run with following patches applied, https://bugs.freebsd.org/bugzilla/attachment.cgi?id=255146 (this PR) https://bugs.freebsd.org/bugzilla/attachment.cgi?id=251682 (PR 279976) https://bugs.freebsd.org/bugzilla/attachment.cgi?id=251886 (PR 279741) Best regards, Daniel
Please combine all the patches in 1 patch
Created attachment 257570 [details] Exp-run patch Patch for exp-run
Some new failure logs: https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/cava-0.10.2_2.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/pinot-1.21_16.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/recoll-1.33.1_8.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/libaravis-0.8.20_3.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/php81-pear-1.10.13.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/apache-openoffice-4.1.15_4.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/apache-openoffice-devel-4.2.1731847285_3,4.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/citra-s20220902_3.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/virtualbox-ose-6.1.50_8.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/virtualbox-ose-legacy-5.2.44_27.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/virtualbox-ose-nox11-6.1.50_8.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/virtualbox-ose-nox11-legacy-5.2.44_27.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/connectagram-1.3.7.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/cutemaze-1.3.5.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/gottet-1.2.6.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/tanglet-1.6.7.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/librsvg2-2.40.21_4.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/rawstudio-2.0_26.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/openjfx14-14.0.2.1+1_16.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/py311-igraph-0.10.6_5.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/scilab-6.1.1_21.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/zabbix5-proxy-5.0.45.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/zabbix5-server-5.0.45.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/guacamole-server-1.5.5.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/yazproxy-1.3.9_3.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/orthanc-1.12.6.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/hs-cardano-cli-10.4.0.0.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/p5-XML-GDOME-0.86_5.log https://pkg-status.freebsd.org/gohan04/data/141amd64-default-foo/2025-02-18_07h40m21s/logs/errors/compiz-0.8.8_15.log
Created attachment 257626 [details] Patch for libxml2 v12 Version 2.13.6 , fixes CVEs
Since there doesn't seem to be any further progress on the remaining issues and there's nothing major known broken I'm going to suggest that we push libxml2 and friends this weekend and mark the rest as broken. This will also give us about one month to iron out the remaining ports (if anyone still wants to spend time on those) otherwise they'll be sunset and the tree will have versions supported by upstreams.
For zabbix5 ports, I'll update them as soon as the libxml2 update will be done.
(In reply to Daniel Engberg from comment #32) With desktop@ hat: absolutely not. The use of cmake is still not approved, and the legacy option is still missing. Having legacy enabled by default can significantly cut down on breakages. And again, libxslt needs to be approved and committed first.
This exp-run is not valid. Another will be requested later. This and libxslt need to be run and committed separately, as (slightly) newer libxslt can run with (slightly) older libxml2, but not necessarily the other way around. Some failures stem from libxslt, and not necessarily libxml2, changing things. Also for the aforementioned lack of the LEGACY option enabled by default.
(In reply to Charlie Li from comment #35) It's perfectly valid and you haven't listed any actual issues like the last time you tried to do the same and got told to stop being obstructive. Unit tests are as you've been told before are there for a reason.
(In reply to Daniel Engberg from comment #36) The actual issues that you choose to ignore are still present. Updated patches are inbound.
Created attachment 258048 [details] v13 - back to autotools - introduce legacy option - move Python child port to the correct package name - remove ICU option, broken and not upstream-recommended Once again, upstream designates autotools "for POSIX systems like Linux, BSD, macOS" directly in its README.md under build instructions. Until upstream changes this exact verbiage, no other arguments to using other provided build systems will be considered. Any exp-run has to be ran with the legacy option enabled. This is the FreeBSD ports tree where we have a diverse collection of software that is not necessarily always fully-updated or caught up to API/ABI changes. Yes, we should encourage keeping up-to-date, but it's ultimately up to each individual maintainer, both here and upstream. The legacy option buys time and reduces the supposed "obstruction" in that regard. The Python package name for the child port is libxml2-python, not libxml2. Consumers to have PORTREVISION bumps separately.
Comment on attachment 258048 [details] v13 And for the record, with autotools, the test suite ran via `make test` completely passes.
(In reply to Charlie Li from comment #39) You have yet to show what acutally breaks instead of just throwing around words, you're the only one obstructing similar to other PRs. Another exp-run is not need until 2.14 is out which is right around the corner and this way will skip a lot of ports as many also utilizes libxslt.
Created attachment 259342 [details] Patch for libxml2 v14 Backport upstream commits 19de8b47b1fe4b87b06bc6b89f5ee9697870a0ad and 5f3ca31dbb33abda5807dbc2e36d47417f43ed02 Notable changes: * Version script is removed upstream https://gitlab.gnome.org/GNOME/libxml2/-/commit/eed1a07d055d9592f13f42e9cc786f9664e733a5 * Trailing null bytes are detected as errors https://gitlab.gnome.org/GNOME/libxml2/-/issues/886 Issue(s) to monitor: https://gitlab.gnome.org/GNOME/libxml2/-/issues/889 References: https://gitlab.gnome.org/GNOME/libxml2/-/commit/19de8b47b1fe4b87b06bc6b89f5ee9697870a0ad https://gitlab.gnome.org/GNOME/libxml2/-/commit/5f3ca31dbb33abda5807dbc2e36d47417f43ed02
Created attachment 259343 [details] Exp-run patch
Hi, I'd like to request a new exp-run for 2.14-branch, patch is attched. Thanks in advance!
(In reply to Daniel Engberg from comment #43) Nope, not yet. ICU option needs to go, legacy option has to remain, Python child port name is still wrong. Also needs to be autotools still. In fact, since HTTP and LZMA are not part of the legacy option, may need to explore putting them in a legacy option group (enabled by default).
Comment on attachment 259343 [details] Exp-run patch Includes change suggested in PR 285738
(In reply to Charlie Li from comment #44) I'm going to simply direct you to portmgr at this point since you show the same tendencies as in 271673. ICU doesn't need to go and either way it doesn't affect the exp-run.
(In reply to Daniel Engberg from comment #46) Reminder that you are not the maintainer of this port. There are actual technical issues that need addressing. Also should not be requesting exp-runs when there are known unresolved breakages that should be fixed first. ICU was only implemented for exactly one use case: Chrome. As long as it still builds and our Chrome ports still need it, then it can stay but upstream does have it on the chopping block: https://gitlab.gnome.org/GNOME/libxml2/-/issues/819
(In reply to Charlie Li from comment #47) It's not a requirement and even so everyone is free to join any group if you want to use that card. You have yet to turn your claims into something that's usable information. What breakage are you talking about that we don't already know about that isn't documented? You've been asked multiple times and have yet to provide information. We also want to preserve POLA which have been brought up several times during port renaming discussions.
Created attachment 259556 [details] Patch for libxml2 v15 Fixes CVE-2025-32414 Backport upstream commits: 81f76df74f28a87680e3acbe8bfe5937b1315898 53d259454161eee801d22c56e08ea331b4c495b5 https://gitlab.gnome.org/GNOME/libxml2/-/commit/81f76df74f28a87680e3acbe8bfe5937b1315898 https://gitlab.gnome.org/GNOME/libxml2/-/commit/53d259454161eee801d22c56e08ea331b4c495b5
Created attachment 259641 [details] Patch for libxml v16 Fixes CVE-2025-32415
Hi, I'd like to request a new exp-run for the 2.14 series Thanks in advance, Daniel