commit:     8bb4efd8b8eb06c038cded8c1ec958b5825d1f4f
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 18 09:43:13 2017 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Mon Sep 18 09:43:25 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bb4efd8

app-misc/pax-utils: add Prefix patches

Package-Manager: Portage-2.3.8, Repoman-2.3.1

 .../files/pax-utils-1.2.2-linux-2.6.32.patch       |  65 ++++++++
 .../pax-utils/files/pax-utils-1.2.2-solaris.patch  | 181 +++++++++++++++++++++
 app-misc/pax-utils/pax-utils-1.2.2-r2.ebuild       |  62 +++++++
 3 files changed, 308 insertions(+)

diff --git a/app-misc/pax-utils/files/pax-utils-1.2.2-linux-2.6.32.patch 
b/app-misc/pax-utils/files/pax-utils-1.2.2-linux-2.6.32.patch
new file mode 100644
index 00000000000..8139310b2e0
--- /dev/null
+++ b/app-misc/pax-utils/files/pax-utils-1.2.2-linux-2.6.32.patch
@@ -0,0 +1,65 @@
+This is the diff for generated sources after applying:
+https://github.com/gentoo/pax-utils/pull/2
+
+diff -ru pax-utils-HEAD.orig/config.h.in pax-utils-HEAD/config.h.in
+--- pax-utils-HEAD.orig/config.h.in    2017-04-18 16:26:42.000000000 +0200
++++ pax-utils-HEAD/config.h.in 2017-04-18 16:28:05.000000000 +0200
+@@ -526,6 +526,9 @@
+ /* Define to 1 if you have the `link' function. */
+ #undef HAVE_LINK
+ 
++/* Define to 1 if you have the <linux/securebits.h> header file. */
++#undef HAVE_LINUX_SECUREBITS_H
++
+ /* Define to 1 if the system has the type 'long long int'. */
+ #undef HAVE_LONG_LONG_INT
+ 
+diff -ru pax-utils-HEAD.orig/configure pax-utils-HEAD/configure
+--- pax-utils-HEAD.orig/configure      2017-04-18 16:26:41.000000000 +0200
++++ pax-utils-HEAD/configure   2017-04-18 16:28:03.000000000 +0200
+@@ -34537,6 +34537,19 @@
+ 
+ 
+ 
++for ac_header in linux/securebits.h
++do :
++  ac_fn_c_check_header_mongrel "$LINENO" "linux/securebits.h" 
"ac_cv_header_linux_securebits_h" "$ac_includes_default"
++if test "x$ac_cv_header_linux_securebits_h" = xyes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LINUX_SECUREBITS_H 1
++_ACEOF
++
++fi
++
++done
++
++
+ ac_config_files="$ac_config_files Makefile autotools/gnulib/Makefile"
+ 
+ cat >confcache <<\_ACEOF
+diff -ru pax-utils-HEAD.orig/configure.ac pax-utils-HEAD/configure.ac
+--- pax-utils-HEAD.orig/configure.ac   2017-04-18 16:25:48.000000000 +0200
++++ pax-utils-HEAD/configure.ac        2017-04-18 16:27:11.000000000 +0200
+#@@ -62,6 +62,8 @@
+       AX_CHECK_COMPILE_FLAG(flag, AS_VAR_APPEND([CFLAGS], " flag"))
+ ])
+ 
++AC_CHECK_HEADERS([linux/securebits.h])
++
+ AC_CONFIG_FILES([
+       Makefile
+       autotools/gnulib/Makefile
+diff -ru pax-utils-HEAD.orig/porting.h pax-utils-HEAD/porting.h
+--- pax-utils-HEAD.orig/porting.h      2017-03-03 21:07:15.000000000 +0100
++++ pax-utils-HEAD/porting.h   2017-04-18 16:18:22.000000000 +0200
+@@ -46,7 +46,9 @@
+ #endif
+ #if defined(__linux__)
+ # include <sys/prctl.h>
+-# include <linux/securebits.h>
++# if !defined(HAVE_CONFIG_H) || defined(HAVE_LINUX_SECUREBITS_H)
++#  include <linux/securebits.h>
++# endif
+ #endif
+ #if defined(__GLIBC__) || defined(__UCLIBC__) || defined(__ANDROID__)
+ # include <byteswap.h>

diff --git a/app-misc/pax-utils/files/pax-utils-1.2.2-solaris.patch 
b/app-misc/pax-utils/files/pax-utils-1.2.2-solaris.patch
new file mode 100644
index 00000000000..de1427f99bd
--- /dev/null
+++ b/app-misc/pax-utils/files/pax-utils-1.2.2-solaris.patch
@@ -0,0 +1,181 @@
+This is the diff for generated sources after applying:
+https://github.com/gentoo/pax-utils/pull/1
+
+diff -ruN pax-utils-1.2.2.orig/autotools/gnulib/Makefile.in 
pax-utils-1.2.2/autotools/gnulib/Makefile.in
+--- pax-utils-1.2.2.orig/autotools/gnulib/Makefile.in  2017-01-24 
21:30:06.000000000 +0100
++++ pax-utils-1.2.2/autotools/gnulib/Makefile.in       2017-03-15 
10:59:05.616490166 +0100
+@@ -1483,7 +1484,7 @@
+       $(top_srcdir)/autotools/snippet/c++defs.h \
+       $(top_srcdir)/autotools/snippet/warn-on-use.h stat.c \
+       stat-time.h stdbool.in.h stddef.in.h stdint.in.h stdio.in.h \
+-      stdlib.in.h strcasecmp.c strncasecmp.c str-two-way.h \
++      stdlib.in.h stpcpy.c strcasecmp.c strncasecmp.c str-two-way.h \
+       strcasestr.c strdup.c strerror.c strerror-override.c \
+       strerror-override.h string.in.h strings.in.h strncat.c \
+       symlink.c at-func.c symlinkat.c sys_stat.in.h sys_time.in.h \
+@@ -1546,7 +1547,7 @@
+       msvc-nothrow.c open.c openat.c opendir.c printf-frexp.c \
+       readlink.c at-func.c readlinkat.c realloc.c rename.c \
+       at-func2.c renameat.c rmdir.c signbitd.c signbitf.c signbitl.c \
+-      stat.c strcasecmp.c strncasecmp.c strcasestr.c strdup.c \
++      stat.c stpcpy.c strcasecmp.c strncasecmp.c strcasestr.c strdup.c \
+       strerror.c strerror-override.c strncat.c symlink.c at-func.c \
+       symlinkat.c unlink.c at-func.c unlinkat.c at-func.c \
+       utimensat.c asnprintf.c printf-args.c printf-parse.c \
+@@ -1708,6 +1709,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat-time.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statat.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpcpy.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasestr.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@
+diff -ruN pax-utils-1.2.2.orig/autotools/gnulib/stpcpy.c 
pax-utils-1.2.2/autotools/gnulib/stpcpy.c
+--- pax-utils-1.2.2.orig/autotools/gnulib/stpcpy.c     1970-01-01 
01:00:00.000000000 +0100
++++ pax-utils-1.2.2/autotools/gnulib/stpcpy.c  2017-03-15 10:59:24.159820259 
+0100
+@@ -0,0 +1,49 @@
++/* stpcpy.c -- copy a string and return pointer to end of new string
++   Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2017 Free Software
++   Foundation, Inc.
++
++   NOTE: The canonical source of this file is maintained with the GNU C 
Library.
++   Bugs can be reported to [email protected].
++
++   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 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 <http://www.gnu.org/licenses/>.  */
++
++#include <config.h>
++
++#include <string.h>
++
++#undef __stpcpy
++#ifdef _LIBC
++# undef stpcpy
++#endif
++
++#ifndef weak_alias
++# define __stpcpy stpcpy
++#endif
++
++/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  
*/
++char *
++__stpcpy (char *dest, const char *src)
++{
++  register char *d = dest;
++  register const char *s = src;
++
++  do
++    *d++ = *s;
++  while (*s++ != '\0');
++
++  return d - 1;
++}
++#ifdef weak_alias
++weak_alias (__stpcpy, stpcpy)
++#endif
+diff -ruN pax-utils-1.2.2.orig/config.h.in pax-utils-1.2.2/config.h.in
+--- pax-utils-1.2.2.orig/config.h.in   2017-01-24 21:30:04.000000000 +0100
++++ pax-utils-1.2.2/config.h.in        2017-03-15 11:01:30.156464381 +0100
+@@ -264,6 +264,9 @@
+ /* Define to 1 when the gnulib module stat should be tested. */
+ #undef GNULIB_TEST_STAT
+ 
++/* Define to 1 when the gnulib module stpcpy should be tested. */
++#undef GNULIB_TEST_STPCPY
++
+ /* Define to 1 when the gnulib module strcasestr should be tested. */
+ #undef GNULIB_TEST_STRCASESTR
+ 
+@@ -1415,6 +1418,9 @@
+ /* Define to 1 if you have the <stdlib.h> header file. */
+ #undef HAVE_STDLIB_H
+ 
++/* Define to 1 if you have the `stpcpy' function. */
++#undef HAVE_STPCPY
++
+ /* Define to 1 if you have the `strcasecmp' function. */
+ #undef HAVE_STRCASECMP
+ 
+diff -ruN pax-utils-1.2.2.orig/configure pax-utils-1.2.2/configure
+--- pax-utils-1.2.2.orig/configure     2017-01-24 21:30:03.000000000 +0100
++++ pax-utils-1.2.2/configure  2017-03-15 11:02:09.889790417 +0100
+@@ -31596,6 +31597,57 @@
+ 
+ 
+ 
++
++
++
++
++
++  for ac_func in stpcpy
++do :
++  ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy"
++if test "x$ac_cv_func_stpcpy" = xyes; then :
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_STPCPY 1
++_ACEOF
++
++fi
++done
++
++  if test $ac_cv_func_stpcpy = no; then
++    HAVE_STPCPY=0
++  fi
++
++  if test $HAVE_STPCPY = 0; then
++
++
++
++
++
++
++
++
++  gl_LIBOBJS="$gl_LIBOBJS stpcpy.$ac_objext"
++
++
++  :
++
++  fi
++
++
++
++
++
++          GNULIB_STPCPY=1
++
++
++
++
++
++$as_echo "#define GNULIB_TEST_STPCPY 1" >>confdefs.h
++
++
++
++
+ 
+ 
+   for ac_func in strcasecmp
+diff -ruN pax-utils-1.2.2.orig/Makefile.in pax-utils-1.2.2/Makefile.in
+--- pax-utils-1.2.2.orig/Makefile.in   2017-01-24 21:30:06.000000000 +0100
++++ pax-utils-1.2.2/Makefile.in        2017-03-15 11:03:01.856447406 +0100
+@@ -1522,7 +1523,7 @@
+       security.c \
+       xfuncs.c
+ 
+-LDADD = libpaxutils.la $(top_builddir)/autotools/gnulib/libgnu.a
++LDADD = libpaxutils.la $(top_builddir)/autotools/gnulib/libgnu.a 
$(LIB_EACCESS)
+ bin_SCRIPTS = lddtree symtree
+ CLEANFILES = $(bin_SCRIPTS)
+ TMAKE = \

diff --git a/app-misc/pax-utils/pax-utils-1.2.2-r2.ebuild 
b/app-misc/pax-utils/pax-utils-1.2.2-r2.ebuild
new file mode 100644
index 00000000000..26ac4500874
--- /dev/null
+++ b/app-misc/pax-utils/pax-utils-1.2.2-r2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs unpacker
+
+DESCRIPTION="ELF utils that can check files for security relevant properties"
+HOMEPAGE="https://wiki.gentoo.org/index.php?title=Project:Hardened/PaX_Utilities";
+SRC_URI="mirror://gentoo/${P}.tar.xz
+       https://dev.gentoo.org/~vapier/dist/${P}.tar.xz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux 
~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris 
~x86-solaris"
+IUSE="caps debug python seccomp"
+
+RDEPEND="caps? ( >=sys-libs/libcap-2.24 )
+       python? ( dev-python/pyelftools )
+       seccomp? ( sys-libs/libseccomp )"
+DEPEND="${RDEPEND}
+       caps? ( virtual/pkgconfig )
+       seccomp? ( virtual/pkgconfig )
+       app-arch/xz-utils"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-scanelf-fix-out-of-bounds-access-in-ia64.patch
+       "${FILESDIR}"/${P}-solaris.patch
+       "${FILESDIR}"/${P}-linux-2.6.32.patch
+)
+
+_emake() {
+       emake \
+               USE_CAP=$(usex caps) \
+               USE_DEBUG=$(usex debug) \
+               USE_PYTHON=$(usex python) \
+               USE_SECCOMP=$(usex seccomp) \
+               "$@"
+}
+
+src_configure() {
+       # Avoid slow configure+gnulib+make if on an up-to-date Linux system
+       if use prefix || ! use kernel_linux || \
+          has_version '<sys-libs/glibc-2.10'
+       then
+               econf $(use_with caps) $(use_with debug) $(use_with python) 
$(use_with seccomp)
+       else
+               tc-export CC PKG_CONFIG
+       fi
+}
+
+src_compile() {
+       _emake
+}
+
+src_test() {
+       _emake check
+}
+
+src_install() {
+       _emake DESTDIR="${D}" PKGDOCDIR='$(DOCDIR)'/${PF} install
+}

Reply via email to