Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package poke for openSUSE:Factory checked in 
at 2022-09-20 19:23:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/poke (Old)
 and      /work/SRC/openSUSE:Factory/.poke.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "poke"

Tue Sep 20 19:23:57 2022 rev:5 rq:1004909 version:2.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/poke/poke.changes        2021-12-05 
22:46:43.753521300 +0100
+++ /work/SRC/openSUSE:Factory/.poke.new.2083/poke.changes      2022-09-20 
19:24:03.378555379 +0200
@@ -1,0 +2,18 @@
+Wed Sep  7 18:53:40 UTC 2022 - Antoine Belvire <[email protected]>
+
+- Update to 2.4:
+  * Lot of changes since 1.4, see packaged NEWS for details.
+- Add jitter-0.9.284-noexec-stack-arm-i586.patch: Make sure the stack
+  is defined as non-executable in jitter on arm and i586.
+- Trim not strictly needed build requirements.
+- Recommend a handler for opening app:// hyperlinks.
+- Move Emacs support from poke to emacs-poke.
+- Package new vim support in vim-poke.
+- Enable tests.
+
+-------------------------------------------------------------------
+Thu Aug 11 11:07:46 UTC 2022 - Dirk M??ller <[email protected]>
+
+- remove unused lua53 buildrequires
+
+-------------------------------------------------------------------

Old:
----
  poke-1.4.tar.gz
  poke-1.4.tar.gz.sig

New:
----
  jitter-0.9.284-noexec-stack-arm-i586.patch
  poke-2.4.tar.gz
  poke-2.4.tar.gz.sig

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

Other differences:
------------------
++++++ poke.spec ++++++
--- /var/tmp/diff_new_pack.aP0ydm/_old  2022-09-20 19:24:04.006557180 +0200
+++ /var/tmp/diff_new_pack.aP0ydm/_new  2022-09-20 19:24:04.014557203 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package poke
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,36 +18,30 @@
 
 %define sover   0
 Name:           poke
-Version:        1.4
+Version:        2.4
 Release:        0
 Summary:        An interactive, extensible editor for binary data
 License:        GPL-3.0-or-later
 URL:            https://www.gnu.org/software/poke/
-Source:         https://ftp.gnu.org/gnu/poke/%{name}-%{version}.tar.gz
-Source2:        https://ftp.gnu.org/gnu/poke/%{name}-%{version}.tar.gz.sig
-Source3:        
https://savannah.gnu.org/people/viewgpg.php?user_id=829#/%{name}.keyring
-BuildRequires:  autoconf >= 2.62
-BuildRequires:  automake >= 1.16
-BuildRequires:  bison >= 3.6
+Source0:        https://ftp.gnu.org/gnu/poke/%{name}-%{version}.tar.gz
+Source1:        https://ftp.gnu.org/gnu/poke/%{name}-%{version}.tar.gz.sig
+Source2:        
https://savannah.gnu.org/people/viewgpg.php?user_id=829#/%{name}.keyring
+# PATCH-FIX-UPSTREAM jitter-0.9.284-noexec-stack-arm-i586.patch -- Make sure 
stack is not executable on arm and i586
+Patch0:         jitter-0.9.284-noexec-stack-arm-i586.patch
+BuildRequires:  automake
 BuildRequires:  dejagnu
-BuildRequires:  flex >= 2.5.37
 BuildRequires:  gawk
-BuildRequires:  gettext >= 0.18.2
-BuildRequires:  help2man
-BuildRequires:  libtool
-BuildRequires:  lua53
-BuildRequires:  makeinfo >= 6.0
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(bdw-gc)
 BuildRequires:  pkgconfig(json-c)
 BuildRequires:  pkgconfig(libnbd)
-# /SECTION
 %if 0%{?suse_version} > 1500
 BuildRequires:  libtextstyle-devel
 BuildRequires:  pkgconfig(readline)
 %else
 BuildRequires:  readline-devel
 %endif
+Recommends:     mimehandler(x-scheme-handler/app)
 
 %description
 GNU poke is an interactive, extensible editor for binary data. Not limited to
