Bug 254404 - net/dpdk-20.11: Add DPDK v20.11 release port
Summary: net/dpdk-20.11: Add DPDK v20.11 release port
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Vanilla I. Shu
Depends on:
Reported: 2021-03-19 11:33 UTC by Bruce Richardson
Modified: 2021-03-29 08:06 UTC (History)
3 users (show)

See Also:

Diff file for new DPDK 20.11 port (59.46 KB, patch)
2021-03-19 11:33 UTC, Bruce Richardson
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Bruce Richardson 2021-03-19 11:33:27 UTC
Created attachment 223422 [details]
Diff file for new DPDK 20.11 port

The latest DPDK release series based off DPDK 20.11 is ABI incompatible with the 19.11 release in the existing net/dpdk port, so add it as a new port instead to avoid breaking any existing apps with the update.

NOTE: since DPDK stable releases are supported for up to 2 years only, and since ABI breaks are allowed at most once a year, there will only ever be two currently-supported versions of DPDK at any one time. Currently, this is 19.11 (net/dpdk) and 20.11 (net/dpdk-20.11).
Comment 1 Li-Wen Hsu freebsd_committer 2021-03-19 11:39:43 UTC
Is 20.11 more recommended to use in the production?  If so, maybe we can copy/rename net/dpdk to net/dpdk19 and update net/dpdk to 20.11.
Comment 2 Bruce Richardson 2021-03-19 11:51:35 UTC
I'd be ok with renaming "dpdk" to "dpdk-19.11" since 20.11 is definitely more preferred. However, if we rename, will it cause a "pkg update" to silently update a 19.11 version package to a 20.11 version one? That might break some user apps.
Comment 3 Li-Wen Hsu freebsd_committer 2021-03-19 12:06:11 UTC
(In reply to Bruce Richardson from comment #2)
Silently updating is a valid concern.  Although I personally think people should be aware of pkg-message or UPDATING, having mistake-proofing is absolutely a good idea.

So, let's add 20.11 port with version suffix, and add it as copy&rename from net/dpdk to keep the history.

When the newer version comes out, say 21.11, can I assume that the plan is:
  1. deprecate net/dpdk (19.11 is not supported)
  2. copy&rename net/dpdk-20.11 to net/dpdk-21.11 and update it to 21.11
Comment 4 Bruce Richardson 2021-03-19 12:11:03 UTC
Yes for deprecating net/dpdk, but rather than renaming 20.11, I intended to add a new 21.11 folder, so that both supported release series would again be available - without silent updates. However, if this is not the normal way to handle ABI incompatible releases, I'm open to other suggestions.
Comment 5 Li-Wen Hsu freebsd_committer 2021-03-19 12:17:19 UTC
(In reply to Bruce Richardson from comment #4)
I believe we're thinking the same thing.  The plan is of course keeping the both supported version.  Please note that I was saying "copy&rename" not "rename" only.  It's for keeping the history.  Although it might not be so useful after migrating to git, but that's what the process in svn.
Comment 6 Bruce Richardson 2021-03-19 12:18:40 UTC
Sorry I misread, indeed we are in agreement.
Comment 7 Daniel Engberg 2021-03-25 20:17:53 UTC
Portname seems a bit odd, can't we just stick with dpdk19 , dpdk20 etc?

pkg-descr --> https
Comment 8 Li-Wen Hsu freebsd_committer 2021-03-25 23:23:05 UTC
(In reply to daniel.engberg.lists from comment #7)
Adding as net/dpdk20 sounds fine to me. Bruce, are you also fine with it?

I feel it doesn't give us much benefit to rename net/dpdk to net/dpdk19. The only reason I can image is the un-suffixed name may implicitly mean that it's the primary recommended version.  I am fine with both and would like to listen maintainer's opinion.

I am busy recently, if no committer works on it, I'll take care of it later of next week.
Comment 9 Bruce Richardson 2021-03-26 09:12:31 UTC
DPDK20 would not be a particularly good name, as there were multiple releases of DPDK during 2020: 20.02, 20.05, 20.08 and finally 20.11 which is the LTS release of the 4.

If it really is unwanted to have the full release name, DPDK-21 would be better as the ABI version for 20.11 is the 21-ABI, but for anyone familiar with DPDK that would still be confusing as folks are used to the YY-MM numbering scheme.
Comment 10 Daniel Engberg 2021-03-27 22:04:34 UTC
I'm a bit confused, are we planning to have all releases in ports tree simultaneously otherwise it seems a bit excessive to create a new port ~every quarter.
Comment 11 Bruce Richardson 2021-03-29 08:06:18 UTC
(In reply to daniel.engberg.lists from comment #10)

No, the thinking is to only have the LTS releases from each year (the YY.11 releases) in the ports tree. Since these are supported for only 2 years, that would only ever mean two releases in the ports tree simultaneously.