From d966a4ed8f0de7dc9b08880505c668421e6d4488 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Wed, 13 Jan 2016 03:30:29 -0500 Subject: pax-utils: 1.0.5 -> 1.1.4 - Support autotools: *) Touch NEWS/AUTHORS/ChangeLog to workaroud failure caused by 'automake --add-missing' *) Add patch to fix configure failure caused by missing macro definition in m4 directory - Add PACKAGECONFIG flags for libcap, libseccomp and pyelftools, and disable them by default. - Add PACKAGECONFIG flag for largefile. - Since we add PACKAGECONFIG flags for pyelftools, we do not need python in RDEPENDS. BTW: Currently oe-core does not support libseccomp. (https://github.com/seccomp/libseccomp) Currently oe-core does not support pyelftools. (https://github.com/eliben/pyelftools) Signed-off-by: Hongxu Jia Signed-off-by: Richard Purdie --- .../pax-utils/files/fix-configure-failure.patch | 146 +++++++++++++++++++++ meta/recipes-devtools/pax-utils/pax-utils_1.0.5.bb | 21 --- meta/recipes-devtools/pax-utils/pax-utils_1.1.4.bb | 36 +++++ 3 files changed, 182 insertions(+), 21 deletions(-) create mode 100644 meta/recipes-devtools/pax-utils/files/fix-configure-failure.patch delete mode 100644 meta/recipes-devtools/pax-utils/pax-utils_1.0.5.bb create mode 100644 meta/recipes-devtools/pax-utils/pax-utils_1.1.4.bb (limited to 'meta') diff --git a/meta/recipes-devtools/pax-utils/files/fix-configure-failure.patch b/meta/recipes-devtools/pax-utils/files/fix-configure-failure.patch new file mode 100644 index 0000000000..43bfeb6e46 --- /dev/null +++ b/meta/recipes-devtools/pax-utils/files/fix-configure-failure.patch @@ -0,0 +1,146 @@ +From 70334129f5d849813c2ea5ce6070e6fb433412f7 Mon Sep 17 00:00:00 2001 +From: Hongxu Jia +Date: Wed, 13 Jan 2016 01:12:19 -0500 +Subject: [PATCH] autotools/m4: fix unexpected token 'AX_APPEND_FLAG' + +Added missing macro definition "ax_require_defined.m4" and "ax_append_flag.m4" +to the m4 macro directories. +... +pax-utils-1.1.4/configure: line 33077: syntax error near unexpected token `AX_APPEND_FLAG' +pax-utils-1.1.4/configure: line 33077: `AX_REQUIRE_DEFINED(AX_APPEND_FLAG)' +... +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia +--- + autotools/m4/ax_append_flag.m4 | 72 ++++++++++++++++++++++++++++++++++++++ + autotools/m4/ax_require_defined.m4 | 38 ++++++++++++++++++++ + 2 files changed, 110 insertions(+) + create mode 100644 autotools/m4/ax_append_flag.m4 + create mode 100644 autotools/m4/ax_require_defined.m4 + +diff --git a/autotools/m4/ax_append_flag.m4 b/autotools/m4/ax_append_flag.m4 +new file mode 100644 +index 0000000..c98a5c5 +--- /dev/null ++++ b/autotools/m4/ax_append_flag.m4 +@@ -0,0 +1,72 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_append_flag.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_APPEND_FLAG(FLAG, [FLAGS-VARIABLE]) ++# ++# DESCRIPTION ++# ++# FLAG is appended to the FLAGS-VARIABLE shell variable, with a space ++# added in between. ++# ++# If FLAGS-VARIABLE is not specified, the current language's flags (e.g. ++# CFLAGS) is used. FLAGS-VARIABLE is not changed if it already contains ++# FLAG. If FLAGS-VARIABLE is unset in the shell, it is set to exactly ++# FLAG. ++# ++# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. ++# ++# 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 6 ++ ++AC_DEFUN([AX_APPEND_FLAG], ++[dnl ++AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_SET_IF ++AS_VAR_PUSHDEF([FLAGS], [m4_default($2,_AC_LANG_PREFIX[FLAGS])]) ++AS_VAR_SET_IF(FLAGS,[ ++ AS_CASE([" AS_VAR_GET(FLAGS) "], ++ [*" $1 "*], [AC_RUN_LOG([: FLAGS already contains $1])], ++ [ ++ AS_VAR_APPEND(FLAGS,[" $1"]) ++ AC_RUN_LOG([: FLAGS="$FLAGS"]) ++ ]) ++ ], ++ [ ++ AS_VAR_SET(FLAGS,[$1]) ++ AC_RUN_LOG([: FLAGS="$FLAGS"]) ++ ]) ++AS_VAR_POPDEF([FLAGS])dnl ++])dnl AX_APPEND_FLAG ++ +diff --git a/autotools/m4/ax_require_defined.m4 b/autotools/m4/ax_require_defined.m4 +new file mode 100644 +index 0000000..4cb6f3c +--- /dev/null ++++ b/autotools/m4/ax_require_defined.m4 +@@ -0,0 +1,38 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_require_defined.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_REQUIRE_DEFINED(MACRO) ++# ++# DESCRIPTION ++# ++# AX_REQUIRE_DEFINED is a simple helper for making sure other macros have ++# been defined and thus are available for use. This avoids random issues ++# where a macro isn't expanded. Instead the configure script emits a ++# non-fatal: ++# ++# ./configure: line 1673: AX_CFLAGS_WARN_ALL: command not found ++# ++# It's like AC_REQUIRE except it doesn't expand the required macro. ++# ++# Here's an example: ++# ++# AX_REQUIRE_DEFINED([AX_CHECK_LINK_FLAG]) ++# ++# LICENSE ++# ++# Copyright (c) 2014 Mike Frysinger ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 1 ++ ++AC_DEFUN([AX_REQUIRE_DEFINED], [dnl ++ m4_ifndef([$1], [m4_fatal([macro ]$1[ is not defined; is a m4 file missing?])]) ++])dnl AX_REQUIRE_DEFINED ++ +-- +1.9.1 + diff --git a/meta/recipes-devtools/pax-utils/pax-utils_1.0.5.bb b/meta/recipes-devtools/pax-utils/pax-utils_1.0.5.bb deleted file mode 100644 index 0716a08a4e..0000000000 --- a/meta/recipes-devtools/pax-utils/pax-utils_1.0.5.bb +++ /dev/null @@ -1,21 +0,0 @@ -SUMMARY = "Security-focused ELF files checking tool" -DESCRIPTION = "This is a small set of various PaX aware and related \ -utilities for ELF binaries. It can check ELF binary files and running \ -processes for issues that might be relevant when using ELF binaries \ -along with PaX, such as non-PIC code or executable stack and heap." -HOMEPAGE = "http://www.gentoo.org/proj/en/hardened/pax-utils.xml" -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" - -SRC_URI = "http://gentoo.osuosl.org/distfiles/pax-utils-${PV}.tar.xz" - -SRC_URI[md5sum] = "d731f5385682a7a62ee2e7b7dacc13a7" -SRC_URI[sha256sum] = "f69a9938e4af7912d26d585094bc0203e43571a990fdd048319088a8b8ad906f" - -RDEPENDS_${PN} += "bash python" - -do_install() { - oe_runmake PREFIX=${D}${prefix} DESTDIR=${D} install -} - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-devtools/pax-utils/pax-utils_1.1.4.bb b/meta/recipes-devtools/pax-utils/pax-utils_1.1.4.bb new file mode 100644 index 0000000000..48b342e2e3 --- /dev/null +++ b/meta/recipes-devtools/pax-utils/pax-utils_1.1.4.bb @@ -0,0 +1,36 @@ +SUMMARY = "Security-focused ELF files checking tool" +DESCRIPTION = "This is a small set of various PaX aware and related \ +utilities for ELF binaries. It can check ELF binary files and running \ +processes for issues that might be relevant when using ELF binaries \ +along with PaX, such as non-PIC code or executable stack and heap." +HOMEPAGE = "http://www.gentoo.org/proj/en/hardened/pax-utils.xml" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" + +SRC_URI = "http://gentoo.osuosl.org/distfiles/pax-utils-${PV}.tar.xz \ + file://fix-configure-failure.patch \ +" + +SRC_URI[md5sum] = "1bfbb5237881f0c5e476b2f7ffcc00d5" +SRC_URI[sha256sum] = "796860fbd48c5f811e699e8492dc1110459bad0a62efa8d346b74a4f6f556414" + +RDEPENDS_${PN} += "bash" + +do_configure_prepend() { + touch ${S}/NEWS ${S}/AUTHORS ${S}/ChangeLog +} + +do_install() { + oe_runmake PREFIX=${D}${prefix} DESTDIR=${D} install +} + +BBCLASSEXTEND = "native" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)} \ +" +PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap" +PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp" +PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,," +PACKAGECONFIG[pyelftools] = "--with-python, --without-python,, pyelftools" -- cgit v1.2.3