Hello community,

here is the log from the commit of package ffcall for openSUSE:Factory checked 
in at 2017-08-24 18:31:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ffcall (Old)
 and      /work/SRC/openSUSE:Factory/.ffcall.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ffcall"

Thu Aug 24 18:31:39 2017 rev:7 rq:506619 version:1.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/ffcall/ffcall.changes    2016-02-17 
12:11:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ffcall.new/ffcall.changes       2017-08-24 
18:32:27.285967092 +0200
@@ -1,0 +2,55 @@
+Wed Jun 28 06:07:53 UTC 2017 - wer...@suse.de
+
+- Accordingly to Bruno Haible the define -DMAP_VARIABLE=MAP_PRIVATE
+  should become removed
+
+-------------------------------------------------------------------
+Mon Jun 26 13:04:17 UTC 2017 - wer...@suse.de
+
+- Add some more debug code for build architecture 
+
+-------------------------------------------------------------------
+Mon Jun 26 08:12:41 UTC 2017 - wer...@suse.de
+
+- Update to (lib)fcall-1.13 release
+  * The license has been changed from GPLv2 to GPLv2+.
+  * Added support for the following platforms:
+    (Previously, a build on these platforms failed.)
+    - x86_64: Mac OS X 64-bit.
+    - x86_64: Solaris 64-bit.
+    - x86_64: Linux with x32 ABI: CC="gcc -mx32".
+    - arm: Linux 32-bit, without hardware floats.
+    - arm64: Linux 64-bit.
+    - s390x: Linux 64-bit.
+    - powerpc: AIX 64-bit.
+    - mips: IRIX 6.5 with CC="cc -32".
+    - sparc: Solaris 64-bit.
+  * Fixed support for the following platforms:
+    (Previously, a build on these platforms appeared to succeed but was buggy.)
+    - x86_64: Linux.
+    - arm: Linux 32-bit, with hardware floats.
+    - powerpc: Linux 64-bit.
+    - mips: Linux with CC="gcc -mabi=32".
+    - mips: Linux with CC="gcc -mabi=n32".
+    - mips: Linux with CC="gcc -mabi=64".
+    - mips: IRIX 6.5 with CC="gcc -mabi=n32".
+    - s390: Linux.
+    - sparc: Linux 64-bit.
+    - ia64: Linux.
+    - hppa: HP-UX 32-bit.
+  * Verified support for the following platforms:
+    (A build on these platforms worked and still works.)
+    - i386: Linux, Solaris, Mac OS X.
+    - powerpc: Linux 32-bit.
+    - powerpc: AIX 32-bit.
+    - powerpc: MacOS X.
+    - mips: IRIX 6.5 with CC="cc -n32".
+    - sparc: Solaris 32-bit.
+    - sparc: Linux 32-bit: CC="gcc -m32".
+    - alpha: Linux.
+  * Support for a security feature: On Linux and FreeBSD platforms, linking 
with
+    the libffcall libraries no longer causes the stack to become executable.
+- Remove the patch ffcall-asm_cachectl.patch
+- Update the patch ffcall-trampoline.patch
+
+-------------------------------------------------------------------

Old:
----
  ffcall-1.12.tar.gz
  ffcall-asm_cachectl.patch

New:
----
  libffcall-1.13.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ffcall.spec ++++++
--- /var/tmp/diff_new_pack.MdncQq/_old  2017-08-24 18:32:28.793754669 +0200
+++ /var/tmp/diff_new_pack.MdncQq/_new  2017-08-24 18:32:28.813751852 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ffcall
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,35 +18,25 @@
 
 # Only a static library is provided, so no debug information can be extracted.
 %global debug_package %{nil}
+%global debug no
 
 # This package uses assembly to do its work.  This is the entire list of
 # supported architectures understood by RPM, even those not currently supported
 # by Fedora.  RPM hasn't heard about line continuations, hence the mess.
