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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.