Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rocksndiamonds for openSUSE:Factory 
checked in at 2026-08-24 12:12:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rocksndiamonds (Old)
 and      /work/SRC/openSUSE:Factory/.rocksndiamonds.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rocksndiamonds"

Mon Aug 24 12:12:04 2026 rev:50 rq:1373345 version:4.4.2.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/rocksndiamonds/rocksndiamonds.changes    
2026-07-01 17:11:21.921083355 +0200
+++ /work/SRC/openSUSE:Factory/.rocksndiamonds.new.1258/rocksndiamonds.changes  
2026-08-24 12:17:28.571509363 +0200
@@ -1,0 +2,27 @@
+Wed Aug 19 04:55:13 UTC 2026 - Carsten Ziepke <[email protected]>
+
+- Update to version 4.4.2.4
+  * added sound for active conveyor belts
+  * added sound for conveyor belt switches
+  * added sound for switchgate switches
+  * fixed sound of growing amoeba
+  * added key shortcuts for undo/redo game buttons
+  * removed unnecessary historic player move delay for very
+    old levels
+  * fixed "smashed by rock/spring" graphics for non-native
+    EM graphics
+  * fixed push delay for EM engine for non-native EM engine
+    level files
+  * fixed drawing invisible walls with initially activated
+    light switch
+  * fixed graphics for invisible wall explosions
+  * fixed potential crash bugs
+
+-------------------------------------------------------------------
+Mon Aug 17 12:08:24 UTC 2026 - Bernhard Wiedemann <[email protected]>
+
+- Add rocksndiamonds-parallel-make.patch: build each sub-library
+  exactly once, two concurrent "ar cr" runs truncated game_em.a and
+  broke linking.
+
+-------------------------------------------------------------------

Old:
----
  rocksndiamonds-4.4.2.3-linux.tar.gz

New:
----
  rocksndiamonds-4.4.2.4-linux.tar.gz
  rocksndiamonds-parallel-make.patch

----------(New B)----------
  New:
- Add rocksndiamonds-parallel-make.patch: build each sub-library
  exactly once, two concurrent "ar cr" runs truncated game_em.a and
----------(New E)----------

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

Other differences:
------------------
++++++ rocksndiamonds.spec ++++++
--- /var/tmp/diff_new_pack.0lColk/_old  2026-08-24 12:17:29.508542697 +0200
+++ /var/tmp/diff_new_pack.0lColk/_new  2026-08-24 12:17:29.512542839 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           rocksndiamonds
-Version:        4.4.2.3
+Version:        4.4.2.4
 Release:        0
 Summary:        Colorful Boulderdash'n'Emerald Mine'n'Sokoban'n'Stuff
 License:        GPL-2.0-or-later
@@ -27,6 +27,7 @@
 Source0:        
https://www.artsoft.org/RELEASES/linux/%{name}/%{name}-%{version}-linux.tar.gz
 Source1:        %{name}-icons.tar.gz
 Source2:        %{name}.desktop
+Patch0:         %{name}-parallel-make.patch
 BuildRequires:  fdupes
 BuildRequires:  hicolor-icon-theme
 BuildRequires:  pkgconfig

++++++ rocksndiamonds-4.4.2.3-linux.tar.gz -> 
rocksndiamonds-4.4.2.4-linux.tar.gz ++++++
++++ 6807 lines of diff (skipped)

++++++ rocksndiamonds-parallel-make.patch ++++++
From: openSUSE games maintainers
Subject: Makefile: build each sub-library exactly once

Both "all" and "$(PROGNAME)" pull in the sub-libraries, via the phony
"<name>_dir" targets and via the "$(<NAME>)" archive targets respectively.
Both rules carry the same recipe, so "make -j" happily runs two sub-makes in
the same directory at the same time. Their "ar cr" calls then write the same
archive concurrently and one of them ends up truncated:

  ar cr game_em.a cave.o convert.o graphics.o init.o game.o logic.o reademc.o
  ar cr game_em.a cave.o convert.o graphics.o init.o game.o logic.o reademc.o
  bfd plugin: game_em.a: file too short
  ld: init.c:5880: undefined reference to `InitGfxBuffers_EM'
  [...]

Give the archive targets an empty recipe and let them depend on the phony
directory target, so only one rule descends. An empty recipe (rather than no
recipe) keeps make from marking the archive as remade on every run, so
untouched builds still relink nothing.

Not using an order-only prerequisite here: that would stop a rebuilt archive
from relinking the binary, leaving a stale executable behind.
--- a/src/Makefile
+++ b/src/Makefile
@@ -302,30 +302,30 @@
 endif
 endif
 
+# The archives are built by descending into their directory, which must happen
+# exactly once: two rules with the same recipe let "make -j" run two sub-makes
+# in the same directory at once, and their concurrent "ar cr" calls truncate
+# the archive. The file targets therefore carry an empty recipe (";") and let
+# the phony directory target do the work.
 libgame_dir:
        @$(MAKE) -C $(LIBGAME_DIR)
-$(LIBGAME):
-       @$(MAKE) -C $(LIBGAME_DIR)
+$(LIBGAME): libgame_dir ;
 
 game_bd_dir:
        @$(MAKE) -C $(GAME_BD_DIR)
-$(GAME_BD):
-       @$(MAKE) -C $(GAME_BD_DIR)
+$(GAME_BD): game_bd_dir ;
 
 game_em_dir:
        @$(MAKE) -C $(GAME_EM_DIR)
-$(GAME_EM):
-       @$(MAKE) -C $(GAME_EM_DIR)
+$(GAME_EM): game_em_dir ;
 
 game_sp_dir:
        @$(MAKE) -C $(GAME_SP_DIR)
-$(GAME_SP):
-       @$(MAKE) -C $(GAME_SP_DIR)
+$(GAME_SP): game_sp_dir ;
 
 game_mm_dir:
        @$(MAKE) -C $(GAME_MM_DIR)
-$(GAME_MM):
-       @$(MAKE) -C $(GAME_MM_DIR)
+$(GAME_MM): game_mm_dir ;
 
 auto-conf:
        @for i in $(CNFS); do                   \

Reply via email to