Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libmirage for openSUSE:Factory 
checked in at 2026-09-17 15:20:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmirage (Old)
 and      /work/SRC/openSUSE:Factory/.libmirage.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libmirage"

Thu Sep 17 15:20:57 2026 rev:33 rq:1378368 version:3.3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/libmirage/libmirage.changes      2026-08-15 
22:41:46.766022149 +0200
+++ /work/SRC/openSUSE:Factory/.libmirage.new.383539/libmirage.changes  
2026-09-17 15:22:52.493673962 +0200
@@ -1,0 +2,6 @@
+Fri Sep  4 21:48:59 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 3.3.3
+  * libMirage: ISO image: handle High Sierra format (HSF) images
+
+-------------------------------------------------------------------

Old:
----
  libmirage-3.3.2.tar.xz

New:
----
  libmirage-3.3.3.tar.xz

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

Other differences:
------------------
++++++ libmirage.spec ++++++
--- /var/tmp/diff_new_pack.YkDz1f/_old  2026-09-17 15:22:53.400711964 +0200
+++ /var/tmp/diff_new_pack.YkDz1f/_new  2026-09-17 15:22:53.404712131 +0200
@@ -19,8 +19,8 @@
 Name:           libmirage
 %define lname   libmirage12
 %define pname  3_3
-%define typlibver 3_2
-Version:        3.3.2
+%define typlibver 3_2 %{dnl uses its own counting, unrelated to pname}
+Version:        3.3.3
 Release:        0
 Summary:        A CD-ROM image access library
 License:        GPL-2.0-or-later

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.YkDz1f/_old  2026-09-17 15:22:53.494715902 +0200
+++ /var/tmp/diff_new_pack.YkDz1f/_new  2026-09-17 15:22:53.501716196 +0200
@@ -1,5 +1,5 @@
-mtime: 1786774528
-commit: ba7b142563cc4a221d9d37851b1803e8b81aa4a105c073c806a6bc51c71fb1c7
+mtime: 1789564598
+commit: a4a6ef2663545992b128ddf299bc7f08704991a8ca5169a14fe7e77a6a8a1df9
 url: https://src.opensuse.org/jengelh/libmirage
 revision: master
 

++++++ libmirage-3.3.2.tar.xz -> libmirage-3.3.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.3.2/CMakeLists.txt 
new/libmirage-3.3.3/CMakeLists.txt
--- old/libmirage-3.3.2/CMakeLists.txt  2026-06-07 18:55:04.000000000 +0200
+++ new/libmirage-3.3.3/CMakeLists.txt  2026-09-03 14:30:47.000000000 +0200
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.16)
-project(libmirage VERSION 3.3.2 LANGUAGES C)
+project(libmirage VERSION 3.3.3 LANGUAGES C)
 
 # Semantic versioning 2.0.0 (semver.org):
 # MAJOR is increased when backwards-incompatible changes are made to
@@ -212,6 +212,7 @@
         CFLAGS -I${PROJECT_SOURCE_DIR} -I${PROJECT_BINARY_DIR}
         SYMBOL_PREFIXES mirage
         IDENTIFIER_PREFIXES Mirage
+        EXPORT_PACKAGES libmirage
         SOURCES ${libmirage_SOURCES} ${libmirage_HEADERS}
     )
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.3.2/README new/libmirage-3.3.3/README
--- old/libmirage-3.3.2/README  2026-06-07 18:55:04.000000000 +0200
+++ new/libmirage-3.3.3/README  2026-09-03 14:30:47.000000000 +0200
@@ -1,5 +1,5 @@
 libMirage
-3.3.2
+3.3.3
 ~~~~~
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.3.2/cmake/GObjectIntrospection.cmake 
new/libmirage-3.3.3/cmake/GObjectIntrospection.cmake
--- old/libmirage-3.3.2/cmake/GObjectIntrospection.cmake        2026-06-07 
18:55:04.000000000 +0200
+++ new/libmirage-3.3.3/cmake/GObjectIntrospection.cmake        2026-09-03 
14:30:47.000000000 +0200
@@ -67,6 +67,7 @@
         COMPILER_ARGS
         HEADERS
         IDENTIFIER_PREFIXES
+        EXPORT_PACKAGES
         INCLUDES
         PACKAGES
         SCANNER_ARGS
