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 \