@@ -68,43 +62,89 @@
 %description -n lib%{name}%{sover}
 Contains support library for %{name}.
 
+%package -n emacs-%{name}
+Summary:        Emacs support for %{name}
+Requires:       %{name} = %{version}
+Requires:       emacs
+Supplements:    (emacs and %{name})
+BuildArch:      noarch
+
+%description -n emacs-%{name}
+Provides Emacs support for %{name}.
+
+%package -n vim-%{name}
+Summary:        Vim support for %{name}
+Requires:       %{name} = %{version}
+Requires:       vim
+Supplements:    (vim and %{name})
+BuildArch:      noarch
+
+%description -n vim-poke
+Provides Vim support for %{name}.
+
 %prep
-%autosetup
+%setup -q
+%patch0 -p1 -d jitter
 
 %build
+# run autoreconf in jitter as Patch0 modifies jitter/configure.ac
+autoreconf jitter
+# jitter fails to build with LTO, disable it for now
+%define _lto_cflags %{nil}
 %configure \
        --disable-static \
        --enable-mi
-
 %make_build
 
 %install
 %make_install
 find %{buildroot} -type f -name "*.la" -delete -print
 
+%check
+%make_build check
+
 %post -n lib%{name}%{sover} -p /sbin/ldconfig
 %postun -n lib%{name}%{sover} -p /sbin/ldconfig
 
 %files
 %license COPYING
-%doc README AUTHORS
+%doc README AUTHORS NEWS
 %{_bindir}/%{name}
+%{_bindir}/pk-bin2poke
 %{_bindir}/pk-elfextractor
 %{_bindir}/pk-strings
 %{_datadir}/%{name}
