Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2019-08-16 15:44:21 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.22127 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mksusecd" Fri Aug 16 15:44:21 2019 rev:58 rq:723509 version:1.70 Changes: -------- --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes 2019-07-17 14:27:05.551376183 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.22127/mksusecd.changes 2019-08-16 15:44:28.785719730 +0200 @@ -1,0 +2,8 @@ +Thu Aug 15 10:01:44 UTC 2019 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#43 +- adjust boot files for s390x (bsc#1141223) +- allow to set boot options via --boot also on s390x +- 1.70 + +-------------------------------------------------------------------- Old: ---- mksusecd-1.69.tar.xz New: ---- mksusecd-1.70.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mksusecd.spec ++++++ --- /var/tmp/diff_new_pack.2F7QBw/_old 2019-08-16 15:44:29.617719489 +0200 +++ /var/tmp/diff_new_pack.2F7QBw/_new 2019-08-16 15:44:29.621719488 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version: 1.69 +Version: 1.70 Release: 0 Summary: Tool to create SUSE Linux installation ISOs License: GPL-3.0+ ++++++ mksusecd-1.69.tar.xz -> mksusecd-1.70.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.69/VERSION new/mksusecd-1.70/VERSION --- old/mksusecd-1.69/VERSION 2019-07-16 16:42:02.000000000 +0200 +++ new/mksusecd-1.70/VERSION 2019-08-15 12:01:44.000000000 +0200 @@ -1 +1 @@ -1.69 +1.70 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.69/changelog new/mksusecd-1.70/changelog --- old/mksusecd-1.69/changelog 2019-07-16 16:42:02.000000000 +0200 +++ new/mksusecd-1.70/changelog 2019-08-15 12:01:44.000000000 +0200 @@ -1,3 +1,8 @@ +2019-08-15: 1.70 + - merge gh#openSUSE/mksusecd#43 + - adjust boot files for s390x (bsc#1141223) + - allow to set boot options via --boot also on s390x + 2019-07-16: 1.69 - merge gh#openSUSE/mksusecd#42 - embed gpg signature of checksum metadata into image (bsc#1139561) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.69/mksusecd new/mksusecd-1.70/mksusecd --- old/mksusecd-1.69/mksusecd 2019-07-16 16:42:02.000000000 +0200 +++ new/mksusecd-1.70/mksusecd 2019-08-15 12:01:44.000000000 +0200 @@ -1100,9 +1100,9 @@ } if(-f fname("boot/$_/cd.ikr")) { $boot->{$_}{bl}{ikr} = { base => "boot/$_/cd.ikr", arch => $_ }; - } - elsif(-f fname("boot/$_/suse.ins")) { - $boot->{$_}{bl}{ikr} = { base => "boot/$_/cd.ikr", arch => $_, ins => "boot/$_/suse.ins" }; + if(-f fname("boot/$_/suse.ins")) { + $boot->{$_}{bl}{ikr}{ins} = "boot/$_/suse.ins"; + } } if(-f fname("boot/$_/grub2-efi/cd.img")) { $boot->{$_}{bl}{grub2} = { base => "boot/$_/grub2-efi", file => "cd.img", arch => $_ }; @@ -1193,6 +1193,13 @@ if($_ eq 's390x') { $opt_no_mbr_code = 1 if !defined $opt_no_mbr_code; $opt_zipl = 1 if !defined $opt_zipl; + if($opt_boot_options) { + my $f = copy_or_new_file "boot/s390x/parmfile"; + if(open my $f, ">$f") { + print $f "$opt_boot_options\n"; + close $f; + } + } if($opt_zipl) { if(!fname("boot/s390x/zipl.map")) { # add zipl map file, if necessary @@ -1786,7 +1793,9 @@ my $opt; my $ok; - my $cmd = "isozipl '$iso_file'"; + $opt = " --options '$opt_boot_options'" if $opt_boot_options; + + my $cmd = "isozipl$opt '$iso_file'"; print "running:\n$cmd\n" if $opt_verbose >= 1; @@ -2493,37 +2502,48 @@ my $ikr = $_[0]; my $ins = $_[1]; - my $src = fname($ins); + my $src = $ins; $src =~ s#/[^/]*$##; my $dst = $ikr; $dst =~ s#/[^/]*$##; + my $new_initrd_siz = copy_or_new_file "$src/initrd.siz"; + if(open my $f, ">", $new_initrd_siz) { + syswrite $f, pack("N", -s fname("$src/initrd")); + close $f; + } + my @layout; if(open my $s, fname($ins)) { while(<$s>) { next if /^\s*\*/; - push @layout, { file => "$src/$1", ofs => oct($2) } if /^\s*(\S+)\s+(\S+)/; + push @layout, { file => fname("$src/$1"), ofs => oct($2) } if /^\s*(\S+)\s+(\S+)/; } close $s; } die "$ins: nothing to do?\n" if !@layout; - system("mkdir -p $tmp_new/$dst"); + my $new_ikr = copy_or_new_file $ikr; - if(open my $d, ">", "$tmp_new/$ikr") { + if(open my $d, ">", $new_ikr) { for (@layout) { my $fname = $_->{file}; my $is_parmfile; - $is_parmfile = 1 if $fname =~ s#(/parmfile)$#$1.cd#; + $is_parmfile = 1 if $fname =~ m#/parmfile$#; if(open my $f, $fname) { sysread $f, my $buf, -s($f); close $f; sysseek $d, $_->{ofs}, 0; - # remove newlines from parmfile - $buf =~ s/\n+/ /g if $is_parmfile; + if($is_parmfile) { + # write at least 1 block + my $pad = 0x200 - length($buf); + $buf .= "\x00" x $pad if $pad > 0; + # remove newlines from parmfile + $buf =~ s/\n+/ /g; + } syswrite $d, $buf; # print "$fname: $_->{ofs} ", length($buf), "\n"; } @@ -2770,7 +2790,7 @@ my $n = copy_file $boot->{$b}{bl}{efi}{base}; if(defined $n) { my $tmp = $tmp->file(); - if(!system "mcopy -n -i $n ::/efi/boot/grub.cfg $tmp") { + if(!system "mcopy -n -i $n ::/efi/boot/grub.cfg $tmp 2>/dev/null") { grub2_add_option $tmp, $opt_boot_options; if(system "mcopy -D o -i $n $tmp ::/efi/boot/grub.cfg") { print STDERR "Warning: failed to update grub.cfg\n";