added my Recipes
This commit is contained in:
@@ -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
|
||||
@@ -0,0 +1,38 @@
|
||||
From b73b802282bf95d214c86ba943c5765ba6930bc1 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 | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d2f7feb..c7ae568 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3268,6 +3268,16 @@ case "$host" in
|
||||
;;
|
||||
esac
|
||||
|
||||
+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
|
||||
dnl System-specific library modifications
|
||||
dnl
|
||||
case "$host" in
|
||||
@@ -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"
|
||||
@@ -0,0 +1,66 @@
|
||||
From e4778299a3e49a634d2c7fe4fd9ac77777e829e3 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 ad0ba60..4477446 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 1e9333527c..2d42787029 100644
|
||||
--- a/acinclude/lib-checks.m4
|
||||
+++ b/acinclude/lib-checks.m4
|
||||
@@ -227,7 +227,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)
|
||||
])
|
||||
@@ -386,8 +386,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)
|
||||
])
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
make -C test-suite -k runtest-TESTS
|
||||
@@ -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
|
||||
@@ -931,15 +931,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], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -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], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -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], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I/usr/local/include/libxml2"], [
|
||||
+ AC_CHECK_HEADERS([libxml/parser.h], [LIBXML2_CFLAGS="$LIBXML2_CFLAGS -I$SYSROOT/usr/local/include/libxml2"], [
|
||||
AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h])
|
||||
])
|
||||
])
|
||||
@@ -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 0233c0e..e0021b6 100644
|
||||
--- a/test-suite/Makefile.am
|
||||
+++ b/test-suite/Makefile.am
|
||||
@@ -40,8 +40,7 @@ TESTS += debug \
|
||||
splay\
|
||||
mem_node_test\
|
||||
mem_hdr_test\
|
||||
- $(ESI_TESTS) \
|
||||
- squid-conf-tests
|
||||
+ $(ESI_TESTS)
|
||||
|
||||
## Sort by alpha - any build failures are significant.
|
||||
check_PROGRAMS += debug \
|
||||
@@ -159,19 +158,19 @@ VirtualDeleteOperator_SOURCES = \
|
||||
##$(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
|
||||
@@ -0,0 +1,29 @@
|
||||
From 3d881c112bba765731d581194aae95651819b715 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 c7ae568..5e1454e 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 dist-xz])
|
||||
+AM_INIT_AUTOMAKE([tar-ustar nostdinc subdir-objects dist-xz serial-tests])
|
||||
AC_REVISION($Revision$)dnl
|
||||
AC_PREFIX_DEFAULT(/usr/local/squid)
|
||||
AM_MAINTAINER_MODE
|
||||
@@ -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
|
||||
@@ -0,0 +1,124 @@
|
||||
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 = "GPL-2.0-or-later"
|
||||
|
||||
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}/${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-configure-Check-for-Wno-error-format-truncation-comp.patch \
|
||||
"
|
||||
|
||||
SRC_URI:remove:toolchain-clang = "file://0001-configure-Check-for-Wno-error-format-truncation-comp.patch"
|
||||
|
||||
SRC_URI[sha256sum] = "4c17e1eb324c4b7aa3c6889eba66eeca7ed98625d44076f7db7b027b2b093bd5"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://errors/COPYRIGHT;md5=0a7deb73d8fb7a9849af7145987829a4 \
|
||||
"
|
||||
DEPENDS = "libtool krb5 openldap db cyrus-sasl"
|
||||
|
||||
inherit autotools pkgconfig useradd ptest perlnative
|
||||
|
||||
LDFLAGS:append:mipsarch = " -latomic"
|
||||
LDFLAGS:append:powerpc = " -latomic"
|
||||
LDFLAGS:append:riscv64 = " -latomic"
|
||||
LDFLAGS:append:riscv32 = " -latomic"
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/squid --shell /bin/false --user-group squid"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
|
||||
"
|
||||
PACKAGECONFIG[libnetfilter-conntrack] = "--with-netfilter-conntrack=${includedir}, --without-netfilter-conntrack, libnetfilter-conntrack"
|
||||
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
|
||||
PACKAGECONFIG[werror] = "--enable-strict-error-checking,--disable-strict-error-checking,"
|
||||
PACKAGECONFIG[esi] = "--enable-esi,--disable-esi,expat libxml2"
|
||||
PACKAGECONFIG[ssl] = "--with-openssl=yes,--with-openssl=no,openssl"
|
||||
|
||||
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}
|
||||
|
||||
# Needed to generate file squid.conf.default
|
||||
oe_runmake DESTDIR=${D}${PTEST_PATH} -C src install-data-local
|
||||
install -d ${D}${sysconfdir}/squid
|
||||
install -m 0644 ${D}${PTEST_PATH}/${sysconfdir}/squid/squid.conf.default ${D}${sysconfdir}/squid
|
||||
|
||||
# Don't need these directories
|
||||
rm -rf ${D}${PTEST_PATH}/${sysconfdir}
|
||||
rm -rf ${D}${PTEST_PATH}/usr
|
||||
rm -rf ${D}${PTEST_PATH}/var
|
||||
|
||||
# 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/' \
|
||||
-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"
|
||||
FILES:${PN}-ptest += "${sysconfdir}/squid/squid.conf.default"
|
||||
|
||||
RDEPENDS:${PN} += "perl"
|
||||
RDEPENDS:${PN}-ptest += "perl make"
|
||||
Reference in New Issue
Block a user