From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?J=F6rg?= Krause Date: Mon, 11 Apr 2016 21:12:41 +0200 Subject: [Buildroot] [PATCH v3 1/1] ipmitool: fix musl build In-Reply-To: <570A7914.9050609@mind.be> References: <1460282611-13740-1-git-send-email-joerg.krause@embedded.rocks> <570A7914.9050609@mind.be> Message-ID: <1460401961.2407.7.camel@embedded.rocks> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net On So, 2016-04-10 at 18:02 +0200, Arnout Vandecappelle wrote: > On 04/10/16 12:03, J?rg Krause wrote: > > > > Add two patches to fix musl build and one patch to make the package > > autoreconfigurable. > > > > The first patch avoids the redefinition of wchar_t by using > > autoconf to check > > for the type wchar_t. Patching configure.ac requires to set > > AUTORECONF = YES > > and add a post extract hook to create some missing files needed by > > autorefonf. > > > > The second patch adds missing header include of > > needed for the > > macro EXEC_PAGESIZE defined in the Linux Kernel headers. > > > > The third patch adds 'foreign' to 'AUTOMAKE_OPTIONS' to make the > > package > > autoreconfigurable. > > > > All patches send upstream: > > https://sourceforge.net/p/ipmitool/mailman/message/35004226/ > > https://sourceforge.net/p/ipmitool/mailman/message/35004225/ > > https://sourceforge.net/p/ipmitool/mailman/message/35004711/ > > > > Fixes: > > http://autobuild.buildroot.net/results/75f/75fd6f1be0271bb15078c62f > > 3effdbb67ac07427/ > > http://autobuild.buildroot.net/results/cac/cacf8179a9c8142eef695624 > > 62d3c3b0b20c2879/ > > http://autobuild.buildroot.net/results/c10/c1045882947ff7150c750088 > > ae1981bd99134c54/ > > http://autobuild.buildroot.net/results/6a7/6a770f8a3dddb15ba4d95555 > > e74b198799278dcf/ > > .. and more. > > > > Signed-off-by: J?rg Krause > > --- > > Changes v2 -> v3: > > ? - use the Automake foreign strictness instead of using a hook to > > add files > > ????needed to make the package autoreconfigurable (Thomas > > Petazzoni) > > > > Changes v1 -> v2: > > ? - use autoconf to check for wchar_t instead of using non- > > standardized GNU C > > ????extension macro __WCHAR_TYPE__ (Arnout Vandecappelle) > > ? - improve commit messages > > > > --- > > ? .../ipmitool/0001-Avoid-wchar_t-redefinition.patch | 60 > > ++++++++++++++++++++++ > > ? ...-Add-missing-linux-param.h-header-include.patch | 39 > > ++++++++++++++ > > ? .../0003-Make-the-package-autoreconfigurable.patch | 38 > > ++++++++++++++ > > ? package/ipmitool/ipmitool.mk???????????????????????|??3 ++ > > ? 4 files changed, 140 insertions(+) > > ? create mode 100644 package/ipmitool/0001-Avoid-wchar_t- > > redefinition.patch > > ? create mode 100644 package/ipmitool/0002-Add-missing-linux- > > param.h-header-include.patch > > ? create mode 100644 package/ipmitool/0003-Make-the-package- > > autoreconfigurable.patch > > > > diff --git a/package/ipmitool/0001-Avoid-wchar_t-redefinition.patch > > b/package/ipmitool/0001-Avoid-wchar_t-redefinition.patch > > new file mode 100644 > > index 0000000..b782318 > > --- /dev/null > > +++ b/package/ipmitool/0001-Avoid-wchar_t-redefinition.patch > > @@ -0,0 +1,60 @@ > > +From c6fe3990713fe3d2be7a285982a0690af93cc8a7 Mon Sep 17 00:00:00 > > 2001 > > +From: =?UTF-8?q?J=C3=B6rg=20Krause?= > > +Date: Sat, 2 Apr 2016 19:45:14 +0200 > > +Subject: [PATCH 1/2] Avoid wchar_t redefinition > > +MIME-Version: 1.0 > > +Content-Type: text/plain; charset=UTF-8 > > +Content-Transfer-Encoding: 8bit > > + > > +The musl C library does not define _WCHAR_T. Use autoconf to check > > for wchar_t. > > + > > +Upstream status: Pending > > +https://sourceforge.net/p/ipmitool/mailman/message/35004226/ > > + > > +Signed-off-by: J?rg Krause > > +--- > > + configure.ac?????????????| 2 ++ > > + src/plugins/imb/imbapi.h | 7 ++++++- > > + 2 files changed, 8 insertions(+), 1 deletion(-) > > + > > +diff --git a/configure.ac b/configure.ac > > +index b92c8a4..71cb4d4 100644 > > +--- a/configure.ac > > ++++ b/configure.ac > > +@@ -22,6 +22,8 @@ AC_CHECK_HEADERS([stdlib.h string.h sys/ioctl.h > > sys/stat.h unistd.h paths.h]) > > + AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h > > sys/socket.h]) > > + AC_CHECK_HEADERS([sys/byteorder.h byteswap.h]) > > + > > ++AC_CHECK_TYPES([wchar_t]) > > ++ > > + AC_C_CONST > > + AC_C_INLINE > > + AC_C_BIGENDIAN > > +diff --git a/src/plugins/imb/imbapi.h b/src/plugins/imb/imbapi.h > > +index 74975c6..b862445 100644 > > +--- a/src/plugins/imb/imbapi.h > > ++++ b/src/plugins/imb/imbapi.h > > +@@ -35,6 +35,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > > SUCH DAMAGE. > > +??*--------------------------------------------------------------- > > -------*/ > > + #ifndef _WINDEFS_H > > + #define _WINDEFS_H > > ++ > > ++#if HAVE_CONFIG_H > > ++# include > > ++#endif > > ++ > > + #ifndef FALSE > > + #define FALSE???0 > > + #endif > > +@@ -46,7 +51,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > > SUCH DAMAGE. > > + #endif > > + #ifndef WIN32 > > + /* WIN32 defines this in stdio.h */ > > +-#ifndef _WCHAR_T > > ++#if !defined(_WCHAR_T) && !defined(HAVE_WCHAR_T) > ? The check for _WCHAR_T is redundant and potentially wrong (if > autoconf didn't? > detect wchar_t and _WCHAR_T is still defined, something is amiss. > It's probably? > better to terminate with a compiler error then). > > ? That said, if upstream has accepted the patch as is, it's better to > keep it? > this way. Until now there is no feedback on upstream about this issue. I guess this piece of code is just a copy & paste from the stdlib.h. You're probably right about the redundancy. Shall I make a v4 which only checks for HAVE_WCHAR_T? > > > > + #define _WCHAR_T > ? Why is this needed? I can't see how this could ever lead to > something good...? > But I guess that's upstream's problem. It's not needed. I agree, it's upstreams problem :-) Best regards J?rg Krause