-%{_datadir}/emacs/site-lisp/*
 %{_infodir}/%{name}.info%{?ext_info}
 %{_infodir}/%{name}.info-1%{?ext_info}
 %{_infodir}/%{name}.info-2%{?ext_info}
+%{_infodir}/%{name}.info-3%{?ext_info}
 %{_mandir}/man1/%{name}.1%{?ext_man}
 
 %files devel
 %license COPYING
 %{_includedir}/libpoke.h
 %{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/poke.pc
 
 %files -n lib%{name}%{sover}
 %license COPYING
 %{_libdir}/lib%{name}.so.%{sover}*
 
+%files -n emacs-%{name}
+%license COPYING
+%dir %{_datadir}/emacs
+%dir %{_datadir}/emacs/site-lisp
+%{_datadir}/emacs/site-lisp/poke-map-mode.el
+%{_datadir}/emacs/site-lisp/poke-mode.el
+%{_datadir}/emacs/site-lisp/poke-ras-mode.el
+
+%files -n vim-%{name}
+%license COPYING
+%dir %{_datadir}/vim
+%dir %{_datadir}/vim/vimfiles
+%dir %{_datadir}/vim/vimfiles/ftdetect
+%{_datadir}/vim/vimfiles/ftdetect/poke.vim
+%dir %{_datadir}/vim/vimfiles/syntax
+%{_datadir}/vim/vimfiles/syntax/poke.vim
+
 %changelog

++++++ jitter-0.9.284-noexec-stack-arm-i586.patch ++++++
>From 13afef630c7c1df244150d5828cd295f1363f380 Mon Sep 17 00:00:00 2001
From: Luca Saiu <[email protected]>
Date: Wed, 7 Sep 2022 01:38:17 +0200
Subject: [PATCH] support non-executable stacks on more architectures

Ensure that the stack is not unintentionally made executable in more cases by
not relying on the architecture being known for
  .section .note.GNU-stack, "", @progbits
.  Also support the alternative ARM syntax.

* jitter/jitter-machine-common.S (.section .note.GNU-stack, "", @progbits):
Move code and comments out of the large CPP conditional.  Add another equivalent
line guarded by JITTER_HAVE_SECTION_NOTE_GNU_STACK_IN_ARM_SYNTAX for the
alternative syntax.  No longer depend on ELF, by switching from .previous to a
more crude but portable .text

* configure.ac: New check for .note-GNU-stack section support in ARM syntax.
(ac_cv_have_section_note_gnu_stack_in_arm_syntax): New shell variable.
(JITTER_HAVE_SECTION_NOTE_GNU_STACK_IN_ARM_SYNTAX): New CPP feature macro.
* jitter/jitter-config.h.in (JITTER_HAVE_SECTION_NOTE_GNU_STACK_IN_ARM_SYNTAX):
New feature macro.

Thanks to Antoine Belvire for reporting the problem.  My fix is a little
different from what he suggested.
---
 configure.ac                   | 21 ++++++++++
 jitter/jitter-config.h.in      |  2 +
 jitter/jitter-machine-common.S | 71 ++++++++++++++++++++--------------
 3 files changed, 66 insertions(+), 28 deletions(-)

diff --git a/configure.ac b/configure.ac
index 24e8216..da2ead9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1421,6 +1421,27 @@ if test "x$ac_cv_have_section_note_gnu_stack" = "xyes"; 
then
             [Define if the platform supports a .note.GNU-stack section.])
 fi
 
+# Same in ARM syntax.  Notice that we check this on every architecture, not
+# only ARM: this is the Autoconf way, and may prevent future problems in case
+# other architectures have the same quirk.
+AC_CACHE_CHECK([for .note-GNU-stack section support in ARM syntax],
+  [ac_cv_have_section_note_gnu_stack_in_arm_syntax],
+  [AC_LINK_IFELSE(
+     [AC_LANG_PROGRAM(
+        [[]],
+        [[/* The section prefix character here is '%' instead of '@'. */
+          asm volatile (".section .note.GNU-stack, \"\", %progbits\n"
+                        ".previous");
+        ]])],
+     [ac_cv_have_section_note_gnu_stack_in_arm_syntax=yes],
+     [ac_cv_have_section_note_gnu_stack_in_arm_syntax=no])])
+if test "x$ac_cv_have_section_note_gnu_stack_in_arm_syntax" = "xyes"; then
+  AC_DEFINE([JITTER_HAVE_SECTION_NOTE_GNU_STACK_IN_ARM_SYNTAX], [1],
+            [Define if the platform supports a .note.GNU-stack section using
+             ARM assembly syntax for section prefixes instead of the syntax
+             that works for most architectures.])
+fi
+
 
 # Check for specific functions or "declarations" in the C library.
 ##################################################################
diff --git a/jitter/jitter-config.h.in b/jitter/jitter-config.h.in
index a8d01b8..0e6bfb4 100644
--- a/jitter/jitter-config.h.in
+++ b/jitter/jitter-config.h.in
@@ -2,6 +2,7 @@
 
    Copyright (C) 2017, 2019, 2020, 2021 Luca Saiu
    Updated in 2021 by pEp foundation (JITTER_HOST_OS_IS_ANDROID)
+   Updated in 2022 by Luca Saiu
    Written by Luca Saiu
 
    This file is part of GNU Jitter.
@@ -172,6 +173,7 @@
 #undef JITTER_HOST_OS_IS_COFF
 #undef JITTER_HOST_OS_IS_MACHO
 #undef JITTER_HAVE_SECTION_NOTE_GNU_STACK
+#undef JITTER_HAVE_SECTION_NOTE_GNU_STACK_IN_ARM_SYNTAX
 
 /* Assembler flavour. */
 #undef JITTER_HOST_ASSEMBLER_IS_GNU
