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).
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.
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.
(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
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.
(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.
Sorry I misread, indeed we are in agreement.
Portname seems a bit odd, can't we just stick with dpdk19 , dpdk20 etc?
pkg-descr --> https
(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.
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.
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.
(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.