From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3] package/iqvlinux: new package
Date: Mon, 12 Oct 2015 22:44:11 +0200 [thread overview]
Message-ID: <20151012224411.472a9d10@free-electrons.com> (raw)
In-Reply-To: <20151010150457.GD3640@free.fr>
Hello,
On Sat, 10 Oct 2015 17:04:57 +0200, Yann E. MORIN wrote:
> > diff --git a/package/iqvlinux/Config.in b/package/iqvlinux/Config.in
> > new file mode 100644
> > index 0000000..275c67e
> > --- /dev/null
> > +++ b/package/iqvlinux/Config.in
> > @@ -0,0 +1,18 @@
> > +config BR2_PACKAGE_IQVLINUX
> > + bool "iqvlinux"
> > + depends on BR2_LINUX_KERNEL
> > + help
> > + Intel Ethernet Adapter Debug Driver for Linux (iqvlinux),
> > + which supports kernel versions 2.6.x up through 4.0.x.
>
> What about 4.1+ ?
>
> Should we do a version-check at configure time, or is there such a check
> already done by the package itself?
I think we don't really care. There are lots of other kernel modules
or Linux kernel extensions (Xenomai, RTAI) for which we don't do such
version checks.
> > +IQVLINUX_MODULE_SUBDIRS = src/linux/driver
> > +
> > +ifeq ($(BR2_PACKAGE_IQVLINUX),y)
> > +define IQVLINUX_PCI_CHECK
> > + @if ! grep -Fqx 'CONFIG_PCI=y' $(LINUX_DIR)/.config; then \
> > + echo "ERROR: Enable CONFIG_PCI in the linux kernel config." 1>&2 ; \
> > + exit 1; \
> > + fi
> > +endef
> > +
> > +# Check if PCI is enabled in the Linux kernel build by Buildroot.
> > +LINUX_POST_CONFIGURE_HOOKS += IQVLINUX_PCI_CHECK
> > +endif
>
> I really do not like that a package meddles in the affairs of another
> package, like setting hooks for it.
>
> I'd rather we add a variable that packages could set to require specific
> kernel config options, something like:
>
> IQVLINUX_LINUX_NEEDS_CONFIG_OPTS = CONFIG_PCI
>
> Then in package/pkg-generic, in the inner-generic-package macro:
>
> LINUX_NEEDS_CONFIG_OPTS += $$($(2)_NEEDS_LINUX_CONFIG)
>
> And finally in linux/linux.mk:
>
> define LINUX_CHECK_CONFIG_OPTS
> $(foreach cfg,$(strip $(LINUX_NEEDS_CONFIG_OPTS)),\
> if ! grep -E '^$(cfg)=y$$' $(@D)/.config >/dev/null; then \
> printf "ERROR: Enable %s in your linux kernel config." "$(cfg)"; \
> exit 1; \
> fi;)
> endef
> LINUX_POST_CONFIGURE_HOOKS += LINUX_CHECK_CONFIG_OPTS
I agree on the principle, but I think we should rather handle that like
we do for other options: enable automatically the needed option.
Remember how someone proposed to check for CONFIG_MODULES=y and error
out if not available? Instead, you implemented
b7c32c98bc810b88e0391117f225658f82b44995.
So a little bit in the direction of what you proposed, what about
refactoring the LINUX_NEEDS_MODULES mechanism into a more generic
mechanism that allows package to express which kernel option(s) they
need, and automatically enable such options in linux/linux.mk when
configuring the kernel.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2015-10-12 20:44 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-09 13:26 [Buildroot] [PATCH v3] package/iqvlinux: new package Romain Naour
2015-10-10 15:04 ` Yann E. MORIN
2015-10-12 20:44 ` Thomas Petazzoni [this message]
2015-10-12 21:16 ` Yann E. MORIN
2015-10-12 21:24 ` Thomas Petazzoni
2015-10-13 7:03 ` Arnout Vandecappelle
2015-10-15 19:39 ` Peter Korsgaard
2015-10-12 21:16 ` Thomas Petazzoni
2015-10-12 21:24 ` Yann E. MORIN
2015-10-12 21:17 ` Thomas Petazzoni
2015-10-13 9:00 ` Romain Naour
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151012224411.472a9d10@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox