From: Bernd Kuhls Date: Mon, 20 Aug 2018 05:47:34 +0000 (+0200) Subject: package/trousers: bump version to 0.3.14 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ece420b121713cfb414a8beb35b89beeaafc686b;p=buildroot.git package/trousers: bump version to 0.3.14 Removed patches 0001 & 0003, applied upstream. Rebased patches 0002 & 0004 and renumbered them. Added sha256 hashes for tarball and license file. Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- diff --git a/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch b/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch new file mode 100644 index 0000000000..b1179eb4aa --- /dev/null +++ b/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch @@ -0,0 +1,214 @@ +From 9abda1bb380bdbef1affaec381742ced394ca118 Mon Sep 17 00:00:00 2001 +From: Lada Trimasova +Date: Mon, 18 Jan 2016 15:58:19 +0300 +Subject: [PATCH] Check if the compiler understands pie and relro options + +-pie and -fpie enable the building of position-independent +executables, and -Wl,-z,relro turns on read-only relocation support in gcc. +Add checks to ensure that the compiler and linker understand these options. + +Signed-off-by: Lada Trimasova +[Bernd: Rebased for version 0.3.14] +Signed-off-by: Bernd Kuhls +--- + configure.ac | 5 +++ + m4/ax_check_compile_flag.m4 | 72 ++++++++++++++++++++++++++++++++++++ + m4/ax_check_link_flag.m4 | 71 +++++++++++++++++++++++++++++++++++ + src/tcsd/Makefile.am | 4 +- + 4 files changed, 150 insertions(+), 2 deletions(-) + create mode 100644 m4/ax_check_compile_flag.m4 + create mode 100644 m4/ax_check_link_flag.m4 + +diff --git a/configure.in b/configure.in +index add23dc..9603353 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -12,6 +12,7 @@ TSS_VER_MINOR=3 + # compute $target + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE([foreign subdir-objects 1.6]) ++AC_CONFIG_MACRO_DIR([m4]) + + # Debugging support + AC_ARG_ENABLE([debug], +@@ -383,6 +384,10 @@ elif test x"${prefix}" = x"NONE"; then + localstatedir="/usr/local/var" + fi + ++AX_CHECK_COMPILE_FLAG([-fPIE -DPIE], [PIE_CFLAGS="-fPIE -DPIE"]) ++AX_CHECK_LINK_FLAG([-pie], [PIE_LDFLAGS="$PIE_LDFLAGS -pie"]) ++AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"]) ++ + AC_OUTPUT(dist/tcsd.conf \ + dist/fedora/trousers.spec \ + dist/trousers.spec \ +diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 +new file mode 100644 +index 0000000..c3a8d69 +--- /dev/null ++++ b/m4/ax_check_compile_flag.m4 +@@ -0,0 +1,72 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) ++# ++# 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. ++# ++# 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 ++# Copyright (c) 2011 Maarten Bosmans ++# ++# 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 . ++# ++# 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 2 ++ ++AC_DEFUN([AX_CHECK_COMPILE_FLAG], ++[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX ++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([AC_LANG_PROGRAM()], ++ [AS_VAR_SET(CACHEVAR,[yes])], ++ [AS_VAR_SET(CACHEVAR,[no])]) ++ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) ++AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], ++ [m4_default([$2], :)], ++ [m4_default([$3], :)]) ++AS_VAR_POPDEF([CACHEVAR])dnl ++])dnl AX_CHECK_COMPILE_FLAGS +diff --git a/m4/ax_check_link_flag.m4 b/m4/ax_check_link_flag.m4 +new file mode 100644 +index 0000000..e2d0d36 +--- /dev/null ++++ b/m4/ax_check_link_flag.m4 +@@ -0,0 +1,71 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) ++# ++# DESCRIPTION ++# ++# Check whether the given FLAG works with the linker 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 linker's default flags ++# when the check is done. The check is thus made with the flags: "LDFLAGS ++# EXTRA-FLAGS FLAG". This can for example be used to force the linker to ++# issue an error when a bad flag is given. ++# ++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this ++# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Guido U. Draheim ++# Copyright (c) 2011 Maarten Bosmans ++# ++# 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 . ++# ++# 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 2 ++ ++AC_DEFUN([AX_CHECK_LINK_FLAG], ++[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl ++AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ ++ ax_check_save_flags=$LDFLAGS ++ LDFLAGS="$LDFLAGS $4 $1" ++ AC_LINK_IFELSE([AC_LANG_PROGRAM()], ++ [AS_VAR_SET(CACHEVAR,[yes])], ++ [AS_VAR_SET(CACHEVAR,[no])]) ++ LDFLAGS=$ax_check_save_flags]) ++AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], ++ [m4_default([$2], :)], ++ [m4_default([$3], :)]) ++AS_VAR_POPDEF([CACHEVAR])dnl ++])dnl AX_CHECK_LINK_FLAGS +diff --git a/src/tcsd/Makefile.am b/src/tcsd/Makefile.am +index 2210734..6640ab2 100644 +--- a/src/tcsd/Makefile.am ++++ b/src/tcsd/Makefile.am +@@ -1,8 +1,8 @@ + sbin_PROGRAMS=tcsd + +-tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include -fPIE -DPIE ++tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include $(PIE_CFLAGS) + tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tddl/libtddl.a -lpthread @CRYPTOLIB@ +-tcsd_LDFLAGS=@TCSD_LDFLAGS@ ++tcsd_LDFLAGS=$(PIE_LDFLAGS) $(RELRO_LDFLAGS) + tcsd_SOURCES=svrside.c tcsd_conf.c tcsd_threads.c platform.c + + if TSS_BUILD_PS diff --git a/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch b/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch deleted file mode 100644 index b0db70b49b..0000000000 --- a/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch +++ /dev/null @@ -1,94 +0,0 @@ -From f03c7987c234a81f7e4274b26bab07318357a2a5 Mon Sep 17 00:00:00 2001 -From: Sergio Prado -Date: Fri, 25 Dec 2015 20:09:21 -0200 -Subject: [PATCH] Remove inline for read_data and write_data - -read_data and write_data functions are declared with inline, but -their definition is not in a .h file. This is causing errors when -linking: - -tcsps.c:(.text+0x4ac): undefined reference to `read_data' -tcsps.c:(.text+0x1888): undefined reference to `write_data' -... - -Partial backport of upstream commit -3297fcdf5ac0df868778e976b8b59e35542c1ee2. - -Signed-off-by: Sergio Prado ---- - src/include/tcsps.h | 5 ----- - src/tcs/ps/ps_utils.c | 8 -------- - src/tspi/ps/ps_utils.c | 4 ++-- - 3 files changed, 2 insertions(+), 15 deletions(-) - -diff --git a/src/include/tcsps.h b/src/include/tcsps.h -index 87542965877d..dcd5db469822 100644 ---- a/src/include/tcsps.h -+++ b/src/include/tcsps.h -@@ -23,13 +23,8 @@ int get_file(); - int put_file(int); - void close_file(int); - void ps_destroy(); --#ifdef SOLARIS - TSS_RESULT read_data(int, void *, UINT32); - TSS_RESULT write_data(int, void *, UINT32); --#else --inline TSS_RESULT read_data(int, void *, UINT32); --inline TSS_RESULT write_data(int, void *, UINT32); --#endif - int write_key_init(int, UINT32, UINT32, UINT32); - TSS_RESULT cache_key(UINT32, UINT16, TSS_UUID *, TSS_UUID *, UINT16, UINT32, UINT32); - TSS_RESULT UnloadBlob_KEY_PS(UINT16 *, BYTE *, TSS_KEY *); -diff --git a/src/tcs/ps/ps_utils.c b/src/tcs/ps/ps_utils.c -index 2e7f502b9599..35ac89f8fc12 100644 ---- a/src/tcs/ps/ps_utils.c -+++ b/src/tcs/ps/ps_utils.c -@@ -42,11 +42,7 @@ - struct key_disk_cache *key_disk_cache_head = NULL; - - --#ifdef SOLARIS - TSS_RESULT --#else --inline TSS_RESULT --#endif - read_data(int fd, void *data, UINT32 size) - { - int rc; -@@ -64,11 +60,7 @@ read_data(int fd, void *data, UINT32 size) - } - - --#ifdef SOLARIS - TSS_RESULT --#else --inline TSS_RESULT --#endif - write_data(int fd, void *data, UINT32 size) - { - int rc; -diff --git a/src/tspi/ps/ps_utils.c b/src/tspi/ps/ps_utils.c -index aac40a147314..83259141d375 100644 ---- a/src/tspi/ps/ps_utils.c -+++ b/src/tspi/ps/ps_utils.c -@@ -22,7 +22,7 @@ - #include "tspps.h" - #include "tsplog.h" - --inline TSS_RESULT -+TSS_RESULT - read_data(int fd, void *data, UINT32 size) - { - int rc; -@@ -39,7 +39,7 @@ read_data(int fd, void *data, UINT32 size) - return TSS_SUCCESS; - } - --inline TSS_RESULT -+TSS_RESULT - write_data(int fd, void *data, UINT32 size) - { - int rc; --- -1.9.1 - diff --git a/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch b/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch deleted file mode 100644 index 3275b76a2c..0000000000 --- a/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch +++ /dev/null @@ -1,215 +0,0 @@ -From 9abda1bb380bdbef1affaec381742ced394ca118 Mon Sep 17 00:00:00 2001 -From: Lada Trimasova -Date: Mon, 18 Jan 2016 15:58:19 +0300 -Subject: [PATCH] Check if the compiler understands pie and relro options - --pie and -fpie enable the building of position-independent -executables, and -Wl,-z,relro turns on read-only relocation support in gcc. -Add checks to ensure that the compiler and linker understand these options. - -Signed-off-by: Lada Trimasova ---- - configure.in | 5 +++ - m4/ax_check_compile_flag.m4 | 72 ++++++++++++++++++++++++++++++++++++ - m4/ax_check_link_flag.m4 | 71 +++++++++++++++++++++++++++++++++++ - src/tcsd/Makefile.am | 4 +- - 4 files changed, 150 insertions(+), 2 deletions(-) - create mode 100644 m4/ax_check_compile_flag.m4 - create mode 100644 m4/ax_check_link_flag.m4 - -diff --git a/configure.in b/configure.in -index add23dc..9603353 100644 ---- a/configure.in -+++ b/configure.in -@@ -12,6 +12,7 @@ TSS_VER_MINOR=3 - # compute $target - AC_CANONICAL_TARGET - AM_INIT_AUTOMAKE([foreign 1.6]) -+AC_CONFIG_MACRO_DIR([m4]) - - # Debugging support - AC_ARG_ENABLE([debug], -@@ -383,6 +384,10 @@ elif test x"${prefix}" = x"NONE"; then - localstatedir="/usr/local/var" - fi - -+AX_CHECK_COMPILE_FLAG([-fPIE -DPIE], [PIE_CFLAGS="-fPIE -DPIE"]) -+AX_CHECK_LINK_FLAG([-pie], [PIE_LDFLAGS="$PIE_LDFLAGS -pie"]) -+AX_CHECK_LINK_FLAG([-Wl,-z,relro], [LDFLAGS="$LDFLAGS -Wl,-z,relro"]) -+ - AC_OUTPUT(dist/tcsd.conf \ - dist/fedora/trousers.spec \ - dist/trousers.spec \ -diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 -new file mode 100644 -index 0000000..c3a8d69 ---- /dev/null -+++ b/m4/ax_check_compile_flag.m4 -@@ -0,0 +1,72 @@ -+# =========================================================================== -+# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) -+# -+# 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. -+# -+# 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 -+# Copyright (c) 2011 Maarten Bosmans -+# -+# 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 . -+# -+# 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 2 -+ -+AC_DEFUN([AX_CHECK_COMPILE_FLAG], -+[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX -+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([AC_LANG_PROGRAM()], -+ [AS_VAR_SET(CACHEVAR,[yes])], -+ [AS_VAR_SET(CACHEVAR,[no])]) -+ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -+AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], -+ [m4_default([$2], :)], -+ [m4_default([$3], :)]) -+AS_VAR_POPDEF([CACHEVAR])dnl -+])dnl AX_CHECK_COMPILE_FLAGS -diff --git a/m4/ax_check_link_flag.m4 b/m4/ax_check_link_flag.m4 -new file mode 100644 -index 0000000..e2d0d36 ---- /dev/null -+++ b/m4/ax_check_link_flag.m4 -@@ -0,0 +1,71 @@ -+# =========================================================================== -+# http://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html -+# =========================================================================== -+# -+# SYNOPSIS -+# -+# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) -+# -+# DESCRIPTION -+# -+# Check whether the given FLAG works with the linker 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 linker's default flags -+# when the check is done. The check is thus made with the flags: "LDFLAGS -+# EXTRA-FLAGS FLAG". This can for example be used to force the linker to -+# issue an error when a bad flag is given. -+# -+# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this -+# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. -+# -+# LICENSE -+# -+# Copyright (c) 2008 Guido U. Draheim -+# Copyright (c) 2011 Maarten Bosmans -+# -+# 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 . -+# -+# 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 2 -+ -+AC_DEFUN([AX_CHECK_LINK_FLAG], -+[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl -+AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ -+ ax_check_save_flags=$LDFLAGS -+ LDFLAGS="$LDFLAGS $4 $1" -+ AC_LINK_IFELSE([AC_LANG_PROGRAM()], -+ [AS_VAR_SET(CACHEVAR,[yes])], -+ [AS_VAR_SET(CACHEVAR,[no])]) -+ LDFLAGS=$ax_check_save_flags]) -+AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], -+ [m4_default([$2], :)], -+ [m4_default([$3], :)]) -+AS_VAR_POPDEF([CACHEVAR])dnl -+])dnl AX_CHECK_LINK_FLAGS -diff --git a/src/tcsd/Makefile.am b/src/tcsd/Makefile.am -index 2210734..6640ab2 100644 ---- a/src/tcsd/Makefile.am -+++ b/src/tcsd/Makefile.am -@@ -1,8 +1,8 @@ - sbin_PROGRAMS=tcsd - --tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include -fPIE -DPIE -+tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include $(PIE_CFLAGS) - tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tddl/libtddl.a -lpthread @CRYPTOLIB@ --tcsd_LDFLAGS=-pie -Wl,-z,relro -Wl,-z,now -+tcsd_LDFLAGS=$(PIE_LDFLAGS) $(RELRO_LDFLAGS) - - tcsd_SOURCES=svrside.c tcsd_conf.c tcsd_threads.c platform.c - --- -2.5.0 - diff --git a/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch b/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch new file mode 100644 index 0000000000..ab2418c7c5 --- /dev/null +++ b/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch @@ -0,0 +1,82 @@ +From 9e42c405f30d2b52d019598436ea346ef8586f43 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?No=C3=A9=20Rubinstein?= +Date: Wed, 24 Aug 2016 18:55:25 +0200 +Subject: [PATCH] Check that getpwent_r is available before using it + +This fixes building trousers with musl + +Signed-off-by: Noé Rubinstein +[Bernd: Rebased for version 0.3.14] +Signed-off-by: Bernd Kuhls +--- + configure.ac | 4 ++++ + src/tspi/ps/tspps.c | 10 +++++----- + 2 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/configure.in b/configure.in +index fd3f5f1..e3d7acf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -145,6 +145,10 @@ else + AC_MSG_ERROR(["gtk", "openssl" and "none" are the only supported gui options for trousers]) + fi + ++# Look for getpwent_r. If it is not found, getpwent will be used instead, with ++# an additional mutex. ++AC_CHECK_FUNC(getpwent_r, [AC_DEFINE(HAVE_GETPWENT_R)]) ++ + # + # The default port that the TCS daemon listens on + # +diff --git a/src/tspi/ps/tspps.c b/src/tspi/ps/tspps.c +index c6f9c3d..9d00d2a 100644 +--- a/src/tspi/ps/tspps.c ++++ b/src/tspi/ps/tspps.c +@@ -45,7 +45,7 @@ + + static int user_ps_fd = -1; + static MUTEX_DECLARE_INIT(user_ps_lock); +-#if (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#ifndef HAVE_GETPWENT_R + static MUTEX_DECLARE_INIT(user_ps_path); + #endif + static struct flock fl; +@@ -60,7 +60,7 @@ get_user_ps_path(char **file) + TSS_RESULT result; + char *file_name = NULL, *home_dir = NULL; + struct passwd *pwp; +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) ++#ifdef HAVE_GETPWENT_R + struct passwd pw; + #endif + struct stat stat_buf; +@@ -72,7 +72,7 @@ get_user_ps_path(char **file) + *file = strdup(file_name); + return (*file) ? TSS_SUCCESS : TSPERR(TSS_E_OUTOFMEMORY); + } +-#if (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#ifndef HAVE_GETPWENT_R + MUTEX_LOCK(user_ps_path); + #endif + +@@ -90,7 +90,7 @@ get_user_ps_path(char **file) + #else + setpwent(); + while (1) { +-#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) ++#ifdef HAVE_GETPWENT_R + rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp); + if (rc) { + LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s", +@@ -99,7 +99,7 @@ get_user_ps_path(char **file) + return TSPERR(TSS_E_INTERNAL_ERROR); + } + +-#elif (defined (__FreeBSD__) || defined (__OpenBSD__)) ++#else + if ((pwp = getpwent()) == NULL) { + LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s", + strerror(rc)); +-- +2.1.4 + diff --git a/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch b/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch deleted file mode 100644 index f88e47ac27..0000000000 --- a/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 66bbe0a87818a1e3c721780dc33b2d81fdf4a774 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 21 Aug 2016 23:32:10 +0200 -Subject: [PATCH] tsp_tcsi_param: include limits.h to fix musl build - -The musl libc doesn't provide , use -instead. - -Signed-off-by: Romain Naour ---- - src/tspi/tsp_tcsi_param.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/tspi/tsp_tcsi_param.c b/src/tspi/tsp_tcsi_param.c -index 670f86f..8f2b4e4 100644 ---- a/src/tspi/tsp_tcsi_param.c -+++ b/src/tspi/tsp_tcsi_param.c -@@ -11,7 +11,7 @@ - #include - #include - #include --#include -+#include - #include "trousers/tss.h" - #include "trousers/trousers.h" - #include "trousers_types.h" --- -2.5.5 - diff --git a/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch b/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch deleted file mode 100644 index 7014ad7afb..0000000000 --- a/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 9e42c405f30d2b52d019598436ea346ef8586f43 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?No=C3=A9=20Rubinstein?= -Date: Wed, 24 Aug 2016 18:55:25 +0200 -Subject: [PATCH] Check that getpwent_r is available before using it - -This fixes building trousers with musl - -Signed-off-by: Noé Rubinstein ---- - configure.in | 4 ++++ - src/tspi/ps/tspps.c | 10 +++++----- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/configure.in b/configure.in -index fd3f5f1..e3d7acf 100644 ---- a/configure.in -+++ b/configure.in -@@ -145,6 +145,10 @@ else - AC_MSG_ERROR(["gtk", "openssl" and "none" are the only supported gui options for trousers]) - fi - -+# Look for getpwent_r. If it is not found, getpwent will be used instead, with -+# an additional mutex. -+AC_CHECK_FUNC(getpwent_r, [AC_DEFINE(HAVE_GETPWENT_R)]) -+ - # - # The default port that the TCS daemon listens on - # -diff --git a/src/tspi/ps/tspps.c b/src/tspi/ps/tspps.c -index c6f9c3d..9d00d2a 100644 ---- a/src/tspi/ps/tspps.c -+++ b/src/tspi/ps/tspps.c -@@ -45,7 +45,7 @@ - - static int user_ps_fd = -1; - static MUTEX_DECLARE_INIT(user_ps_lock); --#if (defined (__FreeBSD__) || defined (__OpenBSD__)) -+#ifndef HAVE_GETPWENT_R - static MUTEX_DECLARE_INIT(user_ps_path); - #endif - static struct flock fl; -@@ -60,7 +60,7 @@ get_user_ps_path(char **file) - TSS_RESULT result; - char *file_name = NULL, *home_dir = NULL; - struct passwd *pwp; --#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) -+#ifdef HAVE_GETPWENT_R - struct passwd pw; - #endif - struct stat stat_buf; -@@ -72,7 +72,7 @@ get_user_ps_path(char **file) - *file = strdup(file_name); - return (*file) ? TSS_SUCCESS : TSPERR(TSS_E_OUTOFMEMORY); - } --#if (defined (__FreeBSD__) || defined (__OpenBSD__)) -+#ifndef HAVE_GETPWENT_R - MUTEX_LOCK(user_ps_path); - #endif - -@@ -90,7 +90,7 @@ get_user_ps_path(char **file) - #else - setpwent(); - while (1) { --#if (defined (__linux) || defined (linux) || defined(__GLIBC__)) -+#ifdef HAVE_GETPWENT_R - rc = getpwent_r(&pw, buf, PASSWD_BUFSIZE, &pwp); - if (rc) { - LogDebugFn("USER PS: Error getting path to home directory: getpwent_r: %s", -@@ -99,7 +99,7 @@ get_user_ps_path(char **file) - return TSPERR(TSS_E_INTERNAL_ERROR); - } - --#elif (defined (__FreeBSD__) || defined (__OpenBSD__)) -+#else - if ((pwp = getpwent()) == NULL) { - LogDebugFn("USER PS: Error getting path to home directory: getpwent: %s", - strerror(rc)); --- -2.1.4 - diff --git a/package/trousers/trousers.hash b/package/trousers/trousers.hash index 997cfa97c1..20c65c450e 100644 --- a/package/trousers/trousers.hash +++ b/package/trousers/trousers.hash @@ -1,3 +1,6 @@ -# http://sourceforge.net/projects/trousers/files/trousers/0.3.13/ -sha1 d23f1a3df4febffc4174f5cca7d1c54230477bb2 trousers-0.3.13.tar.gz -md5 ad508f97b406f6e48cd90e85d78e7ca8 trousers-0.3.13.tar.gz +# http://sourceforge.net/projects/trousers/files/trousers/0.3.14/ +sha1 9ca2cc9e1179465f6c5d9055e2b855e25031b85a trousers-0.3.14.tar.gz +md5 4a476b4f036dd20a764fb54fc24edbec trousers-0.3.14.tar.gz +# Locally computed +sha256 ce50713a261d14b735ec9ccd97609f0ad5ce69540af560e8c3ce9eb5f2d28f47 trousers-0.3.14.tar.gz +sha256 1ad596d12e7471549663c03e280b5b5d084a2e853fb86e4d766109818f9d7dae LICENSE diff --git a/package/trousers/trousers.mk b/package/trousers/trousers.mk index e49c2ac141..1d5364959c 100644 --- a/package/trousers/trousers.mk +++ b/package/trousers/trousers.mk @@ -4,7 +4,7 @@ # ################################################################################ -TROUSERS_VERSION = 0.3.13 +TROUSERS_VERSION = 0.3.14 TROUSERS_SITE = http://downloads.sourceforge.net/project/trousers/trousers/$(TROUSERS_VERSION) TROUSERS_LICENSE = BSD-3-Clause TROUSERS_LICENSE_FILES = LICENSE