public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Artur Frenszek-Iwicki <fedora@svgames.pl>
To: git-commits@fedoraproject.org
Subject: [rpms/tecnoballz] rawhide: Update to v0.93.1
Date: Sun, 13 Sep 2026 12:37:50 GMT [thread overview]
Message-ID: <178930307016.1.3371633710058390752.rpms-tecnoballz-212589a3f3c0@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/tecnoballz
Branch : rawhide
Commit : 212589a3f3c010c695278f192202912a7a162339
Author : Artur Frenszek-Iwicki <fedora@svgames.pl>
Date : 2026-08-30T15:55:00+02:00
Stats : +242/-612 in 13 file(s)
URL : https://src.fedoraproject.org/rpms/tecnoballz/c/212589a3f3c010c695278f192202912a7a162339?branch=rawhide
Log:
Update to v0.93.1
---
diff --git a/.gitignore b/.gitignore
index ad1cf20..9e8b1fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
tecnoballz-0.92.tgz
+/tecnoballz-0.93.1.tgz
diff --git a/sources b/sources
index 360d204..c140562 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-111022212bc77b7dfcb453eaa5eac751 tecnoballz-0.92.tgz
+SHA512 (tecnoballz-0.93.1.tgz) = a7e30d408f907b9b5bbbf20002088d3cb84b7ee22b92b8ebbe14ad056036ce291ecd61531402c876047f69f2068ce844c5351dbf9e29a240b321a6d365c3c1ea
diff --git a/tecnoballz-0.92-Makefile.patch b/tecnoballz-0.92-Makefile.patch
deleted file mode 100644
index 96283f2..0000000
--- a/tecnoballz-0.92-Makefile.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -dur tecnoballz-0.92.orig/Makefile.am tecnoballz-0.92/Makefile.am
---- tecnoballz-0.92.orig/Makefile.am 2005-07-21 19:43:03.000000000 +0200
-+++ tecnoballz-0.92/Makefile.am 2011-11-26 17:32:23.878188098 +0100
-@@ -1,5 +1,5 @@
-
--gamesdir = $(prefix)/games
-+gamesdir = $(bindir)
- scoredir = /var/games/tecnoballz
- score = tecnoballz.hi
-
-diff -dur tecnoballz-0.92.orig/src/Makefile.am tecnoballz-0.92/src/Makefile.am
---- tecnoballz-0.92.orig/src/Makefile.am 2007-10-31 08:35:29.000000000 +0100
-+++ tecnoballz-0.92/src/Makefile.am 2011-11-26 17:32:38.401341341 +0100
-@@ -1,6 +1,6 @@
-
- NULL =
--gamesdir = $(prefix)/games
-+gamesdir = $(bindir)
- scoredir = /var/games/tecnoballz
- score = tecnoballz.hi
-
-@@ -71,7 +71,7 @@
- sprite_projectile.cc \
- sprite_ship.cc \
- sprite_wall.cc \
-- supervisor.c \
-+ supervisor.cc \
- supervisor_bricks_level.cc \
- supervisor_main_menu.cc \
- supervisor_map_editor.cc \
diff --git a/tecnoballz-0.92-dependecies.patch b/tecnoballz-0.92-dependecies.patch
deleted file mode 100644
index daedc1c..0000000
--- a/tecnoballz-0.92-dependecies.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -dur tecnoballz-0.92.orig/configure.ac tecnoballz-0.92/configure.ac
---- tecnoballz-0.92.orig/configure.ac 2007-11-19 13:44:15.000000000 +0100
-+++ tecnoballz-0.92/configure.ac 2011-11-26 18:04:22.221420518 +0100
-@@ -50,23 +50,6 @@
-
- LDFLAGS_="${LDFLAGS_save}"
-
--AC_CHECK_LIB(vorbisfile, ov_raw_seek, [
-- MM_LIBS="${MM_LIBS} -lvorbisfile"
--],[
-- AC_MSG_ERROR(Could not find the vorbisfile lib : -lvorbisfile)
--])
--AC_CHECK_LIB(ogg, ogg_stream_packetin, [
-- MM_LIBS="${MM_LIBS} -logg"
--],[
-- AC_MSG_ERROR(Could not find the ogg lib : -logg)
--])
--AC_CHECK_LIB(smpeg, SMPEG_play, [
-- MM_LIBS="${MM_LIBS} -lsmpeg"
--],[
-- AC_MSG_ERROR(Could not find the smpeg lib : -lsmpeg)
--])
--AC_SUBST(MM_LIBS)
--
- AC_CHECK_LIB(mikmod, Player_Stop, [
- MIKMOD_LIBS="-lmikmod"
- MIKMOD_FLAGS="-pthread -D_REENTRANT"
-diff -dur tecnoballz-0.92.orig/src/Makefile.am tecnoballz-0.92/src/Makefile.am
---- tecnoballz-0.92.orig/src/Makefile.am 2007-10-31 08:35:29.000000000 +0100
-+++ tecnoballz-0.92/src/Makefile.am 2011-11-26 18:04:44.634636369 +0100
-@@ -9,7 +9,7 @@
- games_PROGRAMS = tecnoballz
- tecnoballz_SOURCES = $(SOURCES_MAIN)
- tecnoballz_CXXFLAGS = -DDATADIR=\"$(datadir)/tecnoballz\" -DSCOREFILE=\"$(scoredir)/$(score)\" @XLIB_CFLAGS@ @SDL_CFLAGS@ @MIKMOD_FLAGS@
--tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MM_LIBS@ @MIKMOD_LIBS@ -L.
-+tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MIKMOD_LIBS@ -L.
-
- SOURCES_MAIN = \
- bitmap_data.cc \
diff --git a/tecnoballz-0.92-dropsgid.patch b/tecnoballz-0.92-dropsgid.patch
deleted file mode 100644
index 5664117..0000000
--- a/tecnoballz-0.92-dropsgid.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-diff -up tecnoballz-0.92/include/handler_resources.h.sgid tecnoballz-0.92/include/handler_resources.h
---- tecnoballz-0.92/include/handler_resources.h.sgid 2007-10-09 07:46:24.000000000 +0200
-+++ tecnoballz-0.92/include/handler_resources.h 2007-12-21 11:16:40.000000000 +0100
-@@ -42,7 +42,6 @@ class handler_resources:public virtual t
- static const char *folderdata;
- static const char *folder_320;
- static const char *folder_640;
-- static char *fnamescore;
- static char tmp_filename[512];
- static char pathstring[512];
- static const Uint32 TEXTS_OFFSET = 2048;
-@@ -93,6 +92,8 @@ class handler_resources:public virtual t
- static const Sint16 *zesinus360;
- static const Uint32 color_gradations[180];
-
-+ static char *fnamescore;
-+ static int score_fhand;
- private:
- /** Size last file loaded in memory */
- Uint32 last_filesize_loaded;
-diff -up tecnoballz-0.92/src/handler_resources.cc.sgid tecnoballz-0.92/src/handler_resources.cc
---- tecnoballz-0.92/src/handler_resources.cc.sgid 2007-10-29 14:18:53.000000000 +0100
-+++ tecnoballz-0.92/src/handler_resources.cc 2007-12-21 11:16:40.000000000 +0100
-@@ -46,6 +46,7 @@
- #endif
-
- char * handler_resources::fnamescore = SCOREFILE;
-+int handler_resources::score_fhand = -1;
- const char *
- handler_resources::folder_640 = "hires/";
- const char *
-@@ -737,18 +738,54 @@ handler_resources::load_sinus ()
- char *
- handler_resources::load_high_score_file ()
- {
-- char* filedata = NULL;
-+ if (score_fhand == -1)
-+ return NULL;
-+
-+ /* read the size of the file */
-+ struct stat sb;
-+ if (fstat (score_fhand, &sb))
-+ {
-+ std::cerr << "(!)handler_resources::load_high_score_file() " <<
-+ "can't stat file " << fnamescore
-+ << "strerror:" << strerror (errno) << std::endl;
-+ return NULL;
-+ }
-+ /* save filesize */
-+ last_filesize_loaded = sb.st_size;
-+
-+ /* allocate memory require to load the filedata */
-+ char *buffer = NULL;
- try
-+ {
-+ buffer = new char[sb.st_size];
-+ }
-+ catch (std::bad_alloc &)
-+ {
-+ std::cerr << "(!)handler_resources::load_high_score_file() " <<
-+ "not enough memory to allocate " <<
-+ sb.st_size << " bytes!" << std::endl;
-+ throw;
-+ }
-+
-+ /* read the file */
-+ if(lseek(score_fhand, 0, SEEK_SET) != 0)
- {
-- filedata = load_file (fnamescore, &last_filesize_loaded);
-+ std::cerr << "(!)handler_resources::load_high_score_file() can't rewind file " <<
-+ fnamescore << "strerror:" << strerror (errno) << std::endl;
-+ delete buffer;
-+ return NULL;
- }
-- catch (...)
-+
-+ if (read (score_fhand, buffer, sb.st_size) != sb.st_size)
- {
-- std::cerr << "(!)handler_resources::load_high_score_file() " <<
-- "can't open the scores files!" << std::endl;
-- filedata = NULL;
-+ std::cerr << "(!)handler_resources::load_high_score_file() " <<
-+ "can't read file " << fnamescore
-+ << "strerror:" << strerror (errno) << std::endl;
-+ delete buffer;
-+ return NULL;
- }
-- return filedata;
-+
-+ return buffer;
- }
-
- /*
-@@ -759,25 +796,18 @@ handler_resources::load_high_score_file
- void
- handler_resources::save_high_score_file (char *buffer, Uint32 size)
- {
--#ifdef WIN32
-- /* set umask so that files are group-writable */
-- _umask (0002);
--#else
-- umask (0002);
--#endif
-- Sint32 fhand = open (fnamescore, O_WRONLY | O_CREAT, 00666);
-- if (fhand == -1)
-+ if (score_fhand == -1)
-+ return;
-+
-+ if(lseek(score_fhand, 0, SEEK_SET) != 0)
- {
-- fprintf (stderr,
-- "handler_resources::saveScores(): file:%s / error:%s\n",
-- fnamescore, strerror (errno));
-+ fprintf(stderr,
-+ "handler_resources::saveScores() can't rewind file %s (%s)\n\n",
-+ fnamescore, strerror(errno));
-+ return;
- }
--#ifdef WIN32
-- _write (fhand, buffer, size);
--#else
-- write (fhand, buffer, size);
--#endif
-- if (close (fhand) == -1)
-+
-+ if(write(score_fhand, buffer, size) != size)
- {
- fprintf (stderr,
- "handler_resources::saveScores(): file:%s / error:%s\n",
-diff -up tecnoballz-0.92/src/main.cc.sgid tecnoballz-0.92/src/main.cc
---- tecnoballz-0.92/src/main.cc.sgid 2007-11-19 13:44:15.000000000 +0100
-+++ tecnoballz-0.92/src/main.cc 2007-12-21 11:17:38.000000000 +0100
-@@ -26,6 +26,8 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- */
-+#include <unistd.h>
-+#include "../include/handler_resources.h"
- #include "../include/tecnoballz.h"
- #include "../include/handler_display.h"
- #include "../include/handler_audio.h"
-@@ -61,6 +63,19 @@ returnToMenu (void)
- Sint32
- main (Sint32 arg_count, char **arg_values)
- {
-+ gid_t realgid;
-+
-+ handler_resources::score_fhand = open(handler_resources::fnamescore, O_RDWR);
-+
-+ /* Figure out who we really are. */
-+ realgid = getgid();
-+
-+ /* This is where we drop our setuid/setgid privileges. */
-+ if (setresgid(-1, realgid, realgid) != 0) {
-+ perror("Could not drop setgid privileges. Aborting.");
-+ exit(1);
-+ }
-+
- /* GP2X or PSP port */
- #ifdef TECNOBALLZ_HANDHELD_CONSOLE
- /* Use atexit() to call the return-to-menu function,
-@@ -71,7 +86,7 @@ main (Sint32 arg_count, char **arg_value
- configuration.load ();
- if (!configuration.scan_arguments (arg_count, arg_values))
- {
-- return 0;
-+ goto main_exit;
- }
- if (tecnoballz::is_verbose)
- {
-@@ -79,7 +94,6 @@ main (Sint32 arg_count, char **arg_value
- << "TecnoballZ starts! " << std::endl
- << "================================" << std::endl;
- }
-- Sint32 error = 0;
- try
- {
- tecnoballz::first_init (&configuration);
-@@ -94,6 +108,8 @@ main (Sint32 arg_count, char **arg_value
- {
- std::cerr << "fatal error" << std::endl;
- tecnoballz::release_all_objects (&configuration);
-+ if (handler_resources::score_fhand != -1)
-+ close(handler_resources::score_fhand);
- throw;
- }
- if (tecnoballz::is_verbose)
-@@ -106,7 +122,12 @@ main (Sint32 arg_count, char **arg_value
- std::cout << "TecnoballZ is finished! ========" << std::endl;
- }
- configuration.save ();
-- return error;
-+
-+main_exit:
-+ if (handler_resources::score_fhand != -1)
-+ close(handler_resources::score_fhand);
-+
-+ return 0;
- }
-
-
diff --git a/tecnoballz-0.92-gcc43.patch b/tecnoballz-0.92-gcc43.patch
deleted file mode 100644
index b4a7879..0000000
--- a/tecnoballz-0.92-gcc43.patch
+++ /dev/null
@@ -1,125 +0,0 @@
---- tecnoballz/tecnoballz/include/surface_sdl.h 2007/09/12 06:32:48 1.8
-+++ tecnoballz/tecnoballz/include/surface_sdl.h 2007/12/11 07:22:30 1.9
-@@ -1,15 +1,15 @@
--/**
-- * @file surface_sdl.h
-+/**
-+ * @file surface_sdl.h
- * @brief an surface drawing surface
- * @created 2007-02-15
-- * @date 2007-04-09
-+ * @date 2007-12-11
- * @copyright 1991-2007 TLK Games
- * @author Bruno Ethvignot
-- * @version $Revision: 1.8 $
-+ * @version $Revision: 1.9 $
- */
--/*
-+/*
- * copyright (c) 1991-2007 TLK Games all rights reserved
-- * $Id: surface_sdl.h,v 1.8 2007/09/12 06:32:48 gurumeditation Exp $
-+ * $Id: surface_sdl.h,v 1.9 2007/12/11 07:22:30 gurumeditation Exp $
- *
- * TecnoballZ is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -26,50 +26,59 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- */
--#ifndef __SURFACE_SDL__
-+#ifndef __SURFACE_SDL__
- #define __SURFACE_SDL__
- class surface_sdl;
- #include "../include/tecnoballz.h"
-
- class surface_sdl:public virtual tecnoballz
--{
--
--protected:
-- SDL_Surface* surface;
-- /** The number of bytes used to represent each pixel in a surface */
-- Uint32 bytes_per_pixel;
-- char* pixel_data;
--
--public:
-- surface_sdl ();
-- surface_sdl (Uint32 w, Uint32 h, Uint32 depth);
-- ~surface_sdl ();
-- SDL_Surface* get_surface ();
-- char* get_pixel_data ();
-- char* get_pixel_data (Uint32 coord_x, Uint32 coord_x);
-- Uint32 get_row_size ();
-- Uint32 get_offset (Uint32 xcoord, Uint32 ycoord);
-- void clear (Uint32 color = 0);
-- void clear (Uint32 color, Uint32 xcoord, Uint32 ycoord, Uint32 w, Uint32 height);
-- Uint32 get_width ();
-- Uint32 get_height ();
-- Uint32 get_line_modulo (Uint32 w);
-- void lock_surface ();
-- void unlock_surface ();
-- void blit_to_surface (surface_sdl *dest);
-- void blit_to_surface (surface_sdl *dest, Uint32 xcoord, Uint32 ycoord, Uint32 w, Uint32 h);
-- void blit_to_surface (surface_sdl *dest, Uint32 x1, Uint32 y1, Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
-- void set_palette (SDL_Color *colors);
-- void set_palette (surface_sdl *dest);
-- void blit_surface (surface_sdl *dest, Uint32 x1, Uint32 y1, Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
-- void fill_shadow_rect (Uint32 xcoord, Uint32 ycoord, Uint32 w, Uint32 h);
--
--public:
-- void create_surface (Uint32 w, Uint32 h, Sint32 depth, Uint32 flags = SDL_ANYFORMAT, Uint32 red_mask = 0xf00, Uint32 green_mask = 0x0f0, Uint32 blue_mask = 0x00f, Uint32 alpha_mask = 0x00);
-- surface_sdl *cut_to_surface (Sint32 xcoord, Sint32 ycoord, Uint32 w,
-- Uint32 h);
-- void cut_to_surface (surface_sdl *dest, Sint32 xcoord, Sint32 ycoord, Uint32 w, Uint32 h);
--};
--
-+ {
-
-+ protected:
-+ SDL_Surface* surface;
-+ /** The number of bytes used to represent each pixel in a surface */
-+ Uint32 bytes_per_pixel;
-+ char* pixel_data;
-+
-+ public:
-+ surface_sdl ();
-+ surface_sdl (Uint32 w, Uint32 h, Uint32 depth);
-+ ~surface_sdl ();
-+ SDL_Surface* get_surface ();
-+ char* get_pixel_data ();
-+ char* get_pixel_data (Uint32 xcoord, Uint32 ycoord);
-+ Uint32 get_row_size ();
-+ Uint32 get_offset (Uint32 xcoord, Uint32 ycoord);
-+ void clear (Uint32 color = 0);
-+ void clear (Uint32 color, Uint32 xcoord, Uint32 ycoord, Uint32 w,
-+ Uint32 height);
-+ Uint32 get_width ();
-+ Uint32 get_height ();
-+ Uint32 get_line_modulo (Uint32 w);
-+ void lock_surface ();
-+ void unlock_surface ();
-+ void blit_to_surface (surface_sdl *dest);
-+ void blit_to_surface (surface_sdl *dest, Uint32 xcoord,
-+ Uint32 ycoord, Uint32 w, Uint32 h);
-+ void blit_to_surface (surface_sdl *dest, Uint32 x1, Uint32 y1,
-+ Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
-+ void set_palette (SDL_Color *colors);
-+ void set_palette (surface_sdl *dest);
-+ void blit_surface (surface_sdl *dest, Uint32 x1, Uint32 y1,
-+ Uint32 x2, Uint32 y2, Uint32 w, Uint32 h);
-+ void fill_shadow_rect (Uint32 xcoord, Uint32 ycoord, Uint32 w,
-+ Uint32 h);
-+
-+ public:
-+ void create_surface (Uint32 w, Uint32 h, Sint32 depth,
-+ Uint32 flags = SDL_ANYFORMAT,
-+ Uint32 red_mask = 0xf00,
-+ Uint32 green_mask = 0x0f0,
-+ Uint32 blue_mask = 0x00f,
-+ Uint32 alpha_mask = 0x00);
-+ surface_sdl *cut_to_surface (Sint32 xcoord, Sint32 ycoord, Uint32 w,
-+ Uint32 h);
-+ void cut_to_surface (surface_sdl *dest, Sint32 xcoord,
-+ Sint32 ycoord, Uint32 w, Uint32 h);
-+ };
- #endif
-
diff --git a/tecnoballz-0.92-gcc6-narrowing.patch b/tecnoballz-0.92-gcc6-narrowing.patch
deleted file mode 100644
index 20167c3..0000000
--- a/tecnoballz-0.92-gcc6-narrowing.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -durN tecnoballz-0.92/include/tiles_background.h tecnoballz-0.92.gcc6/include/tiles_background.h
---- tecnoballz-0.92/include/tiles_background.h 2007-09-25 07:43:20.000000000 +0200
-+++ tecnoballz-0.92.gcc6/include/tiles_background.h 2016-03-26 17:59:30.283777384 +0100
-@@ -47,7 +47,7 @@
- static tiles_background* tiles_background_singleton;
- static Sint32 table_pos1[16];
- static Sint32 table_pos2[16];
-- static char couleurs[448];
-+ static unsigned char couleurs[448];
- static const Sint32 TILES_32_WIDTH = 32;
- static const Sint32 TILES_32_HEIGHT = 32;
- static const Sint32 TILES_64_WIDTH = 64;
-diff -durN tecnoballz-0.92/src/tiles_background.cc tecnoballz-0.92.gcc6/src/tiles_background.cc
---- tecnoballz-0.92/src/tiles_background.cc 2007-09-25 07:43:20.000000000 +0200
-+++ tecnoballz-0.92.gcc6/src/tiles_background.cc 2016-03-26 18:41:12.767764934 +0100
-@@ -663,7 +663,7 @@
-
- }
- palette_index = pal_index;
-- char *color = &couleurs[0];
-+ unsigned char *color = &couleurs[0];
- unsigned char *colPT = (unsigned char *) (color) + pal_index;
- SDL_Color *pal = display->get_palette ();
- SDL_Color *lighted = pal + 1;
-@@ -702,7 +702,7 @@
- * 4 * 4 : 16 composantes by palette
- * 112 * 4 : 448 composantes
- */
--char
-+unsigned char
- tiles_background::couleurs[448] = {
- 0x00, 0x40, 0x20, 0x40, 0x00, 0x60, 0x40, 0x60, 0x00, 0x80, 0x60, 0x80,
- 0x00, 0xA0, 0x80, 0xA0, 0x00, 0x00, 0x20, 0x40, 0x00, 0x20,
diff --git a/tecnoballz-0.92-level_data.patch b/tecnoballz-0.92-level_data.patch
deleted file mode 100644
index b042abb..0000000
--- a/tecnoballz-0.92-level_data.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-#Description: Include levels-data.xml file in build.
-Index: tecnoballz-0.92/src/TecnoballZ/Makefile.am
-===================================================================
---- tecnoballz-0.92.orig/src/TecnoballZ/Makefile.am 2009-04-16 14:41:28.000000000 -0400
-+++ tecnoballz-0.92/src/TecnoballZ/Makefile.am 2009-04-16 14:41:48.000000000 -0400
-@@ -6,6 +6,7 @@
- dist_pkgdata_DATA = \
- cosinus128.list \
- gard_lissa.list \
-+ levels-data.xml \
- min60map.png \
- tableau.data \
- tilemap-congratulation_20.data \
diff --git a/tecnoballz-0.92-texts_dir.patch b/tecnoballz-0.92-texts_dir.patch
deleted file mode 100644
index 21c2c76..0000000
--- a/tecnoballz-0.92-texts_dir.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#Description: Include the texts subdir in the build.
-Index: tecnoballz-0.92/configure.ac
-===================================================================
---- tecnoballz-0.92.orig/configure.ac 2009-04-16 15:35:02.000000000 -0400
-+++ tecnoballz-0.92/configure.ac 2009-04-16 15:35:33.000000000 -0400
-@@ -81,5 +81,5 @@
-
-
- dnl Output makefiles
--AC_OUTPUT(Makefile src/Makefile src/TecnoballZ/Makefile src/TecnoballZ/hires/Makefile src/TecnoballZ/lores/Makefile src/TecnoballZ/textures/Makefile src/TecnoballZ/musics/Makefile src/TecnoballZ/sounds/Makefile)
-+AC_OUTPUT(Makefile src/Makefile src/TecnoballZ/Makefile src/TecnoballZ/hires/Makefile src/TecnoballZ/lores/Makefile src/TecnoballZ/textures/Makefile src/TecnoballZ/musics/Makefile src/TecnoballZ/sounds/Makefile src/TecnoballZ/texts/Makefile)
-
-Index: tecnoballz-0.92/src/TecnoballZ/Makefile.am
-===================================================================
---- tecnoballz-0.92.orig/src/TecnoballZ/Makefile.am 2009-04-16 15:35:46.000000000 -0400
-+++ tecnoballz-0.92/src/TecnoballZ/Makefile.am 2009-04-16 15:36:10.000000000 -0400
-@@ -1,6 +1,6 @@
- NULL =
-
--SUBDIRS = lores hires textures sounds musics
-+SUBDIRS = lores hires textures sounds musics texts
-
- pkgdatadir = $(datadir)/tecnoballz
- dist_pkgdata_DATA = \
-Index: tecnoballz-0.92/src/TecnoballZ/texts/Makefile.am
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ tecnoballz-0.92/src/TecnoballZ/texts/Makefile.am 2009-04-16 15:37:27.000000000 -0400
-@@ -0,0 +1,15 @@
-+NULL =
-+pkgdatadir = $(datadir)/tecnoballz/texts
-+dist_pkgdata_DATA = \
-+ main_menu_en.txt \
-+ main_menu_fr.txt \
-+ popup_menu_en.txt \
-+ popup_menu_fr.txt \
-+ scrolltext_en.txt \
-+ scrolltext_fr.txt \
-+ shop_en.txt \
-+ shop_fr.txt \
-+ short_info_messages_en.txt \
-+ short_info_messages_fr.txt \
-+ $(NULL)
-+
diff --git a/tecnoballz-0.92-tinyxml.patch b/tecnoballz-0.92-tinyxml.patch
deleted file mode 100644
index c4f55cc..0000000
--- a/tecnoballz-0.92-tinyxml.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From: Ansgar Burchardt <ansgar@debian.org>
-Date: Sun, 14 Aug 2011 14:08:35 +0200
-Subject: Use tinyxml system library
-Origin: vendor
-
---- tecnoballz.orig/include/handler_levels.h
-+++ tecnoballz/include/handler_levels.h
-@@ -32,7 +32,7 @@
- class handler_levels;
-
- #include "../include/tecnoballz.h"
--#include "../include/tinyxml.h"
-+#include <tinyxml.h>
- #include <string.h>
-
- typedef struct
---- tecnoballz.orig/include/tinystr.h
-+++ tecnoballz/include/tinystr.h
-@@ -34,6 +34,8 @@
- * - added swap(), clear(), size(), capacity(), operator+().
- */
-
-+#error "Embedded copy of libtinyxml-dev should not be used."
-+
- #ifndef TIXML_USE_STL
-
- #ifndef TIXML_STRING_INCLUDED
---- tecnoballz.orig/include/tinyxml.h
-+++ tecnoballz/include/tinyxml.h
-@@ -22,6 +22,7 @@
- distribution.
- */
-
-+#error "Embedded copy of libtinyxml-dev should not be used."
-
- #ifndef TINYXML_INCLUDED
- #define TINYXML_INCLUDED
---- tecnoballz.orig/src/Makefile.am
-+++ tecnoballz/src/Makefile.am
-@@ -9,7 +9,7 @@
- games_PROGRAMS = tecnoballz
- tecnoballz_SOURCES = $(SOURCES_MAIN)
- tecnoballz_CXXFLAGS = -DDATADIR=\"$(datadir)/tecnoballz\" -DSCOREFILE=\"$(scoredir)/$(score)\" @XLIB_CFLAGS@ @SDL_CFLAGS@ @MIKMOD_FLAGS@
--tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MIKMOD_LIBS@ -L.
-+tecnoballz_LDADD = @XLIB_LIBS@ @SDL_LIBS@ @MIKMOD_LIBS@ -ltinyxml -L.
-
- SOURCES_MAIN = \
- bitmap_data.cc \
-@@ -81,9 +81,5 @@
- tecnoballz.cc \
- tiles_background.cc \
- tilesmap_scrolling.cc \
-- tinyxml.cc \
-- tinyxmlerror.cc \
-- tinyxmlparser.cc \
-- tinystr.cc
- $(NULL)
-
---- tecnoballz.orig/src/handler_levels.cc
-+++ tecnoballz/src/handler_levels.cc
-@@ -29,7 +29,7 @@
- using namespace std;
- #include "../include/handler_levels.h"
- #include "../include/handler_resources.h"
--#include "../include/tinyxml.h"
-+#include <tinyxml.h>
- #include <string.h>
- #include <sstream>
-
-@@ -143,7 +143,7 @@
- Sint32 type = parent->Type ();
- switch (type)
- {
-- case TiXmlNode::ELEMENT:
-+ case TiXmlNode::TINYXML_ELEMENT:
- {
- string element = parent->Value ();
- if (element == "level")
-@@ -221,7 +221,7 @@
- string name;
- switch (type)
- {
-- case TiXmlNode::ELEMENT:
-+ case TiXmlNode::TINYXML_ELEMENT:
- {
- element = parent->ToElement ();
- last_element = parent->Value ();
-@@ -290,7 +290,7 @@
- break;
-
-
-- case TiXmlNode::TEXT:
-+ case TiXmlNode::TINYXML_TEXT:
- text = parent->ToText ();
- value_str = text->Value ();
-
diff --git a/tecnoballz-0.93.1-Makefile.patch b/tecnoballz-0.93.1-Makefile.patch
new file mode 100644
index 0000000..cb7609d
--- /dev/null
+++ b/tecnoballz-0.93.1-Makefile.patch
@@ -0,0 +1,11 @@
+diff -dur tecnoballz-0.92.orig/src/Makefile.am tecnoballz-0.92/src/Makefile.am
+--- tecnoballz-0.92.orig/src/Makefile.am 2007-10-31 08:35:29.000000000 +0100
++++ tecnoballz-0.92/src/Makefile.am 2011-11-26 17:32:38.401341341 +0100
+@@ -1,6 +1,6 @@
+
+ NULL =
+-gamesdir = $(prefix)/games
++gamesdir = $(bindir)
+ scoredir = /var/games/tecnoballz
+ score = tecnoballz.hi
+
diff --git a/tecnoballz-0.93.1-dropsgid.patch b/tecnoballz-0.93.1-dropsgid.patch
new file mode 100644
index 0000000..bc43086
--- /dev/null
+++ b/tecnoballz-0.93.1-dropsgid.patch
@@ -0,0 +1,221 @@
+diff -rU3 tecnoballz-0.93.1--orig/include/handler_resources.h tecnoballz-0.93.1/include/handler_resources.h
+--- tecnoballz-0.93.1--orig/include/handler_resources.h 2014-09-30 12:20:25.000000000 +0200
++++ tecnoballz-0.93.1/include/handler_resources.h 2026-08-30 15:36:19.244329133 +0200
+@@ -43,7 +43,6 @@
+ static const char *folderdata;
+ static const char *folder_320;
+ static const char *folder_640;
+- static const char *fnamescore;
+ static char tmp_filename[512];
+ static char pathstring[512];
+ static const Uint32 TEXTS_OFFSET = 2048;
+@@ -94,6 +93,8 @@
+ static const Sint16 *zesinus360;
+ static const Uint32 color_gradations[180];
+
++ static const char *fnamescore;
++ static int score_fhand;
+ private:
+ /** Size last file loaded in memory */
+ Uint32 last_filesize_loaded;
+diff -rU3 tecnoballz-0.93.1--orig/src/handler_resources.cc tecnoballz-0.93.1/src/handler_resources.cc
+--- tecnoballz-0.93.1--orig/src/handler_resources.cc 2014-09-30 12:20:26.000000000 +0200
++++ tecnoballz-0.93.1/src/handler_resources.cc 2026-08-30 15:56:37.927528542 +0200
+@@ -31,6 +31,7 @@
+ #include "../config.h"
+ #include <string>
+ #include <fstream>
++#include <unistd.h>
+
+ #ifndef DATADIR
+ #define DATADIR "/usr/share/games/tecnoballz"
+@@ -50,6 +51,7 @@
+ handler_resources::handler_resources_singleton = NULL;
+
+ const char * handler_resources::fnamescore = SCOREFILE;
++int handler_resources::score_fhand = -1;
+ const char *
+ handler_resources::folder_640 = "hires/";
+ const char *
+@@ -802,18 +804,54 @@
+ char *
+ handler_resources::load_high_score_file ()
+ {
+- char* filedata = NULL;
++ if (score_fhand == -1)
++ return NULL;
++
++ /* read the size of the file */
++ struct stat sb;
++ if (fstat (score_fhand, &sb))
++ {
++ std::cerr << "(!)handler_resources::load_high_score_file() " <<
++ "can't stat file " << fnamescore
++ << "strerror:" << strerror (errno) << std::endl;
++ return NULL;
++ }
++ /* save filesize */
++ last_filesize_loaded = sb.st_size;
++
++ /* allocate memory require to load the filedata */
++ char *buffer = NULL;
+ try
++ {
++ buffer = new char[sb.st_size];
++ }
++ catch (std::bad_alloc &)
++ {
++ std::cerr << "(!)handler_resources::load_high_score_file() " <<
++ "not enough memory to allocate " <<
++ sb.st_size << " bytes!" << std::endl;
++ throw;
++ }
++
++ /* read the file */
++ if(lseek(score_fhand, 0, SEEK_SET) != 0)
+ {
+- filedata = load_file (fnamescore, &last_filesize_loaded);
++ std::cerr << "(!)handler_resources::load_high_score_file() can't rewind file " <<
++ fnamescore << "strerror:" << strerror (errno) << std::endl;
++ delete buffer;
++ return NULL;
+ }
+- catch (...)
++
++ if (read (score_fhand, buffer, sb.st_size) != sb.st_size)
+ {
+- std::cerr << "(!)handler_resources::load_high_score_file() " <<
+- "can't open the scores files!" << std::endl;
+- filedata = NULL;
++ std::cerr << "(!)handler_resources::load_high_score_file() " <<
++ "can't read file " << fnamescore
++ << "strerror:" << strerror (errno) << std::endl;
++ delete buffer;
++ return NULL;
+ }
+- return filedata;
++
++ return buffer;
+ }
+
+ /*
+@@ -826,37 +864,29 @@
+ {
+ size_t left;
+ ssize_t bytes_written;
+-#ifdef WIN32
+- /* set umask so that files are group-writable */
+- _umask (0002);
+-#else
+- umask (0002);
+-#endif
+- Sint32 fhand = open (fnamescore, O_WRONLY | O_CREAT, 00666);
+- if (fhand == -1)
++ if (score_fhand == -1)
++ return;
++
++ if(lseek(score_fhand, 0, SEEK_SET) != 0)
+ {
+- fprintf (stderr,
+- "handler_resources::save_high_score_file(): file:%s / error:%s\n",
+- fnamescore, strerror (errno));
++ fprintf(stderr,
++ "handler_resources::save_high_score_file() can't rewind file %s (%s)\n\n",
++ fnamescore, strerror(errno));
++ return;
+ }
+ left = size;
+ while (left > 0)
+ {
+-#ifdef WIN32
+- bytes_written = _write (fhand, buffer + size - left, left);
+-#else
+- bytes_written = write (fhand, buffer + size - left, left);
++ bytes_written = write (score_fhand, buffer + size - left, left);
+ if (bytes_written == -1)
+ {
+ std::cerr << "(!)handler_resources::save_high_score_file():" <<
+ " filename: " << fnamescore << "; error: " << strerror (errno) << std::endl;
+- close (fhand);
+ return;
+ }
+ left -= bytes_written;
+ }
+-#endif
+- if (close (fhand) == -1)
++ if (fsync (score_fhand) == -1)
+ {
+ fprintf (stderr,
+ "handler_resources::save_high_score_file(): file:%s / error:%s\n",
+diff -rU3 tecnoballz-0.93.1--orig/src/main.cc tecnoballz-0.93.1/src/main.cc
+--- tecnoballz-0.93.1--orig/src/main.cc 2014-09-30 12:20:26.000000000 +0200
++++ tecnoballz-0.93.1/src/main.cc 2026-08-30 15:35:44.490442215 +0200
+@@ -26,6 +26,8 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
++#include <unistd.h>
++#include "../include/handler_resources.h"
+ #include "../include/tecnoballz.h"
+ #include "../include/handler_display.h"
+ #include "../include/handler_audio.h"
+@@ -61,6 +63,19 @@
+ Sint32
+ main (Sint32 arg_count, char **arg_values)
+ {
++ gid_t realgid;
++
++ handler_resources::score_fhand = open(handler_resources::fnamescore, O_RDWR);
++
++ /* Figure out who we really are. */
++ realgid = getgid();
++
++ /* This is where we drop our setuid/setgid privileges. */
++ if (setresgid(-1, realgid, realgid) != 0) {
++ perror("Could not drop setgid privileges. Aborting.");
++ exit(1);
++ }
++
+ /* GP2X or PSP port */
+ #ifdef TECNOBALLZ_HANDHELD_CONSOLE
+ /* Use atexit() to call the return-to-menu function,
+@@ -71,7 +86,7 @@
+ configuration.load ();
+ if (!configuration.scan_arguments (arg_count, arg_values))
+ {
+- return 0;
++ goto main_exit;
+ }
+ if (tecnoballz::is_verbose)
+ {
+@@ -79,7 +94,6 @@
+ << "TecnoballZ starts! " << std::endl
+ << "================================" << std::endl;
+ }
+- Sint32 error = 0;
+ try
+ {
+ tecnoballz::first_init (&configuration);
+@@ -94,6 +108,8 @@
+ {
+ std::cerr << "fatal error" << std::endl;
+ tecnoballz::release_all_objects (&configuration);
++ if (handler_resources::score_fhand != -1)
++ close(handler_resources::score_fhand);
+ throw;
+ }
+ if (tecnoballz::is_verbose)
+@@ -106,7 +122,12 @@
+ std::cout << "TecnoballZ is finished! ========" << std::endl;
+ }
+ configuration.save ();
+- return error;
++
++main_exit:
++ if (handler_resources::score_fhand != -1)
++ close(handler_resources::score_fhand);
++
++ return 0;
+ }
+
+
diff --git a/tecnoballz.spec b/tecnoballz.spec
index 11bcc88..da4b7b8 100644
--- a/tecnoballz.spec
+++ b/tecnoballz.spec
@@ -1,6 +1,6 @@
Name: tecnoballz
-Version: 0.92
-Release: 49%{?dist}
+Version: 0.93.1
+Release: 1%{?dist}
Summary: A Brick Busting game
# Automatically converted from old format: GPLv3+ - review is highly recommended.
@@ -10,28 +10,12 @@ Source0: http://linux.tlk.fr/games/TecnoballZ/download/%{name}-%{version}.tgz
Source1: %{name}.xpm
Source2: %{name}.desktop
# Andrea Musuruane
-# Fix dependencies
-Patch0: tecnoballz-0.92-dependecies.patch
-# Andrea Musuruane
# Don't combine explicit and implicit rules for make 3.82
# Set correct gamedir for Fedora
-Patch1: tecnoballz-0.92-Makefile.patch
-# Debian
-# Fix configure.ac Makefile.am to include missing files
-Patch2: tecnoballz-0.92-level_data.patch
-Patch3: tecnoballz-0.92-texts_dir.patch
-# Debian
-# Use tinyxml system library
-Patch4: tecnoballz-0.92-tinyxml.patch
-# Upstream CVS
-# Compile with gcc 4.3
-Patch5: tecnoballz-0.92-gcc43.patch
+Patch1: tecnoballz-0.93.1-Makefile.patch
# Hans de Goede
# Drop setgid privileges when not needed
-Patch6: tecnoballz-0.92-dropsgid.patch
-# Raphael Groner/Upstream GIT
-# Compile with gcc 6
-Patch7: tecnoballz-0.92-gcc6-narrowing.patch
+Patch6: tecnoballz-0.93.1-dropsgid.patch
BuildRequires: make
BuildRequires: gcc-c++
@@ -53,16 +37,7 @@ complete this great game. This game was ported from the Commodore Amiga.
%prep
-%setup -q
-%patch -P0 -p1
-%patch -P1 -p1
-%patch -P2 -p1
-%patch -P3 -p1
-# Patch4 must be called after Patch0
-%patch -P4 -p1
-%patch -P5 -p2
-%patch -P6 -p1
-%patch -P7 -p1
+%autosetup -p1
%build
@@ -98,6 +73,9 @@ install -p -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%
%changelog
+* Sun Aug 30 2026 Artur Frenszek-Iwicki <fedora@svgames.pl> - 0.93.1-1
+- Update to v0.93.1
+
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.92-49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
reply other threads:[~2026-09-13 12:37 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178930307016.1.3371633710058390752.rpms-tecnoballz-212589a3f3c0@fedoraproject.org \
--to=fedora@svgames.pl \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox