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; }