Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mksusecd for openSUSE:Factory 
checked in at 2025-02-07 23:07:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mksusecd (Old)
 and      /work/SRC/openSUSE:Factory/.mksusecd.new.2316 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mksusecd"

Fri Feb  7 23:07:24 2025 rev:86 rq:1244130 version:3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes        2025-02-06 
22:12:00.482391841 +0100
+++ /work/SRC/openSUSE:Factory/.mksusecd.new.2316/mksusecd.changes      
2025-02-07 23:11:51.330456700 +0100
@@ -1,0 +2,7 @@
+Fri Feb 7 11:56:42 UTC 2025 - [email protected]
+
+- merge gh#openSUSE/mksusecd#79
+- do not require root permissions to unpack ISO images (bsc#1236828)
+- 3.3
+
+--------------------------------------------------------------------

Old:
----
  mksusecd-3.2.tar.xz

New:
----
  mksusecd-3.3.tar.xz

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

Other differences:
------------------
++++++ mksusecd.spec ++++++
--- /var/tmp/diff_new_pack.C2bpqv/_old  2025-02-07 23:11:51.878479254 +0100
+++ /var/tmp/diff_new_pack.C2bpqv/_new  2025-02-07 23:11:51.878479254 +0100
@@ -18,7 +18,7 @@
 
 
 Name:           mksusecd
-Version:        3.2
+Version:        3.3
 Release:        0
 Summary:        Tool to create SUSE Linux installation ISOs
 License:        GPL-3.0+

++++++ mksusecd-3.2.tar.xz -> mksusecd-3.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-3.2/VERSION new/mksusecd-3.3/VERSION
--- old/mksusecd-3.2/VERSION    2025-02-06 17:10:24.000000000 +0100
+++ new/mksusecd-3.3/VERSION    2025-02-07 12:56:42.000000000 +0100
@@ -1 +1 @@
-3.2
+3.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-3.2/changelog new/mksusecd-3.3/changelog
--- old/mksusecd-3.2/changelog  2025-02-06 17:10:24.000000000 +0100
+++ new/mksusecd-3.3/changelog  2025-02-07 12:56:42.000000000 +0100
@@ -1,3 +1,7 @@
+2025-02-07:    3.3
+       - merge gh#openSUSE/mksusecd#79
+       - do not require root permissions to unpack ISO images (bsc#1236828)
+
 2025-02-06:    3.2
        - merge gh#openSUSE/mksusecd#78
        - make a more determined attempt to create the UEFI boot image if
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-3.2/mksusecd new/mksusecd-3.3/mksusecd
--- old/mksusecd-3.2/mksusecd   2025-02-06 17:10:24.000000000 +0100
+++ new/mksusecd-3.3/mksusecd   2025-02-07 12:56:42.000000000 +0100
@@ -234,6 +234,7 @@
 my %config;
 my $sudo;
 my $sudo_checked;
+my $check_root_ok;
 my $opt_create;
 my $opt_save_temp;
 my $opt_dst;
@@ -295,6 +296,7 @@
 my $opt_signature_file;
 my $opt_no_compression;
 my $opt_instsys_size;
+my $opt_mount_iso;
 
 Getopt::Long::Configure("gnu_compat");
 
@@ -377,6 +379,8 @@
   'include-repos=s'  => \$opt_include_repos,
   'enable-repos=s'   => \$opt_enable_repos,
   'no-compression=s' => sub { @$opt_no_compression{split /,/, $_[1]} = ( 1 .. 
8 ) },
+  'mount-iso'        => \$opt_mount_iso,
+  'no-mount-iso'     => sub { $opt_mount_iso = 0 },
   'save-temp'        => \$opt_save_temp,
   'verbose|v'        => sub { $opt_verbose++ },
   'version'          => sub { print "$VERSION\n"; exit 0 },
@@ -560,10 +564,21 @@
     elsif(-f _) {
       my $t = `file -b -k -L $_ 2>/dev/null`;
       if($t =~ /ISO 9660 CD-ROM/) {
-        check_root "Sorry, can't access ISO images; you need root privileges.";
+        my $d;
+        $opt_mount_iso = check_root if ! defined $opt_mount_iso;
+        if($opt_mount_iso) {
+          check_root "Sorry, can't access ISO images; you need root 
privileges.";
+          print "mounting $_\n" if $opt_verbose >= 2;
+          $d = $tmp->mnt(sprintf("mnt_%04d", $iso_cnt));
+          susystem "mount -oro,loop $_ $d";
+        }
+        else {
+          print "unpacking $_\n" if $opt_verbose >= 2;
+          $d = $tmp->dir();
+          system "cd $d && isoinfo -i '" . abs_path($_) . "' -RJX 2>/dev/null 
&& chmod -R a=r,a=rX,u+w ."
+            and die "$_: ISO unpacking failed\n";
+        }
         $iso_cnt++;
-        my $d = $tmp->mnt(sprintf("mnt_%04d", $iso_cnt));
-        susystem "mount -oro,loop $_ $d";
         push @sources, { dir => $d, real_name => $_, type => 'iso' };
         if(`find $d -xdev \\! -readable`) {
           die "Some files in $_ are not user-readable; you need root 
privileges.\n";
@@ -935,6 +950,10 @@
       --top-dir DIR               The installation files are placed into 
subdir DIR.
       --filesystem FS             Use file system FS for the encrypted image 
(default: ext4).
 
+Debug options:
+      --mount-iso                 Mount ISO images to access them (default if 
run as root).
+      --no-mount-iso              Unpack ISO images to access them (default if 
run as normal user).
+
 More information is available in the mksusecd(1) manual page.
 = = = = = = = =
 
@@ -948,26 +967,31 @@
 # Checks if we can get root privileges if required.
 #
 # - msg: message to show to user if things fail
+#        if msg is not set, return status whether running as root is possible
 #
 sub check_root
 {
   my $p;
   my $msg = shift;
 
-  return if $sudo_checked;
-
-  $sudo_checked = 1;
+  if(!$sudo_checked) {
+    $sudo_checked = 1;
 
-  if(!$>) {
-    undef $sudo;
-    return;
+    $check_root_ok = 0;
+    if(!$>) {
+      undef $sudo;
+      $check_root_ok = 1;
+    }
+    else {
+      my $p;
+      chomp($p = `bash -c 'type -p $sudo'`) if $sudo;
+      $check_root_ok = 1 if $p ne "";
+    }
   }
 
-  chomp($p = `bash -c 'type -p $sudo'`) if $sudo;
-
-  $msg = "sorry, you must be root" if $msg eq "";
+  die "$msg\n" if !$check_root_ok && $msg;
 
-  die "$msg\n" if $p eq "";
+  return $check_root_ok;
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mksusecd-3.2/mksusecd_man.adoc 
new/mksusecd-3.3/mksusecd_man.adoc
--- old/mksusecd-3.2/mksusecd_man.adoc  2025-02-06 17:10:24.000000000 +0100
+++ new/mksusecd-3.3/mksusecd_man.adoc  2025-02-07 12:56:42.000000000 +0100
@@ -380,6 +380,16 @@
 Use file system _FS_ for the encrypted image (default: ext4). +
 Don't be too creative here - the file system must be supported by grub2.
 
+=== Debug options
+
+*--mount-iso*::
+Mount ISO images to access them (default if run as root).
+
+*--no-mount-iso*::
+Unpack ISO images to access them (default if run as normal user). +
+Note: the ISO image is unpacked into a temporary directory below '/tmp'.
+Make sure that your file system has enough free space.
+
 === Sources
 
 Sources can be

Reply via email to