-%global ffcall_arches %ix86 x86_64 %alpha %arm parisc hppa1.0 hppa1.1 hppa1.2 
hppa2.0 ia64 m68k mips mipsel ppc ppc64 ppc64le ppc8260 ppc8560 ppc32dy4 
ppciseries ppcpseries s390 %sparc
+%global ffcall_arches %ix86 x86_64 %alpha %arm aarch64 parisc hppa1.0 hppa1.1 
hppa1.2 hppa2.0 ia64 m68k mips mipsel ppc ppc64 ppc64le ppc8260 ppc8560 
ppc32dy4 ppciseries ppcpseries s390 s390x %sparc sparc64
 
 Name:           ffcall
-Version:        1.12
+Version:        1.13
 Release:        0
 Summary:        Libraries for foreign function call interfaces
+# As this package only provides a static library together with the header files
 License:        GPL-2.0+
 Group:          Development/Libraries/Other
-# As this package only provides a static library together with the header files
 Provides:       %{name}-devel = %version-%release
 Url:            http://www.gnu.org/software/libffcall/
-#
-# There has been no official release for several years, and the project web
-# site encourages use of a CVS snapshot.  Make the tarball as follows:
-#   cvs -z3 -d:pserver:anonym...@cvs.savannah.gnu.org:/sources/libffcall 
-#       export -D 2012-04-24 ffcall
-#   tar cJf ffcall-20120424cvs.tar.xz ffcall
-#
-Source0:        
https://github.com/libffcall/libffcall/archive/ffcall-%{version}.tar.gz
-# PATCH-EXTEND-UPSTREAM --
-# This patch will not be sent upstream.  It removes the possibility of using
-# mprotect() to make memory executable, as that runs afoul of SELinux.
-Patch0:         %{name}-trampoline.patch
-# PATCH-FIX-OPENSUSE -- There is no <asm/cachectl.h>
-Patch1:         %{name}-asm_cachectl.patch
+#               
https://git.savannah.gnu.org/cgit/libffcall.git/snapshot/libffcall-%{version}.tar.gz
+Source0:        https://ftp.gnu.org/gnu/libffcall/libffcall-%{version}.tar.gz
+Patch0:         ffcall-trampoline.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 ExclusiveArch:  %{ffcall_arches}
 
@@ -62,24 +52,44 @@
 
 
 %prep
-%setup -q -n libffcall-ffcall-%{version}
-%patch0
-%patch1
+%setup -q -n libffcall-%{version}
+#%patch0
+if ! test -e /usr/include/asm/cachectl.h
+then
+    # FIX-OPENSUSE -- Remove this if there is no <asm/cachectl.h>
+    for c in callback/trampoline_r/trampoline.c trampoline/trampoline.c
+    do
+       echo 'No <asm/cachectl.h> on this architecture %arch'
+       sed -ri '/^#ifdef linux/,/^#else/{ \@#include <asm/cachectl.h>@d }' $c
+    done
+fi
 
 # Remove prebuilt object files
 find . -name \*.o | xargs rm -f
 
 %build
-export CFLAGS="$RPM_OPT_FLAGS -fPIC -DMAP_VARIABLE=MAP_PRIVATE"
-%configure
+export CFLAGS="%{optflags} -fPIC"
+%configure --disable-rpath --with-gnu-ld
+if test -e /.build.log
+then
+    grep -E '^#define (CODE|HAVE)' config.h
+    sed -rn '/checking whether code in malloc\(\)ed memory is 
executable/,/result: /p' config.log
+fi
 make # %{?_smp_mflags}
 
 %install
 mkdir -p %{buildroot}%{_libdir}
 mkdir -p %{buildroot}%{_mandir}
+mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
 make install DESTDIR=%{buildroot}
 rm -fr %{buildroot}%{_datadir}/html
 rm -f %{buildroot}%{_libdir}/*.la
+if test %debug = yes ; then
+    install config.log %{buildroot}%{_defaultdocdir}/%{name}
+    echo %{_defaultdocdir}/%{name}/config.log > list
+else
+    > list
+fi
 cd %{buildroot}%{_mandir}/man3
 
 # Advertise supported architectures
@@ -94,7 +104,7 @@
   mv $page %{name}-$page
 done
 
-%files
+%files -f list
 %defattr(-,root,root,-)
 %doc README NEWS COPYING
 %doc avcall/avcall.html

++++++ ffcall-trampoline.patch ++++++
--- /var/tmp/diff_new_pack.MdncQq/_old  2017-08-24 18:32:28.941733821 +0200
+++ /var/tmp/diff_new_pack.MdncQq/_new  2017-08-24 18:32:28.941733821 +0200
@@ -1,42 +1,35 @@
---- ./callback/trampoline_r/trampoline.c.orig  2009-04-27 09:24:05.000000000 
-0600
-+++ ./callback/trampoline_r/trampoline.c       2012-01-10 12:03:02.752466354 
-0700
-@@ -67,10 +67,6 @@ extern void (*tramp_r) (); /* trampoline
- 
- #ifndef CODE_EXECUTABLE
- /* How do we make the trampoline's code executable? */
--#if defined(HAVE_MACH_VM) || defined(__convex__) || 
defined(HAVE_WORKING_MPROTECT) || defined(HAVE_SYS_M88KBCS_H)
--/* mprotect() [or equivalent] the malloc'ed area. */
--#define EXECUTABLE_VIA_MPROTECT
--#else
- #ifdef HAVE_MMAP
- /* Use an mmap'ed page. */
- #define EXECUTABLE_VIA_MMAP
-@@ -90,7 +86,6 @@ extern void (*tramp_r) (); /* trampoline
- #endif
- #endif
- #endif
--#endif
- 
- #include <stdio.h> /* declares fprintf() */
- 
---- ./trampoline/trampoline.c.orig     2008-09-26 14:19:37.000000000 -0600
-+++ ./trampoline/trampoline.c  2012-01-10 12:02:33.027731322 -0700
-@@ -67,10 +67,6 @@ extern void (*tramp) (); /* trampoline p
- 
- #ifndef CODE_EXECUTABLE
- /* How do we make the trampoline's code executable? */
--#if defined(HAVE_MACH_VM) || defined(__convex__) || 
defined(HAVE_WORKING_MPROTECT) || defined(HAVE_SYS_M88KBCS_H)
--/* mprotect() [or equivalent] the malloc'ed area. */
--#define EXECUTABLE_VIA_MPROTECT
--#else
- #ifdef HAVE_MMAP
- /* Use an mmap'ed page. */
- #define EXECUTABLE_VIA_MMAP
-@@ -90,7 +86,6 @@ extern void (*tramp) (); /* trampoline p
- #endif
- #endif
- #endif
--#endif
- 
- #include <stdio.h> /* declares fprintf() */
- 
+---
+ callback/trampoline_r/trampoline.c |    6 ++++++
+ trampoline/trampoline.c            |    6 ++++++
+ 2 files changed, 12 insertions(+)
+
+--- callback/trampoline_r/trampoline.c
++++ callback/trampoline_r/trampoline.c 2017-06-26 08:51:46.787267290 +0000
+@@ -76,6 +76,12 @@ extern void (*tramp_r) (); /* trampoline
+       #define EXECUTABLE_VIA_MMAP_THEN_MPROTECT
+     #elif defined(HAVE_MMAP_SHARED_CAN_EXEC)
+       #define EXECUTABLE_VIA_MMAP_FILE_SHARED
++    #elif defined(HAVE_MMAP)
++      /* Use an mmap'ed page. */
++      #define EXECUTABLE_VIA_MMAP
++    #elif defined(HAVE_SHM)
++        /* Use an shmat'ed page. */
++      #define EXECUTABLE_VIA_SHM
+     #else
+       #error "Don't know how to make memory pages executable."
+     #endif
+--- trampoline/trampoline.c
++++ trampoline/trampoline.c    2017-06-26 08:50:21.820815116 +0000
+@@ -76,6 +76,12 @@ extern void (*tramp) (); /* trampoline p
+       #define EXECUTABLE_VIA_MMAP_THEN_MPROTECT
+     #elif defined(HAVE_MMAP_SHARED_CAN_EXEC)
+       #define EXECUTABLE_VIA_MMAP_FILE_SHARED
++    #elif defined(HAVE_MMAP)
++      /* Use an mmap'ed page. */
++      #define EXECUTABLE_VIA_MMAP
++    #elif defined(HAVE_SHM)
++        /* Use an shmat'ed page. */
++      #define EXECUTABLE_VIA_SHM
+     #else
+       #error "Don't know how to make memory pages executable."
+     #endif


Reply via email to