diff options
author | Dave Cobbley <david.j.cobbley@linux.intel.com> | 2018-08-14 20:05:37 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-23 04:26:31 +0300 |
commit | eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 (patch) | |
tree | de291a73dc37168da6370e2cf16c347d1eba9df8 /meta-openembedded/meta-networking/recipes-daemons/squid | |
parent | 9c3cf826d853102535ead04cebc2d6023eff3032 (diff) | |
download | openbmc-eb8dc40360f0cfef56fb6947cc817a547d6d9bc6.tar.xz |
[Subtree] Removing import-layers directory
As part of the move to subtrees, need to bring all the import layers
content to the top level.
Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f
Signed-off-by: Dave Cobbley <david.j.cobbley@linux.intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-daemons/squid')
13 files changed, 606 insertions, 0 deletions
diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch new file mode 100644 index 0000000000..f482f80885 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch @@ -0,0 +1,46 @@ +From 27e10667bf27baf5f119a791e3473bb9435a786a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 23 Apr 2017 10:28:28 -0700 +Subject: [PATCH] SquidNew: use noexcept instead of throw for C++11 compilers + +Fixes errors with gcc7 which is more pedantic about c++11 +conformance regarding deprecated features + +include/SquidNew.h:21:51: error: dynamic exception specifications are deprecated in C++11 +_SQUID_EXTERNNEW_ void *operator new[] (size_t size) throw (std::bad_alloc) + ^~~~~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + include/SquidNew.h | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/include/SquidNew.h b/include/SquidNew.h +index 39fcee0..c960347 100644 +--- a/include/SquidNew.h ++++ b/include/SquidNew.h +@@ -18,19 +18,19 @@ + */ + #include <new> + +-_SQUID_EXTERNNEW_ void *operator new(size_t size) throw (std::bad_alloc) ++_SQUID_EXTERNNEW_ void *operator new(size_t size) noexcept(false) + { + return xmalloc(size); + } +-_SQUID_EXTERNNEW_ void operator delete (void *address) throw() ++_SQUID_EXTERNNEW_ void operator delete (void *address) noexcept(true) + { + xfree(address); + } +-_SQUID_EXTERNNEW_ void *operator new[] (size_t size) throw (std::bad_alloc) ++_SQUID_EXTERNNEW_ void *operator new[] (size_t size) noexcept(false) + { + return xmalloc(size); + } +-_SQUID_EXTERNNEW_ void operator delete[] (void *address) throw() ++_SQUID_EXTERNNEW_ void operator delete[] (void *address) noexcept(true) + { + xfree(address); + } diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch new file mode 100644 index 0000000000..302136a03c --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-configure-Check-for-Wno-error-format-truncation-comp.patch @@ -0,0 +1,118 @@ +From c21adbb0b230ffba97cf5d059e2bd024e13a37df Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 22 Apr 2017 11:54:57 -0700 +Subject: [PATCH] configure: Check for -Wno-error=format-truncation compiler + option + +If this option is supported by compiler then disable it ( gcc7+) +Fixes +client.c:834:23: error: '%s' directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Werror=format-truncation=] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + acinclude/ax_check_compile_flag.m4 | 74 ++++++++++++++++++++++++++++++++++++++ + configure.ac | 2 ++ + 2 files changed, 76 insertions(+) + create mode 100644 acinclude/ax_check_compile_flag.m4 + +diff --git a/acinclude/ax_check_compile_flag.m4 b/acinclude/ax_check_compile_flag.m4 +new file mode 100644 +index 0000000..dcabb92 +--- /dev/null ++++ b/acinclude/ax_check_compile_flag.m4 +@@ -0,0 +1,74 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) ++# ++# DESCRIPTION ++# ++# Check whether the given FLAG works with the current language's compiler ++# or gives an error. (Warnings, however, are ignored) ++# ++# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on ++# success/failure. ++# ++# If EXTRA-FLAGS is defined, it is added to the current language's default ++# flags (e.g. CFLAGS) when the check is done. The check is thus made with ++# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to ++# force the compiler to issue an error when a bad flag is given. ++# ++# INPUT gives an alternative input source to AC_COMPILE_IFELSE. ++# ++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this ++# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de> ++# Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com> ++# ++# This program is free software: you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see <https://www.gnu.org/licenses/>. ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 5 ++ ++AC_DEFUN([AX_CHECK_COMPILE_FLAG], ++[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF ++AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl ++AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ ++ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS ++ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" ++ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], ++ [AS_VAR_SET(CACHEVAR,[yes])], ++ [AS_VAR_SET(CACHEVAR,[no])]) ++ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) ++AS_VAR_IF(CACHEVAR,yes, ++ [m4_default([$2], :)], ++ [m4_default([$3], :)]) ++AS_VAR_POPDEF([CACHEVAR])dnl ++])dnl AX_CHECK_COMPILE_FLAGS +diff --git a/configure.ac b/configure.ac +index ff4688c..9382fdf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -26,6 +26,7 @@ m4_include([acinclude/pkg.m4]) + m4_include([acinclude/lib-checks.m4]) + m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4]) + m4_include([acinclude/ax_cxx_0x_types.m4]) ++m4_include([acinclude/ax_check_compile_flag.m4]) + + HOSTCXX="$BUILD_CXX" + PRESET_CFLAGS="$CFLAGS" +@@ -44,6 +45,7 @@ AC_PROG_CXX + AC_LANG([C++]) + AC_CANONICAL_HOST + ++AX_CHECK_COMPILE_FLAG([-Werror=format-truncation],[CFLAGS="$CFLAGS -Wno-error=format-truncation" CXXFLAGS="$CXXFLAGS -Wno-error=format-truncation"]) + # Clang 3.2 on some CPUs requires -march-native to detect correctly. + # GCC 4.3+ can also produce faster executables when its used. + # But building inside a virtual machine environment has been found to diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch new file mode 100644 index 0000000000..8ea55d0e16 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/0001-tools.cc-fixed-unused-result-warning.patch @@ -0,0 +1,32 @@ +From faaa796a138cbd5033b1e53f33faac0cf4162bf5 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 25 Jun 2017 00:59:24 -0700 +Subject: [PATCH] tools.cc: fixed unused-result warning + +fix +| ../../squid-3.5.26/src/tools.cc: In function 'void enter_suid()': +| ../../squid-3.5.26/src/tools.cc:616:11: error: ignoring return value of 'int setuid(__uid_t)', declared with attribute warn_unused_result [-Werror=unused-result] +| setuid(0); +| ~~~~~~^~~ + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +--- + src/tools.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/tools.cc b/src/tools.cc +index 8137a03..843e266 100644 +--- a/src/tools.cc ++++ b/src/tools.cc +@@ -612,8 +612,8 @@ enter_suid(void) + if (setresuid((uid_t)-1, 0, (uid_t)-1) < 0) + debugs (21, 3, "enter_suid: setresuid failed: " << xstrerror ()); + #else +- +- setuid(0); ++ if (setuid(0) < 0) ++ debugs(50, DBG_IMPORTANT, "WARNING: no_suid: setuid(0): " << xstrerror()); + #endif + #if HAVE_PRCTL && defined(PR_SET_DUMPABLE) + /* Set Linux DUMPABLE flag */ diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch new file mode 100644 index 0000000000..25f68aff8f --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Fix-flawed-dynamic-ldb-link-test-in-configure.patch @@ -0,0 +1,40 @@ +From b4943594654cd340b95aabdc2f3750a4705cc0de Mon Sep 17 00:00:00 2001 +From: Jim Somerville <Jim.Somerville@windriver.com> +Date: Mon, 21 Oct 2013 12:50:44 -0400 +Subject: [PATCH] Fix flawed dynamic -ldb link test in configure + +The test uses dbopen, but just ignores the fact +that this function may not exist in the db version +used. This leads to the dynamic link test failing +and the configure script just making assumptions +about why and setting the need for -ldb incorrectly. + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> + +--- + configure.ac | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 57cd1ac..3827222 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3229,8 +3229,16 @@ AC_CHECK_DECL(dbopen,,,[ + #include <db.h> + #endif]) + +-dnl 1.85 +-SQUID_CHECK_DBOPEN_NEEDS_LIBDB ++if test "x$ac_cv_have_decl_dbopen" = "xyes"; then ++ dnl 1.85 ++ SQUID_CHECK_DBOPEN_NEEDS_LIBDB ++else ++ # dbopen isn't there. So instead of running a compile/link test that ++ # uses it and is thus guaranteed to fail, we just assume that we will ++ # need to link in the db library, rather than fabricate some other ++ # dynamic compile/link test. ++ ac_cv_dbopen_libdb="yes" ++fi + if test "x$ac_cv_dbopen_libdb" = "xyes"; then + LIB_DB="-ldb" + fi diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch new file mode 100644 index 0000000000..3852f7c255 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Set-up-for-cross-compilation.patch @@ -0,0 +1,28 @@ +From 995aaf30799fa972441354b6feb45f0621968929 Mon Sep 17 00:00:00 2001 +From: Jim Somerville <Jim.Somerville@windriver.com> +Date: Wed, 16 Oct 2013 16:41:03 -0400 +Subject: [PATCH] Set up for cross compilation + +Message-Id: <17e5a28667f667859c48bee25e575a072d39ee1b.1381956170.git.Jim.Somerville@windriver.com> + +Set the host compiler to BUILD_CXX so +proper cross compilation can occur. + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> + +--- + configure.ac | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configure.ac b/configure.ac +index fe80ee0..57cd1ac 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -27,6 +27,7 @@ m4_include([acinclude/lib-checks.m4]) + m4_include([acinclude/ax_cxx_compile_stdcxx_11.m4]) + m4_include([acinclude/ax_cxx_0x_types.m4]) + ++HOSTCXX="$BUILD_CXX" + PRESET_CFLAGS="$CFLAGS" + PRESET_CXXFLAGS="$CXXFLAGS" + PRESET_LDFLAGS="$LDFLAGS" diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch new file mode 100644 index 0000000000..6a3352548b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/Skip-AC_RUN_IFELSE-tests.patch @@ -0,0 +1,65 @@ +From a85311965707ba2fa78f7ce044e6f61e65e66fd0 Mon Sep 17 00:00:00 2001 +From: Jim Somerville <Jim.Somerville@windriver.com> +Date: Tue, 14 Oct 2014 02:56:08 -0400 +Subject: [PATCH] Skip AC_RUN_IFELSE tests + +Upstream-Status: Inappropriate [cross compiling specific] + +Such tests are not supported in a cross compile +environment. Choose sane defaults. + +Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +--- + acinclude/krb5.m4 | 10 +++++++++- + acinclude/lib-checks.m4 | 8 ++++++-- + 2 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/acinclude/krb5.m4 b/acinclude/krb5.m4 +index 5c83d88..c264118 100644 +--- a/acinclude/krb5.m4 ++++ b/acinclude/krb5.m4 +@@ -61,7 +61,15 @@ main(void) + + return 0; + } +-]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ]) ++]])], [ squid_cv_broken_heimdal_krb5_h=yes ], [ squid_cv_broken_heimdal_krb5_h=no ], ++[ ++ dnl Can't test in cross compiled env - so assume good ++ squid_cv_broken_heimdal_krb5_h=no ++]) ++ ], ++ [ ++ dnl Can't test in cross compiled env - so assume good ++ squid_cv_broken_heimdal_krb5_h=no + ]) + ]) + ]) dnl SQUID_CHECK_KRB5_HEIMDAL_BROKEN_KRB5_H +diff --git a/acinclude/lib-checks.m4 b/acinclude/lib-checks.m4 +index c4874da..ba72982 100644 +--- a/acinclude/lib-checks.m4 ++++ b/acinclude/lib-checks.m4 +@@ -177,7 +177,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_CONST_SSL_METHOD],[ + [ + AC_MSG_RESULT([no]) + ], +- []) ++ [ ++ AC_MSG_RESULT([skipped - can't test in cross-compiled env]) ++ ]) + + SQUID_STATE_ROLLBACK(check_const_SSL_METHOD) + ] +@@ -265,7 +267,9 @@ AC_DEFUN([SQUID_CHECK_OPENSSL_TXTDB],[ + AC_MSG_RESULT([yes]) + AC_DEFINE(SQUID_USE_SSLLHASH_HACK, 1) + ], +-[]) ++[ ++ AC_MSG_RESULT([skipped - can't test in cross-compiled env]) ++]) + + SQUID_STATE_ROLLBACK(check_TXTDB) + ]) diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch new file mode 100644 index 0000000000..2feca4986e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/gcc7-fixes.patch @@ -0,0 +1,26 @@ +From 660fce9cfa00a57e5b7cec46116a31e21595c306 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 19 Jun 2017 23:47:01 -0700 +Subject: [PATCH] squid: Upgrade to 3.5.26 + +../../squid-3.5.26/src/DiskIO/DiskThreads/aiops.cc: In function 'void squidaio_init()': ../../squid-3.5.26/src/DiskIO/DiskThreads/DiskThreads.h:30:50: error: '*' in boolean context, suggest '&&' instead [-Werror=int-in-bool-context] #define NUMTHREADS (Config.cacheSwap.n_configured*16) + +Upstream-Status: Backport + +--- + src/DiskIO/DiskThreads/aiops.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/DiskIO/DiskThreads/aiops.cc b/src/DiskIO/DiskThreads/aiops.cc +index b44adfa..e11f948 100644 +--- a/src/DiskIO/DiskThreads/aiops.cc ++++ b/src/DiskIO/DiskThreads/aiops.cc +@@ -290,7 +290,7 @@ squidaio_init(void) + /* Create threads and get them to sit in their wait loop */ + squidaio_thread_pool = memPoolCreate("aio_thread", sizeof(squidaio_thread_t)); + +- assert(NUMTHREADS); ++ assert(NUMTHREADS != 0); + + for (i = 0; i < NUMTHREADS; ++i) { + threadp = (squidaio_thread_t *)squidaio_thread_pool->alloc(); diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/run-ptest b/meta-openembedded/meta-networking/recipes-daemons/squid/files/run-ptest new file mode 100644 index 0000000000..de79a293c5 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/run-ptest @@ -0,0 +1,3 @@ +#!/bin/sh +# +make -C test-suite -k runtest-TESTS diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch new file mode 100644 index 0000000000..e990480a6d --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/set_sysroot_patch.patch @@ -0,0 +1,41 @@ +From 702bd881b66dc034e711c0ff47805f2da40b6e0d Mon Sep 17 00:00:00 2001 +From: Yue Tao <yue.tao@windriver.com> +Date: Mon, 8 Aug 2016 16:04:33 +0800 +Subject: [PATCH] Set the SYSROOT for libxml2 header file to avoid host + contamination. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Yue Tao <yue.tao@windriver.com> +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> + +--- + configure.ac | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 504a844..ff4688c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -974,15 +974,15 @@ if test "x$squid_opt_use_esi" = "xyes" -a "x$with_libxml2" != "xno" ; then + dnl Find the main header and include path... + AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [ + AC_CHECK_HEADERS([libxml/parser.h], [], [ +- AC_MSG_NOTICE([Testing in /usr/include/libxml2]) ++ AC_MSG_NOTICE([Testing in $SYSROOT/usr/include/libxml2]) + SAVED_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS" ++ CPPFLAGS="-I$SYSROOT/usr/include/libxml2 $CPPFLAGS" + unset ac_cv_header_libxml_parser_h +- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/include/libxml2"], [ +- AC_MSG_NOTICE([Testing in /usr/local/include/libxml2]) +- CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS" ++ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/include/libxml2"], [ ++ AC_MSG_NOTICE([Testing in $SYSROOT/usr/local/include/libxml2]) ++ CPPFLAGS="-I$SYSROOT/usr/local/include/libxml2 $SAVED_CPPFLAGS" + unset ac_cv_header_libxml_parser_h +- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/local/include/libxml2"], [ ++ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I$SYSROOT/usr/local/include/libxml2"], [ + AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h]) + ]) + ]) diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch new file mode 100644 index 0000000000..e5267ea2b2 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-don-t-do-squid-conf-tests-at-build-time.patch @@ -0,0 +1,61 @@ +From 8786b91488dae3f6dfeadd686e80d2ffc5c29320 Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Thu, 25 Aug 2016 15:22:57 +0800 +Subject: [PATCH] squid: don't do squid-conf-tests at build time + +* squid-conf-tests is a test to run "squid -k parse -f" + to perse the config files, which should not be run + at build time since we are cross compiling, so remove + it but it will be added back for the runtime ptest. + +* Fix the directories of the conf files for squid-conf-tests + so that it can run on the target board. + +Upstream-Status: Inappropriate [cross compile specific] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +--- + test-suite/Makefile.am | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am +index 061a463..350dfb2 100644 +--- a/test-suite/Makefile.am ++++ b/test-suite/Makefile.am +@@ -41,8 +41,7 @@ TESTS += debug \ + MemPoolTest\ + mem_node_test\ + mem_hdr_test\ +- $(ESI_TESTS) \ +- squid-conf-tests ++ $(ESI_TESTS) + + ## Sort by alpha - any build failures are significant. + check_PROGRAMS += debug \ +@@ -125,19 +124,19 @@ VirtualDeleteOperator_SOURCES = VirtualDeleteOperator.cc $(DEBUG_SOURCE) + ##$(TARGLIB): $(LIBOBJS) + ## $(AR_R) $(TARGLIB) $(LIBOBJS) + +-squid-conf-tests: $(top_builddir)/src/squid.conf.default $(srcdir)/squidconf/* ++squid-conf-tests: $(sysconfdir)/squid.conf.default squidconf/* + @failed=0; cfglist="$?"; rm -f $@ || $(TRUE); \ + for cfg in $$cfglist ; do \ +- $(top_builddir)/src/squid -k parse -f $$cfg || \ ++ squid -k parse -f $$cfg || \ + { echo "FAIL: squid.conf test: $$cfg" | \ +- sed s%$(top_builddir)/src/%% | \ +- sed s%$(srcdir)/squidconf/%% ; \ ++ sed s%$(sysconfdir)/%% | \ ++ sed s%squidconf/%% ; \ + failed=1; break; \ + }; \ + if test "$$failed" -eq 0; then \ + echo "PASS: squid.conf test: $$cfg" | \ +- sed s%$(top_builddir)/src/%% | \ +- sed s%$(srcdir)/squidconf/%% ; \ ++ sed s%$(sysconfdir)/%% | \ ++ sed s%squidconf/%% ; \ + else break; fi; \ + done; \ + if test "$$failed" -eq 0; then cp $(TRUE) $@ ; fi diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch b/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch new file mode 100644 index 0000000000..9c75f17e70 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/squid-use-serial-tests-config-needed-by-ptest.patch @@ -0,0 +1,29 @@ +From 9bcec221a2bb438d8a9ed59aed846ffe3be9cffa Mon Sep 17 00:00:00 2001 +From: Jackie Huang <jackie.huang@windriver.com> +Date: Tue, 19 Jul 2016 01:56:23 -0400 +Subject: [PATCH] squid: use serial-tests config needed by ptest + +ptest needs buildtest-TESTS and runtest-TESTS targets. +serial-tests is required to generate those targets. + +Upstream-Status: Inappropriate [default automake behavior incompatible with ptest] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 3827222..504a844 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10,7 +10,7 @@ AC_PREREQ(2.61) + AC_CONFIG_HEADERS([include/autoconf.h]) + AC_CONFIG_AUX_DIR(cfgaux) + AC_CONFIG_SRCDIR([src/main.cc]) +-AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects]) ++AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects serial-tests]) + AC_REVISION($Revision$)dnl + AC_PREFIX_DEFAULT(/usr/local/squid) + AM_MAINTAINER_MODE diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/files/volatiles.03_squid b/meta-openembedded/meta-networking/recipes-daemons/squid/files/volatiles.03_squid new file mode 100644 index 0000000000..83e1f8b7a5 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/files/volatiles.03_squid @@ -0,0 +1,3 @@ +# <type> <owner> <group> <mode> <path> <linksource> +d squid squid 0755 /var/run/squid none +d squid squid 0750 /var/log/squid none diff --git a/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.26.bb b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.26.bb new file mode 100644 index 0000000000..3ee96abb7b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-daemons/squid/squid_3.5.26.bb @@ -0,0 +1,114 @@ +SUMMARY = "A fully-featured http proxy and web-cache daemon for Linux" +DESCRIPTION = "A fully-featured http proxy and web-cache daemon for Linux. \ +Squid offers a rich access control, authorization and logging environment to \ +develop web proxy and content serving applications. \ +Squid offers a rich set of traffic optimization options, most of which are \ +enabled by default for simpler installation and high performance. \ +" +HOMEPAGE = "http://www.squid-cache.org" +SECTION = "web" +LICENSE = "GPLv2+" + +MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}" +MIN_VER = "${@oe.utils.trim_version("${PV}", 2)}" + +SRC_URI = "http://www.squid-cache.org/Versions/v${MAJ_VER}/${MIN_VER}/${BPN}-${PV}.tar.bz2 \ + file://Set-up-for-cross-compilation.patch \ + file://Skip-AC_RUN_IFELSE-tests.patch \ + file://Fix-flawed-dynamic-ldb-link-test-in-configure.patch \ + file://squid-use-serial-tests-config-needed-by-ptest.patch \ + file://run-ptest \ + file://volatiles.03_squid \ + file://set_sysroot_patch.patch \ + file://squid-don-t-do-squid-conf-tests-at-build-time.patch \ + file://0001-SquidNew-use-noexcept-instead-of-throw-for-C-11-comp.patch \ + file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch \ + file://gcc7-fixes.patch \ + file://0001-tools.cc-fixed-unused-result-warning.patch \ + " + +SRC_URI_remove_toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch" + +SRC_URI[md5sum] = "dc1830cd361e077814aa39bcc3691d8b" +SRC_URI[sha256sum] = "41d8845863dcd026c856508cd1599d417c8947ffd96e86e24085f9893cb8b8c2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=c492e2d6d32ec5c1aad0e0609a141ce9 \ + file://errors/COPYRIGHT;md5=8861130fae91400bcf99b66f133172b3 \ + " +DEPENDS = "libtool krb5 openldap db cyrus-sasl openssl expat libxml2" + +inherit autotools pkgconfig useradd ptest perlnative + +USERADD_PACKAGES = "${PN}" +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid" + +PACKAGECONFIG ??= "${@bb.utils.contains('TARGET_ARCH', 'powerpc', 'noatomics', '', d)} \ + ${@bb.utils.contains('TARGET_ARCH', 'mips', 'noatomics', '', d)} \ + ${@bb.utils.contains('TARGET_ARCH', 'mipsel', 'noatomics', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ + " +PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack" +PACKAGECONFIG[noatomics] = "squid_cv_gnu_atomics=no,squid_cv_gnu_atomics=yes,," +PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +BASIC_AUTH = "DB SASL LDAP" + +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" +BASIC_AUTH += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'PAM', '', d)}" + +EXTRA_OECONF += "--with-default-user=squid --enable-auth-basic='${BASIC_AUTH}' \ + --sysconfdir=${sysconfdir}/${BPN} \ + --with-logdir=${localstatedir}/log/${BPN} \ + 'PERL=${USRBINPATH}/env perl'" + +export BUILDCXXFLAGS="${BUILD_CXXFLAGS}" + +TESTDIR = "test-suite" + +do_configure_prepend() { + export SYSROOT=$PKG_CONFIG_SYSROOT_DIR +} + +do_compile_ptest() { + oe_runmake -C ${TESTDIR} buildtest-TESTS +} + +do_install_ptest() { + cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH} + cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH} + + # do NOT need to rebuild Makefile itself + sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Add squid-conf-tests for runtime tests + sed -e 's/^\(runtest-TESTS:\)/\1 squid-conf-tests/' \ + -e "s/\(list=' \$(TESTS)\)/\1 squid-conf-tests/" \ + -i ${D}${PTEST_PATH}/${TESTDIR}/Makefile + + # Ensure the path for command true is correct + sed -i 's:^TRUE = .*$:TRUE = /bin/true:' ${D}${PTEST_PATH}/${TESTDIR}/Makefile +} + +do_install_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d ${localstatedir}/run/${BPN} 0755 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + echo "d ${localstatedir}/log/${BPN} 0750 squid squid -" >> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf + fi + + install -d ${D}${sysconfdir}/default/volatiles + install -m 0644 ${WORKDIR}/volatiles.03_squid ${D}${sysconfdir}/default/volatiles/03_squid + + rmdir "${D}${localstatedir}/run/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/run" + + rmdir "${D}${localstatedir}/log/${BPN}" + rmdir --ignore-fail-on-non-empty "${D}${localstatedir}/log" +} + +FILES_${PN} += "${libdir} ${datadir}/errors ${datadir}/icons" +FILES_${PN}-dbg += "/usr/src/debug" +FILES_${PN}-doc += "${datadir}/*.txt" + +RDEPENDS_${PN} += "perl" +RDEPENDS_${PN}-ptest += "make" |