@@ -154,6 +155,10 @@
         _gir_list_prefix(GIR_REAL_IDENTIFIER_PREFIXES GIR_IDENTIFIER_PREFIXES 
"--identifier-prefix=")
     endif(GIR_IDENTIFIER_PREFIXES)
 
+    if(GIR_EXPORT_PACKAGES)
+        _gir_list_prefix(GIR_REAL_EXPORT_PACKAGES GIR_EXPORT_PACKAGES 
"--pkg-export=")
+    endif(GIR_EXPORT_PACKAGES)
+
     # if the user specified SYMBOL_PREFIXES we need to prefix each with 
--symbol-prefix=
     if(GIR_SYMBOL_PREFIXES)
         _gir_list_prefix(GIR_REAL_SYMBOL_PREFIXES GIR_SYMBOL_PREFIXES 
"--symbol-prefix=")
@@ -195,6 +200,7 @@
             ${GIR_PROGRAM} ${GIR_PROGRAM_ARGS}
             ${GIR_QUIET} ${GIR_VERBOSE}
             ${GIR_REAL_IDENTIFIER_PREFIXES}
+            ${GIR_REAL_EXPORT_PACKAGES}
             ${GIR_REAL_SYMBOL_PREFIXES}
             ${GIR_REAL_INCLUDES}
             ${GIR_REAL_PACKAGES}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libmirage-3.3.2/debian/appstream/net.sf.cdemu.libmirage.metainfo.xml 
new/libmirage-3.3.3/debian/appstream/net.sf.cdemu.libmirage.metainfo.xml
--- old/libmirage-3.3.2/debian/appstream/net.sf.cdemu.libmirage.metainfo.xml    
2026-06-07 18:55:04.000000000 +0200
+++ new/libmirage-3.3.3/debian/appstream/net.sf.cdemu.libmirage.metainfo.xml    
2026-09-03 14:30:47.000000000 +0200
@@ -15,6 +15,9 @@
                <library>libmirage.so.12</library>
        </provides>
        <releases>
+               <release version="3.3.3" date="2026-09-03" type="stable">
+                       
<url>https://sourceforge.net/projects/cdemu/files/libmirage/libmirage-3.3.3.tar.xz/download</url>
+               </release>
                <release version="3.3.2" date="2026-06-07" type="stable">
                        
<url>https://sourceforge.net/projects/cdemu/files/libmirage/libmirage-3.3.2.tar.xz/download</url>
                </release>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.3.2/debian/changelog 
new/libmirage-3.3.3/debian/changelog
--- old/libmirage-3.3.2/debian/changelog        2026-06-07 18:55:04.000000000 
+0200
+++ new/libmirage-3.3.3/debian/changelog        2026-09-03 14:30:47.000000000 
+0200
@@ -1,3 +1,9 @@
+libmirage (3.3.3-1) unstable; urgency=medium
+
+  * New upstream version.
+
+ -- Matteo Bini <[email protected]>  Thu, 03 Sep 2026 14:30:00 +0200
+
 libmirage (3.3.2-1) unstable; urgency=medium
 
   * New upstream version.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.3.2/debian/libmirage12.symbols 
new/libmirage-3.3.3/debian/libmirage12.symbols
--- old/libmirage-3.3.2/debian/libmirage12.symbols      2026-06-07 
18:55:04.000000000 +0200
+++ new/libmirage-3.3.3/debian/libmirage12.symbols      2026-09-03 
14:30:47.000000000 +0200
@@ -115,7 +115,7 @@
  mirage_fragment_read_main_data@Base 1.0.0
  mirage_fragment_read_main_data_fast@Base 3.3.2
  mirage_fragment_read_subchannel_data@Base 1.0.0
- mirage_fragment_read_subchannel_data_fast@Base 3.32
+ mirage_fragment_read_subchannel_data_fast@Base 3.3.2
  mirage_fragment_set_address@Base 1.0.0
  mirage_fragment_set_length@Base 1.0.0
  mirage_fragment_subchannel_data_get_filename@Base 2.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libmirage-3.3.2/images/image-iso/parser.c 
