Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package parti for openSUSE:Factory checked 
in at 2024-07-08 19:09:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/parti (Old)
 and      /work/SRC/openSUSE:Factory/.parti.new.2080 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "parti"

Mon Jul  8 19:09:09 2024 rev:16 rq:1186147 version:2.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/parti/parti.changes      2023-07-24 
18:26:20.150280317 +0200
+++ /work/SRC/openSUSE:Factory/.parti.new.2080/parti.changes    2024-07-08 
19:09:32.209541271 +0200
@@ -1,0 +2,7 @@
+Mon Jul 8 11:23:37 UTC 2024 - wfe...@opensuse.org
+
+- merge gh#wfeldt/parti#18
+- extract parmfile content from s390x el-torito image
+- 2.6
+
+--------------------------------------------------------------------

Old:
----
  parti-2.5.tar.xz

New:
----
  parti-2.6.tar.xz

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

Other differences:
------------------
++++++ parti.spec ++++++
--- /var/tmp/diff_new_pack.0P5eHG/_old  2024-07-08 19:09:32.809563216 +0200
+++ /var/tmp/diff_new_pack.0P5eHG/_new  2024-07-08 19:09:32.813563361 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           parti
-Version:        2.5
+Version:        2.6
 Release:        0
 Summary:        Show partition table information
 License:        GPL-3.0

++++++ parti-2.5.tar.xz -> parti-2.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parti-2.5/VERSION new/parti-2.6/VERSION
--- old/parti-2.5/VERSION       2023-07-21 12:18:29.000000000 +0200
+++ new/parti-2.6/VERSION       2024-07-08 13:23:37.000000000 +0200
@@ -1 +1 @@
-2.5
+2.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parti-2.5/changelog new/parti-2.6/changelog
--- old/parti-2.5/changelog     2023-07-21 12:18:29.000000000 +0200
+++ new/parti-2.6/changelog     2024-07-08 13:23:37.000000000 +0200
@@ -1,3 +1,7 @@
+2024-07-08:    2.6
+       - merge gh#wfeldt/parti#18
+       - extract parmfile content from s390x el-torito image
+
 2023-07-21:    2.5
        - merge gh#wfeldt/parti#17
        - identify signature block on iso9660 file system
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parti-2.5/eltorito.c new/parti-2.6/eltorito.c
--- old/parti-2.5/eltorito.c    2023-07-21 12:18:29.000000000 +0200
+++ new/parti-2.6/eltorito.c    2024-07-08 13:23:37.000000000 +0200
@@ -19,6 +19,7 @@
 #define BLK_FIX                2
 
 static void dump_bootinfo(disk_t *disk, uint64_t sector);
+static char *s390x_parmfile(disk_t *disk, uint64_t start_block);
 
 void dump_eltorito(disk_t *disk)
 {
@@ -137,6 +138,11 @@
         if((s = iso_block_to_name(disk, le32toh(el->entry.start) << 2, NULL))) 
{
           json_object_object_add(json_entry, "file_name", 
json_object_new_string(s));
           log_info(", \"%s\"", s);
+          char *parmfile;
+          if((parmfile = s390x_parmfile(disk, le32toh(el->entry.start)))) {
+            log_info("\n       s390x_parm = \"%s\"", parmfile);
+            json_object_object_add(json_entry, "s390x_parm", 
json_object_new_string(parmfile));
+          }
         }
         json_object_object_add(json_entry, "criteria_type", 
json_object_new_int64(el->entry.criteria));
         s = cname(el->entry.name, sizeof el->entry.name);
@@ -247,4 +253,30 @@
   json_object_object_add(json_crc, "ok", json_object_new_boolean(bi_crc == 
crc));
 }
 
+
+static char *s390x_parmfile(disk_t *disk, uint64_t start_block)
+{
+  static char buffer[2*4096 + 1];
+
+  if(disk->block_size > 4096) return 0;
+
+  if(disk_read(disk, buffer, start_block, 1)) return 0;
+
+  // s390 kernel magic
+  if(memcmp(buffer + 8, 
"\x02\x00\x00\x18\x60\x00\x00\x50\x02\x00\x00\x68\x60\x00\x00\x50\x40\x40\x40\x40\x40\x40\x40\x40",
 24)) return 0;
+
+  // parmfile: 4 kiB at offset 0x10480
+  unsigned parmfile_ofs = 0x10480;
+  unsigned parmfile_blocks = 4096 / disk->block_size;
+
+  if(disk_read(disk, buffer, start_block + parmfile_ofs / disk->block_size, 
parmfile_blocks + 1)) return 0;
+
+  parmfile_ofs %= disk->block_size;
+
+  buffer[parmfile_ofs + 4096] = 0;
+
+  return buffer + parmfile_ofs;
+}
+
+
 #undef BLK_FIX
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/parti-2.5/filesystem.c new/parti-2.6/filesystem.c
--- old/parti-2.5/filesystem.c  2023-07-21 12:18:29.000000000 +0200
+++ new/parti-2.6/filesystem.c  2024-07-08 13:23:37.000000000 +0200
@@ -81,7 +81,7 @@
 
   close(disk_fd);
 
-  // if(fs.type) printf("ofs = %llu, type = '%s', label = '%s', uuid = 
'%s'\n", (unsigned long long) offset, fs.type, fs.label ?: "", fs.uuid ?: "");
+  // if(fs->type) printf("ofs = %llu, type = '%s', label = '%s', uuid = 
'%s'\n", (unsigned long long) offset, fs->type, fs->label ?: "", fs->uuid ?: 
"");
 
   return fs->type ? 1 : 0;
 }

Reply via email to