* [Buildroot] [PATCH] fio: new package
@ 2013-10-30 15:22 Ezequiel Garcia
2013-12-25 16:34 ` Thomas Petazzoni
0 siblings, 1 reply; 8+ messages in thread
From: Ezequiel Garcia @ 2013-10-30 15:22 UTC (permalink / raw)
To: buildroot
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
---
package/Config.in | 1 +
package/fio/Config.in | 6 ++++++
package/fio/fio.mk | 25 +++++++++++++++++++++++++
3 files changed, 32 insertions(+)
create mode 100644 package/fio/Config.in
create mode 100644 package/fio/fio.mk
diff --git a/package/Config.in b/package/Config.in
index 4c4da51..7cb46aa 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -47,6 +47,7 @@ source "package/dmalloc/Config.in"
source "package/dropwatch/Config.in"
source "package/dstat/Config.in"
source "package/duma/Config.in"
+source "package/fio/Config.in"
source "package/gdb/Config.in"
source "package/iozone/Config.in"
source "package/kexec/Config.in"
diff --git a/package/fio/Config.in b/package/fio/Config.in
new file mode 100644
index 0000000..263e7f5
--- /dev/null
+++ b/package/fio/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_FIO
+ bool "fio"
+ depends on BR2_USE_MMU # fork()
+ help
+ fio is an I/O tool meant to be used both for benchmark
+ and stress/hardware verification.
diff --git a/package/fio/fio.mk b/package/fio/fio.mk
new file mode 100644
index 0000000..60cd14f
--- /dev/null
+++ b/package/fio/fio.mk
@@ -0,0 +1,25 @@
+################################################################################
+#
+# fio
+#
+################################################################################
+
+FIO_VERSION = 2.1.3
+FIO_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/f/fio
+FIO_SOURCE = fio_$(FIO_VERSION).orig.tar.gz
+FIO_LICENSE = GPLv2
+FIO_LICENSE_FILES = LICENSE
+
+define FIO_CONFIGURE_CMDS
+ (cd $(@D); ./configure --cc="$(TARGET_CC)" --extra-cflags="$(TARGET_CFLAGS)")
+endef
+
+define FIO_BUILD_CMDS
+ $(MAKE) -C $(@D)
+endef
+
+define FIO_INSTALL_TARGET_CMDS
+ $(INSTALL) -D $(@D)/fio $(TARGET_DIR)/usr/bin/fio
+endef
+
+$(eval $(generic-package))
--
1.8.1.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fio: new package
2013-10-30 15:22 [Buildroot] [PATCH] fio: new package Ezequiel Garcia
@ 2013-12-25 16:34 ` Thomas Petazzoni
2013-12-25 20:17 ` Ezequiel Garcia
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2013-12-25 16:34 UTC (permalink / raw)
To: buildroot
Dear Ezequiel Garcia,
On Wed, 30 Oct 2013 12:22:25 -0300, Ezequiel Garcia wrote:
> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
> ---
> package/Config.in | 1 +
> package/fio/Config.in | 6 ++++++
> package/fio/fio.mk | 25 +++++++++++++++++++++++++
> 3 files changed, 32 insertions(+)
> create mode 100644 package/fio/Config.in
> create mode 100644 package/fio/fio.mk
Thanks, I've applied this, after making several changes.
>
> diff --git a/package/Config.in b/package/Config.in
> index 4c4da51..7cb46aa 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -47,6 +47,7 @@ source "package/dmalloc/Config.in"
> source "package/dropwatch/Config.in"
> source "package/dstat/Config.in"
> source "package/duma/Config.in"
> +source "package/fio/Config.in"
> source "package/gdb/Config.in"
> source "package/iozone/Config.in"
> source "package/kexec/Config.in"
> diff --git a/package/fio/Config.in b/package/fio/Config.in
> new file mode 100644
> index 0000000..263e7f5
> --- /dev/null
> +++ b/package/fio/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_FIO
> + bool "fio"
> + depends on BR2_USE_MMU # fork()
The package required largefile and thread support.
> + help
> + fio is an I/O tool meant to be used both for benchmark
> + and stress/hardware verification.
I've added an upstream URL here.
> diff --git a/package/fio/fio.mk b/package/fio/fio.mk
> new file mode 100644
> index 0000000..60cd14f
> --- /dev/null
> +++ b/package/fio/fio.mk
> @@ -0,0 +1,25 @@
> +################################################################################
> +#
> +# fio
> +#
> +################################################################################
> +
> +FIO_VERSION = 2.1.3
> +FIO_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/f/fio
> +FIO_SOURCE = fio_$(FIO_VERSION).orig.tar.gz
I've switched to use the official Git repository at git.kernel.dk, and
used the new 2.1.4 version.
> +FIO_LICENSE = GPLv2
I've changed that to "GPLv2 + special obligations", because the LICENSE
file makes additional requirements to the GPLv2.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fio: new package
2013-12-25 16:34 ` Thomas Petazzoni
@ 2013-12-25 20:17 ` Ezequiel Garcia
2013-12-25 20:28 ` Thomas Petazzoni
0 siblings, 1 reply; 8+ messages in thread
From: Ezequiel Garcia @ 2013-12-25 20:17 UTC (permalink / raw)
To: buildroot
Hi Thomas,
On Wed, Dec 25, 2013 at 05:34:55PM +0100, Thomas Petazzoni wrote:
> On Wed, 30 Oct 2013 12:22:25 -0300, Ezequiel Garcia wrote:
> > Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
> > ---
> > package/Config.in | 1 +
> > package/fio/Config.in | 6 ++++++
> > package/fio/fio.mk | 25 +++++++++++++++++++++++++
> > 3 files changed, 32 insertions(+)
> > create mode 100644 package/fio/Config.in
> > create mode 100644 package/fio/fio.mk
>
> Thanks, I've applied this, after making several changes.
>
All the changes look good to me, thanks for doing this and
sorry for being lazy and not take better care to push this
submission.
--
Ezequiel Garc?a, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fio: new package
2013-12-25 20:17 ` Ezequiel Garcia
@ 2013-12-25 20:28 ` Thomas Petazzoni
2013-12-25 20:32 ` Ezequiel Garcia
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2013-12-25 20:28 UTC (permalink / raw)
To: buildroot
Dear Ezequiel Garcia,
On Wed, 25 Dec 2013 17:17:32 -0300, Ezequiel Garcia wrote:
> > Thanks, I've applied this, after making several changes.
> >
>
> All the changes look good to me, thanks for doing this and
> sorry for being lazy and not take better care to push this
> submission.
We still have the problem that fio uses posix_madvise(), which isn't
supported in uClibc 0.9.33. It is supported in uClibc git, and we have
backported the patch in package/uclibc/, so Buildroot internal
toolchains are working fine.
But older uClibc toolchains do not work, and are causing build failures
such as
http://autobuild.buildroot.org/results/f7a/f7ae7ac2b5da9afc6314f1e813300597896e5ca6/build-end.log.
I believe the best solution for now is to mark this package as not
available for uClibc toolchains.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fio: new package
2013-12-25 20:28 ` Thomas Petazzoni
@ 2013-12-25 20:32 ` Ezequiel Garcia
2013-12-26 9:40 ` Thomas Petazzoni
0 siblings, 1 reply; 8+ messages in thread
From: Ezequiel Garcia @ 2013-12-25 20:32 UTC (permalink / raw)
To: buildroot
On Wed, Dec 25, 2013 at 09:28:29PM +0100, Thomas Petazzoni wrote:
> Dear Ezequiel Garcia,
>
> On Wed, 25 Dec 2013 17:17:32 -0300, Ezequiel Garcia wrote:
>
> > > Thanks, I've applied this, after making several changes.
> > >
> >
> > All the changes look good to me, thanks for doing this and
> > sorry for being lazy and not take better care to push this
> > submission.
>
> We still have the problem that fio uses posix_madvise(), which isn't
> supported in uClibc 0.9.33. It is supported in uClibc git, and we have
> backported the patch in package/uclibc/, so Buildroot internal
> toolchains are working fine.
>
> But older uClibc toolchains do not work, and are causing build failures
> such as
> http://autobuild.buildroot.org/results/f7a/f7ae7ac2b5da9afc6314f1e813300597896e5ca6/build-end.log.
>
> I believe the best solution for now is to mark this package as not
> available for uClibc toolchains.
>
Right. And in parallel, we can also take care of upstreaming a patch which uses
HAVE_POSIX_MADVISE to handle such case.
--
Ezequiel Garc?a, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fio: new package
2013-12-25 20:32 ` Ezequiel Garcia
@ 2013-12-26 9:40 ` Thomas Petazzoni
2013-12-26 11:30 ` Ezequiel Garcia
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2013-12-26 9:40 UTC (permalink / raw)
To: buildroot
Dear Ezequiel Garcia,
On Wed, 25 Dec 2013 17:32:53 -0300, Ezequiel Garcia wrote:
> > But older uClibc toolchains do not work, and are causing build
> > failures such as
> > http://autobuild.buildroot.org/results/f7a/f7ae7ac2b5da9afc6314f1e813300597896e5ca6/build-end.log.
> >
> > I believe the best solution for now is to mark this package as not
> > available for uClibc toolchains.
> >
>
> Right. And in parallel, we can also take care of upstreaming a patch
> which uses HAVE_POSIX_MADVISE to handle such case.
The problem is what should we use in replacement of posix_madvise()
when it is not available.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fio: new package
2013-12-26 9:40 ` Thomas Petazzoni
@ 2013-12-26 11:30 ` Ezequiel Garcia
2013-12-26 13:38 ` Thomas Petazzoni
0 siblings, 1 reply; 8+ messages in thread
From: Ezequiel Garcia @ 2013-12-26 11:30 UTC (permalink / raw)
To: buildroot
On Thu, Dec 26, 2013 at 10:40:37AM +0100, Thomas Petazzoni wrote:
> Dear Ezequiel Garcia,
>
> On Wed, 25 Dec 2013 17:32:53 -0300, Ezequiel Garcia wrote:
>
> > > But older uClibc toolchains do not work, and are causing build
> > > failures such as
> > > http://autobuild.buildroot.org/results/f7a/f7ae7ac2b5da9afc6314f1e813300597896e5ca6/build-end.log.
> > >
> > > I believe the best solution for now is to mark this package as not
> > > available for uClibc toolchains.
> > >
> >
> > Right. And in parallel, we can also take care of upstreaming a patch
> > which uses HAVE_POSIX_MADVISE to handle such case.
>
> The problem is what should we use in replacement of posix_madvise()
> when it is not available.
>
madvise()?
If you do:
#define posix_madvise madvise
then I've managed to fix the build issues on uClibc v0.9.32.
Problem is, I'm not sure there's a clean way to detect posix_madvise /
madvise presence; it must be done by hand in the configure script.
Anyway, it all sounds like too much work to fix such a small use case.
--
Ezequiel Garc?a, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fio: new package
2013-12-26 11:30 ` Ezequiel Garcia
@ 2013-12-26 13:38 ` Thomas Petazzoni
0 siblings, 0 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2013-12-26 13:38 UTC (permalink / raw)
To: buildroot
Dear Ezequiel Garcia,
On Thu, 26 Dec 2013 08:30:07 -0300, Ezequiel Garcia wrote:
> > > Right. And in parallel, we can also take care of upstreaming a patch
> > > which uses HAVE_POSIX_MADVISE to handle such case.
> >
> > The problem is what should we use in replacement of posix_madvise()
> > when it is not available.
> >
>
> madvise()?
>
> If you do:
>
> #define posix_madvise madvise
Are they strictly equivalent? Also, the code uses some POSIX_MADV_*
constants, while madvise() provides MADV_* constants.
> Problem is, I'm not sure there's a clean way to detect posix_madvise /
> madvise presence; it must be done by hand in the configure script.
AC_CHECK_FUNCS([posix_madvise]) should do the trick.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-12-26 13:38 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-30 15:22 [Buildroot] [PATCH] fio: new package Ezequiel Garcia
2013-12-25 16:34 ` Thomas Petazzoni
2013-12-25 20:17 ` Ezequiel Garcia
2013-12-25 20:28 ` Thomas Petazzoni
2013-12-25 20:32 ` Ezequiel Garcia
2013-12-26 9:40 ` Thomas Petazzoni
2013-12-26 11:30 ` Ezequiel Garcia
2013-12-26 13:38 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox