Re: git: 3082cab3f868 - main - net/wifi-firmware-*: add framework and firmware for various WiFi chipsets

From: Rene Ladan <rene_at_freebsd.org>
Date: Sat, 22 Apr 2023 19:46:03 UTC
On Sat, Apr 22, 2023 at 07:06:40PM +0000, Bjoern A. Zeeb wrote:
> On Sat, 22 Apr 2023, Emmanuel Vadot wrote:
> 
> > On Sat, 22 Apr 2023 15:55:45 +0000
> > Rene Ladan <rene@freebsd.org> wrote:
> >
> >> On Sat, Apr 22, 2023 at 03:26:08PM +0000, Bjoern A. Zeeb wrote:
> >>> The branch main has been updated by bz:
> >>>
> >>> URL: https://cgit.FreeBSD.org/ports/commit/?id=3082cab3f868c1f7538d5221080703d891a2d0a6
> >>>
> >>> commit 3082cab3f868c1f7538d5221080703d891a2d0a6
> >>> Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
> >>> AuthorDate: 2023-04-09 01:29:48 +0000
> >>> Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
> >>> CommitDate: 2023-04-22 15:21:22 +0000
> >>>
> >>>     net/wifi-firmware-*: add framework and firmware for various WiFi chipsets
> >>>
> >>>     Add a "base port framework" to fetch (WiFi) firmware and license files
> >>>     from the linux-firmware.git repository and an accompanying FreeBSD
> >>>     build kmod framework tarball (for now; we might do without that in
> >>>     the future).
> >>>     Add child ports for Realtek rtw88 and rtw89, Mediatek mt76, and
> >>>     Atheros ath10k and ath11k firmware as a start.
> >>>
> >>>     This is a beginning in order to stop bloating src.git and the
> >>>     installed kernels with lots of MB of firmware files whereas usually
> >>>     only one vebdor/chipset/flavor is needed.  Before fully switching
> >>>     more infrastructure needs to be in place but this is the first and
> >>>     most important step.
> >>>
> >>>     PR:             270742
> >>>     Reviewed by:    lwhsu
> >>>     Approved by:    lwhsu (ports)
> >>>     Differential Revision: https://reviews.freebsd.org/D39487
> >>> ---
> >>>  net/wifi-firmware-ath10k-kmod/Makefile  |  88 ++++++++++++++++++++++++++
> >>>  net/wifi-firmware-ath10k-kmod/distinfo  |  79 ++++++++++++++++++++++++
> >>>  net/wifi-firmware-ath10k-kmod/pkg-descr |   3 +
> >>>  net/wifi-firmware-ath11k-kmod/Makefile  | 105 ++++++++++++++++++++++++++++++++
> >>>  net/wifi-firmware-ath11k-kmod/distinfo  |  23 +++++++
> >>>  net/wifi-firmware-ath11k-kmod/pkg-descr |   3 +
> >>>  net/wifi-firmware-base/Makefile         |  80 ++++++++++++++++++++++++
> >>>  net/wifi-firmware-mt76-kmod/Makefile    |  31 ++++++++++
> >>>  net/wifi-firmware-mt76-kmod/distinfo    |  27 ++++++++
> >>>  net/wifi-firmware-mt76-kmod/pkg-descr   |   5 ++
> >>>  net/wifi-firmware-rtw88-kmod/Makefile   |  34 +++++++++++
> >>>  net/wifi-firmware-rtw88-kmod/distinfo   |  19 ++++++
> >>>  net/wifi-firmware-rtw88-kmod/pkg-descr  |   7 +++
> >>>  net/wifi-firmware-rtw89-kmod/Makefile   |  28 +++++++++
> >>>  net/wifi-firmware-rtw89-kmod/distinfo   |  13 ++++
> >>>  net/wifi-firmware-rtw89-kmod/pkg-descr  |   6 ++
> >>>  16 files changed, 551 insertions(+)
> >>>
> >> Shouldn't these ports be added to net/Makefile ?
> >>
> >> Regards,
> >> René
> >
> > Yes it should, and I really wished this was using flavors like we do
> > for the gpu firmwares. Bjoern if you have questions on how to flavorise
> > those ports don't hesitate to ask.
> 
> You may notice that there are two places in the base port already
> refering to FLAVOR and that the individual ports are split up into
> "FWSUBS" which basically is a flavour later on.
> These had been started very differently initially with changes to Mk/
> and then were rewritten based on feedback.
> I'll be very happy to take this offline with you to sort flavours out
> for each of them.
> 
> For now the reason to have them in first place was the request to not
> further bloat src and that should have happened months ago but on
> initial request no one had offered help.
> Next I'll need to figure out release problems for that.
> 
> 
> For immediate help (before connecting them to the build):
> 
> I also got a report from dvl/freshports that the base port (which should
> never be built) doesn't have a pkg-descr.  Do I need to add that too?
> 
Hmm, I think it is cleaner that way, a placeholder text might do.

<musings>
The internal `make generate-plist` target in bsd.port.mk assumes a pkg-descr
here, and having a pkg-descr avoids a /dev/null entry in INDEX in its place.

The current -base port is not a meta-port in the traditional sense, see
Mk/Uses/metaport.mk and e.g. x11/kde5/Makefile for an example. Personally
it more feels like an extension of USES=kmod.
</musings>

Regards,
René
> /bz
> 
> -- 
> Bjoern A. Zeeb                                                     r15:7