[Buildroot] [PATCH v5] dieharder: new package

Romain Naour romain.naour at gmail.com
Sat Jan 21 20:26:10 UTC 2017


Hi Julien,

Le 15/01/2017 à 21:47, Romain Naour a écrit :
> Hi Julien,
> 
> Le 15/01/2017 à 20:23, Julien Viard de Galbert a écrit :
>> Signed-off-by: Julien Viard de Galbert <julien at vdg.name>
> 
> Reviewed-by: Romain Naour <romain.naour at gmail.com>

I'm playing with a new script called check-package which check the package
coding style.

See: http://lists.busybox.net/pipermail/buildroot/2016-December/180756.html

So for Dieharder here is some warnings returned by the script:

$ support/scripts/check-package package/dieharder/*

package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch:4:
generate your patches with 'git format-patch -N'
package/dieharder/0002-Do-not-install-includes.patch:4: generate your patches
with 'git format-patch -N'
package/dieharder/0003-Fix-missing-type-intptr_t.patch:4: generate your patches
with 'git format-patch -N'
package/dieharder/0004-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch:4:
generate your patches with 'git format-patch -N'
package/dieharder/dieharder.hash:3: empty line at end of file
package/dieharder/dieharder.mk:18: expected indent with tabs

Can you respin the patch to fix them?

Thanks!
Romain

> 
> Best regards,
> Romain
> 
>> ---
>> Changes v4 -> v5 (Following Romain's comments)
>>   - added comments and signoff to patches
>>   - removed select BR2_PACKAGE_LIBTOOL as target libtool is not needed
>>   - fixed _LICENSE_FILES path
>>   - adding myself to DEVELOPERS for the dieharder package
>> Changes v3 -> v4
>>   - wrap description to 72 columns (Thomas Petazoni)
>>   - fix licence description (Thomas Petazoni)
>>   - use _ENV instead of _OPTS for configure tweek (Thomas Petazoni)
>>   - fix space around = in .mk (Thomas Petazoni)
>>   - switched from _SUBDIR to _STRIP_COMPONENTS to ease patching
>>   - added 4 patches :
>>      - 2 to fix the build system
>>      - 1 for c99 type missing
>>      - 1 for compiling with musl libc (Romain Naour, Yann E. MORIN)
>>   - depending on libtool, replacing missing libtool m4 files
>>      and running autoreconf (found this was necessary when libtool is
>>      no installed on host as the tarball ships symlinks to m4 files)
>>   - added .hash file
>> Changes v2 -> v3
>>   - remove intermediate variable use (suggested by Baruch Siach)
>> Changes v1 -> v2
>>   - fixed typo "bin" instead of "big" (thanks Thomas Petazoni)
>>   - select gls in config (suggested by Romain Naour)
>>   - specified "includedir" to fix unsafe header path
>>
>> Signed-off-by: Julien Viard de Galbert <julien at vdg.name>
>> ---
>>  DEVELOPERS                                         |  3 ++
>>  package/Config.in                                  |  1 +
>>  ...includedir-as-include-search-path-for-bui.patch | 62 ++++++++++++++++++++++
>>  .../dieharder/0002-Do-not-install-includes.patch   | 28 ++++++++++
>>  .../dieharder/0003-Fix-missing-type-intptr_t.patch | 27 ++++++++++
>>  ...U_SOURCE-for-uint-and-M_PI-with-musl-libc.patch | 28 ++++++++++
>>  package/dieharder/Config.in                        |  9 ++++
>>  package/dieharder/dieharder.hash                   |  3 ++
>>  package/dieharder/dieharder.mk                     | 40 ++++++++++++++
>>  9 files changed, 201 insertions(+)
>>  create mode 100644 package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch
>>  create mode 100644 package/dieharder/0002-Do-not-install-includes.patch
>>  create mode 100644 package/dieharder/0003-Fix-missing-type-intptr_t.patch
>>  create mode 100644 package/dieharder/0004-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch
>>  create mode 100644 package/dieharder/Config.in
>>  create mode 100644 package/dieharder/dieharder.hash
>>  create mode 100644 package/dieharder/dieharder.mk
>>
>> diff --git a/DEVELOPERS b/DEVELOPERS
>> index 79dd097..bef6d36 100644
>> --- a/DEVELOPERS
>> +++ b/DEVELOPERS
>> @@ -868,6 +868,9 @@ F:	package/qt5/
>>  N:	Julien Floret <julien.floret at 6wind.com>
>>  F:	package/lldpd/
>>  
>> +N:	Julien Viard de Galbert <julien at vdg.name>
>> +F:	package/dieharder/
>> +
>>  N:	Justin Maggard <jmaggard at netgear.com>
>>  F:	package/dtach/
>>  
>> diff --git a/package/Config.in b/package/Config.in
>> index 8c8c33e..978f5fd 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -72,6 +72,7 @@ menu "Debugging, profiling and benchmark"
>>  	source "package/bonnie/Config.in"
>>  	source "package/cache-calibrator/Config.in"
>>  	source "package/dhrystone/Config.in"
>> +	source "package/dieharder/Config.in"
>>  	source "package/dmalloc/Config.in"
>>  	source "package/dropwatch/Config.in"
>>  	source "package/dstat/Config.in"
>> diff --git a/package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch b/package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch
>> new file mode 100644
>> index 0000000..4911fee
>> --- /dev/null
>> +++ b/package/dieharder/0001-Do-not-use-includedir-as-include-search-path-for-bui.patch
>> @@ -0,0 +1,62 @@
>> +From dd9528ffbcc3b506d01e131010cc3bb0f83ca9b1 Mon Sep 17 00:00:00 2001
>> +From: Julien Viard de Galbert <julien at vdg.name>
>> +Date: Sat, 14 Jan 2017 14:06:42 +0100
>> +Subject: [PATCH 1/4] Do not use includedir as include search path for build
>> +
>> +--includedir is not used to specify where a program should
>> +look for headers of libraries, but to tell where it should
>> +install its own headers.
>> +
>> +Signed-off-by: Julien Viard de Galbert <julien at vdg.name>
>> +---
>> + configure.ac             | 6 +++---
>> + dieharder/Makefile.am    | 2 +-
>> + libdieharder/Makefile.am | 2 +-
>> + 3 files changed, 5 insertions(+), 5 deletions(-)
>> +
>> +diff --git a/configure.ac b/configure.ac
>> +index b336115..91f7c64 100644
>> +--- a/configure.ac
>> ++++ b/configure.ac
>> +@@ -96,9 +96,9 @@ AC_TYPE_SIZE_T
>> + AC_C_VOLATILE
>> + AC_C_INLINE
>> + 
>> +-DIEHARDER_CFLAGS="-I$includedir"
>> +-dieharder_CFLAGS="-std=c99 -Wall -pedantic -I$includedir"
>> +-libdieharder_lo_CFLAGS="-Wall -pedantic -I$includedir"
>> ++DIEHARDER_CFLAGS=""
>> ++dieharder_CFLAGS="-std=c99 -Wall -pedantic"
>> ++libdieharder_lo_CFLAGS="-Wall -pedantic"
>> + DIEHARDER_LIBS="-L$libdir -ldieharder"
>> + ACLOCAL_AMFLAGS="-I m4"
>> + 
>> +diff --git a/dieharder/Makefile.am b/dieharder/Makefile.am
>> +index e6fbff2..7bdac5c 100644
>> +--- a/dieharder/Makefile.am
>> ++++ b/dieharder/Makefile.am
>> +@@ -64,7 +64,7 @@ DEFINES = -DVERSION=$(VERSION)
>> + # CC = gcc
>> + 
>> + # Compile flags (use fairly standard -O3 as default)
>> +-AM_CPPFLAGS = -I ${top_srcdir}/include $(DEFINES) -I ${includedir}
>> ++AM_CPPFLAGS = -I ${top_srcdir}/include $(DEFINES)
>> + AM_CFLAGS = -O3
>> + 
>> + # Load flags (optional)
>> +diff --git a/libdieharder/Makefile.am b/libdieharder/Makefile.am
>> +index 5fd3396..0873f9c 100644
>> +--- a/libdieharder/Makefile.am
>> ++++ b/libdieharder/Makefile.am
>> +@@ -114,7 +114,7 @@ DEFINES = -DVERSION=$(VERSION) -DLITTLE_ENDIAN=$(LITTLE_ENDIAN)
>> + # CC = gcc
>> + 
>> + # Compile flags (use fairly standard -O3 as default)
>> +-AM_CPPFLAGS = $(DEFINES) -I ${top_srcdir}/include -I ${includedir}
>> ++AM_CPPFLAGS = $(DEFINES) -I ${top_srcdir}/include
>> + AM_CFLAGS = -O3 -Wall -pedantic -Wno-unused-variable 
>> + 
>> + #========================================================================
>> +-- 
>> +2.1.4
>> +
>> diff --git a/package/dieharder/0002-Do-not-install-includes.patch b/package/dieharder/0002-Do-not-install-includes.patch
>> new file mode 100644
>> index 0000000..ccad96d
>> --- /dev/null
>> +++ b/package/dieharder/0002-Do-not-install-includes.patch
>> @@ -0,0 +1,28 @@
>> +From 9ee8200a6dec6aca7f4f37c46ca95ac1cb38306c Mon Sep 17 00:00:00 2001
>> +From: Julien Viard de Galbert <julien at vdg.name>
>> +Date: Sat, 14 Jan 2017 14:08:07 +0100
>> +Subject: [PATCH 2/4] Do not install includes
>> +
>> +We don't want include files on the target
>> +
>> +Signed-off-by: Julien Viard de Galbert <julien at vdg.name>
>> +---
>> + Makefile.am | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/Makefile.am b/Makefile.am
>> +index 489c493..0264c5e 100644
>> +--- a/Makefile.am
>> ++++ b/Makefile.am
>> +@@ -74,7 +74,7 @@ SPEC = $(PROJECT).spec
>> + # presume the simplest of dependencies and remake if includes change
>> + # for example.
>> + #========================================================================
>> +-all: $(LIBTIME) $(PROGTIME) $(INCTIME)
>> ++all: $(LIBTIME) $(PROGTIME)
>> + 
>> + # This is not, actually, a particularly useful toplevel target.  To
>> + # work correctly it also would require a full parsing of all
>> +-- 
>> +2.1.4
>> +
>> diff --git a/package/dieharder/0003-Fix-missing-type-intptr_t.patch b/package/dieharder/0003-Fix-missing-type-intptr_t.patch
>> new file mode 100644
>> index 0000000..28eca3d
>> --- /dev/null
>> +++ b/package/dieharder/0003-Fix-missing-type-intptr_t.patch
>> @@ -0,0 +1,27 @@
>> +From 30a4300b5accb96027a4f2c2a8598c5e730799a4 Mon Sep 17 00:00:00 2001
>> +From: Julien Viard de Galbert <julien at vdg.name>
>> +Date: Sat, 14 Jan 2017 14:18:10 +0100
>> +Subject: [PATCH 3/4] Fix missing type intptr_t
>> +
>> +With glibc-2.23 unistd.h need intptr_t when __USE_MISC is defined.
>> +
>> +Signed-off-by: Julien Viard de Galbert <julien at vdg.name>
>> +---
>> + include/dieharder/libdieharder.h | 1 +
>> + 1 file changed, 1 insertion(+)
>> +
>> +diff --git a/include/dieharder/libdieharder.h b/include/dieharder/libdieharder.h
>> +index 2138ebf..d98b758 100644
>> +--- a/include/dieharder/libdieharder.h
>> ++++ b/include/dieharder/libdieharder.h
>> +@@ -17,6 +17,7 @@
>> + 
>> + /* This turns on uint macro in c99 */
>> + #define __USE_MISC 1
>> ++#include <stdint.h>
>> + #include <sys/types.h>
>> + #include <sys/stat.h>
>> + #include <unistd.h>
>> +-- 
>> +2.1.4
>> +
>> diff --git a/package/dieharder/0004-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch b/package/dieharder/0004-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch
>> new file mode 100644
>> index 0000000..4ceeec5
>> --- /dev/null
>> +++ b/package/dieharder/0004-Add-_GNU_SOURCE-for-uint-and-M_PI-with-musl-libc.patch
>> @@ -0,0 +1,28 @@
>> +From bce37eb5db6c502fa5b16b943567a85fcd69c572 Mon Sep 17 00:00:00 2001
>> +From: Julien Viard de Galbert <julien at vdg.name>
>> +Date: Sat, 14 Jan 2017 14:19:47 +0100
>> +Subject: [PATCH 4/4] Add _GNU_SOURCE for uint and M_PI with musl libc
>> +
>> +When building with musl libc _GNU_SOURCE need to be defined
>> +to provide uint type and M_PI macro
>> +
>> +Signed-off-by: Julien Viard de Galbert <julien at vdg.name>
>> +---
>> + include/dieharder/libdieharder.h | 1 +
>> + 1 file changed, 1 insertion(+)
>> +
>> +diff --git a/include/dieharder/libdieharder.h b/include/dieharder/libdieharder.h
>> +index d98b758..c1a5023 100644
>> +--- a/include/dieharder/libdieharder.h
>> ++++ b/include/dieharder/libdieharder.h
>> +@@ -17,6 +17,7 @@
>> + 
>> + /* This turns on uint macro in c99 */
>> + #define __USE_MISC 1
>> ++#define _GNU_SOURCE 1
>> + #include <stdint.h>
>> + #include <sys/types.h>
>> + #include <sys/stat.h>
>> +-- 
>> +2.1.4
>> +
>> diff --git a/package/dieharder/Config.in b/package/dieharder/Config.in
>> new file mode 100644
>> index 0000000..9f442b5
>> --- /dev/null
>> +++ b/package/dieharder/Config.in
>> @@ -0,0 +1,9 @@
>> +config BR2_PACKAGE_DIEHARDER
>> +	bool "dieharder"
>> +	select BR2_PACKAGE_GSL
>> +	help
>> +	  dieharder is a fairly involved random number/uniform deviate
>> +	  generator tester. It is thus suitable for use in testing both
>> +	  software RNG's and hardware RNG's.
>> +
>> +	  http://www.phy.duke.edu/~rgb/General/dieharder.php
>> diff --git a/package/dieharder/dieharder.hash b/package/dieharder/dieharder.hash
>> new file mode 100644
>> index 0000000..8a44513
>> --- /dev/null
>> +++ b/package/dieharder/dieharder.hash
>> @@ -0,0 +1,3 @@
>> +# Locally computed:
>> +sha256 6cff0ff8394c553549ac7433359ccfc955fb26794260314620dfa5e4cd4b727f dieharder-3.31.1.tgz
>> +
>> diff --git a/package/dieharder/dieharder.mk b/package/dieharder/dieharder.mk
>> new file mode 100644
>> index 0000000..25cc348
>> --- /dev/null
>> +++ b/package/dieharder/dieharder.mk
>> @@ -0,0 +1,40 @@
>> +################################################################################
>> +#
>> +# dieharder
>> +#
>> +################################################################################
>> +
>> +DIEHARDER_VERSION = 3.31.1
>> +DIEHARDER_SITE = http://www.phy.duke.edu/~rgb/General/dieharder
>> +DIEHARDER_SOURCE = dieharder-$(DIEHARDER_VERSION).tgz
>> +DIEHARDER_STRIP_COMPONENTS = 2
>> +DIEHARDER_LICENSE = GPLv2 with beverage clause
>> +DIEHARDER_LICENSE_FILES = COPYING
>> +DIEHARDER_DEPENDENCIES = gsl host-libtool
>> +
>> +# Fix m4 links to points to the ones in staging (provided by libtool hence
>> +# the patch dependency).
>> +define DIEHARDER_POST_PATCH_FIXUP
>> +        for m in $(@D)/m4/*; do \
>> +		l=$$(readlink $$m) ;\
>> +		rm $$m ;\
>> +		ln -s $(HOST_DIR)$$l $$m ;\
>> +	done
>> +endef
>> +DIEHARDER_POST_PATCH_HOOKS += DIEHARDER_POST_PATCH_FIXUP
>> +
>> +# Ensure the libtool version is updated,
>> +# also make _CONF_ENV works instead of _CONF_OPTS for endiannes
>> +DIEHARDER_AUTORECONF = YES
>> +
>> +# fix endiannes detection
>> +ifeq ($(BR2_ENDIAN),"BIG")
>> +DIEHARDER_CONF_ENV = ac_cv_c_endian=big
>> +else
>> +DIEHARDER_CONF_ENV = ac_cv_c_endian=little
>> +endif
>> +
>> +# parallel build fail, disable it
>> +DIEHARDER_MAKE = $(MAKE1)
>> +
>> +$(eval $(autotools-package))
>>
> 




More information about the buildroot mailing list