diff --git a/jitter/jitter-machine-common.S b/jitter/jitter-machine-common.S
index 87309db..a693c03 100644
--- a/jitter/jitter-machine-common.S
+++ b/jitter/jitter-machine-common.S
@@ -1,6 +1,6 @@
 /* VM library: macros to be optionally included in architecture-specific asm.
 
-   Copyright (C) 2017, 2019 Luca Saiu
+   Copyright (C) 2017, 2019, 2022 Luca Saiu
    Updated in 2020 by Luca Saiu
    Written by Luca Saiu
 
@@ -48,7 +48,7 @@
 #include <jitter/jitter-cpp.h>
 
 
-/* Expand to nothing if we have no assembly support.
+/* Expand to nothing except stack executability if we have no assembly support.
  * ************************************************************************** 
*/
 
 /* If in this configuration the assembler is not Gas or we do not know its
@@ -87,32 +87,6 @@
 #endif // #if JITTER_SIZEOF_VOID_P == ...
 
 
-
-
-/* Stack executability not required.
- * ************************************************************************** 
*/
-
-/* Do not require an executable stack.  Jitter, or a Jittery VM runtime, never
-   directly relies on that.
-
-   Rationale: none of my assembly code relies on executable stacks, even if GCC
-   assumes, by default, that an assembly source file does.  Since this file is
-   included in every assembly source this is a good place to put this.  If some
-   other source linked to the Jitter runtime requires an executable stack then
-   the linked executable will have it, thanks to another
-     .section .note.GNU-stack, "x", @progbits
-   written somewhere else.
-   The Jitter runtime itself, along with every example in the distribution,
-   could easily be compiled and linked with
-     -Wa,--noexecstack -Wl,-z,noexecstack
-   , if there were nothing else. */
-#if defined (JITTER_HOST_OS_IS_ELF) \
-    && defined (JITTER_HAVE_SECTION_NOTE_GNU_STACK)
-.section .note.GNU-stack, "", @progbits
-.previous
-#endif // defined (JITTER_HOST_OS_IS_ELF) && ...
-
-
 
 
 /* Switching sections.
@@ -294,4 +268,45 @@ jitter_asm_exit_section
 
 #endif // #if defined (JITTER_HAVE_ASSEMBLY) && defined 
(JITTER_HAVE_KNOWN_BINARY_FORMAT)
 
+/* The large CPP conditional ends here: the rest is executed even on
+      ! defined (JITTER_HAVE_ASSEMBLY)                \
+      || ! defined (JITTER_HAVE_KNOWN_BINARY_FORMAT)
+   , becasue stack executability is in fact orthogonal to the rest. */
+
+
+
+
+/* Stack executability not required.
+ * ************************************************************************** 
*/
+
+/* See the previous comment: this is included in every architecture, even if
+   complely unsupported. */
+
+
+/* Do not require an executable stack.  Jitter, or a Jittery VM runtime, never
+   directly relies on that.
+
+   Rationale: none of my assembly code relies on executable stacks, even if GCC
+   assumes, by default, that an assembly source file does.  Since this file is
+   included in every assembly source this is a good place to put this.  If some
+   other source linked to the Jitter runtime requires an executable stack then
+   the linked executable will have it, thanks to another
+     .section .note.GNU-stack, "x", @progbits
+   written somewhere else.
+   The Jitter runtime itself, along with every example in the distribution,
+   could easily be compiled and linked with
+     -Wa,--noexecstack -Wl,-z,noexecstack
+   , if there were nothing else. */
+#if defined (JITTER_HAVE_SECTION_NOTE_GNU_STACK)
+.section .note.GNU-stack, "", @progbits
+.text  /* back to the "previous" section.  .previous would be better, but
+          in practice this works and is more portable, since this code is
+          only included from a global context. */
+#elif defined (JITTER_HAVE_SECTION_NOTE_GNU_STACK_IN_ARM_SYNTAX)
+/* ARM uses % as the section-type prefix character, and '@' as a comment. */
+.section .note.GNU-stack, "", %progbits
+.text  /* See the comment about .text in the previous CPP conditional
+          branch. */
+#endif // defined (JITTER_HAVE_SECTION_NOTE_GNU_STACK)
+
 #endif // #ifndef MACHINE_COMMON_S_
-- 
2.37.2


++++++ poke-1.4.tar.gz -> poke-2.4.tar.gz ++++++
/work/SRC/openSUSE:Factory/poke/poke-1.4.tar.gz 
/work/SRC/openSUSE:Factory/.poke.new.2083/poke-2.4.tar.gz differ: char 13, line 
1

Reply via email to