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
