From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3] package/iqvlinux: new package
Date: Sat, 10 Oct 2015 17:04:57 +0200 [thread overview]
Message-ID: <20151010150457.GD3640@free.fr> (raw)
In-Reply-To: <1444397162-5431-1-git-send-email-romain.naour@openwide.fr>
Romain, All,
On 2015-10-09 15:26 +0200, Romain Naour spake thusly:
> The PCI support needs to be checked since this driver is based
> on it. Otherwise the build fail with:
> #error "This driver requires PCI support to be available"
>
> But this message is concealed by several occurrence of this
> one:
> error: implicit declaration of function 'pci_find_bus' [-Werror=implicit-function-declaration]
>
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Arnout Vandecappelle <arnout@mind.be>
[--SNIP--]
> 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?
[--SNIP--]
> diff --git a/package/iqvlinux/iqvlinux.mk b/package/iqvlinux/iqvlinux.mk
> new file mode 100644
> index 0000000..ed98f1f
> --- /dev/null
> +++ b/package/iqvlinux/iqvlinux.mk
> @@ -0,0 +1,34 @@
> +################################################################################
> +#
> +# iqvlinux
> +#
> +################################################################################
> +
> +IQVLINUX_VERSION = 1.1.5.3
> +
> +IQVLINUX_SITE = \
> + http://sourceforge.net/projects/e1000/files/iqvlinux/$(IQVLINUX_VERSION)
> +IQVLINUX_SOURCE = iqvlinux.tar.gz
> +
> +IQVLINUX_LICENSE = GPLv2 or BSD-3c
> +IQVLINUX_LICENSE_FILES = COPYING src/linux/driver/files.txt \
> + inc/linux/files.txt inc/files.txt
> +
> +IQVLINUX_MODULE_MAKE_OPTS = NALDIR=$(@D) KSRC=$(LINUX_DIR) CC=$(TARGET_CC)
Are you sure CC is needed? The kernel buildsystem should already set it, no?
> +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
Regards,
Yann E. MORIN.
> +$(eval $(kernel-module))
> +$(eval $(generic-package))
> --
> 2.4.3
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2015-10-10 15:04 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 [this message]
2015-10-12 20:44 ` Thomas Petazzoni
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=20151010150457.GD3640@free.fr \
--to=yann.morin.1998@free.fr \
--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