new/libmirage-3.3.3/images/image-iso/parser.c
--- old/libmirage-3.3.2/images/image-iso/parser.c       2026-06-07 
18:55:04.000000000 +0200
+++ new/libmirage-3.3.3/images/image-iso/parser.c       2026-09-03 
14:30:47.000000000 +0200
@@ -33,6 +33,10 @@
     MirageStream *stream;
 };
 
+/* High Sierra Format (HSF) patterns */
+static const guint8 pattern_hsf_lbn[8] = {0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x10}; /* Value 16 encoded as 32-bit integer in both endian formats */
+static const guint8 pattern_hsf_cdrom[5] = {'C', 'D', 'R', 'O', 'M'};
+
 /* Nintendo ISO image patterns */
 static const guint8 pattern_nintendo_gamecube_iso[4] = {0xC2, 0x33, 0x9F, 
0x3D};
 static const guint8 pattern_nintendo_wii_iso[4] = {0x5D, 0x1C, 0x9E, 0xA3};
@@ -146,16 +150,17 @@
                 continue;
             }
 
-            MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: file size check 
passed; looking for CD001/BEA01 pattern at sector 16...", __debug__);
+            MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: file size check 
passed; looking for standard patterns at sector 16...", __debug__);
 
-            /* Check for CD001 or BEA01 at sector 16 */
-            guint8 buf[8];
+            /* Read first 16 bytes of data for sector 16 */
+            guint8 buf[16];
             goffset offset = 16*full_sector_size + 
valid_sector_sizes[j].data_offset;
 
-            if (!mirage_parser_iso_read_data_from_offset(self, stream, offset, 
buf, 8, error)) {
+            if (!mirage_parser_iso_read_data_from_offset(self, stream, offset, 
buf, 16, error)) {
                 return FALSE;
             }
 
+            /* Check for CD001/BEA01 pattern of ISO9660/UDF Volume Descriptor 
*/
             if (!memcmp(buf, mirage_pattern_cd001, 
sizeof(mirage_pattern_cd001))
                 || !memcmp(buf, mirage_pattern_bea01, 
sizeof(mirage_pattern_bea01))) {
                 file_info->main_data_size = valid_sector_sizes[j].sector_size;
@@ -164,9 +169,34 @@
 
                 MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: image is an 
ISO9660/UDF image, with %d-byte sector data and %d-byte subchannel data", 
__debug__, file_info->main_data_size, file_info->subchannel_data_size);
                 return TRUE;
-            } else {
-                MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: CD001/BEA01 
pattern not found!", __debug__);
             }
+
+            /* Check for High Sierra Volume Descriptor:
+             * - first eight bytes are Volume Descriptor Logical Block Number 
(LBN),
+             *   i.e., the 32-bit sector address (= 16), encoded in both 
endian formats
+             *   (Section 10.3.3 in High Sierra spec);
+             * - ninth byte is Volume Descriptor Type;
+             * - tenth to fourteenth byte: Volume Structure Standard 
Identifier,
+             *   which must be CDROM;
+             * - fifteenth byte: Volume Structure Standard Version, which is
+             *   most likely always 1.
+             * For details, see resources at 
http://fileformats.archiveteam.org/wiki/High_Sierra
+             *
+             * Although we could probably assume the complete sequence of the 
first fifteen
+             * bytes (i.e., Standard File Structure Volume Descriptor with 
type byte set to 1,
+             * and standard version being 1), we check only the LBN part and 
the standard
+             * identifier part. */
+            if (!memcmp(buf, pattern_hsf_lbn, sizeof(pattern_hsf_lbn))
+                && !memcmp(buf + 9, pattern_hsf_cdrom, 
sizeof(pattern_hsf_cdrom))) {
+                file_info->main_data_size = valid_sector_sizes[j].sector_size;
+                file_info->subchannel_data_size = valid_subchannel_sizes[i];
+                file_info->main_data_format = MIRAGE_MAIN_DATA_FORMAT_DATA;
+
+                MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: image is a High 
Sierra image, with %d-byte sector data and %d-byte subchannel data", __debug__, 
file_info->main_data_size, file_info->subchannel_data_size);
+                return TRUE;
+            }
+
+            MIRAGE_DEBUG(self, MIRAGE_DEBUG_IMAGE_ID, "%s: no standard 
patterns found!", __debug__);
         }
     }
 

Reply via email to