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 ' ;;; -----------------------