Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package emacs for openSUSE:Factory checked 
in at 2025-07-14 10:47:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/emacs (Old)
 and      /work/SRC/openSUSE:Factory/.emacs.new.7373 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "emacs"

Mon Jul 14 10:47:56 2025 rev:207 rq:1292097 version:30.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/emacs/emacs.changes      2025-07-06 
16:59:50.902920521 +0200
+++ /work/SRC/openSUSE:Factory/.emacs.new.7373/emacs.changes    2025-07-14 
10:47:57.523365074 +0200
@@ -1,0 +2,10 @@
+Fri Jul 11 07:47:21 UTC 2025 - Dr. Werner Fink <wer...@suse.de>
+
+- Add patch emacs-30.1-pdumper.patch
+  * Avoid changing initial lisp timestamp as well as gc changing
+    statistics as lisp float in dumped images (bug#1239628)
+- Remove --enable-checking=all (bug#1246121)
+- Do not run checks in chroot environments as there are no
+  namespaces
+
+-------------------------------------------------------------------

New:
----
  emacs-30.1-pdumper.patch

----------(New B)----------
  New:
- Add patch emacs-30.1-pdumper.patch
  * Avoid changing initial lisp timestamp as well as gc changing
----------(New E)----------

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

Other differences:
------------------
++++++ emacs.spec ++++++
--- /var/tmp/diff_new_pack.8IwWcZ/_old  2025-07-14 10:48:00.811501380 +0200
+++ /var/tmp/diff_new_pack.8IwWcZ/_new  2025-07-14 10:48:00.815501547 +0200
@@ -218,6 +218,7 @@
 Patch1:         emacs-30.1-minmalxauth.patch
 # Currently disabled due memmmap build condition
 Patch2:         emacs-24.4-glibc.patch
+Patch3:         emacs-30.1-pdumper.patch
 Patch4:         emacs-24.3-asian-print.patch
 Patch5:         emacs-24.4-ps-bdf.patch
 Patch6:         emacs-30.1-silent.patch
@@ -412,6 +413,7 @@
 %if %{with memmmap}
 %patch -P2  -p0 -b .glibc
 %endif
+%patch -P3  -p0 -b .pdmp
 %patch -P4  -p0 -b .print
 %patch -P5  -p0 -b .psbdf
 %patch -P6  -p0 -b .silent
@@ -619,7 +621,6 @@
         --with-file-notification=inotify \
         --with-modules \
         --enable-gcc-warnings=warn-only \
-         --enable-checking=all \
         --enable-autodepend \
 "
 if (($(getconf LONG_BIT) < 62))
@@ -773,13 +774,6 @@
 SOURCE_DATE_EPOCH="$(sed -n '/^----/n;s/ - .*$//;p;q' %{SOURCE99} | date -u -f 
- +%%s)"
 export SOURCE_DATE_EPOCH
 parking=${PWD}/parking.*
-#%if 0%{?suse_version} >= 1550
-#%ifarch %ix86 %arm
-#    export CC=gcc-13
-#    export AR=gcc-ar-13
-#    export RANLIB=gcc-ranlib-13
-#%endif
-#%endif
 #
 PATH=/sbin:$PATH
 ##
@@ -1016,13 +1010,10 @@
 
 %if %{with checks}
 %check
-#%if 0%{?suse_version} >= 1550
-#%ifarch %ix86 %arm
-#export CC=gcc-13
-#export AR=gcc-ar-13
-#export RANLIB=gcc-ranlib-13
-#%endif
-#%endif
+if test "$(stat -c %d:%i /)" != "$(stat -c %d:%i /proc/1/root/)"
+then
+  exit 0
+fi
 mkdir -p native-lisp
 rm -rf native-lisp/%{version}-*
 ln -sf %{buildroot}%{_libdir}/emacs/%{version}/native-lisp/%{version}-* 
native-lisp/

++++++ emacs-30.1-pdumper.patch ++++++
After some debugging I've identified two lisp objects, a Lisp
Float which are set by the gc, and Lisp Cons set be the
initial lisp timestamp at startup.  Both are changing at
every dump therefore avoid them or use a fixed value.

During debugging I stumbled over some inconsistencies in
pdumper.c which are also fixed in upstream master branch.

Werner

---
 src/alloc.c   |    4 ++--
 src/pdumper.c |   10 +++++-----
 src/timefns.c |   34 ++++++++++++++++++++++++++++++++++
 3 files changed, 41 insertions(+), 7 deletions(-)

--- src/alloc.c
+++ src/alloc.c 2025-07-10 10:54:56.217020919 +0000
@@ -6702,8 +6702,8 @@ garbage_collect (void)
   image_prune_animation_caches (false);
 #endif
 
-  /* Accumulate statistics.  */
-  if (FLOATP (Vgc_elapsed))
+  /* Accumulate statistics, but not during dump to get reproducible pdmp 
images.  */
+  if (FLOATP (Vgc_elapsed) && !will_dump_p ())
     {
       static struct timespec gc_elapsed;
       gc_elapsed = timespec_add (gc_elapsed,
--- src/pdumper.c
+++ src/pdumper.c       2025-07-09 07:26:00.889706813 +0000
@@ -2140,9 +2140,9 @@ dump_interval_node (struct dump_context
   if (node->parent)
     dump_field_fixup_later (ctx, &out, node, &node->parent);
   if (node->left)
-    dump_field_fixup_later (ctx, &out, node, &node->parent);
+    dump_field_fixup_later (ctx, &out, node, &node->left);
   if (node->right)
-    dump_field_fixup_later (ctx, &out, node, &node->parent);
+    dump_field_fixup_later (ctx, &out, node, &node->right);
   DUMP_FIELD_COPY (&out, node, begin);
   DUMP_FIELD_COPY (&out, node, end);
   DUMP_FIELD_COPY (&out, node, limit);
@@ -2213,9 +2213,9 @@ dump_finalizer (struct dump_context *ctx
   /* Do _not_ call dump_pseudovector_lisp_fields here: we dump the
      only Lisp field, finalizer->function, manually, so we can give it
      a low weight.  */
-  dump_field_lv (ctx, &out, finalizer, &finalizer->function, WEIGHT_NONE);
-  dump_field_finalizer_ref (ctx, &out, finalizer, &finalizer->prev);
-  dump_field_finalizer_ref (ctx, &out, finalizer, &finalizer->next);
+  dump_field_lv (ctx, out, finalizer, &finalizer->function, WEIGHT_NONE);
+  dump_field_finalizer_ref (ctx, out, finalizer, &finalizer->prev);
+  dump_field_finalizer_ref (ctx, out, finalizer, &finalizer->next);
   return finish_dump_pvec (ctx, &out->header);
 }
 
--- src/timefns.c
+++ src/timefns.c       2025-07-11 07:32:33.928031852 +0000
@@ -600,6 +600,40 @@ make_lisp_time (struct timespec t)
 Lisp_Object
 timespec_to_lisp (struct timespec t)
 {
+  if (will_dump_p())   /* Use provided epoch at dump to get reproducible pdmp 
images */
+    {
+      char *epoch;
+      epoch = secure_getenv("SOURCE_DATE_EPOCH");
+      if (epoch)
+        {
+          char *endptr;
+          const char env[] = "Environment variable SOURCE_DATE_EPOCH: ";
+          errno = 0;
+          t.tv_sec = strtoull(epoch, &endptr, 10);
+          if ((errno == ERANGE && (t.tv_sec == ULLONG_MAX || t.tv_sec == 0)) 
||\
+              (errno != 0 && t.tv_sec == 0))
+            {
+              fprintf(stderr, "%s strtoull: %m\n", env);
+              exit(EXIT_FAILURE);
+            }
+          if (endptr == epoch)
+            {
+              fprintf(stderr, "%s No digits were found: %s\n", env, endptr);
+              exit(EXIT_FAILURE);
+            }
+          if (*endptr != '\0')
+            {
+              fprintf(stderr, "%s Trailing garbage: %s\n", env, endptr);
+              exit(EXIT_FAILURE);
+            }
+          if (t.tv_sec > ULONG_MAX)
+            {
+              fprintf(stderr, "%s value must be smaller than or equal to %lu 
but was found to be: %ld \n", env, ULONG_MAX, t.tv_sec);
+              exit(EXIT_FAILURE);
+            }
+          t.tv_nsec = 0ULL;
+        }
+    }
   return Fcons (timespec_ticks (t), timespec_hz);
 }
 



++++++ site-lisp.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/site-lisp/ger-keys.el new/site-lisp/ger-keys.el
--- old/site-lisp/ger-keys.el   2020-08-24 13:01:32.740320982 +0200
+++ new/site-lisp/ger-keys.el   2025-07-10 08:17:06.845905355 +0200
@@ -1,3 +1,4 @@
+;;; ger-keys.el -- -*- lexical-binding: t -*-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; name ` ger-keys.el '
 ;;; Author: Werner Fink (1993)
@@ -270,26 +271,26 @@
   (if ger-keyboard-mode
       (progn
        (setq ger-keyboard-mode nil)
-       (local-unset-key [?"])
+       (local-unset-key [?\"])
        (local-unset-key [?:])
        (local-unset-key [?{])
        (local-unset-key [?'])
-       (local-unset-key [?;])
+       (local-unset-key [?\;])
        (local-unset-key [?-])
-       (local-unset-key [?[])
+       (local-unset-key [?\[])
        (local-unset-key [?Z])
        (local-unset-key [?Y])
        (local-unset-key [?z])
        (local-unset-key [?y])
        (message "Amerikanische Tastatur in Originalbelegung"))
     (setq ger-keyboard-mode t)
-    (local-set-key [?"] '__ger-set-uskey-Auml)
+    (local-set-key [?\"] '__ger-set-uskey-Auml)
     (local-set-key [?:] '__ger-set-uskey-Ouml)
     (local-set-key [?{] '__ger-set-uskey-Uuml)
     (local-set-key [?'] '__ger-set-uskey-auml)
-    (local-set-key [?;] '__ger-set-uskey-ouml)
+    (local-set-key [?\;] '__ger-set-uskey-ouml)
     (local-set-key [?-] '__ger-set-uskey-suml)
-    (local-set-key [?[] '__ger-set-uskey-uuml)
+    (local-set-key [?\[] '__ger-set-uskey-uuml)
     (local-set-key [?Z] '__ger-set-uskey-ZY)
     (local-set-key [?Y] '__ger-set-uskey-YZ)
     (local-set-key [?z] '__ger-set-uskey-zy)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/site-lisp/site-start.el new/site-lisp/site-start.el
--- old/site-lisp/site-start.el 2023-10-10 13:39:27.792165990 +0200
+++ new/site-lisp/site-start.el 2025-07-10 08:17:01.170008097 +0200
@@ -1,3 +1,4 @@
+;;; site-start.el -- -*- lexical-binding: t -*-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; File name: ` /usr/share/emacs/site-lisp/site-start.el '
 ;;; ---------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/site-lisp/xfonts.el new/site-lisp/xfonts.el
--- old/site-lisp/xfonts.el     1997-05-27 13:11:54.000000000 +0200
+++ new/site-lisp/xfonts.el     2025-07-10 08:17:37.749345954 +0200
@@ -1,3 +1,4 @@
+;;; x-fonts.el -- -*- lexical-binding: t -*-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; File name: ` x-fonts.el '
 ;;; -----------------------

Reply via email to