Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ocaml for openSUSE:Factory checked 
in at 2021-04-22 18:03:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml (Old)
 and      /work/SRC/openSUSE:Factory/.ocaml.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocaml"

Thu Apr 22 18:03:30 2021 rev:83 rq:887316 version:4.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml/ocaml.changes      2021-03-10 
08:48:06.702322707 +0100
+++ /work/SRC/openSUSE:Factory/.ocaml.new.12324/ocaml.changes   2021-04-22 
18:03:46.462488947 +0200
@@ -1,0 +2,20 @@
+Wed Apr 21 12:34:56 UTC 2021 - [email protected]
+
+- Remove ocaml_native_compiler conditional
+  build native target unconditionally
+- Require versioned gcc package
+
+-------------------------------------------------------------------
+Tue Apr 13 13:13:13 UTC 2021 - [email protected]
+
+- update to version 4.12.0
+  See included Changes for benefits and breaking changes
+- Add ocaml-SIGSTKSZ.patch (#10266)
+
+-------------------------------------------------------------------
+Fri Apr  9 09:09:09 UTC 2021 - [email protected]
+
+- Use bcond suse_ocaml_use_rpm_license_macro for license in filelist
+- Add suse prefix to ocaml_native_compiler to avoid conflict
+
+-------------------------------------------------------------------

Old:
----
  ocaml-4.11.2.tar.xz

New:
----
  ocaml-4.12.0.tar.xz
  ocaml-SIGSTKSZ.patch

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

Other differences:
------------------
++++++ ocaml.spec ++++++
--- /var/tmp/diff_new_pack.ii4Fn0/_old  2021-04-22 18:03:46.922489659 +0200
+++ /var/tmp/diff_new_pack.ii4Fn0/_new  2021-04-22 18:03:46.926489665 +0200
@@ -18,11 +18,10 @@
 #
 
 
-%define ocaml_base_version 4.11
+%define ocaml_base_version 4.12
 #
 # This ensures that the find_provides/find_requires calls ocamlobjinfo 
correctly.
 # handle built-in ocaml helper from rpm-build, and helper from ocaml-rpm-macros
-%if %{ocaml_native_compiler}
 %global __suseocaml_requires_opts \
        -c \
        -f "%{_bindir}/env OCAMLLIB=%{buildroot}%{ocaml_standard_library} 
%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte" \
@@ -37,56 +36,39 @@
 %global __ocaml_provides_opts \
        -f "%{_bindir}/env OCAMLLIB=%{buildroot}%{ocaml_standard_library} 
%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte" \
        %{nil}
-%else
-%global __suseocaml_requires_opts \
-       -c \
-       -f "%{_bindir}/env OCAMLLIB=%{buildroot}%{ocaml_standard_library} 
%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte" \
-       -i Backend_intf \
-       -i Inlining_decision_intf \
-       -i Simplify_boxed_integer_ops_intf \
-       %{nil}
-%global __ocaml_requires_opts \
-       -c \
-       -f "%{_bindir}/env OCAMLLIB=%{buildroot}%{ocaml_standard_library} 
%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte" \
-       -i Backend_intf \
-       -i Inlining_decision_intf \
-       -i Simplify_boxed_integer_ops_intf \
-       %{nil}
-%global __suseocaml_provides_opts \
-       -f "%{_bindir}/env OCAMLLIB=%{buildroot}%{ocaml_standard_library} 
%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte" \
-       %{nil}
-%global __ocaml_provides_opts \
-       -f "%{_bindir}/env OCAMLLIB=%{buildroot}%{ocaml_standard_library} 
%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte" \
-       %{nil}
-%endif
+
 %global  _buildshell /bin/bash
 %bcond_with ocaml_make_testsuite
+%bcond_without suse_ocaml_use_rpm_license_macro
 
 Name:           ocaml
-Version:        4.11.2
+Version:        4.12.0
 Release:        0
 Summary:        OCaml Compiler and Programming Environment
+%if %{with suse_ocaml_use_rpm_license_macro}
 License:        QPL-1.0 AND SUSE-LGPL-2.0-with-linking-exception
+%else
+License:        MIT
+%endif
 Group:          Development/Languages/OCaml
+BuildRoot:      %_tmppath/%name-%version-build
 URL:            http://www.ocaml.org
 Source0:        
http://caml.inria.fr/pub/distrib/ocaml-%{ocaml_base_version}/ocaml-%{version}.tar.xz
-Source2:        ocaml-rpmlintrc
+Source2:        %{name}-rpmlintrc
 Patch0:         ocaml-configure-Allow-user-defined-C-compiler-flags.patch
-BuildRequires:  autoconf
-BuildRequires:  binutils-devel
+Patch1:         ocaml-SIGSTKSZ.patch
+BuildRequires:  autoconf >= 2.69
 BuildRequires:  fdupes
 BuildRequires:  ncurses-devel
-BuildRequires:  ocaml-rpm-macros >= 20210209
+BuildRequires:  ocaml-rpm-macros >= 20210421
 BuildRequires:  pkgconfig
 Requires:       ncurses-devel
 Requires:       ocaml(runtime) = %{version}-%{release}
 Obsoletes:      ocaml-docs
 Provides:       ocaml(compiler) = %{ocaml_base_version}
 Provides:       ocaml(ocaml_base_version) = %{ocaml_base_version}
-%if %{ocaml_native_compiler}
-Requires:       %(type -p gcc | xargs readlink -f)
+Requires:       %(type -P gcc | xargs readlink -f | xargs rpm -qf --qf 
'%%{NAME}\n')
 Provides:       ocaml(ocaml.opt) = %{ocaml_base_version}
-%endif
 Obsoletes:      ocaml-seq < %{version}-%{release}
 Obsoletes:      ocaml-seq-debuginfo < %{version}-%{release}
 Obsoletes:      ocaml-seq-devel < %{version}-%{release}
@@ -166,22 +148,23 @@
 applications that use Ocaml.
 
 %prep
-%autosetup -p1
+%setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
 echo %{version} > VERSION
-test -x "$(type -p gcc | xargs readlink -f)" && export CC="$_"
-test -x "$(type -p as  | xargs readlink -f)" && export AS="$_"
+export CC='gcc'
+export AS='as'
+test -x "$(type -P gcc | xargs readlink -f)" && export CC="$_"
+test -x "$(type -P as  | xargs readlink -f)" && export AS="$_"
 export ASPP="$CC -c"
-%if %{ocaml_native_compiler}
-configure_target='--enable-native-compiler'
-%else
-configure_target='--disable-native-compiler'
-%endif
+configure_target=
 extra_cflags=()
 extra_cflags+=( '-Werror=implicit-function-declaration' )
 extra_cflags+=( '-Werror=return-type' )
 extra_cflags+=( '-Wno-deprecated-declarations' )
+extra_cflags+=( '-ffat-lto-objects' )
 export EXTRA_CFLAGS="${extra_cflags[@]}"
 bash -x tools/autogen
 %ifarch %arm
@@ -189,9 +172,12 @@
 triple_fault=`/bin/sh build-aux/config.guess`
 configure_target="${configure_target} --host=${triple_fault} 
--build=${triple_fault}"
 %endif
+# use only the fixed set of built-in CFLAGS
+CFLAGS='-pipe'
 ./configure --help
 %configure \
        ${configure_target} \
+       --enable-native-compiler \
        --libdir=%{ocaml_standard_library}
 %make_build
 #
@@ -454,38 +440,33 @@
 done
 
 %files -f files.ocaml.META
+%defattr(-,root,root,-)
 %doc Changes
+%if %{with suse_ocaml_use_rpm_license_macro}
 %license LICENSE
+%endif
 %{_bindir}/*
 %{_mandir}/*/*
 %{ocaml_standard_library}/*.a
-%if %{ocaml_native_compiler}
 %{ocaml_standard_library}/*.cmxs
 %{ocaml_standard_library}/*.cmxa
 %{ocaml_standard_library}/*.cmx
 %{ocaml_standard_library}/*.o
-%endif
 %{ocaml_standard_library}/*.mli
 %{ocaml_standard_library}/libcamlrun_shared.so
-%if %{ocaml_native_compiler}
 %{ocaml_standard_library}/libasmrun_shared.so
-%endif
-%if %{ocaml_native_compiler}
 %{ocaml_standard_library}/threads/*.a
 %{ocaml_standard_library}/threads/*.cmxa
 %{ocaml_standard_library}/threads/*.cmx
-%endif
 %{ocaml_standard_library}/threads/*.mli
 %{ocaml_standard_library}/caml
 %{ocaml_standard_library}/Makefile.config
-%{ocaml_standard_library}/VERSION
 %{ocaml_standard_library}/eventlog_metadata
 %{ocaml_standard_library}/extract_crc
 %{ocaml_standard_library}/camlheader
 %{ocaml_standard_library}/camlheader_ur
 %{ocaml_standard_library}/expunge
 %{ocaml_standard_library}/ld.conf
-%{ocaml_standard_library}/objinfo_helper
 %{ocaml_standard_library}/camlheaderd
 %{ocaml_standard_library}/camlheaderi
 %exclude %{_bindir}/ocamlrun
@@ -493,6 +474,7 @@
 %exclude %{ocaml_standard_library}/ocamldoc
 
 %files runtime
+%defattr(-,root,root,-)
 %{_bindir}/ocamlrun
 %dir %{ocaml_standard_library}
 %{ocaml_standard_library}/*.cmo
@@ -509,17 +491,22 @@
 %exclude %{ocaml_standard_library}/topdirs.cmt
 %exclude %{ocaml_standard_library}/topdirs.cmti
 %doc Changes
+%if %{with suse_ocaml_use_rpm_license_macro}
 %license LICENSE
+%endif
 
 %files source
+%defattr(-,root,root,-)
 %{ocaml_standard_library}/*.ml
 
 %files ocamldoc -f files.ocamldoc.META
+%defattr(-,root,root,-)
 %{_bindir}/ocamldoc*
 %{ocaml_standard_library}/ocamldoc
 %doc ocamldoc/Changes.txt
 
 %files compiler-libs
+%defattr(-,root,root,-)
 %dir %{ocaml_standard_library}
 %{ocaml_standard_library}/topdirs.cmi
 %{ocaml_standard_library}/topdirs.cmt
@@ -531,13 +518,12 @@
 %{ocaml_standard_library}/compiler-libs/*.cmti
 
 %files compiler-libs-devel -f files.compiler-libs.META
+%defattr(-,root,root,-)
 %dir %{ocaml_standard_library}/compiler-libs
-%if %{ocaml_native_compiler}
 %{ocaml_standard_library}/compiler-libs/*.a
 %{ocaml_standard_library}/compiler-libs/*.o
 %{ocaml_standard_library}/compiler-libs/*.cmx
 %{ocaml_standard_library}/compiler-libs/*.cmxa
-%endif
 %{ocaml_standard_library}/compiler-libs/*.mli
 
 %if %{with ocaml_make_testsuite}

++++++ _service ++++++
--- /var/tmp/diff_new_pack.ii4Fn0/_old  2021-04-22 18:03:46.950489702 +0200
+++ /var/tmp/diff_new_pack.ii4Fn0/_new  2021-04-22 18:03:46.950489702 +0200
@@ -1,12 +1,12 @@
 <services>
   <service name="tar_scm" mode="disabled">
     <param name="filename">ocaml</param>
-    <param name="revision">25e5032d05cc064d71fd4b048e4beabb74182eeb</param>
+    <param name="revision">62b6fc9dbeb5ea7f43447cb68b3fad8c3327b6d8</param>
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="url">https://github.com/ocaml/ocaml.git</param>
     <param name="versionformat">@PARENT_TAG@</param>
-    <param name="versionrewrite-pattern">[v]?([^+]+)(.*)</param>
+    <param name="versionrewrite-pattern">[v]?([^+a-z]+)(.*)</param>
     <param name="versionrewrite-replacement">\1</param>
   </service>
   <service name="recompress" mode="disabled">

++++++ ocaml-4.11.2.tar.xz -> ocaml-4.12.0.tar.xz ++++++
++++ 118868 lines of diff (skipped)

++++++ ocaml-SIGSTKSZ.patch ++++++
From: Xavier Leroy <[email protected]>
Date: Fri, 5 Mar 2021 19:14:07 +0100
Subject: Dynamically allocate the alternate signal stack (#10266)
Git-commit: fc9534746bf5d08a4c109f22e344cf49d5d46d54

In Glibc 2.34 and later, SIGSTKSZ may not be a compile-time constant.
It is no longer possible to statically allocate the alternate signal
stack for the main thread, as we've been doing for the last 25 years.

This commit implements dynamic allocation of the alternate signal stack
even for the main thread.  It reuses the code already in place to allocate
the alternate signal stack for other threads.

Fixes: #10250.
---
 Changes                |  5 +++++
 runtime/caml/signals.h |  2 +-
 runtime/signals_byt.c  |  2 +-
 runtime/signals_nat.c  | 25 ++++++++++++++-----------
 4 files changed, 21 insertions(+), 13 deletions(-)

--- a/runtime/caml/signals.h
+++ b/runtime/caml/signals.h
@@ -87,7 +87,7 @@ value caml_do_pending_actions_exn (void);
 value caml_process_pending_actions_with_root (value extra_root); // raises
 value caml_process_pending_actions_with_root_exn (value extra_root);
 int caml_set_signal_action(int signo, int action);
-CAMLextern void caml_setup_stack_overflow_detection(void);
+CAMLextern int caml_setup_stack_overflow_detection(void);
 
 CAMLextern void (*caml_enter_blocking_section_hook)(void);
 CAMLextern void (*caml_leave_blocking_section_hook)(void);
--- a/runtime/signals_byt.c
+++ b/runtime/signals_byt.c
@@ -81,4 +81,4 @@ int caml_set_signal_action(int signo, int action)
     return 0;
 }
 
-CAMLexport void caml_setup_stack_overflow_detection(void) {}
+CAMLexport int caml_setup_stack_overflow_detection(void) { return 0; }
--- a/runtime/signals_nat.c
+++ b/runtime/signals_nat.c
@@ -174,8 +174,6 @@ DECLARE_SIGNAL_HANDLER(trap_handler)
 #error "CONTEXT_SP is required if HAS_STACK_OVERFLOW_DETECTION is defined"
 #endif
 
-static char sig_alt_stack[SIGSTKSZ];
-
 /* Code compiled with ocamlopt never accesses more than
    EXTRA_STACK bytes below the stack pointer. */
 #define EXTRA_STACK 256
@@ -269,28 +267,33 @@ void caml_init_signals(void)
 #endif
 
 #ifdef HAS_STACK_OVERFLOW_DETECTION
-  {
-    stack_t stk;
+  if (caml_setup_stack_overflow_detection() != -1) {
     struct sigaction act;
-    stk.ss_sp = sig_alt_stack;
-    stk.ss_size = SIGSTKSZ;
-    stk.ss_flags = 0;
     SET_SIGACT(act, segv_handler);
     act.sa_flags |= SA_ONSTACK | SA_NODEFER;
     sigemptyset(&act.sa_mask);
-    if (sigaltstack(&stk, NULL) == 0) { sigaction(SIGSEGV, &act, NULL); }
+    sigaction(SIGSEGV, &act, NULL);
   }
 #endif
 }
 
-CAMLexport void caml_setup_stack_overflow_detection(void)
+/* Allocate and select an alternate stack for handling signals,
+   especially SIGSEGV signals.
+   Each thread needs its own alternate stack.
+   The alternate stack used to be statically-allocated for the main thread,
+   but this is incompatible with Glibc 2.34 and newer, where SIGSTKSZ
+   may not be a compile-time constant (issue #10250). */
+
+CAMLexport int caml_setup_stack_overflow_detection(void)
 {
 #ifdef HAS_STACK_OVERFLOW_DETECTION
   stack_t stk;
   stk.ss_sp = malloc(SIGSTKSZ);
+  if (stk.ss_sp == NULL) return -1;
   stk.ss_size = SIGSTKSZ;
   stk.ss_flags = 0;
-  if (stk.ss_sp)
-    sigaltstack(&stk, NULL);
+  return sigaltstack(&stk, NULL);
+#else
+  return 0;
 #endif
 }
++++++ ocaml-configure-Allow-user-defined-C-compiler-flags.patch ++++++
--- /var/tmp/diff_new_pack.ii4Fn0/_old  2021-04-22 18:03:48.070491433 +0200
+++ /var/tmp/diff_new_pack.ii4Fn0/_new  2021-04-22 18:03:48.070491433 +0200
@@ -8,13 +8,13 @@
 
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1738,6 +1738,9 @@ AS_IF([test x"$DEFAULT_STRING" = "xunsaf
+@@ -1816,6 +1816,9 @@ AS_IF([test x"$DEFAULT_STRING" = "xunsaf
    [default_safe_string=false],
    [default_safe_string=true])
  
-+# Allow user defined C Compiler flags
++# Store user defined global C Compiler flags
 +common_cflags="$common_cflags $EXTRA_CFLAGS"
 +
  oc_cflags="$common_cflags $internal_cflags"
  oc_cppflags="$common_cppflags $internal_cppflags"
- ocamlc_cflags="$common_cflags $sharedlib_cflags"
+ ocamlc_cflags="$common_cflags $sharedlib_cflags \$(CFLAGS)"

Reply via email to