* [Buildroot] [PATCH v3 1/1] libsepol: require threads
@ 2017-10-25 14:14 Adam Duskett
2017-10-25 14:14 ` [Buildroot] [PATCH v6 1/1] libcpprestsdk: new package Adam Duskett
0 siblings, 1 reply; 5+ messages in thread
From: Adam Duskett @ 2017-10-25 14:14 UTC (permalink / raw)
To: buildroot
libsepol 2.7 now uses pthreads.h
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v2:
- Added thread dependency to semodule-utils (Arnout)
Changes v2 -> v3:
- Added explinations for dependencies (Matt Webber)
package/libsepol/Config.in | 1 +
package/semodule-utils/Config.in | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in
index f92af52072..f17eb47448 100644
--- a/package/libsepol/Config.in
+++ b/package/libsepol/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBSEPOL
bool "libsepol"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # pthread
help
Libsepol is the binary policy manipulation library. It doesn't
depend upon or use any of the other SELinux components.
diff --git a/package/semodule-utils/Config.in b/package/semodule-utils/Config.in
index d9cb928c4c..38e043dc2c 100644
--- a/package/semodule-utils/Config.in
+++ b/package/semodule-utils/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_SEMODULE_UTILS
bool "semodule-utils"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
select BR2_PACKAGE_LIBSEPOL
help
semodule-utils is a package that contains tools for handling
@@ -13,3 +14,6 @@ config BR2_PACKAGE_SEMODULE_UTILS
* semodule_package - Create a SELinux policy module package.
https://github.com/SELinuxProject/selinux/wiki/Releases
+
+comment "semodule-utils needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
--
2.13.6
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v6 1/1] libcpprestsdk: new package
2017-10-25 14:14 [Buildroot] [PATCH v3 1/1] libsepol: require threads Adam Duskett
@ 2017-10-25 14:14 ` Adam Duskett
0 siblings, 0 replies; 5+ messages in thread
From: Adam Duskett @ 2017-10-25 14:14 UTC (permalink / raw)
To: buildroot
The C++ REST SDK is a Microsoft project for cloud-based client-server
communication in native code using a modern asynchronous C++ API design.
This project aims to help C++ developers connect to and interact with
services.
This package is licensed under the MIT package and depends on BOOST
and OpenSSL/LibreSSL.
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v2:
- Add "depends on BR2_USE_WCHAR # boost" to boost.mk (Thomas)
- Remove "depends on BR2_USE_MMU" from boost.mk (Thomas)
- Add "!BR2_USE_WCHAR" to boost.mk (Thomas)
Changes v2 -> v3:
- Update to v2.10.0
- Remove check for libressl now that OpenSSL is a virtual package.
- Add 0001-remove-cast-align-error-flag.patch to prevent cross-compiling
warning errors.
- Add 0002-fix-xlocale-header-check.patch to prevent uclibc/musl errors
due to a missing header.
- Add 0003-fix-compilation-issues-with-musl.patch which adds sys/time.h to
asyncrt_utils.h.
Changes v3 -> v4:
- Fixed 0003-fix-compilation-issues-with-musl.patch
Changes v4 -> v5
- Patches now formatted with -N.
- Dependencies now on a single line.
Changes v5 -> v6
- Removed 0001-remove-cast-align-error-flag.patch in favor of passing
-DWERROR=OFF in libcpprestsdk.mk (Arnout)
- Renamed fix-compilation-issues-with-musl.patch to
include-sys-time-for-struct-timeval.patch (Arnout)
- Fixed spacing issues in Config.in
- Fixed spacing issues in libcpprestsdk.hash (Arnout)
DEVELOPERS | 1 +
package/Config.in | 1 +
| 55 ++++++++++++++++++++++
.../0002-include-sys-time-for-struct-timeval.patch | 28 +++++++++++
package/libcpprestsdk/Config.in | 26 ++++++++++
package/libcpprestsdk/libcpprestsdk.hash | 3 ++
package/libcpprestsdk/libcpprestsdk.mk | 15 ++++++
7 files changed, 129 insertions(+)
create mode 100644 package/libcpprestsdk/0001-fix-xlocale-header-check.patch
create mode 100644 package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch
create mode 100644 package/libcpprestsdk/Config.in
create mode 100644 package/libcpprestsdk/libcpprestsdk.hash
create mode 100644 package/libcpprestsdk/libcpprestsdk.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index f0f83b0f42..bbc9fcdcc6 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -34,6 +34,7 @@ F: package/audit/
F: package/checkpolicy/
F: package/gstreamer1/gst1-vaapi/
F: package/janus-gateway/
+F: package/libcpprestsdk/
F: package/libressl/
F: package/libselinux/
F: package/libsemanage/
diff --git a/package/Config.in b/package/Config.in
index 55fe80139e..d669953507 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1337,6 +1337,7 @@ menu "Networking"
source "package/libcgi/Config.in"
source "package/libcgicc/Config.in"
source "package/libcoap/Config.in"
+ source "package/libcpprestsdk/Config.in"
source "package/libcurl/Config.in"
source "package/libdnet/Config.in"
source "package/libeXosip2/Config.in"
--git a/package/libcpprestsdk/0001-fix-xlocale-header-check.patch b/package/libcpprestsdk/0001-fix-xlocale-header-check.patch
new file mode 100644
index 0000000000..807ba60e61
--- /dev/null
+++ b/package/libcpprestsdk/0001-fix-xlocale-header-check.patch
@@ -0,0 +1,55 @@
+From a826b7b656c165bc35746d9af3ec371387d2bca1 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett@gmail.com>
+Date: Mon, 23 Oct 2017 08:11:21 -0400
+Subject: [PATCH] fix xlocale header check
+
+asyncrt_utils.h checks if __GLIBC__ is not defined before including
+xlocal.h. This will cause a compilation failure on uclibc and musl.
+
+Add a proper check in CMakeLists.txt and check for HAVE_XLOCALE_H
+instead of __GLIBC__
+
+Upstream-Status: Pending
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ Release/CMakeLists.txt | 3 +++
+ Release/include/cpprest/asyncrt_utils.h | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt
+index d57aa3d..eefae75 100644
+--- a/Release/CMakeLists.txt
++++ b/Release/CMakeLists.txt
+@@ -42,6 +42,7 @@ include(cmake/cpprest_find_boost.cmake)
+ include(cmake/cpprest_find_zlib.cmake)
+ include(cmake/cpprest_find_openssl.cmake)
+ include(cmake/cpprest_find_websocketpp.cmake)
++include(CheckIncludeFiles)
+
+ find_package(Threads REQUIRED)
+ if(THREADS_HAVE_PTHREAD_ARG)
+@@ -56,6 +57,8 @@ if(CPPREST_EXCLUDE_WEBSOCKETS)
+ set(CPPREST_WEBSOCKETS_IMPL none CACHE STRING "Internal use.")
+ endif()
+
++CHECK_INCLUDE_FILES(xlocale.h HAVE_XLOCALE_H)
++
+ if(APPLE) # Note: also iOS
+ set(CPPREST_PPLX_IMPL apple CACHE STRING "Internal use.")
+ set(CPPREST_WEBSOCKETS_IMPL wspp CACHE STRING "Internal use.")
+diff --git a/Release/include/cpprest/asyncrt_utils.h b/Release/include/cpprest/asyncrt_utils.h
+index fac70a9..8faa2dc 100644
+--- a/Release/include/cpprest/asyncrt_utils.h
++++ b/Release/include/cpprest/asyncrt_utils.h
+@@ -29,7 +29,7 @@
+
+ #ifndef _WIN32
+ #include <boost/algorithm/string.hpp>
+-#if !defined(ANDROID) && !defined(__ANDROID__) && !defined(__GLIBC__) // CodePlex 269
++#if !defined(ANDROID) && !defined(__ANDROID__) && defined(HAVE_XLOCALE_H) // CodePlex 269
+ /* Systems using glibc: xlocale.h has been removed from glibc 2.26
+ The above include of locale.h is sufficient
+ Further details: https://sourceware.org/git/?p=glibc.git;a=commit;h=f0be25b6336db7492e47d2e8e72eb8af53b5506d */
+--
+2.13.6
+
diff --git a/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch b/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch
new file mode 100644
index 0000000000..0930a25d57
--- /dev/null
+++ b/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch
@@ -0,0 +1,28 @@
+From 25453f9c186cf441881b06bc5503d979acb0ab75 Mon Sep 17 00:00:00 2001
+From: Adam Duskett <aduskett@gmail.com>
+Date: Mon, 23 Oct 2017 09:38:11 -0400
+Subject: [PATCH] Include sys/time.h for struct timeval
+
+This is needed with musl.
+
+Upstream-Status: Pending
+Signed-off-by: Adam Duskett <aduskett@gmail.com>
+---
+ Release/include/cpprest/asyncrt_utils.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Release/include/cpprest/asyncrt_utils.h b/Release/include/cpprest/asyncrt_utils.h
+index 8faa2dc..aab87a5 100644
+--- a/Release/include/cpprest/asyncrt_utils.h
++++ b/Release/include/cpprest/asyncrt_utils.h
+@@ -28,6 +28,7 @@
+ #endif
+
+ #ifndef _WIN32
++#include <sys/time.h>
+ #include <boost/algorithm/string.hpp>
+ #if !defined(ANDROID) && !defined(__ANDROID__) && defined(HAVE_XLOCALE_H) // CodePlex 269
+ /* Systems using glibc: xlocale.h has been removed from glibc 2.26
+--
+2.13.6
+
diff --git a/package/libcpprestsdk/Config.in b/package/libcpprestsdk/Config.in
new file mode 100644
index 0000000000..9ef52c72be
--- /dev/null
+++ b/package/libcpprestsdk/Config.in
@@ -0,0 +1,26 @@
+config BR2_PACKAGE_LIBCPPRESTSDK
+ bool "libcpprestsdk"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS # boost
+ depends on BR2_USE_WCHAR # boost
+ select BR2_PACKAGE_BOOST
+ select BR2_PACKAGE_BOOST_ATOMIC
+ select BR2_PACKAGE_BOOST_CHRONO
+ select BR2_PACKAGE_BOOST_DATE_TIME
+ select BR2_PACKAGE_BOOST_FILESYSTEM
+ select BR2_PACKAGE_BOOST_RANDOM
+ select BR2_PACKAGE_BOOST_REGEX
+ select BR2_PACKAGE_BOOST_THREAD
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_ZLIB
+ help
+ The C++ REST SDK is a Microsoft project for cloud-based
+ client-server communication in native code using a modern
+ asynchronous C++ API design. This project aims to help C++
+ developers connect to and interact with services.
+
+ https://github.com/Microsoft/cpprestsdk
+
+comment "libcpprestsdk needs a toolchain w/ C++, wchar, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_USE_WCHAR
diff --git a/package/libcpprestsdk/libcpprestsdk.hash b/package/libcpprestsdk/libcpprestsdk.hash
new file mode 100644
index 0000000000..550948ad58
--- /dev/null
+++ b/package/libcpprestsdk/libcpprestsdk.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 de333da67f1cb3d1b30be118860531092467f18d24ca6b4d36f6623fecab0de0 libcpprestsdk-v2.10.0.tar.gz
+sha256 5c191789f502ac87df83b57008d2fc3e47fbf31315381b5bc4309f6602d0fe97 license.txt
diff --git a/package/libcpprestsdk/libcpprestsdk.mk b/package/libcpprestsdk/libcpprestsdk.mk
new file mode 100644
index 0000000000..06a6dd0cf7
--- /dev/null
+++ b/package/libcpprestsdk/libcpprestsdk.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# libcpprestsdk
+#
+################################################################################
+
+LIBCPPRESTSDK_VERSION = v2.10.0
+LIBCPPRESTSDK_SITE = $(call github,Microsoft,cpprestsdk,$(LIBCPPRESTSDK_VERSION))
+LIBCPPRESTSDK_LICENSE = MIT
+LIBCPPRESTSDK_LICENSE_FILES = license.txt
+LIBCPPRESTSDK_SUBDIR = Release
+LIBCPPRESTSDK_DEPENDENCIES += boost openssl zlib
+LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF
+
+$(eval $(cmake-package))
--
2.13.6
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/1] libsepol: require threads
2017-10-25 13:12 [Buildroot] [PATCH v3 1/1] libsepol: require threads Adam Duskett
2017-10-25 13:21 ` Matthew Weber
@ 2017-10-27 9:20 ` Thomas Petazzoni
1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2017-10-27 9:20 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 25 Oct 2017 09:12:00 -0400, Adam Duskett wrote:
> diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in
> index f92af52072..f17eb47448 100644
> --- a/package/libsepol/Config.in
> +++ b/package/libsepol/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_LIBSEPOL
> bool "libsepol"
> + depends on BR2_TOOLCHAIN_HAS_THREADS # pthread
> help
> Libsepol is the binary policy manipulation library. It doesn't
> depend upon or use any of the other SELinux components.
So a Config.in comment needs to be added here.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/1] libsepol: require threads
2017-10-25 13:12 [Buildroot] [PATCH v3 1/1] libsepol: require threads Adam Duskett
@ 2017-10-25 13:21 ` Matthew Weber
2017-10-27 9:20 ` Thomas Petazzoni
1 sibling, 0 replies; 5+ messages in thread
From: Matthew Weber @ 2017-10-25 13:21 UTC (permalink / raw)
To: buildroot
Adam,
On Wed, Oct 25, 2017 at 8:12 AM, Adam Duskett <aduskett@gmail.com> wrote:
> libsepol 2.7 now uses pthreads.h
>
> Signed-off-by: Adam Duskett <aduskett@gmail.com>
> ---
> Changes v1 -> v2:
> - Added thread dependency to semodule-utils (Arnout)
>
> Changes v2 -> v3:
> - Added explinations for dependencies (Matt Webber)
>
minor nit, spelling of 'explanations' above
Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com>
> package/libsepol/Config.in | 1 +
> package/semodule-utils/Config.in | 4 ++++
> 2 files changed, 5 insertions(+)
>
> diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in
> index f92af52072..f17eb47448 100644
> --- a/package/libsepol/Config.in
> +++ b/package/libsepol/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_LIBSEPOL
> bool "libsepol"
> + depends on BR2_TOOLCHAIN_HAS_THREADS # pthread
> help
> Libsepol is the binary policy manipulation library. It doesn't
> depend upon or use any of the other SELinux components.
> diff --git a/package/semodule-utils/Config.in b/package/semodule-utils/Config.in
> index d9cb928c4c..38e043dc2c 100644
> --- a/package/semodule-utils/Config.in
> +++ b/package/semodule-utils/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_SEMODULE_UTILS
> bool "semodule-utils"
> + depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
> select BR2_PACKAGE_LIBSEPOL
> help
> semodule-utils is a package that contains tools for handling
> @@ -13,3 +14,6 @@ config BR2_PACKAGE_SEMODULE_UTILS
> * semodule_package - Create a SELinux policy module package.
>
> https://github.com/SELinuxProject/selinux/wiki/Releases
> +
> +comment "semodule-utils needs a toolchain w/ threads"
> + depends on !BR2_TOOLCHAIN_HAS_THREADS
> --
> 2.13.6
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
Matthew L Weber / Pr Software Engineer
Airborne Information Systems / Security Systems and Software / Secure Platforms
MS 131-100, C Ave NE, Cedar Rapids, IA, 52498, USA
www.rockwellcollins.com
Note: Any Export License Required Information and License Restricted
Third Party Intellectual Property (TPIP) content must be encrypted and
sent to matthew.weber at corp.rockwellcollins.com.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/1] libsepol: require threads
@ 2017-10-25 13:12 Adam Duskett
2017-10-25 13:21 ` Matthew Weber
2017-10-27 9:20 ` Thomas Petazzoni
0 siblings, 2 replies; 5+ messages in thread
From: Adam Duskett @ 2017-10-25 13:12 UTC (permalink / raw)
To: buildroot
libsepol 2.7 now uses pthreads.h
Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v2:
- Added thread dependency to semodule-utils (Arnout)
Changes v2 -> v3:
- Added explinations for dependencies (Matt Webber)
package/libsepol/Config.in | 1 +
package/semodule-utils/Config.in | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/package/libsepol/Config.in b/package/libsepol/Config.in
index f92af52072..f17eb47448 100644
--- a/package/libsepol/Config.in
+++ b/package/libsepol/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBSEPOL
bool "libsepol"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # pthread
help
Libsepol is the binary policy manipulation library. It doesn't
depend upon or use any of the other SELinux components.
diff --git a/package/semodule-utils/Config.in b/package/semodule-utils/Config.in
index d9cb928c4c..38e043dc2c 100644
--- a/package/semodule-utils/Config.in
+++ b/package/semodule-utils/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_SEMODULE_UTILS
bool "semodule-utils"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libsepol
select BR2_PACKAGE_LIBSEPOL
help
semodule-utils is a package that contains tools for handling
@@ -13,3 +14,6 @@ config BR2_PACKAGE_SEMODULE_UTILS
* semodule_package - Create a SELinux policy module package.
https://github.com/SELinuxProject/selinux/wiki/Releases
+
+comment "semodule-utils needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
--
2.13.6
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-10-27 9:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-25 14:14 [Buildroot] [PATCH v3 1/1] libsepol: require threads Adam Duskett
2017-10-25 14:14 ` [Buildroot] [PATCH v6 1/1] libcpprestsdk: new package Adam Duskett
-- strict thread matches above, loose matches on Subject: below --
2017-10-25 13:12 [Buildroot] [PATCH v3 1/1] libsepol: require threads Adam Duskett
2017-10-25 13:21 ` Matthew Weber
2017-10-27 9:20 ` Thomas Petazzoni
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.