Bug 280274 - net/quiche: update to 0.22.0
Summary: net/quiche: update to 0.22.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Zsolt Udvari
URL:
Keywords:
Depends on:
Blocks: 280360
  Show dependency treegraph
 
Reported: 2024-07-14 12:42 UTC by Junho Choi
Modified: 2024-07-22 10:22 UTC (History)
1 user (show)

See Also:


Attachments
net/quiche: update to 0.22.0 (37.77 KB, application/mbox)
2024-07-14 12:42 UTC, Junho Choi
no flags Details
net/quiche: update to 0.22.0 (37.36 KB, patch)
2024-07-14 12:55 UTC, Junho Choi
junho.choi: maintainer-approval+
Details | Diff
Updated based on the review. (37.52 KB, patch)
2024-07-17 11:32 UTC, Junho Choi
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Junho Choi 2024-07-14 12:42:08 UTC
Created attachment 252040 [details]
net/quiche: update to 0.22.0

Bump quiche 0.22.0.
- install .so with a version and make symlink. Now libquiche.so has soname, so need to set it up correctly.
- replace do-build with a default one
- add a default test target
Comment 1 Junho Choi 2024-07-14 12:55:06 UTC
Created attachment 252041 [details]
net/quiche: update to 0.22.0
Comment 2 Zsolt Udvari freebsd_committer freebsd_triage 2024-07-16 18:22:38 UTC
(In reply to Junho Choi from comment #1)
I'd prefer DISTVERSION without macros and derive from it the MAJOR_VER if needed:

DISTVERSION=0.22.0
MAJOR_VER=${DISTVERSION:C|\..*||}

See "man make" (Variable modifiers).

In your case it's hard to find the DISTVERSION.

And could you please check "portfmt -D Makefile" (part of ports-mgmt/portfmt)?
Comment 3 Junho Choi 2024-07-17 11:32:44 UTC
Created attachment 252124 [details]
Updated based on the review.

Updated based on the review.
- extract a MAJOR_VER from DISTVERSION
- portfmt suggestions
Comment 4 Zsolt Udvari freebsd_committer freebsd_triage 2024-07-17 13:44:06 UTC
(In reply to Junho Choi from comment #3)
Now noticed: why do you need link the libraries?
Comment 5 Junho Choi 2024-07-18 01:28:39 UTC
(In reply to Zsolt Udvari from comment #4)

Since 0.22.0 quiche set soname in the shared library generated (libquiche.so).
(https://github.com/cloudflare/quiche/pull/1769).

So it need to install a proper symlink (libquiche.so.0.22.0 ->
libquiche.so.0 -> libquiche.so) to be recognized with ldconfig.
Lacking soname and its link makes shlib dependency check
(pkg check -d) failed.
(https://mail-archive.freebsd.org/cgi/getmsg.cgi?fetch=122421+0+archive/2024/freebsd-ports/20240715.freebsd-ports)
Comment 6 Zsolt Udvari freebsd_committer freebsd_triage 2024-07-18 05:23:10 UTC
(In reply to Junho Choi from comment #5)
The dns/dnsdist doesn't build with newest quiche. Maybe should upgrade dnsdist too?

doq.cc:270:16: error: no matching function for call to 'quiche_conn_stream_send'
  270 |     auto res = quiche_conn_stream_send(conn.d_conn.get(), streamID, &response.at(pos), response.size() - pos, true);
      |                ^~~~~~~~~~~~~~~~~~~~~~~
Comment 7 Junho Choi 2024-07-18 06:53:09 UTC
(In reply to Zsolt Udvari from comment #6)
Looks like so - https://github.com/cloudflare/quiche/releases/tag/0.22.0
describes the function signature change.
I only checked the linking issue, not the build of dnsdist itself...

And yes, dnsdist need to be patched to build with quiche 0.22.0.
Comment 8 Junho Choi 2024-07-18 06:58:07 UTC
Looks like it's already there:
https://github.com/PowerDNS/pdns/commit/e15b9be22b119ca3ab2d717c34d282f4e02b8cbe
Comment 9 Junho Choi 2024-07-18 07:01:07 UTC
This patch is included in dnsdist 1.9.6:
https://dnsdist.org/changelog.html#change-b1adc724e8d0c2c3f7de19ecb32e252a

Ports has 1.9.5 https://www.freshports.org/dns/dnsdist/
Comment 10 Zsolt Udvari freebsd_committer freebsd_triage 2024-07-18 13:34:55 UTC
(In reply to Junho Choi from comment #9)
Thanks for exact information. Would you like update dnsdist and send a PR or shall I do it?
Comment 11 Junho Choi 2024-07-19 03:13:42 UTC
(In reply to Zsolt Udvari from comment #10)
Ok, looks simple, I filed a ticket for updating dnsdist to 1.9.6:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280360
Comment 12 Zsolt Udvari freebsd_committer freebsd_triage 2024-07-19 04:55:19 UTC
(In reply to Junho Choi from comment #11)
Thanks. Waiting for approval and I'll commit.
Comment 13 commit-hook freebsd_committer freebsd_triage 2024-07-22 07:36:52 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=09f836259d2a4dd035f61b27410b32cc74997422

commit 09f836259d2a4dd035f61b27410b32cc74997422
Author:     Junho Choi <junho.choi@gmail.com>
AuthorDate: 2024-07-22 07:28:48 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2024-07-22 07:35:55 +0000

    net/quiche: update to 0.22.0

    Install .so with a version and make symlink. Now libquiche.so has soname, so need
    to set it up correctly.
    Replace do-build with a default one.
    Add a default test target.
    Pet portfmt.

    Changelogs:
    https://github.com/cloudflare/quiche/releases/tag/0.22.0
    https://github.com/cloudflare/quiche/releases/tag/0.21.0

    PR:             280274
    Approved by:    submitter is maintainer

 net/quiche/Makefile        |  29 ++---
 net/quiche/Makefile.crates | 143 +++++++++++-----------
 net/quiche/distinfo        | 288 +++++++++++++++++++++------------------------
 3 files changed, 220 insertions(+), 240 deletions(-)
Comment 14 Zsolt Udvari freebsd_committer freebsd_triage 2024-07-22 07:44:54 UTC
Committed, thanks!
Comment 15 Junho Choi 2024-07-22 10:22:12 UTC
(In reply to Zsolt Udvari from comment #14)

Thanks Zsolt!