Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2020-09-12 00:09:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mksusecd" Sat Sep 12 00:09:51 2020 rev:64 rq:833526 version:1.76 Changes: -------- --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes 2020-07-27 17:51:29.943661186 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.4249/mksusecd.changes 2020-09-12 00:10:09.849079309 +0200 @@ -1,0 +2,11 @@ +Thu Sep 10 16:03:10 UTC 2020 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#51 +- look only at top-level products file (bsc#1176176) +- ensure modified files really end up on the media (bsc#1176176) +- adjust product handling if products are spread over several media +- include complete product directories +- fix product handling with new SLE full media layout +- 1.76 + +-------------------------------------------------------------------- Old: ---- mksusecd-1.75.tar.xz New: ---- mksusecd-1.76.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mksusecd.spec ++++++ --- /var/tmp/diff_new_pack.pERFaR/_old 2020-09-12 00:10:10.861080277 +0200 +++ /var/tmp/diff_new_pack.pERFaR/_new 2020-09-12 00:10:10.865080281 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version: 1.75 +Version: 1.76 Release: 0 Summary: Tool to create SUSE Linux installation ISOs License: GPL-3.0+ ++++++ mksusecd-1.75.tar.xz -> mksusecd-1.76.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.75/VERSION new/mksusecd-1.76/VERSION --- old/mksusecd-1.75/VERSION 2020-07-27 14:37:29.000000000 +0200 +++ new/mksusecd-1.76/VERSION 2020-09-10 18:03:10.000000000 +0200 @@ -1 +1 @@ -1.75 +1.76 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.75/changelog new/mksusecd-1.76/changelog --- old/mksusecd-1.75/changelog 2020-07-27 14:37:29.000000000 +0200 +++ new/mksusecd-1.76/changelog 2020-09-10 18:03:10.000000000 +0200 @@ -1,3 +1,11 @@ +2020-09-10: 1.76 + - merge gh#openSUSE/mksusecd#51 + - look only at top-level products file (bsc#1176176) + - ensure modified files really end up on the media (bsc#1176176) + - adjust product handling if products are spread over several media + - include complete product directories + - fix product handling with new SLE full media layout + 2020-07-27: 1.75 - merge gh#openSUSE/mksusecd#50 - added "--sign-pass-file" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.75/mksusecd new/mksusecd-1.76/mksusecd --- old/mksusecd-1.75/mksusecd 2020-07-27 14:37:29.000000000 +0200 +++ new/mksusecd-1.76/mksusecd 2020-09-10 18:03:10.000000000 +0200 @@ -1100,12 +1100,34 @@ { my $src = $_[0]; - for my $s (@$src) { + # Internally generated files are put into the $tmp_new base directory. + # $files holds a database of all files and their locations (their base + # directories). + # + # The aim is that files that come later in the $src list replace earlier + # versions. With $tmp_new taking even more precedence. + # + # At the start of this function $files has already been set up with the + # files in $tmp_new. + # + # So, go through $src in reverse, put new files into $files and exclude + # duplicates. + # + # This does only apply to files, not directories. + # + for my $s (reverse @$src) { File::Find::find({ wanted => sub { if(m#^$s->{dir}/(.+)#) { - push @{$mkisofs->{exclude}}, "$files->{$1}/$1" if $files->{$1} && -f "$files->{$1}/$1"; - $files->{$1} = $s->{dir}; + my $file_name = $1; + if($files->{$file_name}) { + if(-f "$s->{dir}/$file_name") { + push @{$mkisofs->{exclude}}, "$s->{dir}/$file_name"; + } + } + else { + $files->{$file_name} = $s->{dir}; + } } }, no_chdir => 1 @@ -4462,26 +4484,20 @@ my $src_idx = 0; for my $s (@$src) { - File::Find::find({ - wanted => sub { - if(m#/media.1/products$#) { - # read any product file we find ... - if(open my $f, $_) { - my @fields; - while(my $l = <$f>) { - @fields = split /\s/, $l; - # ... and for each product definition, analyse it - my $ok = check_product($src_idx, $_, @fields) if @fields == 3; - # If we find a valid product, skip the source dir (except if it's the first). - # Instead, only the product (the repository) is added to the final medium. - $s->{skip} = 1 if $ok && $src_idx > 0; - } - close $f; - } - } - }, - no_chdir => 1 - }, $s->{dir}); + # read top-level products file + $_ = "$s->{dir}/media.1/products"; + if(open my $f, $_) { + my @fields; + while(my $l = <$f>) { + @fields = split /\s/, $l; + # ... and for each product definition, analyse it + my $ok = check_product($src_idx, $_, @fields) if @fields == 3; + # If we find a valid product, skip the source dir (except if it's the first). + # Instead, only the product (the repository) is added to the final medium. + $s->{skip} = 1 if $ok && $src_idx > 0; + } + close $f; + } $src_idx++; } @@ -4518,16 +4534,21 @@ open my $prod_fd, ">$prod_file" or die "media.1/products: $!\n"; # ... and append any products we found above + + # Exclude all products that are in subdirectories and re-add them as + # needed via mkisofs graft points. That's needed as they might be on + # different media originally. + # for (@{$product_db->{list}}) { - if(!$_->{include}) { - push @{$mkisofs->{exclude}}, $_->{base_dir} if $_->{product_dir}; - next; - } + push @{$mkisofs->{exclude}}, $_->{base_dir} if $_->{product_dir}; + + next if !$_->{include}; + # FIXME: add $label to name? print $prod_fd "/$_->{repo_dir} $_->{name} $_->{ver}\n"; - for my $d (@{$_->{dirs}}) { - push @{$mkisofs->{grafts}}, "$_->{repo_dir}/$d=$_->{base_dir}/$d" if $_->{repo_dir} ne $_->{product_dir}; - } + + # include full product dir, not just repo-specific subdirs + push @{$mkisofs->{grafts}}, "$_->{product_dir}=$_->{base_dir}" if $_->{product_dir}; if($opt_enable_repos =~ /^(1|yes|auto|ask)$/i) { my $ask_user = $opt_enable_repos =~ /^ask$/i;