commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2020-09-25 16:36:57 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.4249 (New) Package is "mksusecd" Fri Sep 25 16:36:57 2020 rev:65 rq:837386 version:1.77 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2020-09-12 00:10:09.849079309 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.4249/mksusecd.changes 2020-09-25 16:37:41.108217915 +0200 @@ -1,0 +2,7 @@ +Fri Sep 25 10:39:23 UTC 2020 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#52 +- fix add_on_products.xml handling (bsc#1176379) +- 1.77 + + Old: mksusecd-1.76.tar.xz New: mksusecd-1.77.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.JncW78/_old 2020-09-25 16:37:41.612218362 +0200 +++ /var/tmp/diff_new_pack.JncW78/_new 2020-09-25 16:37:41.616218365 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.76 +Version:1.77 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.76.tar.xz -> mksusecd-1.77.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.76/VERSION new/mksusecd-1.77/VERSION --- old/mksusecd-1.76/VERSION 2020-09-10 18:03:10.0 +0200 +++ new/mksusecd-1.77/VERSION 2020-09-25 12:39:23.0 +0200 @@ -1 +1 @@ -1.76 +1.77 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.76/changelog new/mksusecd-1.77/changelog --- old/mksusecd-1.76/changelog 2020-09-10 18:03:10.0 +0200 +++ new/mksusecd-1.77/changelog 2020-09-25 12:39:23.0 +0200 @@ -1,3 +1,7 @@ +2020-09-25:1.77 + - merge gh#openSUSE/mksusecd#52 + - fix add_on_products.xml handling (bsc#1176379) + 2020-09-10:1.76 - merge gh#openSUSE/mksusecd#51 - look only at top-level products file (bsc#1176176) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.76/mksusecd new/mksusecd-1.77/mksusecd --- old/mksusecd-1.76/mksusecd 2020-09-10 18:03:10.0 +0200 +++ new/mksusecd-1.77/mksusecd 2020-09-25 12:39:23.0 +0200 @@ -4315,7 +4315,7 @@ $products_xml = new_products_xml($products_xml, "addons/$addon_alias", $addon_name, $addon_alias, $opt_addon_prio); - if(open my $fh, ">", "$tmp_dir/add_on_products.xml") { + if(open my $fh, ">", new_file("add_on_products.xml")) { print $fh $products_xml; close $fh; } @@ -4560,7 +4560,7 @@ } } - if($products_xml_updated && open my $fh, ">", "$tmp_new/add_on_products.xml") { + if($products_xml_updated && open my $fh, ">", new_file("add_on_products.xml")) { print $fh $products_xml; close $fh; }
commit mksusecd for openSUSE:Factory
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.changes2020-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.0 +0200 +++ new/mksusecd-1.76/VERSION 2020-09-10 18:03:10.0 +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.0 +0200 +++ new/mksusecd-1.76/changelog 2020-09-10 18:03:10.0 +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.0 +0200 +++ new/mksusecd-1.76/mksusecd 2020-09-10 18:03:10.0 +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
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2020-07-27 17:49:37 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.3592 (New) Package is "mksusecd" Mon Jul 27 17:49:37 2020 rev:63 rq:822973 version:1.75 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2020-06-25 15:09:16.189712028 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.3592/mksusecd.changes 2020-07-27 17:51:29.943661186 +0200 @@ -1,0 +2,21 @@ +Mon Jul 27 12:37:29 UTC 2020 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#50 +- added "--sign-pass-file" +- added option for recreating and signing the repo +- remove "all done" message +- additional passphrase options are not necessary at key creation +- set additional options only when a existing sign key is specified +- print message if --sign-pass-file and missing +- sign-key +- readded removed line +- removed sign_passwd_option on import +- changed if-else-logic when specifying a passphrasefile +- readded redirection to /dev/null +- removed a print +- removed trailing spaces +- remove a single space +- additional options +- 1.75 + + Old: mksusecd-1.74.tar.xz New: mksusecd-1.75.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.Z2Psce/_old 2020-07-27 17:51:32.063663522 +0200 +++ /var/tmp/diff_new_pack.Z2Psce/_new 2020-07-27 17:51:32.067663526 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.74 +Version:1.75 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.74.tar.xz -> mksusecd-1.75.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.74/VERSION new/mksusecd-1.75/VERSION --- old/mksusecd-1.74/VERSION 2020-06-24 18:05:31.0 +0200 +++ new/mksusecd-1.75/VERSION 2020-07-27 14:37:29.0 +0200 @@ -1 +1 @@ -1.74 +1.75 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.74/changelog new/mksusecd-1.75/changelog --- old/mksusecd-1.74/changelog 2020-06-24 18:05:31.0 +0200 +++ new/mksusecd-1.75/changelog 2020-07-27 14:37:29.0 +0200 @@ -1,3 +1,21 @@ +2020-07-27:1.75 + - merge gh#openSUSE/mksusecd#50 + - added "--sign-pass-file" + - added option for recreating and signing the repo + - remove "all done" message + - additional passphrase options are not necessary at key creation + - set additional options only when a existing sign key is specified + - print message if --sign-pass-file and missing + - sign-key + - readded removed line + - removed sign_passwd_option on import + - changed if-else-logic when specifying a passphrasefile + - readded redirection to /dev/null + - removed a print + - removed trailing spaces + - remove a single space + - additional options + 2020-06-24:1.74 - merge gh#openSUSE/mksusecd#49 - add --sign-key-id option to allow specifying a gpg signing key by id diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.74/mksusecd new/mksusecd-1.75/mksusecd --- old/mksusecd-1.74/mksusecd 2020-06-24 18:05:31.0 +0200 +++ new/mksusecd-1.75/mksusecd 2020-07-27 14:37:29.0 +0200 @@ -239,6 +239,7 @@ my $opt_sign = 1; my $opt_sign_key; my $opt_sign_key_id; +my $opt_sign_pass_file; my $opt_sign_image; my @opt_kernel_rpms; my @opt_kernel_modules; @@ -264,10 +265,12 @@ my $opt_crypto_title; my $opt_crypto_top_dir; my $opt_instsys_in_repo = 1; +my $opt_create_repo; GetOptions( 'create|c=s' => sub { $opt_create = 1; $opt_dst = $_[1] }, + 'create_repo' => sub { $opt_create_repo = 1;}, 'joliet' => \$opt_joliet, 'no-joliet'=> sub { $opt_joliet = 0 }, 'efi' => \$opt_efi, @@ -284,6 +287,7 @@ 'no-sign-image'=> sub { $opt_sign_image = 0 }, 'sign-key=s' => \$opt_sign_key, 'sign-key-id=s'=> \$opt_sign_key_id, + 'sign-pass-file=s' => \$opt_sign_pass_file, 'gpt' => sub { $opt_hybrid = 1; $opt_hybrid_gpt = 1 }, 'mbr' => sub { $opt_hybrid = 1; $opt_hybrid_mbr = 1 }, 'hybrid' => \$opt_hybrid, @@ -419,6 +423,7 @@ my $has_content; my $product_db; my $repomd_instsys_location; +my $sign_passwd_option; my $progress_start = 0; my $progress_end = 100; @@ -434,6 +439,18 @@ die "$opt_size: invalid size\n" unless $image_size; } +if ($opt
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2020-06-25 15:08:09 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.3060 (New) Package is "mksusecd" Thu Jun 25 15:08:09 2020 rev:62 rq:816868 version:1.74 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2020-06-23 21:07:56.286490371 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.3060/mksusecd.changes 2020-06-25 15:09:16.189712028 +0200 @@ -1,0 +2,7 @@ +Wed Jun 24 16:05:31 UTC 2020 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#49 +- add --sign-key-id option to allow specifying a gpg signing key by id +- 1.74 + + Old: mksusecd-1.73.tar.xz New: mksusecd-1.74.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.RW3DeI/_old 2020-06-25 15:09:18.325718731 +0200 +++ /var/tmp/diff_new_pack.RW3DeI/_new 2020-06-25 15:09:18.329718744 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.73 +Version:1.74 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.73.tar.xz -> mksusecd-1.74.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.73/VERSION new/mksusecd-1.74/VERSION --- old/mksusecd-1.73/VERSION 2020-06-23 15:32:51.0 +0200 +++ new/mksusecd-1.74/VERSION 2020-06-24 18:05:31.0 +0200 @@ -1 +1 @@ -1.73 +1.74 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.73/changelog new/mksusecd-1.74/changelog --- old/mksusecd-1.73/changelog 2020-06-23 15:32:51.0 +0200 +++ new/mksusecd-1.74/changelog 2020-06-24 18:05:31.0 +0200 @@ -1,3 +1,7 @@ +2020-06-24:1.74 + - merge gh#openSUSE/mksusecd#49 + - add --sign-key-id option to allow specifying a gpg signing key by id + 2020-06-23:1.73 - merge gh#openSUSE/mksusecd#48 - do not include excluded products (bsc#1173263) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.73/mksusecd new/mksusecd-1.74/mksusecd --- old/mksusecd-1.73/mksusecd 2020-06-23 15:32:51.0 +0200 +++ new/mksusecd-1.74/mksusecd 2020-06-24 18:05:31.0 +0200 @@ -238,6 +238,7 @@ my $opt_loader; my $opt_sign = 1; my $opt_sign_key; +my $opt_sign_key_id; my $opt_sign_image; my @opt_kernel_rpms; my @opt_kernel_modules; @@ -282,6 +283,7 @@ 'sign-image' => \$opt_sign_image, 'no-sign-image'=> sub { $opt_sign_image = 0 }, 'sign-key=s' => \$opt_sign_key, + 'sign-key-id=s'=> \$opt_sign_key_id, 'gpt' => sub { $opt_hybrid = 1; $opt_hybrid_gpt = 1 }, 'mbr' => sub { $opt_hybrid = 1; $opt_hybrid_mbr = 1 }, 'hybrid' => \$opt_hybrid, @@ -372,6 +374,7 @@ } $opt_sign_key ||= $config{'sign-key'}; +$opt_sign_key_id ||= $config{'sign-key-id'}; my $tmp = Tmp::new($opt_save_temp); @@ -401,6 +404,7 @@ my $has_el_torito = 0; my $sign_key_pub; my $sign_key_dir; +my $sign_key_id; my $initrd_installkeys; my $initrd_format; my $rebuild_initrd; @@ -591,11 +595,12 @@ system "tagmedia $chk --digest '$opt_digest' --pad 150 '$iso_file' >/dev/null"; print "\n"; if($opt_sign && $sign_key_dir && $opt_sign_image) { - system "tagmedia --export-tags $sign_key_dir/tags $iso_file >/dev/null 2>&1"; - if(-s "$sign_key_dir/tags") { + my $tmp_dir = $tmp->dir(); + system "tagmedia --export-tags $tmp_dir/tags $iso_file >/dev/null 2>&1"; + if(-s "$tmp_dir/tags") { print "signing $iso_file\n" if $opt_verbose >= 1; -system "gpg --homedir=$sign_key_dir --batch --yes --armor --detach-sign $sign_key_dir/tags"; -system "tagmedia --import-signature $sign_key_dir/tags.asc $iso_file"; +system "gpg --homedir=$sign_key_dir --local-user '$sign_key_id' --batch --yes --armor --detach-sign $tmp_dir/tags"; +system "tagmedia --import-signature $tmp_dir/tags.asc $iso_file"; } } } @@ -640,7 +645,11 @@ --no-sign Don't re-sign '/content'. --sign-image Embed signature for whole image. See Signing notes. --no-sign-image Don't embed signature for whole image. (default) - --sign-key KEY_FILE Use this key instead of generating a transient key. + --sign-key KEY_FILE Use this key file instead of generating a transient key. +See Signing notes below. + --sign-key-id KEY_I
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2020-06-23 21:07:11 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.2956 (New) Package is "mksusecd" Tue Jun 23 21:07:11 2020 rev:61 rq:816593 version:1.73 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2020-04-09 23:17:44.810324000 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.2956/mksusecd.changes 2020-06-23 21:07:56.286490371 +0200 @@ -1,0 +2,8 @@ +Tue Jun 23 13:32:51 UTC 2020 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#48 +- do not include excluded products (bsc#1173263) +- recreate products file, including its checksum update +- 1.73 + + Old: mksusecd-1.72.tar.xz New: mksusecd-1.73.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.AfBaHd/_old 2020-06-23 21:07:57.126493085 +0200 +++ /var/tmp/diff_new_pack.AfBaHd/_new 2020-06-23 21:07:57.130493098 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.72 +Version:1.73 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.72.tar.xz -> mksusecd-1.73.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.72/VERSION new/mksusecd-1.73/VERSION --- old/mksusecd-1.72/VERSION 2020-04-09 09:27:15.0 +0200 +++ new/mksusecd-1.73/VERSION 2020-06-23 15:32:51.0 +0200 @@ -1 +1 @@ -1.72 +1.73 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.72/changelog new/mksusecd-1.73/changelog --- old/mksusecd-1.72/changelog 2020-04-09 09:27:15.0 +0200 +++ new/mksusecd-1.73/changelog 2020-06-23 15:32:51.0 +0200 @@ -1,3 +1,8 @@ +2020-06-23:1.73 + - merge gh#openSUSE/mksusecd#48 + - do not include excluded products (bsc#1173263) + - recreate products file, including its checksum update + 2020-04-09:1.72 - merge gh#openSUSE/mksusecd#47 - Fix broken link to kiwi documentation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.72/mksusecd new/mksusecd-1.73/mksusecd --- old/mksusecd-1.72/mksusecd 2020-04-09 09:27:15.0 +0200 +++ new/mksusecd-1.73/mksusecd 2020-06-23 15:32:51.0 +0200 @@ -516,8 +516,10 @@ } if($opt_sign && ( -# we are going to change '/content' resp. '/CHECKSUMS' in one way or another -@opt_initrds || @opt_kernel_rpms || $opt_boot_options || $opt_new_boot_entry || update_content_or_checksums) + # we are going to change '/content' resp. '/CHECKSUMS' in one way or another + @opt_initrds || @opt_kernel_rpms || $opt_boot_options || + $opt_new_boot_entry || $opt_include_repos || update_content_or_checksums +) ) { extract_installkeys; create_sign_key; @@ -4417,14 +4419,8 @@ # don't merge repos if the user doesn't want to return if !$opt_merge_repos; - # copy products file from first source (if any) ... - mkdir "$tmp_new/media.1", 0755; - my $prod_file = "$src->[0]{dir}/media.1/products"; - if(-r $prod_file) { -push @{$mkisofs->{exclude}}, $prod_file; -system "cp $prod_file $tmp_new/media.1/products"; -chmod 0644, "$tmp_new/media.1/products"; - } + # rebuild products file + my $prod_file = copy_or_new_file "media.1/products"; # create/update add_on_products.xml my $products_xml; @@ -4437,17 +4433,19 @@ close $fh; } - open my $prod_fd, ">>$tmp_new/media.1/products" or die "media.1/products: $!\n"; + # rewrite entire product file + open my $prod_fd, ">$prod_file" or die "media.1/products: $!\n"; # ... and append any products we found above for (@{$product_db->{list}}) { -# $src->[0] is always included, skip it here -next if !$_->{src_idx}; -next if !$_->{include}; +if(!$_->{include}) { + push @{$mkisofs->{exclude}}, $_->{base_dir} if $_->{product_dir}; + next; +} # 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"; + push @{$mkisofs->{grafts}}, "$_->{repo_dir}/$d=$_->{base_dir}/$d" if $_->{repo_dir} ne $_->{product_dir}; } if($opt_enable_repos =~ /^(1|yes|auto|ask)$/i) { @@ -4474,7 +4472,7 @@ # # - source_idx: # of source medium (0-based) # - product_file: full path to 'media.1/products' -# - base_dir: directory the repos is in +# - base_dir: d
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2020-04-09 23:16:49 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.3248 (New) Package is "mksusecd" Thu Apr 9 23:16:49 2020 rev:60 rq:792658 version:1.72 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2019-12-03 15:21:52.666520685 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.3248/mksusecd.changes 2020-04-09 23:17:44.810324000 +0200 @@ -1,0 +2,7 @@ +Thu Apr 9 07:27:15 UTC 2020 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#47 +- Fix broken link to kiwi documentation +- 1.72 + + Old: mksusecd-1.71.tar.xz New: mksusecd-1.72.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.CWR2Yv/_old 2020-04-09 23:17:45.910324635 +0200 +++ /var/tmp/diff_new_pack.CWR2Yv/_new 2020-04-09 23:17:45.914324637 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.71 +Version:1.72 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.71.tar.xz -> mksusecd-1.72.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.71/README.md new/mksusecd-1.72/README.md --- old/mksusecd-1.71/README.md 2019-12-03 13:40:20.0 +0100 +++ new/mksusecd-1.72/README.md 2020-04-09 09:27:15.0 +0200 @@ -2,7 +2,7 @@ This is a tool to create (open)SUSE Linux installation ISOs - either from scratch or by modifying existing ISOs. It is **not** intended to create an installation repository or -completely new product media. For this, use [kiwi](https://suse.github.io/kiwi). +completely new product media. For this, use [kiwi](https://opensuse.github.io/kiwi). mksusecd makes it easy to apply modifications to existing install media, like: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.71/VERSION new/mksusecd-1.72/VERSION --- old/mksusecd-1.71/VERSION 2019-12-03 13:40:20.0 +0100 +++ new/mksusecd-1.72/VERSION 2020-04-09 09:27:15.0 +0200 @@ -1 +1 @@ -1.71 +1.72 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.71/changelog new/mksusecd-1.72/changelog --- old/mksusecd-1.71/changelog 2019-12-03 13:40:20.0 +0100 +++ new/mksusecd-1.72/changelog 2020-04-09 09:27:15.0 +0200 @@ -1,3 +1,7 @@ +2020-04-09:1.72 + - merge gh#openSUSE/mksusecd#47 + - Fix broken link to kiwi documentation + 2019-12-03:1.71 - merge gh#openSUSE/mksusecd#45 - choose correct kernel image name for aarch64 (bsc#1158131)
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2019-12-03 15:21:52 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.4691 (New) Package is "mksusecd" Tue Dec 3 15:21:52 2019 rev:59 rq:753222 version:1.71 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2019-08-16 15:44:28.785719730 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.4691/mksusecd.changes 2019-12-03 15:21:52.666520685 +0100 @@ -1,0 +2,7 @@ +Tue Dec 3 12:40:20 UTC 2019 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#45 +- choose correct kernel image name for aarch64 (bsc#1158131) +- 1.71 + + Old: mksusecd-1.70.tar.xz New: mksusecd-1.71.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.xcH11z/_old 2019-12-03 15:21:53.098520486 +0100 +++ /var/tmp/diff_new_pack.xcH11z/_new 2019-12-03 15:21:53.098520486 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.70 +Version:1.71 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.70.tar.xz -> mksusecd-1.71.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.70/VERSION new/mksusecd-1.71/VERSION --- old/mksusecd-1.70/VERSION 2019-08-15 12:01:44.0 +0200 +++ new/mksusecd-1.71/VERSION 2019-12-03 13:40:20.0 +0100 @@ -1 +1 @@ -1.70 +1.71 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.70/changelog new/mksusecd-1.71/changelog --- old/mksusecd-1.70/changelog 2019-08-15 12:01:44.0 +0200 +++ new/mksusecd-1.71/changelog 2019-12-03 13:40:20.0 +0100 @@ -1,3 +1,7 @@ +2019-12-03:1.71 + - merge gh#openSUSE/mksusecd#45 + - choose correct kernel image name for aarch64 (bsc#1158131) + 2019-08-15:1.70 - merge gh#openSUSE/mksusecd#43 - adjust boot files for s390x (bsc#1141223) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.70/mksusecd new/mksusecd-1.71/mksusecd --- old/mksusecd-1.70/mksusecd 2019-08-15 12:01:44.0 +0200 +++ new/mksusecd-1.71/mksusecd 2019-12-03 13:40:20.0 +0100 @@ -3804,7 +3804,7 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # unpack_kernel_rpms() # -# Unpack al provided kernel packaged in a temporary location. +# Unpack all provided kernel packages in a temporary location. # sub unpack_kernel_rpms { @@ -3825,7 +3825,16 @@ die "Couldn't determine kernel version. No kernel package?\n"; } + # kernel image names, per architecture + # + # aarch64: Image, Image-*; vmlinux-* + # i586: vmlinuz, vmlinuz-*; vmlinux-* + # ppc64le: vmlinux, vmlinux-* + # s390x:image, image-*; vmlinux-* + # x86_64: vmlinuz, vmlinuz-*; vmlinux-* + # $kernel->{image} = (glob "$kernel->{dir}/boot/vmlinuz-*")[0]; + $kernel->{image} = (glob "$kernel->{dir}/boot/Image-*")[0] if !$kernel->{image}; $kernel->{image} = (glob "$kernel->{dir}/boot/image-*")[0] if !$kernel->{image}; $kernel->{image} = (glob "$kernel->{dir}/boot/vmlinux-*")[0] if !$kernel->{image};
commit mksusecd for openSUSE:Factory
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.changes2019-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.0 +0200 +++ new/mksusecd-1.70/VERSION 2019-08-15 12:01:44.0 +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.0 +0200 +++ new/mksusecd-1.70/changelog 2019-08-15 12:01:44.0 +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.0 +0200 +++ new/mksusecd-1.70/mksusecd 2019-08-15 12:01:44.0 +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
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2019-07-17 14:27:04 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.1887 (New) Package is "mksusecd" Wed Jul 17 14:27:04 2019 rev:57 rq:715717 version:1.69 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2019-04-12 09:15:53.477731773 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.1887/mksusecd.changes 2019-07-17 14:27:05.551376183 +0200 @@ -1,0 +2,8 @@ +Tue Jul 16 14:42:02 UTC 2019 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#42 +- embed gpg signature of checksum metadata into image (bsc#1139561) +- make unsigned images the default +- 1.69 + + Old: mksusecd-1.68.tar.xz New: mksusecd-1.69.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.KGF6bY/_old 2019-07-17 14:27:06.019374729 +0200 +++ /var/tmp/diff_new_pack.KGF6bY/_new 2019-07-17 14:27:06.023374717 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.68 +Version:1.69 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.68.tar.xz -> mksusecd-1.69.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.68/VERSION new/mksusecd-1.69/VERSION --- old/mksusecd-1.68/VERSION 2019-04-11 15:53:46.0 +0200 +++ new/mksusecd-1.69/VERSION 2019-07-16 16:42:02.0 +0200 @@ -1 +1 @@ -1.68 +1.69 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.68/changelog new/mksusecd-1.69/changelog --- old/mksusecd-1.68/changelog 2019-04-11 15:53:46.0 +0200 +++ new/mksusecd-1.69/changelog 2019-07-16 16:42:02.0 +0200 @@ -1,3 +1,8 @@ +2019-07-16:1.69 + - merge gh#openSUSE/mksusecd#42 + - embed gpg signature of checksum metadata into image (bsc#1139561) + - make unsigned images the default + 2019-04-11:1.68 - merge gh#openSUSE/mksusecd#41 - add --enable-repos option diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.68/mksusecd new/mksusecd-1.69/mksusecd --- old/mksusecd-1.68/mksusecd 2019-04-11 15:53:46.0 +0200 +++ new/mksusecd-1.69/mksusecd 2019-07-16 16:42:02.0 +0200 @@ -238,6 +238,7 @@ my $opt_loader; my $opt_sign = 1; my $opt_sign_key; +my $opt_sign_image; my @opt_kernel_rpms; my @opt_kernel_modules; my $opt_arch; @@ -278,6 +279,8 @@ 'no-digest'=> sub { $opt_digest = undef }, 'sign' => \$opt_sign, 'no-sign' => sub { $opt_sign = 0 }, + 'sign-image' => \$opt_sign_image, + 'no-sign-image'=> sub { $opt_sign_image = 0 }, 'sign-key=s' => \$opt_sign_key, 'gpt' => sub { $opt_hybrid = 1; $opt_hybrid_gpt = 1 }, 'mbr' => sub { $opt_hybrid = 1; $opt_hybrid_mbr = 1 }, @@ -585,6 +588,14 @@ print "calculating $opt_digest..."; system "tagmedia $chk --digest '$opt_digest' --pad 150 '$iso_file' >/dev/null"; print "\n"; +if($opt_sign && $sign_key_dir && $opt_sign_image) { + system "tagmedia --export-tags $sign_key_dir/tags $iso_file >/dev/null 2>&1"; + if(-s "$sign_key_dir/tags") { +print "signing $iso_file\n" if $opt_verbose >= 1; +system "gpg --homedir=$sign_key_dir --batch --yes --armor --detach-sign $sign_key_dir/tags"; +system "tagmedia --import-signature $sign_key_dir/tags.asc $iso_file"; + } +} } } @@ -625,6 +636,8 @@ --signRe-sign '/content' if it has changed. The public part of the sign key is added to the initrd. (default) --no-sign Don't re-sign '/content'. + --sign-image Embed signature for whole image. See Signing notes. + --no-sign-image Don't embed signature for whole image. (default) --sign-key KEY_FILE Use this key instead of generating a transient key. See Signing notes below. --gpt Add GPT when in isohybrid mode. @@ -784,7 +797,17 @@ must point to a private key file. If there's no 'sign-key' option, a transient key is created. The public - part is added to the initrd and the key is deleted. + part is added to the initrd and the root directory of the image and the + key is deleted. + + The key file is named 'gpg-pubkey--.asc'. + + mksusecd can also embed a signature of the chec
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2019-04-12 09:15:49 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.27019 (New) Package is "mksusecd" Fri Apr 12 09:15:49 2019 rev:56 rq:693265 version:1.68 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-11-30 16:32:25.721359796 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.27019/mksusecd.changes 2019-04-12 09:15:53.477731773 +0200 @@ -0,0 +1,8 @@ + +Thu Apr 11 13:53:46 UTC 2019 - snw...@suse.de + +- merge gh#openSUSE/mksusecd#41 +- add --enable-repos option +- update documentation +- 1.68 + Old: mksusecd-1.67.tar.xz New: mksusecd-1.68.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.CFAdJs/_old 2019-04-12 09:15:54.153732182 +0200 +++ /var/tmp/diff_new_pack.CFAdJs/_new 2019-04-12 09:15:54.157732184 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.67 +Version:1.68 Release:0 Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.67.tar.xz -> mksusecd-1.68.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.67/HOWTO.md new/mksusecd-1.68/HOWTO.md --- old/mksusecd-1.67/HOWTO.md 2018-11-27 16:07:05.0 +0100 +++ new/mksusecd-1.68/HOWTO.md 2019-04-11 15:53:46.0 +0200 @@ -99,18 +99,45 @@ -## SLES 15 and later: modules and repositories +## SLES 15 and later: modules (extensions) and repositories -SLES 15 supports so-called 'modules' (not to be confused with kernel modules) which are basically repositories for different product components. +SLES 15 supports so-called 'modules' or 'extensions' (not to be confused with kernel modules) +for different product components. + +Technically they look like software repositories and are treated similar to add-ons. `mksusecd` lets you create a single medium containing the parts you need. ```sh -mksusecd --list-repos suse.iso extra.iso +mksusecd --list-repos sle-installer.iso sle-packages.iso ``` -shows the modules that are on the medium. Pick the modules you need and do, for example: +shows the modules that are on the media. Pick the modules you need and do, for example: ```sh -mksusecd --create foo.iso --include-repos SLES15,Basesystem-Module,HPC-Module suse.iso extra.iso +mksusecd --create foo.iso \ + --include-repos Basesystem-Module,Desktop-Applications-Module \ + sle-installer.iso sle-packages.iso ``` + +The created image then has to be added as add-on during the installation workflow. + +You can skip that extra step using the `--enable-repos` option. Like: + +```sh +mksusecd --create foo.iso \ + --enable-repos auto --include-repos Basesystem-Module,Desktop-Applications-Module \ + sle-installer.iso sle-packages.iso +``` + +In that case a file `add_on_products.xml` is added to the medium that activates all +modules automatically. + +Alternatively, use `--enable-repos ask` to have the installer present a dialog that lets you manually pick +the modules you need. + +> Note +> +> If you are doing an installation with +> [AutoYaST](https://doc.opensuse.org/projects/autoyast) you do not have to mention these modules +> separately in the AutoYaST control file when `--enable-repos` is used. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.67/VERSION new/mksusecd-1.68/VERSION --- old/mksusecd-1.67/VERSION 2018-11-27 16:07:05.0 +0100 +++ new/mksusecd-1.68/VERSION 2019-04-11 15:53:46.0 +0200 @@ -1 +1 @@ -1.67 +1.68 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.67/changelog new/mksusecd-1.68/changelog --- old/mksusecd-1.67/changelog 2018-11-27 16:07:05.0 +0100 +++ new/mksusecd-1.68/changelog 2019-04-11 15:53:46.0 +0200 @@ -1,3 +1,8 @@ +2019-04-11:1.68 + - merge gh#openSUSE/mksusecd#41 + - add --enable-repos option + - update documentation + 2018-11-27:1.67 - merge gh#openSUSE/mksusecd#40 - support aarch64 media diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.67/mksusecd new/mksusecd-1.68/mksusecd --- old/mksusecd-1.67/mksusecd 2018-11-27 16:07:05.0 +0100 +++ new/mksusecd-1.68/mksusecd 2019-04-11 15:53:46.0 +0200 @@ -255,6 +255,7 @@ my $opt_merge_repos = 1; my $opt_list_repos; my $opt_include_repos; +my $opt_enable_repos; my $opt_crypto; my $opt_cry
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-11-30 16:32:20 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new.19453 (New) Package is "mksusecd" Fri Nov 30 16:32:20 2018 rev:55 rq:652626 version:1.67 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-11-18 23:31:14.861549463 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new.19453/mksusecd.changes 2018-11-30 16:32:25.721359796 +0100 @@ -0,0 +1,12 @@ +--- +Tue Nov 29 07:10:57 UTC 2018 - Jan Engelhardt + +- Use noun phrase in summary. + + +Tue Nov 27 15:07:05 UTC 2018 - snw...@suse.de + +- merge gh#openSUSE/mksusecd#40 +- support aarch64 media +- 1.67 + Old: mksusecd-1.66.tar.xz New: mksusecd-1.67.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.ByY3UP/_old 2018-11-30 16:32:26.149359234 +0100 +++ /var/tmp/diff_new_pack.ByY3UP/_new 2018-11-30 16:32:26.149359234 +0100 @@ -18,9 +18,9 @@ Name: mksusecd -Version:1.66 +Version:1.67 Release:0 -Summary:Create SUSE Linux installation ISOs +Summary:Tool to create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.66.tar.xz -> mksusecd-1.67.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.66/VERSION new/mksusecd-1.67/VERSION --- old/mksusecd-1.66/VERSION 2018-11-15 16:30:07.0 +0100 +++ new/mksusecd-1.67/VERSION 2018-11-27 16:07:05.0 +0100 @@ -1 +1 @@ -1.66 +1.67 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.66/changelog new/mksusecd-1.67/changelog --- old/mksusecd-1.66/changelog 2018-11-15 16:30:07.0 +0100 +++ new/mksusecd-1.67/changelog 2018-11-27 16:07:05.0 +0100 @@ -1,3 +1,7 @@ +2018-11-27:1.67 + - merge gh#openSUSE/mksusecd#40 + - support aarch64 media + 2018-11-15:1.66 - merge gh#openSUSE/mksusecd#39 - add HOWTO describing some typical uses diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.66/isohybrid.c new/mksusecd-1.67/isohybrid.c --- old/mksusecd-1.66/isohybrid.c 2018-11-15 16:30:07.0 +0100 +++ new/mksusecd-1.67/isohybrid.c 2018-11-27 16:07:05.0 +0100 @@ -46,7 +46,7 @@ uuid_t disk_uuid, part_uuid, iso_uuid; uint8_t mode = 0; -enum { VERBOSE = 1 , EFI = 2 , MAC = 4 , MODE_GPT = 8 , MODE_MBR = 0x10 }; +enum { VERBOSE = 1 , EFI = 2 , MAC = 4 , MODE_GPT = 8 , MODE_MBR = 0x10 , LEGACY = 0x20 }; /* partition numbers (1 based) */ int part_data = 0; @@ -254,6 +254,8 @@ printf(FMT, " --no-code", "Don't include MBR boot code"); printf(FMT, " --no-chs", "Don't fill in CHS values, use 0xff instead"); printf(FMT, " --size", "Specify disk size to assume when writing MBR (in 512 byte units)"); +printf(FMT, " --legacy", "Expect an El Torito boot record (default)"); +printf(FMT, " --no-legacy", "Do not expect an El Torito boot record"); printf("\n"); printf(FMT, " --forcehd0", "Assume we are loaded as disk ID 0"); @@ -289,6 +291,8 @@ { "no-mbr", no_argument, NULL, 1003 }, { "no-code", no_argument, NULL, 1004 }, { "no-chs", no_argument, NULL, 1005 }, +{ "legacy", no_argument, NULL, 1007 }, +{ "no-legacy", no_argument, NULL, 1008 }, { "forcehd0", no_argument, NULL, 'f' }, { "ctrlhd0", no_argument, NULL, 'c' }, @@ -303,7 +307,8 @@ { 0, 0, 0, 0 } }; -opterr = mode = 0; +opterr = 0; +mode = LEGACY; while ((n = getopt_long_only(argc, argv, optstr, lopt, &ind)) != -1) { switch (n) @@ -394,6 +399,14 @@ errx(1, "invalid size: `%s'", optarg); break; +case 1007: +mode |= LEGACY; +break; + +case 1008: +mode &= ~LEGACY; +break; + case 'V': printf("%s version %s\n", prog, VERSION); exit(0); @@ -522,9 +535,9 @@ cs += ve[i]; if (mode & VERBOSE) -printf("ve[%d]: %d, cs: %d\n", i, ve[i], cs); +printf("ve[%d]: 0x%x, cs: 0x%x\n", i, ve[i], cs); } -if ((ve[0] != 0x0001) || (ve[15] != 0xAA55) || (cs & 0x)) +if (((ve[0] & 0xff) != 0x01) || (ve[15] != 0xAA55) || (cs & 0x))
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-11-18 23:30:55 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Sun Nov 18 23:30:55 2018 rev:54 rq:649317 version:1.66 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-09-15 15:41:16.708787661 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-11-18 23:31:14.861549463 +0100 @@ -1,0 +2,8 @@ +Thu Nov 15 15:30:07 UTC 2018 - snw...@suse.de + +- merge gh#openSUSE/mksusecd#39 +- add HOWTO describing some typical uses +- update git2log script +- 1.66 + + Old: mksusecd-1.65.tar.xz New: mksusecd-1.66.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.JxAwMC/_old 2018-11-18 23:31:15.549548634 +0100 +++ /var/tmp/diff_new_pack.JxAwMC/_new 2018-11-18 23:31:15.549548634 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.65 +Version:1.66 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.65.tar.xz -> mksusecd-1.66.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.65/HOWTO.md new/mksusecd-1.66/HOWTO.md --- old/mksusecd-1.65/HOWTO.md 1970-01-01 01:00:00.0 +0100 +++ new/mksusecd-1.66/HOWTO.md 2018-11-15 16:30:07.0 +0100 @@ -0,0 +1,116 @@ +# How to modify a SUSE Linux installation medium + +Sometimes it's convenient to make small modifications to the regular SUSE installation media. + +For this, `mksusecd` exists. + +## Replace or add files + +You can replace or add any file to the medium. Simply create a directory structure and put the file into it. +Then specify all sources to be merged on the command line. For example + +```sh +mkdir -p /tmp/foo/boot/x86_64/loader/ +cp some_suitable_picture.jpg /tmp/foo/boot/x86_64/loader/welcome.jpg +mksusecd --create foo.iso suse.iso /tmp/foo +``` +will create a new image `foo.iso` from `suse.iso` that has a new startup picture. + + +## Change default boot options + +If you always have to enter the same boot options for each installation, add them: + +```sh +mksusecd --create foo.iso --boot "textmode=1 sshd=1 password=XXX" suse.iso +``` + +It is also possible to add a new boot entry instead of modifying the existing one: + +```sh +mksusecd --create foo.iso --add-entry "XXX" --boot "sshd=1 password=XXX" suse.iso +``` + + +## Change default repository + +If you run your own installation server you might want a medium that connects to it per default. To change the +default network repository do, for example: + +```sh +mksusecd --create foo.iso --net "https://example.com/suse"; suse.iso +``` + + +## Create small network iso + +If you are regularly installing via network or need to hand out a small image with your modifications, create a network iso. +For this, simply add the `--nano` option: + +```sh +mksusecd --create foo.iso --nano suse.iso +``` + + +## Integrate driver updates + +To seamlessly integrate any driver updates you want applied, add them to the initrd. `mksusecd` has special code for this. For example + +```sh +mksusecd --create foo.iso --initrd bar.dud suse.iso +``` + +creates a new `foo.iso` that will load the driver update `bar.dud` without any extra user interaction. + + +## Include add-ons + +If you have a collection of rpms you would like to be able to install you can have `mksusecd` create an add-on repository and put it on the medium: + +```sh +mksusecd --create foo.iso --addon foo.rpm bar.rpm -- suse.iso +``` + + +## Update kernel (and kernel modules) + +If you need an updated kernel to be able to run the installation, it can get really tricky. `mksusecd` lets you rework the installation +system included on the medium so that a new kernel is used during the installation. You just need the new kernel packages: + +```sh +mksusecd --create foo.iso --kernel kernel-default.rpm kernel-firmware.rpm -- suse.iso +``` + +If you need also KMP packages, add them, too. + +`mksusecd` will try to include the same modules as in the original installation medium. If some modules are missing, it will show +the differences. + +Sometimes just a module is missing in the installation system that you really need. It's possible to add it this way: + +```sh +mksusecd --create foo.iso --kernel kernel-default.rpm kernel-firmware.rpm --modules bar,zap -- suse.iso +``` + +This replaces the kernel and adds modules `bar` and `zap`. Module dependencies will be automatically taken into account. + +No
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-09-03 10:34:39 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Mon Sep 3 10:34:39 2018 rev:52 rq:632481 version:1.64 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-08-31 10:46:14.967333236 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-09-03 10:34:40.832604082 +0200 @@ -1,0 +2,7 @@ +Fri Aug 31 11:30:37 UTC 2018 - snw...@suse.de + +- merge gh#openSUSE/mksusecd#37 +- adjust also isozipl to isoinfo changes (bsc#1097814) +- 1.64 + + Old: mksusecd-1.63.tar.xz New: mksusecd-1.64.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.TiuIUk/_old 2018-09-03 10:34:41.244605145 +0200 +++ /var/tmp/diff_new_pack.TiuIUk/_new 2018-09-03 10:34:41.244605145 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.63 +Version:1.64 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.63.tar.xz -> mksusecd-1.64.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.63/VERSION new/mksusecd-1.64/VERSION --- old/mksusecd-1.63/VERSION 2018-08-29 11:48:20.0 +0200 +++ new/mksusecd-1.64/VERSION 2018-08-31 13:30:37.0 +0200 @@ -1 +1 @@ -1.63 +1.64 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.63/changelog new/mksusecd-1.64/changelog --- old/mksusecd-1.63/changelog 2018-08-29 11:48:20.0 +0200 +++ new/mksusecd-1.64/changelog 2018-08-31 13:30:37.0 +0200 @@ -1,3 +1,6 @@ +2018-08-31:1.64 + - adjust also isozipl to isoinfo changes (bsc #1097814) + 2018-08-29:1.63 - don't forget to sign addon repository diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.63/isozipl new/mksusecd-1.64/isozipl --- old/mksusecd-1.63/isozipl 2018-08-29 11:48:20.0 +0200 +++ new/mksusecd-1.64/isozipl 2018-08-31 13:30:37.0 +0200 @@ -117,6 +117,10 @@ next; } +# isoinfo format change +# cf. https://sourceforge.net/p/cdrtools/mailman/message/35173024 +s/^\s*\d+\s+//; + if(/^(.)(.*)\s\[\s*(\d+)(\s+\d+)?\]\s+(.*?)\s*$/) { my $type = $1; my @x = split ' ', $2;
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-08-31 10:46:13 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Fri Aug 31 10:46:13 2018 rev:51 rq:632140 version:1.63 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-07-06 10:49:31.062715688 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-08-31 10:46:14.967333236 +0200 @@ -1,0 +2,7 @@ +Wed Aug 29 09:48:20 UTC 2018 - snw...@suse.de + +- merge gh#openSUSE/mksusecd#36 +- don't forget to sign addon repository +- 1.63 + + Old: mksusecd-1.62.tar.xz New: mksusecd-1.63.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.3NpGvo/_old 2018-08-31 10:46:15.355333708 +0200 +++ /var/tmp/diff_new_pack.3NpGvo/_new 2018-08-31 10:46:15.359333713 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.62 +Version:1.63 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.62.tar.xz -> mksusecd-1.63.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.62/VERSION new/mksusecd-1.63/VERSION --- old/mksusecd-1.62/VERSION 2018-07-05 16:30:14.0 +0200 +++ new/mksusecd-1.63/VERSION 2018-08-29 11:48:20.0 +0200 @@ -1 +1 @@ -1.62 +1.63 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.62/changelog new/mksusecd-1.63/changelog --- old/mksusecd-1.62/changelog 2018-07-05 16:30:14.0 +0200 +++ new/mksusecd-1.63/changelog 2018-08-29 11:48:20.0 +0200 @@ -1,3 +1,6 @@ +2018-08-29:1.63 + - don't forget to sign addon repository + 2018-07-05:1.62 - don't miss zstd compression module (bsc #1100236) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.62/mksusecd new/mksusecd-1.63/mksusecd --- old/mksusecd-1.62/mksusecd 2018-07-05 16:30:14.0 +0200 +++ new/mksusecd-1.63/mksusecd 2018-08-29 11:48:20.0 +0200 @@ -1775,6 +1775,18 @@ print $_ if $opt_verbose >= 2 || !$ok; die "error: createrepo failed\n" if !$ok; + + # sign repomd.xml + + my $name = "$dir/repodata/repomd.xml"; + + return if !$sign_key_dir || !-f $name; + + system "cp $sign_key_pub $name.key"; + + print "signing '$name'\n" if $opt_verbose >= 1; + + system "gpg --homedir=$sign_key_dir --batch --yes --armor --detach-sign $name"; }
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-07-06 10:49:10 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Fri Jul 6 10:49:10 2018 rev:50 rq:621167 version:1.62 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-06-28 15:13:56.931534623 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-07-06 10:49:31.062715688 +0200 @@ -1,0 +2,7 @@ +Thu Jul 5 14:30:14 UTC 2018 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#35 +- don't miss zstd compression module (bsc#1100236) +- 1.62 + + Old: mksusecd-1.61.tar.xz New: mksusecd-1.62.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.CcqQJd/_old 2018-07-06 10:49:31.842714725 +0200 +++ /var/tmp/diff_new_pack.CcqQJd/_new 2018-07-06 10:49:31.842714725 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.61 +Version:1.62 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.61.tar.xz -> mksusecd-1.62.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.61/VERSION new/mksusecd-1.62/VERSION --- old/mksusecd-1.61/VERSION 2018-06-27 14:20:51.0 +0200 +++ new/mksusecd-1.62/VERSION 2018-07-05 16:30:14.0 +0200 @@ -1 +1 @@ -1.61 +1.62 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.61/changelog new/mksusecd-1.62/changelog --- old/mksusecd-1.61/changelog 2018-06-27 14:20:51.0 +0200 +++ new/mksusecd-1.62/changelog 2018-07-05 16:30:14.0 +0200 @@ -1,3 +1,6 @@ +2018-07-05:1.62 + - don't miss zstd compression module (bsc #1100236) + 2018-06-27:1.61 - keep some meta data for media checking even if no iso9660 filesystem is used (bnc #1000947) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.61/mksusecd new/mksusecd-1.62/mksusecd --- old/mksusecd-1.61/mksusecd 2018-06-27 14:20:51.0 +0200 +++ new/mksusecd-1.62/mksusecd 2018-07-05 16:30:14.0 +0200 @@ -3909,8 +3909,8 @@ mkdir "$tmp_dir/lib/modules/$kernel->{version}", 0755; mkdir "$tmp_dir/lib/modules/$kernel->{version}/initrd", 0755; -for ("loop.ko", "squashfs.ko", "lz4_decompress.ko") { - rename "$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/$_", "$tmp_dir/lib/modules/$kernel->{version}/initrd/$_"; +for (qw (loop squashfs lz4_decompress xxhash zstd_decompress)) { + rename "$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/$_.ko", "$tmp_dir/lib/modules/$kernel->{version}/initrd/$_.ko"; } my $err = system "mksquashfs $kernel->{new_dir} $tmp_dir/parts/$p" .
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-06-28 15:13:56 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Thu Jun 28 15:13:56 2018 rev:49 rq:619393 version:1.61 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-06-19 12:02:56.755630526 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-06-28 15:13:56.931534623 +0200 @@ -1,0 +2,8 @@ +Wed Jun 27 12:20:51 UTC 2018 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#34 +- keep some meta data for media checking even if no iso9660 + filesystem is used (#1000947) +- 1.61 + + Old: mksusecd-1.60.tar.xz New: mksusecd-1.61.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.kiFfrZ/_old 2018-06-28 15:13:57.563533465 +0200 +++ /var/tmp/diff_new_pack.kiFfrZ/_new 2018-06-28 15:13:57.567533458 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.60 +Version:1.61 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.60.tar.xz -> mksusecd-1.61.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.60/VERSION new/mksusecd-1.61/VERSION --- old/mksusecd-1.60/VERSION 2018-06-15 12:10:15.0 +0200 +++ new/mksusecd-1.61/VERSION 2018-06-27 14:20:51.0 +0200 @@ -1 +1 @@ -1.60 +1.61 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.60/changelog new/mksusecd-1.61/changelog --- old/mksusecd-1.60/changelog 2018-06-15 12:10:15.0 +0200 +++ new/mksusecd-1.61/changelog 2018-06-27 14:20:51.0 +0200 @@ -1,3 +1,6 @@ +2018-06-27:1.61 + - keep some meta data for media checking even if no iso9660 filesystem is used (bnc #1000947) + 2018-06-15:1.60 - don't pass partition offset to tagmedia - adjust to isoinfo and syslinux changes (bsc #1097814) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.60/mksusecd new/mksusecd-1.61/mksusecd --- old/mksusecd-1.60/mksusecd 2018-06-15 12:10:15.0 +0200 +++ new/mksusecd-1.61/mksusecd 2018-06-27 14:20:51.0 +0200 @@ -572,14 +572,14 @@ } run_isozipl if $opt_zipl; + wipe_iso if $opt_no_iso; + if(defined $opt_digest) { my $chk = $opt_check ? " --check" : ""; print "calculating $opt_digest..."; system "tagmedia $chk --digest '$opt_digest' --pad 150 '$iso_file' >/dev/null"; print "\n"; } - - wipe_iso if $opt_no_iso; } @@ -4234,7 +4234,17 @@ { die "$iso_file: $!\n" unless open $iso_fh, "+<", $iso_file; - write_sector 0x10, ("\x00" x 0x800); + # keep some data: + # - application id: 0x80 bytes at 0x823e + # - tags set by tagmedia: 0x200 bytes starting at file offset 0x8373 + my $buf = read_sector 0x10; + my $appid = substr $buf, 0x23e, 0x80; + my $tags = substr $buf, 0x373, 0x200; + $buf = "\x00" x 0x800; + substr $buf, 0x23e, 0x80, $appid; + substr $buf, 0x373, 0x200, $tags; + + write_sector 0x10, $buf; write_sector 0x11, ("\x00" x 0x800); close $iso_fh;
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-06-19 12:02:52 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Tue Jun 19 12:02:52 2018 rev:48 rq:617045 version:1.60 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-05-29 10:44:25.673581944 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-06-19 12:02:56.755630526 +0200 @@ -1,0 +2,8 @@ +Fri Jun 15 10:10:15 UTC 2018 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#33 +- adjust to isoinfo and syslinux changes (bsc#1097814) +- don't pass partition offset to tagmedia +- 1.60 + + Old: mksusecd-1.59.tar.xz New: mksusecd-1.60.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.fugIui/_old 2018-06-19 12:02:57.323609438 +0200 +++ /var/tmp/diff_new_pack.fugIui/_new 2018-06-19 12:02:57.323609438 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.59 +Version:1.60 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.59.tar.xz -> mksusecd-1.60.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.59/VERSION new/mksusecd-1.60/VERSION --- old/mksusecd-1.59/VERSION 2018-05-25 15:17:42.0 +0200 +++ new/mksusecd-1.60/VERSION 2018-06-15 12:10:15.0 +0200 @@ -1 +1 @@ -1.59 +1.60 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.59/changelog new/mksusecd-1.60/changelog --- old/mksusecd-1.59/changelog 2018-05-25 15:17:42.0 +0200 +++ new/mksusecd-1.60/changelog 2018-06-15 12:10:15.0 +0200 @@ -1,3 +1,7 @@ +2018-06-15:1.60 + - don't pass partition offset to tagmedia + - adjust to isoinfo and syslinux changes (bsc #1097814) + 2018-05-25:1.59 - add -joliet-long to mkisofs call as some file names on our media are too long (bsc #1094687) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.59/mksusecd new/mksusecd-1.60/mksusecd --- old/mksusecd-1.59/mksusecd 2018-05-25 15:17:42.0 +0200 +++ new/mksusecd-1.60/mksusecd 2018-06-15 12:10:15.0 +0200 @@ -579,10 +579,6 @@ print "\n"; } - if($mkisofs->{partition_start}) { -system "tagmedia --add-tag 'partition=$mkisofs->{partition_start}' '$iso_file' >/dev/null"; - } - wipe_iso if $opt_no_iso; } @@ -1717,7 +1713,8 @@ die "syslinux is needed to build a bootable FAT image, please install package 'syslinux'\n" } - system "syslinux -t " . ($mkisofs->{partition_start} << 9) . " -d '$syslinux_config' -i '$iso_file'"; + # syslinux must be run as root now + susystem "syslinux -t " . ($mkisofs->{partition_start} << 9) . " -d '$syslinux_config' -i '$iso_file'"; die "$iso_file: $!\n" unless open $iso_fh, "+<", $iso_file; syswrite $iso_fh, $mbr; @@ -1800,6 +1797,10 @@ next; } +# isoinfo format change +# cf. https://sourceforge.net/p/cdrtools/mailman/message/35173024 +s/^\s*\d+\s+//; + if(/^(.)(.*)\s\[\s*(\d+)(\s+\d+)?\]\s+(.*?)\s*$/) { my $type = $1; my @x = split ' ', $2;
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-05-29 10:44:24 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Tue May 29 10:44:24 2018 rev:47 rq:612260 version:1.59 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-05-10 15:49:22.421321518 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-05-29 10:44:25.673581944 +0200 @@ -1,0 +2,8 @@ +Fri May 25 13:17:42 UTC 2018 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#32 +- add -joliet-long to mkisofs call as some file names on our media + are too long (bsc#1094687) +- 1.59 + + Old: mksusecd-1.58.tar.xz New: mksusecd-1.59.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.8ct8ho/_old 2018-05-29 10:44:26.373556112 +0200 +++ /var/tmp/diff_new_pack.8ct8ho/_new 2018-05-29 10:44:26.373556112 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.58 +Version:1.59 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.58.tar.xz -> mksusecd-1.59.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.58/VERSION new/mksusecd-1.59/VERSION --- old/mksusecd-1.58/VERSION 2018-05-08 16:04:20.0 +0200 +++ new/mksusecd-1.59/VERSION 2018-05-25 15:17:42.0 +0200 @@ -1 +1 @@ -1.58 +1.59 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.58/changelog new/mksusecd-1.59/changelog --- old/mksusecd-1.58/changelog 2018-05-08 16:04:20.0 +0200 +++ new/mksusecd-1.59/changelog 2018-05-25 15:17:42.0 +0200 @@ -1,3 +1,6 @@ +2018-05-25:1.59 + - add -joliet-long to mkisofs call as some file names on our media are too long (bsc #1094687) + 2018-05-08:1.58 - add links to related blog articles - added link to obs builds diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.58/mksusecd new/mksusecd-1.59/mksusecd --- old/mksusecd-1.58/mksusecd 2018-05-08 16:04:20.0 +0200 +++ new/mksusecd-1.59/mksusecd 2018-05-25 15:17:42.0 +0200 @@ -1295,7 +1295,7 @@ $mkisofs->{options} .= " -A '" . substr($opt_application, 0, 128) . "'"; $mkisofs->{options} .= " -p '" . substr($opt_preparer, 0, 128) . "'"; $mkisofs->{options} .= " -publisher '" . substr($opt_vendor, 0, 128) . "'"; - $mkisofs->{options} .= " -J -f" if $opt_joliet; + $mkisofs->{options} .= " -J -f -joliet-long" if $opt_joliet; # special loader options for (@$todo) {
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-05-10 15:49:12 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Thu May 10 15:49:12 2018 rev:46 rq:605364 version:1.58 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-05-08 13:38:44.782507404 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-05-10 15:49:22.421321518 +0200 @@ -1,0 +2,8 @@ +Tue May 8 14:04:20 UTC 2018 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#31 +- added link to obs builds +- add links to related blog articles +- 1.58 + + Old: mksusecd-1.57.tar.xz New: mksusecd-1.58.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.yHJIRF/_old 2018-05-10 15:49:23.101296597 +0200 +++ /var/tmp/diff_new_pack.yHJIRF/_new 2018-05-10 15:49:23.105296449 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.57 +Version:1.58 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.57.tar.xz -> mksusecd-1.58.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.57/README.md new/mksusecd-1.58/README.md --- old/mksusecd-1.57/README.md 2018-05-07 14:38:39.0 +0200 +++ new/mksusecd-1.58/README.md 2018-05-08 16:04:20.0 +0200 @@ -18,17 +18,18 @@ so-called 'isohybrid' images. If you are interested in the technical details, you can read more about it [here](layout.md). -## Installation +## Downloads -Often you will need [mkdud][1] along with mksusecd. Both mksusecd and mkdud are -included in openSUSE Tumbleweed. So on openSUSE Tumbleweed installation is as -simple as +Get the latest version from the [openSUSE Build Service](https://software.opensuse.org/package/mksusecd). -``` -zypper in mksusecd mkdud -``` +## Blog -[1]: https://github.com/openSUSE/mkdud +See also my mini-series of articles around SUSE installation media and driver updates that highlight specific use-cases: + +- [Update the update process!](https://lizards.opensuse.org/2017/02/16/fun-things-to-do-with-driver-updates) +- [But what if I need a new kernel?](https://lizards.opensuse.org/2017/03/16/fun-things-to-do-with-driver-updates-2) +- [And what if I want to **remove** some files?](https://lizards.opensuse.org/2017/04/25/fun-things-to-do-with-driver-updates-3) +- [Encrypted installation media](https://lizards.opensuse.org/2017/11/17/encrypted-installation-media) ## Simple use cases @@ -97,6 +98,18 @@ mksusecd --create foo.iso /tmp/foo ``` +## Installation + +Often you will need [mkdud][1] along with mksusecd. Both mksusecd and mkdud are +included in openSUSE Tumbleweed. So on openSUSE Tumbleweed installation is as +simple as + +``` +zypper in mksusecd mkdud +``` + +[1]: https://github.com/openSUSE/mkdud + ## openSUSE Development To build, simply run `make`. Install with `make install`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.57/VERSION new/mksusecd-1.58/VERSION --- old/mksusecd-1.57/VERSION 2018-05-07 14:38:39.0 +0200 +++ new/mksusecd-1.58/VERSION 2018-05-08 16:04:20.0 +0200 @@ -1 +1 @@ -1.57 +1.58 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.57/changelog new/mksusecd-1.58/changelog --- old/mksusecd-1.57/changelog 2018-05-07 14:38:39.0 +0200 +++ new/mksusecd-1.58/changelog 2018-05-08 16:04:20.0 +0200 @@ -1,3 +1,7 @@ +2018-05-08:1.58 + - add links to related blog articles + - added link to obs builds + 2018-05-07:1.57 - fix cpio archive parser (bsc #1092147)
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-05-08 13:38:43 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Tue May 8 13:38:43 2018 rev:45 rq:605108 version:1.57 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-03-07 10:37:45.991793362 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-05-08 13:38:44.782507404 +0200 @@ -0,0 +1,7 @@ + +Mon May 7 12:38:39 UTC 2018 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#30 +- fix cpio archive parser (bsc#1092147) +- 1.57 + Old: mksusecd-1.56.tar.xz New: mksusecd-1.57.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.fSJcWB/_old 2018-05-08 13:38:45.406484882 +0200 +++ /var/tmp/diff_new_pack.fSJcWB/_new 2018-05-08 13:38:45.422484304 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.56 +Version:1.57 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.56.tar.xz -> mksusecd-1.57.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.56/VERSION new/mksusecd-1.57/VERSION --- old/mksusecd-1.56/VERSION 2018-01-19 10:26:47.0 +0100 +++ new/mksusecd-1.57/VERSION 2018-05-07 14:38:39.0 +0200 @@ -1 +1 @@ -1.56 +1.57 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.56/changelog new/mksusecd-1.57/changelog --- old/mksusecd-1.56/changelog 2018-01-19 10:26:47.0 +0100 +++ new/mksusecd-1.57/changelog 2018-05-07 14:38:39.0 +0200 @@ -1,3 +1,6 @@ +2018-05-07:1.57 + - fix cpio archive parser (bsc #1092147) + 2018-01-18:1.56 - fix handling of repo-md repositories with encrypted media - allow building of encrypted installation media diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.56/mksusecd new/mksusecd-1.57/mksusecd --- old/mksusecd-1.56/mksusecd 2018-01-19 10:26:47.0 +0100 +++ new/mksusecd-1.57/mksusecd 2018-05-07 14:38:39.0 +0200 @@ -3414,7 +3414,7 @@ # Read # of bytes from input and write to output. # - # bytes = read_write(len) + # bytes = $read_write->(len) # - len: number of bytes to transfer # - bytes: size of data actually transferred # @@ -3424,7 +3424,7 @@ # If the $sync variable is set search the input stream for a valid cpio # header (and reset $sync to 0). # - sub read_write + my $read_write = sub { my $len = $_[0]; @@ -3469,17 +3469,17 @@ } return length $buf; - } + }; # Write padding bytes (pad with 0 to full 512 byte blocks) and close # output pipe. # - # write_pad_and_close() + # $write_pad_and_close->() # # This also sets a sync flag indicating that we should search for the next # valid cpio header in the input stream. # - sub write_pad_and_close + my $write_pad_and_close = sub { if($p) { my $pad = (($write_ofs + 0x1ff) & ~0x1ff) - $write_ofs; @@ -3490,7 +3490,7 @@ # search for next cpio header in input stream $sync = 1; - } + }; # open archive and get going... if(open $f, $file) { @@ -3498,7 +3498,7 @@ # We have to trace the cpio archive structure. # Keep going as long as there's a header. -while(($len = read_write(110)) == 110) { +while(($len = $read_write->(110)) == 110) { my $magic = substr($buf, 0, 6); my $head = substr($buf, 6); @@ -3510,12 +3510,12 @@ $fname_len += (2, 1, 0, 3)[$fname_len & 3]; $data_len = (($data_len + 3) & ~3); - read_write $fname_len; + $read_write->($fname_len); my $fname = $buf; $fname =~ s/\x00*$//; - read_write $data_len; + $read_write->($data_len); # Look for cpio archive end marker. # If found, close cpio process. A new process will be started at the @@ -3524,7 +3524,7 @@ $fname eq 'TRAILER!!!' && $head =~ /^0{39}10{55}b0{8}$/i ) { -write_pad_and_close; +$write_pad_and_close->(); # exit if we're done if($cnt++ == $part) { close $f; @@ -3537,7 +3537,7 @@ close $f; # ...and output file. -write_pad_and_close; +$write_pad_and_close->(); # If $len is != 0 this means we've seen something that's not a header of # a cpio archive entry. @@ -3554,7 +3554,7 @@ # # unpack_archive(type, file, dir, part) # -# -
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-03-07 10:37:35 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Wed Mar 7 10:37:35 2018 rev:44 rq:583260 version:1.56 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-03-05 13:36:48.238231116 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-03-07 10:37:45.991793362 +0100 @@ -1,0 +2,6 @@ +Tue Mar 6 09:08:07 UTC 2018 - adam.ma...@suse.de + +- switch to using cdrtools for Factory and SLE15. wodim is to + be removed (bnc#1081739) + +--- Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.9TdbA4/_old 2018-03-07 10:37:47.791728437 +0100 +++ /var/tmp/diff_new_pack.9TdbA4/_new 2018-03-07 10:37:47.795728293 +0100 @@ -30,11 +30,12 @@ Requires: checkmedia %if %suse_version >= 1500 Requires: createrepo-implementation +Requires: mkisofs %else Requires: createrepo +Requires: genisoimage %endif Requires: dosfstools -Requires: genisoimage Requires: gpg2 Requires: mtools Requires: squashfs
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-03-05 13:36:43 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Mon Mar 5 13:36:43 2018 rev:43 rq:578945 version:1.56 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2018-01-20 11:27:49.537249097 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-03-05 13:36:48.238231116 +0100 @@ -0,0 +1,10 @@ +--- +Thu Feb 22 11:06:14 CET 2018 - snw...@suse.de + +- adjust Requires to work also with older dists (bsc#1082057) + +--- +Wed Feb 21 17:14:23 CET 2018 - snw...@suse.de + +- require createrepo-implementation (bsc#1075670) + Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.fQfyyU/_old 2018-03-05 13:36:48.978204338 +0100 +++ /var/tmp/diff_new_pack.fQfyyU/_new 2018-03-05 13:36:48.982204193 +0100 @@ -28,7 +28,11 @@ BuildRequires: libuuid-devel BuildRequires: xz Requires: checkmedia +%if %suse_version >= 1500 +Requires: createrepo-implementation +%else Requires: createrepo +%endif Requires: dosfstools Requires: genisoimage Requires: gpg2
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2018-01-20 11:27:47 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Sat Jan 20 11:27:47 2018 rev:42 rq:567602 version:1.56 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-12-06 09:00:01.757822142 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2018-01-20 11:27:49.537249097 +0100 @@ -1,0 +2,8 @@ +Fri Jan 19 09:26:47 UTC 2018 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#29 +- allow building of encrypted installation media +- fix handling of repo-md repositories with encrypted media +- 1.56 + + Old: mksusecd-1.55.tar.xz New: mksusecd-1.56.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.vJGxMH/_old 2018-01-20 11:27:49.989227960 +0100 +++ /var/tmp/diff_new_pack.vJGxMH/_new 2018-01-20 11:27:49.993227773 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.55 +Version:1.56 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.55.tar.xz -> mksusecd-1.56.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.55/VERSION new/mksusecd-1.56/VERSION --- old/mksusecd-1.55/VERSION 2017-12-05 10:50:35.0 +0100 +++ new/mksusecd-1.56/VERSION 2018-01-19 10:26:47.0 +0100 @@ -1 +1 @@ -1.55 +1.56 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.55/changelog new/mksusecd-1.56/changelog --- old/mksusecd-1.55/changelog 2017-12-05 10:50:35.0 +0100 +++ new/mksusecd-1.56/changelog 2018-01-19 10:26:47.0 +0100 @@ -1,3 +1,7 @@ +2018-01-18:1.56 + - fix handling of repo-md repositories with encrypted media + - allow building of encrypted installation media + 2017-12-01:1.55 - support new CHECKSUMS file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.55/mksusecd new/mksusecd-1.56/mksusecd --- old/mksusecd-1.55/mksusecd 2017-12-05 10:50:35.0 +0100 +++ new/mksusecd-1.56/mksusecd 2018-01-19 10:26:47.0 +0100 @@ -205,6 +205,8 @@ sub wipe_iso; sub analyze_products; sub check_product; +sub crypto_cleanup; +sub run_crypto_disk; my %config; my $sudo; @@ -253,6 +255,11 @@ my $opt_merge_repos = 1; my $opt_list_repos; my $opt_include_repos; +my $opt_crypto; +my $opt_crypto_fs = 'ext4'; +my $opt_crypto_password; +my $opt_crypto_title; +my $opt_crypto_top_dir; GetOptions( @@ -276,6 +283,11 @@ 'no-hybrid'=> sub { $opt_hybrid = 0 }, 'hybrid-fs=s' => sub { $opt_hybrid = 1; $opt_hybrid_fs = $_[1] }, 'fat' => sub { $opt_hybrid = 1; $opt_hybrid_fs = 'fat'; $opt_efi = 0; $opt_no_iso = 1 }, + 'crypto' => sub { $opt_crypto = 1; $opt_hybrid = 0; }, + 'password=s' => \$opt_crypto_password, + 'title=s' => \$opt_crypto_title, + 'top-dir=s'=> \$opt_crypto_top_dir, + 'filesystem=s' => \$opt_crypto_fs, 'no-iso' => \$opt_no_iso, 'size=s' => \$opt_size, 'protective-mbr' => sub { $opt_no_prot_mbr = 0 }, @@ -325,6 +337,8 @@ usage 1 if $opt_hybrid_fs !~ '^(|iso|fat)$'; usage 1 if defined($opt_digest) && $opt_digest !~ '^(md5|sha1|sha224|sha256|sha384|sha512)$'; +die "no password\n" if $opt_crypto && $opt_crypto_password eq ""; + $ENV{PATH} = "$LIBEXECDIR/mksusecd:/usr/bin:/bin:/usr/sbin:/sbin"; if($opt_rebuild_initrd && $>) { @@ -391,6 +405,7 @@ my $linuxrc_options; my $has_content; my $product_db; +my $repomd_instsys_location; my $progress_start = 0; my $progress_end = 100; @@ -412,7 +427,7 @@ # } # we might need two mkisofs runs... - $two_runs = $opt_hybrid && $opt_hybrid_fs; + $two_runs = ($opt_hybrid && $opt_hybrid_fs) || $opt_crypto; $iso_file = $opt_dst; @@ -466,7 +481,13 @@ my $x = get_kernel_initrd; die "oops: no initrd?\n" unless $x; if($x->{initrd} =~ m#(boot/[^/]+)/#) { -$opt_instsys = "disk:/$1/root"; +$repomd_instsys_location = "$1/root"; +# Note +# When encryption is in use we must not set the instsys location +# here. This would cause linuxrc to miss the instsys as the URL +# below does never point inside an encrypted volume. +# Instead, run_crypto_disk() handles this when writing 90_crypto. +$opt_instsys = "disk:/$repomd_instsys_location" unless $opt_crypto;
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-12-06 09:00:01 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Wed Dec 6 09:00:01 2017 rev:41 rq:548573 version:1.55 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-12-01 15:54:28.742221475 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-12-06 09:00:01.757822142 +0100 @@ -1,0 +2,7 @@ +Tue Dec 5 09:50:35 UTC 2017 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#28 +- support new CHECKSUMS file +- 1.55 + + Old: mksusecd-1.54.tar.xz New: mksusecd-1.55.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.bCliFn/_old 2017-12-06 09:00:02.96980 +0100 +++ /var/tmp/diff_new_pack.bCliFn/_new 2017-12-06 09:00:02.97487 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.54 +Version:1.55 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.54.tar.xz -> mksusecd-1.55.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.54/VERSION new/mksusecd-1.55/VERSION --- old/mksusecd-1.54/VERSION 2017-11-30 16:42:48.0 +0100 +++ new/mksusecd-1.55/VERSION 2017-12-05 10:50:35.0 +0100 @@ -1 +1 @@ -1.54 +1.55 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.54/changelog new/mksusecd-1.55/changelog --- old/mksusecd-1.54/changelog 2017-11-30 16:42:48.0 +0100 +++ new/mksusecd-1.55/changelog 2017-12-05 10:50:35.0 +0100 @@ -1,3 +1,6 @@ +2017-12-01:1.55 + - support new CHECKSUMS file + 2017-11-29:1.54 - manage (sle15-style modules) repomd repositories diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.54/mksusecd new/mksusecd-1.55/mksusecd --- old/mksusecd-1.54/mksusecd 2017-11-30 16:42:48.0 +0100 +++ new/mksusecd-1.55/mksusecd 2017-12-05 10:50:35.0 +0100 @@ -182,10 +182,12 @@ sub prepare_pico; sub set_mkisofs_metadata; sub add_to_content_file; +sub update_content_or_checksums; sub update_content; +sub update_checksums; sub create_sign_key; sub add_sign_key; -sub sign_content; +sub sign_content_or_checksums; sub file_magic; sub get_archive_type; sub unpack_cpiox; @@ -222,7 +224,7 @@ my $opt_no_mbr_chs; my $opt_zipl; my $opt_check; -my $opt_digest = 'sha1'; +my $opt_digest = 'sha256'; my @opt_initrds; my $opt_boot_options; my $opt_type; @@ -484,8 +486,8 @@ } if($opt_sign && ( -# we are going to change '/content' in one way or another -@opt_initrds || @opt_kernel_rpms || $opt_boot_options || $opt_new_boot_entry || update_content) +# we are going to change '/content' resp. '/CHECKSUMS' in one way or another +@opt_initrds || @opt_kernel_rpms || $opt_boot_options || $opt_new_boot_entry || update_content_or_checksums) ) { extract_installkeys; create_sign_key; @@ -500,7 +502,7 @@ prepare_addon; - sign_content if update_content; + sign_content_or_checksums if update_content_or_checksums; $todo = build_todo; set_mkisofs_metadata; @@ -2899,6 +2901,20 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# update_content_or_checksums() +# +# Create a new /content or /CHECKSUMS file and return 1 if it is different +# from the existing one (meaning it needs to be re-signed). +# +sub update_content_or_checksums +{ + return $has_content ? update_content : update_checksums; +} + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# update_content() +# # Create a new /content file and return 1 if it is different from the # existing one. # @@ -2991,6 +3007,83 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# update_checksums() +# +# Create a new /CHECKSUMS file and return 1 if it is different from the +# existing one. +# +sub update_checksums +{ + my $changed = 0; + + # don't modify CHECKSUMS if it doesn't exist or we're not going to re-sign it + return $changed if $has_content || !$opt_sign; + + my $content_file = fname "CHECKSUMS"; + + my $cont; + + # $cont is modelled after $cont in update_content() so that + # it can be passed to add_to_content_file() + $cont->{bits} = 256; + + # first, read existing file + # ($content_file may be undefined - which is ok) + if(open(my $f, $content_file)) { +while(<$f>) {
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-12-01 15:54:04 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Fri Dec 1 15:54:04 2017 rev:40 rq:546787 version:1.54 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-10-09 19:49:02.293429266 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-12-01 15:54:28.742221475 +0100 @@ -1,0 +2,7 @@ +Thu Nov 30 15:42:48 UTC 2017 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#26 +- manage (sle15-style modules) repomd repositories +- 1.54 + + Old: mksusecd-1.53.tar.xz New: mksusecd-1.54.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.JupddV/_old 2017-12-01 15:54:29.362199164 +0100 +++ /var/tmp/diff_new_pack.JupddV/_new 2017-12-01 15:54:29.362199164 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.53 +Version:1.54 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.53.tar.xz -> mksusecd-1.54.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.53/VERSION new/mksusecd-1.54/VERSION --- old/mksusecd-1.53/VERSION 2017-10-09 16:36:05.0 +0200 +++ new/mksusecd-1.54/VERSION 2017-11-30 16:42:48.0 +0100 @@ -1 +1 @@ -1.53 +1.54 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.53/changelog new/mksusecd-1.54/changelog --- old/mksusecd-1.53/changelog 2017-10-09 16:36:05.0 +0200 +++ new/mksusecd-1.54/changelog 2017-11-30 16:42:48.0 +0100 @@ -1,3 +1,6 @@ +2017-11-29:1.54 + - manage (sle15-style modules) repomd repositories + 2017-10-09:1.53 - beautify code - ensure initrd has really been unpacked when --rebuild-initrd option is used diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.53/mksusecd new/mksusecd-1.54/mksusecd --- old/mksusecd-1.53/mksusecd 2017-10-09 16:36:05.0 +0200 +++ new/mksusecd-1.54/mksusecd 2017-11-30 16:42:48.0 +0100 @@ -201,6 +201,8 @@ sub eval_size; sub add_linuxrc_option; sub wipe_iso; +sub analyze_products; +sub check_product; my %config; my $sudo; @@ -246,6 +248,9 @@ my $opt_instsys; my $opt_defaultrepo; my $opt_no_iso; +my $opt_merge_repos = 1; +my $opt_list_repos; +my $opt_include_repos; GetOptions( @@ -304,13 +309,17 @@ 'addon-name=s' => \$opt_addon_name, 'addon-alias=s'=> \$opt_addon_alias, 'addon-prio=i' => \$opt_addon_prio, + 'no-merge-repos' => sub { $opt_merge_repos = 0 }, + 'merge-repos' => \$opt_merge_repos, + 'list-repos' => \$opt_list_repos, + 'include-repos=s' => \$opt_include_repos, 'save-temp'=> \$opt_save_temp, 'verbose|v'=> sub { $opt_verbose++ }, 'version' => sub { print "$VERSION\n"; exit 0 }, 'help' => sub { usage 0 }, ) || usage 1; -usage 1 unless $opt_create; +usage 1 unless $opt_create || $opt_list_repos; usage 1 if $opt_hybrid_fs !~ '^(|iso|fat)$'; usage 1 if defined($opt_digest) && $opt_digest !~ '^(md5|sha1|sha224|sha256|sha384|sha512)$'; @@ -347,10 +356,12 @@ my $tmp_err = $tmp->file('err'); my $tmp_sort = $tmp->file('sort'); my $tmp_exclude = $tmp->file('exclude'); +my $tmp_filelist = $tmp->file('filelist'); my $tmp_fat = $tmp->file('fat'); my @sources; my $files; +my $files_to_keep; my $boot; my $todo; my $iso_cnt = 0; @@ -377,6 +388,7 @@ my $syslinux_config; my $linuxrc_options; my $has_content; +my $product_db; my $progress_start = 0; my $progress_end = 100; @@ -392,7 +404,7 @@ die "$opt_size: invalid size\n" unless $image_size; } -if($opt_create) { +if($opt_create || $opt_list_repos) { # if(@opt_kernel_rpms) { #die "Sorry, you must run mksusecd as root to replace kernel modules." if $>; # } @@ -439,6 +451,7 @@ die $msg; } + analyze_products \@sources; build_filelist \@sources; $boot = analyze_boot; get_initrd_format; @@ -653,6 +666,13 @@ If unset, an alias based on the repo name is generated. --addon-prio NUM Set add-on repository priority to NUM; lower NUM means higher priority (default: 60). + --merge-repos When mksusecd detects repositories in SOURCES it will try to make +them all available and create a common media
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-10-09 19:48:03 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Mon Oct 9 19:48:03 2017 rev:39 rq:532798 version:1.53 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-05-22 18:09:50.206113717 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-10-09 19:49:02.293429266 +0200 @@ -1,0 +2,11 @@ +Mon Oct 9 14:36:05 UTC 2017 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#24 +- rework cpio parsing function to handle blobs added by our product + creator +- ensure initrd has really been unpacked when --rebuild-initrd + option is used +- beautify code +- 1.53 + + Old: mksusecd-1.52.tar.xz New: mksusecd-1.53.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.7uRcnn/_old 2017-10-09 19:49:02.901402545 +0200 +++ /var/tmp/diff_new_pack.7uRcnn/_new 2017-10-09 19:49:02.905402369 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.52 +Version:1.53 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.52.tar.xz -> mksusecd-1.53.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.52/VERSION new/mksusecd-1.53/VERSION --- old/mksusecd-1.52/VERSION 2017-05-22 13:48:59.0 +0200 +++ new/mksusecd-1.53/VERSION 2017-10-09 16:36:05.0 +0200 @@ -1 +1 @@ -1.52 +1.53 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.52/changelog new/mksusecd-1.53/changelog --- old/mksusecd-1.52/changelog 2017-05-22 13:48:59.0 +0200 +++ new/mksusecd-1.53/changelog 2017-10-09 16:36:05.0 +0200 @@ -1,3 +1,8 @@ +2017-10-09:1.53 + - beautify code + - ensure initrd has really been unpacked when --rebuild-initrd option is used + - rework cpio parsing function to handle blobs added by our product creator + 2017-05-18:1.52 - clarify description of --fat option - remove iso9660 header when creating image for usb media (bsc #939456) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.52/mksusecd new/mksusecd-1.53/mksusecd --- old/mksusecd-1.52/mksusecd 2017-05-22 13:48:59.0 +0200 +++ new/mksusecd-1.53/mksusecd 2017-10-09 16:36:05.0 +0200 @@ -2045,7 +2045,13 @@ return undef if !@opt_initrds; my $tmp_initrd = $tmp->file(); - my $tmp_dir = $opt_rebuild_initrd ? $orig_initrd : $tmp->dir(); + my $tmp_dir = $tmp->dir(); + + if($opt_rebuild_initrd) { +unpack_orig_initrd if !$orig_initrd; +die "initrd unpacking failed\n" if !$orig_initrd; +$tmp_dir = $orig_initrd; + } for my $i (@opt_initrds) { my $type = get_archive_type $i; @@ -3122,15 +3128,17 @@ } -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Unpack cpio archive. +# Unpack multiple concatenated cpio archives. # -# unpack_cpiox(dir, file, part) +# The archives are expected to be in cpio ASCII format ('cpio -H newc'). +# Between the idividual archives an arbitrary sequence of (binary) zeros is +# allowed. (This is what the kernel allows for the initramfs image.) # -# - dir: the directory to unpack to +# unpack_cpiox(dst, file, part) +# +# - dst: the directory to unpack to # - file: the archive file name -# - part: the part number of a multipart archive (kernel initramfs-like) -# (0 = unpack all) +# - part: the part number (1 based) of a multipart archive (0 = unpack all) # sub unpack_cpiox { @@ -3138,89 +3146,156 @@ my $file = shift; my $part = shift() + 0; - my ($f, $p, $buf, $cnt, $len, $magic, $head, $fname_len, $data_len, $fname, $ofs); - my $cpio_cmd = 'cpio --quiet -dmiu --sparse --no-absolute-filenames 2>/dev/null'; - $cnt = 1; + # the archive number we are looking for (1 based) + my $cnt = 1; + + # input and output file handles + my ($f, $p); + + # data transfer buffer + my $buf; - $read_write = sub + # search for cpio header in input stream on next read operation + my $sync = 0; + + # track # of written bytes (reset at start of each cpio archive) + my $write_ofs; + + # Read # of bytes from input and write to output. + # + # bytes = read_write(len) + # - len: number of bytes to transfer + # - bytes: size of data actually transferred + # + # This function implicitly opens a new output pipe if none is open and data +
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-05-22 18:09:50 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Mon May 22 18:09:50 2017 rev:38 rq:497302 version:1.52 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-05-16 14:45:00.848318612 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-05-22 18:09:50.206113717 +0200 @@ -0,0 +1,9 @@ + +Mon May 22 11:48:59 UTC 2017 - wfe...@opensuse.org + +- merge gh#openSUSE/mksusecd#23 +- remove iso9660 header when creating image for usb media + (bsc#939456) +- clarify description of --fat option +- 1.52 + Old: mksusecd-1.51.tar.xz New: mksusecd-1.52.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.HugMHr/_old 2017-05-22 18:09:50.666048884 +0200 +++ /var/tmp/diff_new_pack.HugMHr/_new 2017-05-22 18:09:50.670048320 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.51 +Version:1.52 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.51.tar.xz -> mksusecd-1.52.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.51/VERSION new/mksusecd-1.52/VERSION --- old/mksusecd-1.51/VERSION 2017-04-28 13:19:44.0 +0200 +++ new/mksusecd-1.52/VERSION 2017-05-22 13:48:59.0 +0200 @@ -1 +1 @@ -1.51 +1.52 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.51/changelog new/mksusecd-1.52/changelog --- old/mksusecd-1.51/changelog 2017-04-28 13:19:44.0 +0200 +++ new/mksusecd-1.52/changelog 2017-05-22 13:48:59.0 +0200 @@ -1,3 +1,7 @@ +2017-05-18:1.52 + - clarify description of --fat option + - remove iso9660 header when creating image for usb media (bsc #939456) + 2017-04-28:1.51 - document all functions - enhanced README.md diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.51/mksusecd new/mksusecd-1.52/mksusecd --- old/mksusecd-1.51/mksusecd 2017-04-28 13:19:44.0 +0200 +++ new/mksusecd-1.52/mksusecd 2017-05-22 13:48:59.0 +0200 @@ -200,6 +200,7 @@ sub check_mksquashfs_comp; sub eval_size; sub add_linuxrc_option; +sub wipe_iso; my %config; my $sudo; @@ -244,6 +245,7 @@ my $opt_net; my $opt_instsys; my $opt_defaultrepo; +my $opt_no_iso; GetOptions( @@ -266,7 +268,8 @@ 'hybrid' => \$opt_hybrid, 'no-hybrid'=> sub { $opt_hybrid = 0 }, 'hybrid-fs=s' => sub { $opt_hybrid = 1; $opt_hybrid_fs = $_[1] }, - 'fat' => sub { $opt_hybrid = 1; $opt_hybrid_fs = 'fat' }, + 'fat' => sub { $opt_hybrid = 1; $opt_hybrid_fs = 'fat'; $opt_efi = 0; $opt_no_iso = 1 }, + 'no-iso' => \$opt_no_iso, 'size=s' => \$opt_size, 'protective-mbr' => sub { $opt_no_prot_mbr = 0 }, 'no-protective-mbr' => \$opt_no_prot_mbr, @@ -536,6 +539,8 @@ if($mkisofs->{partition_start}) { system "tagmedia --add-tag 'partition=$mkisofs->{partition_start}' '$iso_file' >/dev/null"; } + + wipe_iso if $opt_no_iso; } @@ -588,6 +593,7 @@ --no-mbr-code Don't include x86 MBR boot code. --mbr-chs Fill in sensible CHS values in MBR partition table (default). --no-mbr-chs Use 0xff instead of CHS values in MBR partition table. + --no-iso Don't make image accessible as ISO9660 file system. --hybrid Create an isohybrid image which is both an ISO and a regular disk image (default). --no-hybrid Create a regular ISO image without extra gimmicks. @@ -597,7 +603,11 @@ image (partitioning tools don't really like this) or 'iso' or 'fat' in which case you get a regular partition with an ISO960 or FAT file system (default: 'iso'). - --fat An alias for '--hybrid-fs fat'. + --fat Create an image that's suitable to be put on a usb disk. +The image holds a single FAT32 partition and it can NOT be +used to write a DVD. You can adjust the file system size +with the --size option. +Technically
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-05-16 14:44:06 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Tue May 16 14:44:06 2017 rev:37 rq:494579 version:1.51 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-04-29 10:54:09.526850026 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-05-16 14:45:00.848318612 +0200 @@ -0,0 +1,5 @@ +--- +Thu May 4 11:39:42 CEST 2017 - snw...@suse.de + +- include all documentation files + Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.GHpOIp/_old 2017-05-16 14:45:01.832180369 +0200 +++ /var/tmp/diff_new_pack.GHpOIp/_new 2017-05-16 14:45:01.836179808 +0200 @@ -52,6 +52,6 @@ %defattr(-,root,root) %{_bindir}/* %{_libexecdir}/%{name} -%doc README* COPYING* +%doc README* COPYING* *.md %changelog
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-04-29 10:53:41 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Sat Apr 29 10:53:41 2017 rev:36 rq:491813 version:1.51 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-04-12 18:14:58.580476963 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-04-29 10:54:09.526850026 +0200 @@ -1,0 +2,9 @@ +Fri Apr 28 11:19:44 UTC 2017 - wfe...@opensuse.org + +- fix getopt config +- enhanced README.md +- merge gh#openSUSE/mksusecd#22 +- document all functions +- 1.51 + + Old: mksusecd-1.50.tar.xz New: mksusecd-1.51.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.bM5n6N/_old 2017-04-29 10:54:10.090770362 +0200 +++ /var/tmp/diff_new_pack.bM5n6N/_new 2017-04-29 10:54:10.090770362 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.50 +Version:1.51 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.50.tar.xz -> mksusecd-1.51.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.50/README.md new/mksusecd-1.51/README.md --- old/mksusecd-1.50/README.md 2017-04-11 12:49:14.0 +0200 +++ new/mksusecd-1.51/README.md 2017-04-28 13:19:44.0 +0200 @@ -1,8 +1,22 @@ # mksusecd -This is a tool to create SUSE Linux installation ISOs, either from scratch or -by modifying existing ISOs. A simple use case is to regenerate a ISO to -include fixes, see below. +This is a tool to create (open)SUSE Linux installation ISOs - either from scratch or +by modifying existing ISOs. It is **not** intended to create an installation repository or +completely new product media. For this, use [kiwi](https://suse.github.io/kiwi). + +mksusecd makes it easy to apply modifications to existing install media, like: + +- integrate driver updates ([DUD](http://ftp.suse.com/pub/people/hvogel/Update-Media-HOWTO/html)) +- modify the installation system +- replace kernel and modules used during installation +- add boot options +- create and integrate add-on repositories +- change the default repositories used during installation +- create a mini ('network') boot iso from a regular dvd + +The images mksusecd creates can be put both on a cd/dvd or a (usb-)disk. For this mksusecd creates +so-called 'isohybrid' images. If you are interested in the technical details, +you can read more about it [here](layout.md). ## Installation @@ -16,33 +30,95 @@ [1]: https://github.com/openSUSE/mkdud -## Simple use case +## Simple use cases + +> **Note** +> +> _In all the examples below, when you use an iso image as source (and not a directory with the unpacked iso), +you must run mksusecd with root permissions as it will need to mount the iso image temporarily._ + +### 1. Update a package that is used in the installation system We have a patch for yast2-core that is needed during installation and the final system, e.g. for an AutoYaST installation. The patch is included in yast2-core-3.1.12-0.x86_64.rpm. -1. Login as root since mksusecd needs root permissions for temporary mounting of - file systems. +- Create a Driver Update Disk (DUD) from yast2-core.rpm: -2. Create a Driver Update Disk (DUD) from yast2-core.rpm: -``` +```sh mkdud --create bug-free.dud --dist 13.2 yast2-core-3.1.12-0.x86_64.rpm ``` -3. Create a new ISO from the original openSUSE 13.2 ISO and the DUD: -``` -mksusecd --create bug-free.iso --initrd bug-free.dud openSUSE-13.2-DVD-x86_64.iso -``` +- Create a new ISO from the original openSUSE 13.2 ISO and the DUD: + + ```sh + mksusecd --create bug-free.iso --initrd bug-free.dud openSUSE-13.2-DVD-x86_64.iso + ``` Now you can use bug-free.iso as a replacement for openSUSE-13.2-DVD-x86_64.iso. +### 2 .Create a network install iso + +Say, you need to walk around and install a lot from `http://foo/bar`, then do + +```sh +mksusecd --create foo.iso --nano --net=http://foo/bar openSUSE-13.2-DVD-x86_64.iso +``` + +`--nano` puts only the necessary files for booting on the media (not the installer itself, for example). + +### 3. Add some boot options + +If you need to repeatedly enter the same boot options, create an iso that already has them: + +```sh +mksusecd --create foo.iso --boot "sshd=1 password=*" openSUSE-13.2-DVD-x86_64.iso +``` + +This would start an ssh daemon you can login to during installation. + +### 4. Modify
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-04-12 17:37:37 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Wed Apr 12 17:37:37 2017 rev:35 rq:487326 version:1.50 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-04-07 13:55:58.484865701 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-04-12 18:14:58.580476963 +0200 @@ -0,0 +1,9 @@ + +Tue Apr 11 10:49:14 UTC 2017 - wfe...@opensuse.org + +- distinguish between repomd/classical repo types and allow to + specify the default repo location (fate#322983) +- merge gh#openSUSE/mksusecd#21 +- fix typo in help text +- 1.50 + Old: mksusecd-1.49.tar.xz New: mksusecd-1.50.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.J7nVDl/_old 2017-04-12 18:14:59.124400050 +0200 +++ /var/tmp/diff_new_pack.J7nVDl/_new 2017-04-12 18:14:59.124400050 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.49 +Version:1.50 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.49.tar.xz -> mksusecd-1.50.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.49/VERSION new/mksusecd-1.50/VERSION --- old/mksusecd-1.49/VERSION 2017-04-05 16:57:14.0 +0200 +++ new/mksusecd-1.50/VERSION 2017-04-11 12:49:14.0 +0200 @@ -1 +1 @@ -1.49 +1.50 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.49/changelog new/mksusecd-1.50/changelog --- old/mksusecd-1.49/changelog 2017-04-05 16:57:14.0 +0200 +++ new/mksusecd-1.50/changelog 2017-04-11 12:49:14.0 +0200 @@ -1,3 +1,7 @@ +2017-04-11:1.50 + - fix typo in help text + - distinguish between repomd/classical repo types and allow to specify the default repo location + 2017-04-05:1.49 - add support for disk images with FAT file system diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.49/mksusecd new/mksusecd-1.50/mksusecd --- old/mksusecd-1.49/mksusecd 2017-04-05 16:57:14.0 +0200 +++ new/mksusecd-1.50/mksusecd 2017-04-11 12:49:14.0 +0200 @@ -199,6 +199,7 @@ sub prepare_addon; sub check_mksquashfs_comp; sub eval_size; +sub add_linuxrc_option; my %config; my $sudo; @@ -240,6 +241,9 @@ my $opt_addon_prio = 60; my $opt_rebuild_initrd; my $opt_size; +my $opt_net; +my $opt_instsys; +my $opt_defaultrepo; GetOptions( @@ -280,6 +284,9 @@ 'micro'=> sub { $opt_type = 'micro' }, 'nano' => sub { $opt_type = 'nano' }, 'pico' => sub { $opt_type = 'pico' }, + 'net=s'=> \$opt_net, + 'instsys' => \$opt_instsys, + 'defaultrepo' => \$opt_defaultrepo, 'volume=s' => \$opt_volume, 'vendor=s' => \$opt_vendor, 'preparer=s' => \$opt_preparer, @@ -365,6 +372,8 @@ my $mksquashfs_has_comp; my $image_size; my $syslinux_config; +my $linuxrc_options; +my $has_content; my $progress_start = 0; my $progress_end = 100; @@ -430,6 +439,34 @@ build_filelist \@sources; $boot = analyze_boot; get_initrd_format; + + # assume repomd layout if 'content' file is missing + $has_content = 1 if fname "content"; + if(!$has_content) { +print "assuming repo-md sources\n"; +if(!$opt_instsys) { + my $x = get_kernel_initrd; + die "oops: no initrd?\n" unless $x; + if($x->{initrd} =~ m#(boot/[^/]+)/#) { +$opt_instsys = "disk:/$1/root"; + } +} + +exclude_files [ "README", "net" ]; + } + + if($opt_instsys) { +add_linuxrc_option "InstSys", $opt_instsys; + } + + if($opt_net && !$opt_defaultrepo) { +$opt_defaultrepo = "cd:/,hd:/,$opt_net"; + } + + if($opt_defaultrepo) { +add_linuxrc_option "DefaultRepo", $opt_defaultrepo; + } + if($opt_sign && ( # we are going to change '/content' in one way or another @opt_initrds || @opt_kernel_rpms || $opt_boot_options || $opt_new_boot_entry || update_content) @@ -615,6 +652,12 @@ --nanoCreate an ISO with just enough files to test the boot process. --picoEven less than --nano. Keep just the bootloader. + --net URL Use URL as default network repository url. +See Repository notes below. + --instsys URL Load the in
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-04-07 13:55:52 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Fri Apr 7 13:55:52 2017 rev:34 rq:485854 version:1.49 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-03-21 22:51:13.656545141 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-04-07 13:55:58.484865701 +0200 @@ -1,0 +2,25 @@ +Wed Apr 5 15:00:18 UTC 2017 - snw...@suse.com + +- add support for disk images with FAT file system +- 1.49 + +--- +Mon Apr 3 15:30:15 UTC 2017 - snw...@suse.com + +- undo accidental mksusecd patch +- 1.48 + +--- +Mon Apr 3 15:20:13 UTC 2017 - snw...@suse.com + +- some small doc fixes +- add dvd/disk image layout description +- 1.47 + +--- +Mon Apr 3 10:15:13 UTC 2017 - snw...@suse.com + +- isohybrid: add --size option to specify image size +- 1.46 + +--- Old: mksusecd-1.45.tar.xz New: mksusecd-1.49.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.SQL81q/_old 2017-04-07 13:56:00.764543677 +0200 +++ /var/tmp/diff_new_pack.SQL81q/_new 2017-04-07 13:56:00.764543677 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.45 +Version:1.49 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.45.tar.xz -> mksusecd-1.49.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.45/VERSION new/mksusecd-1.49/VERSION --- old/mksusecd-1.45/VERSION 2017-03-20 17:19:36.0 +0100 +++ new/mksusecd-1.49/VERSION 2017-04-05 16:57:14.0 +0200 @@ -1 +1 @@ -1.45 +1.49 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.45/changelog new/mksusecd-1.49/changelog --- old/mksusecd-1.45/changelog 2017-03-20 17:19:36.0 +0100 +++ new/mksusecd-1.49/changelog 2017-04-05 16:57:14.0 +0200 @@ -1,3 +1,16 @@ +2017-04-05:1.49 + - add support for disk images with FAT file system + +2017-04-03:1.48 + - undo accidental mksusecd patch + +2017-04-03:1.47 + - some small doc fixes + - add dvd/disk image layout description + +2017-03-31:1.46 + - isohybrid: add --size option to specify image size + 2017-03-17:1.45 - fix typo - add --rebuild-initrd option for smaller initrds diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.45/isohybrid.c new/mksusecd-1.49/isohybrid.c --- old/mksusecd-1.45/isohybrid.c 2017-03-20 17:19:36.0 +0100 +++ new/mksusecd-1.49/isohybrid.c 2017-04-05 16:57:14.0 +0200 @@ -76,6 +76,7 @@ unsigned no_mbr:1; /* gpt: don't write protective mbr */ unsigned no_code:1; /* no mbr boot code */ unsigned no_chs:1; /* fill in 0xff instead of real chs values */ + off_t size; /* total size MBR partition table should cover */ } opt; @@ -252,6 +253,7 @@ printf(FMT, " --no-mbr", "Don't write protective MBR for GPT"); printf(FMT, " --no-code", "Don't include MBR boot code"); printf(FMT, " --no-chs", "Don't fill in CHS values, use 0xff instead"); +printf(FMT, " --size", "Specify disk size to assume when writing MBR (in 512 byte units)"); printf("\n"); printf(FMT, " --forcehd0", "Assume we are loaded as disk ID 0"); @@ -279,6 +281,7 @@ { { "entry", required_argument, NULL, 'e' }, { "offset", required_argument, NULL, 'o' }, +{ "size", required_argument, NULL, 1006 }, { "type", required_argument, NULL, 't' }, { "id", required_argument, NULL, 'i' }, { "gpt", no_argument, NULL, 1001 }, @@ -385,6 +388,12 @@ opt.no_chs = 1; break; +case 1006: +opt.size = strtoul(optarg, &err, 0); +if (*err) +errx(1, "invalid size: `%s'", optarg); +break; + case 'V': printf("%s version %s\n", prog, VERSION); exit(0); @@ -615,7 +624,11 @@ s = (ofs % sector) + 1; h = (ofs / sector) % head; c = ofs / (sector * head); - if(c > 1023) c = 1023; + if(c > 1023) { +c = 1023; +s = sector; +h = head - 1; + }
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-03-21 22:51:12 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Tue Mar 21 22:51:12 2017 rev:33 rq:481457 version:1.45 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2017-03-17 15:07:28.481987335 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-03-21 22:51:13.656545141 +0100 @@ -1,0 +2,7 @@ +Mon Mar 20 16:20:20 UTC 2017 - snw...@suse.com + +- fix typo +- add --rebuild-initrd option for smaller initrds +- 1.45 + +--- Old: mksusecd-1.44.tar.xz New: mksusecd-1.45.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.ExVO5O/_old 2017-03-21 22:51:14.224464853 +0100 +++ /var/tmp/diff_new_pack.ExVO5O/_new 2017-03-21 22:51:14.228464287 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.44 +Version:1.45 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.44.tar.xz -> mksusecd-1.45.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.44/VERSION new/mksusecd-1.45/VERSION --- old/mksusecd-1.44/VERSION 2017-03-16 13:21:55.0 +0100 +++ new/mksusecd-1.45/VERSION 2017-03-20 17:19:36.0 +0100 @@ -1 +1 @@ -1.44 +1.45 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.44/changelog new/mksusecd-1.45/changelog --- old/mksusecd-1.44/changelog 2017-03-16 13:21:55.0 +0100 +++ new/mksusecd-1.45/changelog 2017-03-20 17:19:36.0 +0100 @@ -1,3 +1,7 @@ +2017-03-17:1.45 + - fix typo + - add --rebuild-initrd option for smaller initrds + 2017-03-16:1.44 - support old mksquashfs version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.44/mksusecd new/mksusecd-1.45/mksusecd --- old/mksusecd-1.44/mksusecd 2017-03-16 13:21:55.0 +0100 +++ new/mksusecd-1.45/mksusecd 2017-03-20 17:19:36.0 +0100 @@ -235,6 +235,8 @@ my $opt_addon_name; my $opt_addon_alias; my $opt_addon_prio = 60; +my $opt_rebuild_initrd; + GetOptions( 'create|c=s' => sub { $opt_create = 1; $opt_dst = $_[1] }, @@ -263,6 +265,7 @@ 'mbr-chs' => sub { $opt_no_mbr_chs = 0 }, 'no-mbr-chs' => \$opt_no_mbr_chs, 'initrd=s' => \@opt_initrds, + 'rebuild-initrd' => \$opt_rebuild_initrd, 'boot=s' => \$opt_boot_options, 'grub2'=> sub { $opt_loader = "grub" }, 'isolinux' => sub { $opt_loader = "isolinux" }, @@ -295,6 +298,10 @@ usage 1 if $opt_hybrid_fs !~ '^(|iso|fat)$'; usage 1 if defined($opt_digest) && $opt_digest !~ '^(md5|sha1|sha224|sha256|sha384|sha512)$'; +if($opt_rebuild_initrd && $>) { + die "mksusecd must be run with root permissions when --rebuild-initrd is used\n" +} + if(open my $f, "$ENV{HOME}/.mksusecdrc") { while(<$f>) { next if /^\s*#/; @@ -538,6 +545,9 @@ --no-zipl Don't make zIPL bootable (default except on s390x). --initrd DIR|RPM|DUD Add directory DIR or package RPM or driver update DUD to initrd. + --rebuild-initrd Rebuild the entire initrd instead of appending changes. +This makes the initrd smaller but requires to run mksusecd +with root permissions. --no-docs Don't include package documentation when updating the initrd (default). --keep-docs Include package documentation when updating initrd. @@ -1715,7 +1725,7 @@ return undef if !@opt_initrds; my $tmp_initrd = $tmp->file(); - my $tmp_dir = $tmp->dir(); + my $tmp_dir = $opt_rebuild_initrd ? $orig_initrd : $tmp->dir(); for my $i (@opt_initrds) { my $type = get_archive_type $i; @@ -1817,7 +1827,12 @@ } if(my $n = fname $x->{initrd}) { - system "cat '$add_initrd' >> '$n'"; + if($opt_rebuild_initrd) { +system "cp '$add_initrd' '$n'"; + } + else { +system "cat '$add_initrd' >> '$n'"; + } } } else { @@ -3137,6 +3152,9 @@ mkdir "$tmp_dir/parts", 0755; my $p = sprintf "%02u_lib", $initrd_has_parts++; +# XX_lib contains kernel modules - replace the original one if we are +# going to rebuild the initrd anyway +$p = "00_lib" if $opt_rebuild_initrd;
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2017-03-17 15:07:27 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Fri Mar 17 15:07:27 2017 rev:32 rq:479996 version:1.44 Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2016-08-13 18:30:59.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2017-03-17 15:07:28.481987335 +0100 @@ -1,0 +2,12 @@ +Thu Mar 16 12:42:33 UTC 2017 - jenk...@suse.com + +- support old mksquashfs version +- 1.44 + +--- +Thu Mar 16 10:55:16 UTC 2017 - snw...@suse.com + +- fix to work with older modules.dep format (bsc#1027636) +- 1.43 + +--- Old: mksusecd-1.42.tar.xz New: mksusecd-1.44.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.t7E3bA/_old 2017-03-17 15:07:29.529839451 +0100 +++ /var/tmp/diff_new_pack.t7E3bA/_new 2017-03-17 15:07:29.537838322 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.42 +Version:1.44 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.42.tar.xz -> mksusecd-1.44.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.42/VERSION new/mksusecd-1.44/VERSION --- old/mksusecd-1.42/VERSION 2016-08-12 16:56:20.0 +0200 +++ new/mksusecd-1.44/VERSION 2017-03-16 13:21:55.0 +0100 @@ -1 +1 @@ -1.42 +1.44 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.42/changelog new/mksusecd-1.44/changelog --- old/mksusecd-1.42/changelog 2016-08-12 16:56:20.0 +0200 +++ new/mksusecd-1.44/changelog 2017-03-16 13:21:55.0 +0100 @@ -1,3 +1,9 @@ +2017-03-16:1.44 + - support old mksquashfs version + +2017-03-16:1.43 + - fix to work with older modules.dep format (bsc #1027636) + 2016-08-12:1.42 - extended help text and added some small fixes - fix choosing an add-on name diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.42/mksusecd new/mksusecd-1.44/mksusecd --- old/mksusecd-1.42/mksusecd 2016-08-12 16:56:20.0 +0200 +++ new/mksusecd-1.44/mksusecd 2017-03-16 13:21:55.0 +0100 @@ -195,6 +195,7 @@ sub replace_kernel_mods; sub new_products_xml; sub prepare_addon; +sub check_mksquashfs_comp; my %config; my $sudo; @@ -346,6 +347,7 @@ my $kernel; my $warned; my $read_write; +my $mksquashfs_has_comp; my $progress_start = 0; my $progress_end = 100; @@ -355,6 +357,8 @@ die "mkisofs: command not found\n" if ! -x $mkisofs->{command}; +$mksquashfs_has_comp = check_mksquashfs_comp; + if($opt_create) { # if(@opt_kernel_rpms) { #die "Sorry, you must run mksusecd as root to replace kernel modules." if $>; @@ -3020,6 +3024,9 @@ for (<$f>) { my @i = split; $i[0] =~ s/:$//; +# older modutils put the full path into modules.dep +# so remove the "/lib/modules/VERSION/" part if it exists +@i = map { s#^/lib/modules/([^/]+)/##; $_ } @i; if($i[0] =~ m#([^/]+)\.ko$#) { $kernel->{modules}{$1} = $i[0]; # resolve module deps @@ -3140,7 +3147,10 @@ rename "$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/$_", "$tmp_dir/lib/modules/$kernel->{version}/initrd/$_"; } -system "mksquashfs $kernel->{new_dir} $tmp_dir/parts/$p -comp xz -noappend -no-progress >/dev/null 2>&1"; +my $err = system "mksquashfs $kernel->{new_dir} $tmp_dir/parts/$p" . + ($mksquashfs_has_comp ? " -comp xz" : "") . + " -noappend -no-progress >/dev/null 2>&1"; +die "mksquashfs failed\n" if $err; } else { $tmp_dir = $kernel->{new_dir}; @@ -3335,3 +3345,25 @@ build_filelist [ $new_source ]; } + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# check_mksquashfs_comp() +# +# Return 1 if mksquahsfs supports '-comp' option, else 0. +# +sub check_mksquashfs_comp +{ + my $comp_ok = 0; + + if(open my $f, "mksquashfs -help 2>&1 |") { +while(<$f>) { + $comp_ok = 1, last if /^\s*-comp\s/; +} +close $f; + } + + print "mksquashfs has '-comp': $comp_ok\n" if $opt_verbose >= 2; + + return $comp_ok; +} +
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2016-08-13 18:30:53 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2016-08-03 11:45:30.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2016-08-13 18:30:59.0 +0200 @@ -1,0 +2,9 @@ +Fri Aug 12 15:00:21 UTC 2016 - snw...@suse.com + +- extended help text and added some small fixes +- fix choosing an add-on name +- be less restrictive when generating add-on aliases +- support creating add-ons on the target iso (bsc#991935) +- 1.42 + +--- Old: mksusecd-1.41.tar.xz New: mksusecd-1.42.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.oj6DZE/_old 2016-08-13 18:30:59.0 +0200 +++ /var/tmp/diff_new_pack.oj6DZE/_new 2016-08-13 18:30:59.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.41 +Version:1.42 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ @@ -28,6 +28,7 @@ BuildRequires: libuuid-devel BuildRequires: xz Requires: checkmedia +Requires: createrepo Requires: dosfstools Requires: genisoimage Requires: gpg2 ++ mksusecd-1.41.tar.xz -> mksusecd-1.42.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.41/VERSION new/mksusecd-1.42/VERSION --- old/mksusecd-1.41/VERSION 2016-08-02 14:31:06.0 +0200 +++ new/mksusecd-1.42/VERSION 2016-08-12 16:56:20.0 +0200 @@ -1 +1 @@ -1.41 +1.42 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.41/changelog new/mksusecd-1.42/changelog --- old/mksusecd-1.41/changelog 2016-08-02 14:31:06.0 +0200 +++ new/mksusecd-1.42/changelog 2016-08-12 16:56:20.0 +0200 @@ -1,3 +1,9 @@ +2016-08-12:1.42 + - extended help text and added some small fixes + - fix choosing an add-on name + - be less restrictive when generating add-on aliases + - support creating add-ons on the target iso (bsc #991935) + 2016-08-02:1.41 - catch error when we fail to unpack squashfs images - handle modules.order and modules.builtin when updating a kernel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.41/mksusecd new/mksusecd-1.42/mksusecd --- old/mksusecd-1.41/mksusecd 2016-08-02 14:31:06.0 +0200 +++ new/mksusecd-1.42/mksusecd 2016-08-12 16:56:20.0 +0200 @@ -157,6 +157,7 @@ sub rerun_mkisofs; sub run_isohybrid; sub run_isozipl; +sub run_createrepo; sub isols; sub find_magic; sub meta_iso; @@ -192,6 +193,8 @@ sub build_module_list; sub add_modules_to_initrd; sub replace_kernel_mods; +sub new_products_xml; +sub prepare_addon; my %config; my $sudo; @@ -227,6 +230,10 @@ my @opt_kernel_modules; my $opt_arch; my $opt_new_boot_entry; +my @opt_addon_packages; +my $opt_addon_name; +my $opt_addon_alias; +my $opt_addon_prio = 60; GetOptions( 'create|c=s' => sub { $opt_create = 1; $opt_dst = $_[1] }, @@ -273,6 +280,10 @@ 'modules=s{1,}'=> \@opt_kernel_modules, 'arch=s' => \$opt_arch, 'add-entry=s' => \$opt_new_boot_entry, + 'addon=s{1,}' => \@opt_addon_packages, + 'addon-name=s' => \$opt_addon_name, + 'addon-alias=s'=> \$opt_addon_alias, + 'addon-prio=i' => \$opt_addon_prio, 'save-temp'=> \$opt_save_temp, 'verbose|v'=> sub { $opt_verbose++ }, 'version' => sub { print "$VERSION\n"; exit 0 }, @@ -383,11 +394,13 @@ if(!@sources) { my $msg = "no sources - nothing to do\n"; -$msg .= "Maybe you forgot '--' after --kernel or --modules?\n" if @opt_kernel_rpms || @opt_kernel_modules; +if(@opt_kernel_rpms || @opt_kernel_modules || @opt_addon_packages) { + $msg .= "Maybe you forgot '--' after --kernel, --modules, or --addon?\n"; +} die $msg; } - $files = build_filelist; + build_filelist \@sources; $boot = analyze_boot; get_initrd_format; if($opt_sign && ( @@ -404,6 +417,9 @@ $add_initrd = create_initrd; update_kernel_initrd; update_boot_options; + + prepare_addon; + sign_content if update_content; $todo = build_todo; set_mkisofs_metadata; @@ -538,6 +554,18 @@ instead. MODULE_LIST may be space or comma separated. Note: this option takes a
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2016-08-03 11:45:19 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2016-07-15 12:55:09.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2016-08-03 11:45:30.0 +0200 @@ -1,0 +2,7 @@ +Tue Aug 2 12:35:20 UTC 2016 - snw...@suse.com + +- catch error when we fail to unpack squashfs images +- handle modules.order and modules.builtin when updating a kernel +- 1.41 + +--- Old: mksusecd-1.40.tar.xz New: mksusecd-1.41.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.teUYJy/_old 2016-08-03 11:45:31.0 +0200 +++ /var/tmp/diff_new_pack.teUYJy/_new 2016-08-03 11:45:31.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.40 +Version:1.41 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.40.tar.xz -> mksusecd-1.41.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.40/VERSION new/mksusecd-1.41/VERSION --- old/mksusecd-1.40/VERSION 2016-07-15 10:10:59.0 +0200 +++ new/mksusecd-1.41/VERSION 2016-08-02 14:31:06.0 +0200 @@ -1 +1 @@ -1.40 +1.41 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.40/changelog new/mksusecd-1.41/changelog --- old/mksusecd-1.40/changelog 2016-07-15 10:10:59.0 +0200 +++ new/mksusecd-1.41/changelog 2016-08-02 14:31:06.0 +0200 @@ -1,3 +1,7 @@ +2016-08-02:1.41 + - catch error when we fail to unpack squashfs images + - handle modules.order and modules.builtin when updating a kernel + 2016-07-14:1.40 - tw support: also sign image files - sanitize function that removes files from iso diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.40/mksusecd new/mksusecd-1.41/mksusecd --- old/mksusecd-1.40/mksusecd 2016-07-15 10:10:59.0 +0200 +++ new/mksusecd-1.41/mksusecd 2016-08-02 14:31:06.0 +0200 @@ -2848,7 +2848,9 @@ if(-f "$orig_initrd/parts/00_lib") { rmdir $unpack_dir; -system "unsquashfs -n -d $unpack_dir $orig_initrd/parts/00_lib >/dev/null 2>&1"; +if(system "unsquashfs -n -d $unpack_dir $orig_initrd/parts/00_lib >/dev/null 2>&1") { + die "parts/00_lib: failed to unpack squashfs image - squashfs tools too old?\n"; +} } File::Find::find({ @@ -2965,6 +2967,24 @@ } } + # copy modules.order & modules.builtin + + if(-f "$kernel->{dir}/lib/modules/$kernel->{version}/modules.builtin") { +system "cp $kernel->{dir}/lib/modules/$kernel->{version}/modules.builtin $kernel->{new_dir}/lib/modules/$kernel->{version}/"; + } + + if(open my $f, "$kernel->{dir}/lib/modules/$kernel->{version}/modules.order") { +if(open my $w, ">$kernel->{new_dir}/lib/modules/$kernel->{version}/modules.order") { + while(<$f>) { +chomp; +s#.*/#initrd/#; +print $w "$_\n" if -f "$kernel->{new_dir}/lib/modules/$kernel->{version}/$_"; + } + close $w; +} +close $f; + } + system "depmod -a -b $kernel->{new_dir} $kernel->{version}"; # now get firmware files
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2016-07-15 12:54:56 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2016-06-23 13:36:13.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2016-07-15 12:55:09.0 +0200 @@ -1,0 +2,8 @@ +Fri Jul 15 08:15:15 UTC 2016 - snw...@suse.com + +- tw support: also sign image files +- sanitize function that removes files from iso +- remove tumbleweed images in 'micro' format +- 1.40 + +--- Old: mksusecd-1.39.tar.xz New: mksusecd-1.40.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.VP1heA/_old 2016-07-15 12:55:10.0 +0200 +++ /var/tmp/diff_new_pack.VP1heA/_new 2016-07-15 12:55:10.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.39 +Version:1.40 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.39.tar.xz -> mksusecd-1.40.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.39/VERSION new/mksusecd-1.40/VERSION --- old/mksusecd-1.39/VERSION 2016-06-20 17:04:52.0 +0200 +++ new/mksusecd-1.40/VERSION 2016-07-15 10:10:59.0 +0200 @@ -1 +1 @@ -1.39 +1.40 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.39/changelog new/mksusecd-1.40/changelog --- old/mksusecd-1.39/changelog 2016-06-20 17:04:52.0 +0200 +++ new/mksusecd-1.40/changelog 2016-07-15 10:10:59.0 +0200 @@ -1,3 +1,8 @@ +2016-07-14:1.40 + - tw support: also sign image files + - sanitize function that removes files from iso + - remove tumbleweed images in 'micro' format + 2016-06-20:1.39 - create missing 'content' file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.39/mksusecd new/mksusecd-1.40/mksusecd --- old/mksusecd-1.39/mksusecd 2016-06-20 17:04:52.0 +0200 +++ new/mksusecd-1.40/mksusecd 2016-07-15 10:10:59.0 +0200 @@ -172,6 +172,7 @@ sub grub2_add_option; sub yaboot_add_option; sub update_boot_options; +sub exclude_files; sub prepare_normal; sub prepare_micro; sub prepare_nano; @@ -2129,15 +2130,44 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Exclude files from iso. +# +# exclude_files(ref_to_file_list) +# +# ref_to_file_list is an array ref with file name patterns (regexp) to exclude +# +sub exclude_files +{ + my $list = $_[0]; + + my $ex = join "|", @$list; + + for (sort keys %$files) { +if(m#^($ex)$#) { + my $f = fname($_); + push @{$mkisofs->{exclude}}, $f if $f; +} + } +} + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sub prepare_micro { - for ( + exclude_files [ (map { "suse/$_" } @boot_archs, "i586", "noarch"), -"docu", "ls-lR.gz", "INDEX.gz", "ARCHIVES.gz", "ChangeLog", "updates", "linux" - ) { -my $f = fname($_); -push @{$mkisofs->{exclude}}, $f if $f; - } +"docu", +"ls-lR\\.gz", +"INDEX\\.gz", +"ARCHIVES\\.gz", +"ChangeLog", +"updates", +"linux", +"images", +"autorun.inf", +".*\\.ico", +".*\\.exe", + ]; } @@ -2146,7 +2176,7 @@ { prepare_micro; - my $ex = join "|", ( + exclude_files [ "boot/.*/.*\\.rpm", "boot/.*/bind", "boot/.*/common", @@ -2154,22 +2184,19 @@ "boot/.*/rescue", "boot/.*/root", "boot/.*/sax2", +"boot/.*/libstoragemgmt", "boot/.*/branding", "boot/.*/openSUSE", "boot/.*/SLES", "boot/.*/SLED", "boot/.*/.*-xen", -"control.xml", +"control\\.xml", "gpg-.*", "NEWS", - ); - - for (sort keys %$files) { -if(m#^suse(/|$)|^$ex$#) { - my $f = fname($_); - push @{$mkisofs->{exclude}}, $f if $f; -} - } +"license\\.tar\\.gz", +"(|.*/)directory\\.yast", +"suse", + ]; } @@ -2178,31 +2205,19 @@ { prepare_nano; - my $ex = join "|", ( + exclude_files [ "boot/.*/linux", "boot/.*/initrd", "boot/.*/biostest", -"boot/.*/en.tlk", - ); +"boot/.*/en\\.tlk", + ]; if(!$opt_efi) { -$ex .= "|" . join "|", ( +exclude_files [ "boot/.*/efi", "boot/.*/grub2.*", -) - } - - $ex = "^$ex\$"; - - if(!$opt_efi) { -$ex .= "|^EFI(/|\$)"; - } - - for (sort keys %$files) { -if(m#
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2016-06-23 13:36:11 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2016-05-11 16:38:11.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2016-06-23 13:36:13.0 +0200 @@ -1,0 +2,6 @@ +Mon Jun 20 15:05:30 UTC 2016 - snw...@suse.com + +- create missing 'content' file +- 1.39 + +--- Old: mksusecd-1.38.tar.xz New: mksusecd-1.39.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.i0lpJf/_old 2016-06-23 13:36:14.0 +0200 +++ /var/tmp/diff_new_pack.i0lpJf/_new 2016-06-23 13:36:14.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.38 +Version:1.39 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.38.tar.xz -> mksusecd-1.39.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.38/VERSION new/mksusecd-1.39/VERSION --- old/mksusecd-1.38/VERSION 2016-05-10 17:10:44.0 +0200 +++ new/mksusecd-1.39/VERSION 2016-06-20 17:04:52.0 +0200 @@ -1 +1 @@ -1.38 +1.39 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.38/changelog new/mksusecd-1.39/changelog --- old/mksusecd-1.38/changelog 2016-05-10 17:10:44.0 +0200 +++ new/mksusecd-1.39/changelog 2016-06-20 17:04:52.0 +0200 @@ -1,3 +1,6 @@ +2016-06-20:1.39 + - create missing 'content' file + 2016-05-10:1.38 - adjust list of specially handled initrd modules diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.38/mksusecd new/mksusecd-1.39/mksusecd --- old/mksusecd-1.38/mksusecd 2016-05-10 17:10:44.0 +0200 +++ new/mksusecd-1.39/mksusecd 2016-06-20 17:04:52.0 +0200 @@ -144,6 +144,8 @@ sub fname; sub analyze_boot; sub build_todo; +sub new_file; +sub copy_or_new_file; sub copy_file; sub prepare_mkisofs; sub build_filelist; @@ -850,6 +852,50 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# new_file(fname) +# +# Create a new empty file with name fname. +# +# Return full path to fname. +# +sub new_file +{ + my $fname = $_[0]; + my $new_path = "$tmp_new/$fname"; + + if($fname =~ m#(.+)/([^/]+)#) { +system "mkdir -p '$tmp_new/$1'"; + } + + if(open my $x, ">$new_path") { close $x } + + # update file location database + $files->{$fname} = $tmp_new; + + return $new_path; +} + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# copy_or_new_file(fname) +# +# Create a writable copy of fname or a new empty file if fname does not exist. +# +# Return full path to fname. +# +sub copy_or_new_file +{ + return copy_file($_[0]) || new_file($_[0]); +} + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# copy_file(fname) +# +# Create a writable copy of fname. +# +# Return full path to fname or undef if it does not exist. +# sub copy_file { my $f = fname($_[0]); @@ -2272,11 +2318,10 @@ my $content_file = fname "content"; - return unless defined $content_file; - my $cont; # first, read file + # ($content_file may be undefined - which is ok) if(open(my $f, $content_file)) { while(<$f>) { next if /^\s*$/; @@ -2329,7 +2374,7 @@ # if something changed, write new file if($changed) { -my $n = copy_file "content"; +my $n = copy_or_new_file "content"; if($n) { if(open my $f, ">", $n) { @@ -2464,8 +2509,7 @@ my $c = copy_file "content"; return if !defined $c; - my $k = copy_file "content.key"; - return if !defined $k; + my $k = copy_or_new_file "content.key"; copy_file "content.asc";
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2016-05-11 16:38:03 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2016-01-20 09:54:54.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2016-05-11 16:38:11.0 +0200 @@ -1,0 +2,6 @@ +Tue May 10 15:15:17 UTC 2016 - snw...@suse.com + +- adjust list of specially handled initrd modules +- 1.38 + +--- Old: mksusecd-1.37.tar.xz New: mksusecd-1.38.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.kX0FlP/_old 2016-05-11 16:38:11.0 +0200 +++ /var/tmp/diff_new_pack.kX0FlP/_new 2016-05-11 16:38:11.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.37 +Version:1.38 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.37.tar.xz -> mksusecd-1.38.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.37/VERSION new/mksusecd-1.38/VERSION --- old/mksusecd-1.37/VERSION 2016-01-18 10:59:38.0 +0100 +++ new/mksusecd-1.38/VERSION 2016-05-10 17:10:44.0 +0200 @@ -1 +1 @@ -1.37 +1.38 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.37/changelog new/mksusecd-1.38/changelog --- old/mksusecd-1.37/changelog 2016-01-18 10:59:38.0 +0100 +++ new/mksusecd-1.38/changelog 2016-05-10 17:10:44.0 +0200 @@ -1,3 +1,6 @@ +2016-05-10:1.38 + - adjust list of specially handled initrd modules + 2016-01-18:1.37 - fix typo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.37/mksusecd new/mksusecd-1.38/mksusecd --- old/mksusecd-1.37/mksusecd 2016-01-18 10:59:38.0 +0100 +++ new/mksusecd-1.38/mksusecd 2016-05-10 17:10:44.0 +0200 @@ -2970,7 +2970,7 @@ mkdir "$tmp_dir/lib/modules/$kernel->{version}", 0755; mkdir "$tmp_dir/lib/modules/$kernel->{version}/initrd", 0755; -for ("loop.ko", "squashfs.ko") { +for ("loop.ko", "squashfs.ko", "lz4_decompress.ko") { rename "$kernel->{new_dir}/lib/modules/$kernel->{version}/initrd/$_", "$tmp_dir/lib/modules/$kernel->{version}/initrd/$_"; }
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2016-01-20 09:54:45 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-12-09 22:24:58.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2016-01-20 09:54:54.0 +0100 @@ -1,0 +2,6 @@ +Mon Jan 18 10:00:16 UTC 2016 - snw...@suse.com + +- fix typo +- 1.37 + +--- Old: mksusecd-1.36.tar.xz New: mksusecd-1.37.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.ESlhdB/_old 2016-01-20 09:54:55.0 +0100 +++ /var/tmp/diff_new_pack.ESlhdB/_new 2016-01-20 09:54:55.0 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.36 +Version:1.37 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.36.tar.xz -> mksusecd-1.37.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.36/VERSION new/mksusecd-1.37/VERSION --- old/mksusecd-1.36/VERSION 2015-12-08 11:38:36.0 +0100 +++ new/mksusecd-1.37/VERSION 2016-01-18 10:59:38.0 +0100 @@ -1 +1 @@ -1.36 +1.37 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.36/changelog new/mksusecd-1.37/changelog --- old/mksusecd-1.36/changelog 2015-12-08 11:38:36.0 +0100 +++ new/mksusecd-1.37/changelog 2016-01-18 10:59:38.0 +0100 @@ -1,3 +1,6 @@ +2016-01-18:1.37 + - fix typo + 2015-12-08:1.36 - add hashes for license and control file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.36/mksusecd new/mksusecd-1.37/mksusecd --- old/mksusecd-1.36/mksusecd 2015-12-08 11:38:36.0 +0100 +++ new/mksusecd-1.37/mksusecd 2016-01-18 10:59:38.0 +0100 @@ -929,7 +929,7 @@ my $f = fname($_->{$t}{base}); my $s = -s $f; $s = (($s + 2047) >> 11) << 2; - $s = 1 if $s == 0 || $s >> 0x; + $s = 1 if $s == 0 || $s > 0x; push @{$mkisofs->{sort}}, "$f 101"; $mkisofs->{options} .= " -eltorito-alt-boot -no-emul-boot -boot-load-size $s -b $_->{$t}{base}";
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-12-09 19:54:04 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-12-06 07:43:47.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-12-09 22:24:58.0 +0100 @@ -1,0 +2,6 @@ +Tue Dec 8 09:40:12 UTC 2015 - snw...@suse.com + +- add hashes for license and control file +- 1.36 + +--- Old: mksusecd-1.35.tar.xz New: mksusecd-1.36.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.Qx4bLo/_old 2015-12-09 22:24:59.0 +0100 +++ /var/tmp/diff_new_pack.Qx4bLo/_new 2015-12-09 22:24:59.0 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.35 +Version:1.36 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.35.tar.xz -> mksusecd-1.36.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.35/VERSION new/mksusecd-1.36/VERSION --- old/mksusecd-1.35/VERSION 2015-12-04 16:34:54.0 +0100 +++ new/mksusecd-1.36/VERSION 2015-12-08 11:38:36.0 +0100 @@ -1 +1 @@ -1.35 +1.36 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.35/changelog new/mksusecd-1.36/changelog --- old/mksusecd-1.35/changelog 2015-12-04 16:34:54.0 +0100 +++ new/mksusecd-1.36/changelog 2015-12-08 11:38:36.0 +0100 @@ -1,3 +1,6 @@ +2015-12-08:1.36 + - add hashes for license and control file + 2015-12-04:1.35 - support uncompressed initrd (bsc #957847) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.35/mksusecd new/mksusecd-1.36/mksusecd --- old/mksusecd-1.35/mksusecd 2015-12-04 16:34:54.0 +0100 +++ new/mksusecd-1.36/mksusecd 2015-12-08 11:38:36.0 +0100 @@ -2304,6 +2304,8 @@ next if m#directory\.yast$#; add_to_content_file $cont, "KEY", $_, '^gpg-pubkey-'; +add_to_content_file $cont, "HASH", $_, '^license.tar.gz$'; +add_to_content_file $cont, "HASH", $_, '^control.xml$'; add_to_content_file $cont, "HASH", $_, '^boot/[^/]+/[^/]+$'; add_to_content_file $cont, "HASH", $_, '^boot/.+/initrd[^/.]*$'; add_to_content_file $cont, "HASH", $_, '^boot/.+/linux[^/.]*$';
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-12-06 07:43:46 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-10-22 12:59:41.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-12-06 07:43:47.0 +0100 @@ -1,0 +2,6 @@ +Fri Dec 4 14:35:58 UTC 2015 - snw...@suse.com + +- support uncompressed initrd (bsc#957847) +- 1.35 + +--- Old: mksusecd-1.34.tar.xz New: mksusecd-1.35.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.J6SvPy/_old 2015-12-06 07:43:47.0 +0100 +++ /var/tmp/diff_new_pack.J6SvPy/_new 2015-12-06 07:43:47.0 +0100 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.34 +Version:1.35 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.34.tar.xz -> mksusecd-1.35.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.34/VERSION new/mksusecd-1.35/VERSION --- old/mksusecd-1.34/VERSION 2015-10-21 12:08:45.0 +0200 +++ new/mksusecd-1.35/VERSION 2015-12-04 16:34:54.0 +0100 @@ -1 +1 @@ -1.34 +1.35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.34/changelog new/mksusecd-1.35/changelog --- old/mksusecd-1.34/changelog 2015-10-21 12:08:45.0 +0200 +++ new/mksusecd-1.35/changelog 2015-12-04 16:34:54.0 +0100 @@ -1,3 +1,6 @@ +2015-12-04:1.35 + - support uncompressed initrd (bsc #957847) + 2015-10-21:1.34 - fix ppc boot iso creation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.34/mksusecd new/mksusecd-1.35/mksusecd --- old/mksusecd-1.34/mksusecd 2015-10-21 12:08:45.0 +0200 +++ new/mksusecd-1.35/mksusecd 2015-12-04 16:34:54.0 +0100 @@ -1603,7 +1603,9 @@ print "initrd: linuxrc detected, renamed to /init\n"; } - my $compr = $initrd_format eq "xz" ? "xz --check=crc32 -c" : "gzip -9c"; + my $compr = 'cat'; + $compr = "xz --check=crc32 -c" if $initrd_format eq "xz"; + $compr = "gzip -9c" if $initrd_format eq "gz"; system "( cd $tmp_dir; find . | cpio --quiet -o -H newc --owner 0:0 | $compr ) >> $tmp_initrd"; @@ -1728,7 +1730,8 @@ } } else { - die "$x->{initrd}: invalid initrd format\n" + print STDERR "Warning: $x->{initrd}: uncompressed initrd\n"; + $f = 'cat'; } }
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-10-22 12:59:32 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-09-30 05:53:23.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-10-22 12:59:41.0 +0200 @@ -1,0 +2,6 @@ +Wed Oct 21 10:11:36 UTC 2015 - snw...@suse.com + +- fix ppc boot iso creation +- 1.34 + +--- Old: mksusecd-1.33.tar.xz New: mksusecd-1.34.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.EEr5Z8/_old 2015-10-22 12:59:42.0 +0200 +++ /var/tmp/diff_new_pack.EEr5Z8/_new 2015-10-22 12:59:42.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.33 +Version:1.34 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.33.tar.xz -> mksusecd-1.34.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.33/VERSION new/mksusecd-1.34/VERSION --- old/mksusecd-1.33/VERSION 2015-09-29 11:13:33.0 +0200 +++ new/mksusecd-1.34/VERSION 2015-10-21 12:08:45.0 +0200 @@ -1 +1 @@ -1.33 +1.34 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.33/changelog new/mksusecd-1.34/changelog --- old/mksusecd-1.33/changelog 2015-09-29 11:13:33.0 +0200 +++ new/mksusecd-1.34/changelog 2015-10-21 12:08:45.0 +0200 @@ -1,3 +1,6 @@ +2015-10-21:1.34 + - fix ppc boot iso creation + 2015-09-28:1.33 - Add link to linux-devtools documentation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.33/mksusecd new/mksusecd-1.34/mksusecd --- old/mksusecd-1.33/mksusecd 2015-09-29 11:13:33.0 +0200 +++ new/mksusecd-1.34/mksusecd 2015-10-21 12:08:45.0 +0200 @@ -404,13 +404,14 @@ sign_content if update_content; $todo = build_todo; set_mkisofs_metadata; - prepare_mkisofs; prepare_normal; prepare_micro if $opt_type eq 'micro'; prepare_nano if $opt_type eq 'nano'; prepare_pico if $opt_type eq 'pico'; + prepare_mkisofs; + # print "sources = ", Dumper(\@sources); # print "boot = ", Dumper($boot); # print "todo = ", Dumper($todo); @@ -840,6 +841,7 @@ $opt_no_mbr_chs = 1 if !defined $opt_no_mbr_chs; $opt_no_mbr_code = 1 if !defined $opt_no_mbr_code; $two_runs = 0; + $mkisofs->{options} .= " -U";# untranslated filenames for ppc firmware } }
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-09-30 05:53:22 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-08-13 18:10:52.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-09-30 05:53:23.0 +0200 @@ -1,0 +2,6 @@ +Tue Sep 29 09:15:22 UTC 2015 - snw...@suse.com + +- Add link to linux-devtools documentation +- 1.33 + +--- Old: mksusecd-1.32.tar.xz New: mksusecd-1.33.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.xNxiFx/_old 2015-09-30 05:53:24.0 +0200 +++ /var/tmp/diff_new_pack.xNxiFx/_new 2015-09-30 05:53:24.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.32 +Version:1.33 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.32.tar.xz -> mksusecd-1.33.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.32/README.md new/mksusecd-1.33/README.md --- old/mksusecd-1.32/README.md 2015-08-12 14:12:35.0 +0200 +++ new/mksusecd-1.33/README.md 2015-09-29 11:13:33.0 +0200 @@ -1,9 +1,10 @@ +# mksusecd + This is a tool to create SUSE Linux installation ISOs, either from scratch or by modifying existing ISOs. A simple use case is to regenerate a ISO to include fixes, see below. - -### Installation +## Installation Often you will need [mkdud][1] along with mksusecd. Both mksusecd and mkdud are included in openSUSE Tumbleweed. So on openSUSE Tumbleweed installation is as @@ -15,7 +16,7 @@ [1]: https://github.com/openSUSE/mkdud -### Simple use case +## Simple use case We have a patch for yast2-core that is needed during installation and the final system, e.g. for an AutoYaST installation. The patch is included in @@ -36,3 +37,12 @@ Now you can use bug-free.iso as a replacement for openSUSE-13.2-DVD-x86_64.iso. +## openSUSE Development + +The package is automatically submitted from the `master` branch to +[system:install:head](https://build.opensuse.org/package/show/system:install:head/mksusecd) +OBS project. From that place it is forwarded to +[openSUSE Factory](https://build.opensuse.org/project/show/openSUSE:Factory). + +You can find more information about this workflow in the [linuxrc-devtools +documentation](https://github.com/openSUSE/linuxrc-devtools#opensuse-development). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.32/VERSION new/mksusecd-1.33/VERSION --- old/mksusecd-1.32/VERSION 2015-08-12 14:12:35.0 +0200 +++ new/mksusecd-1.33/VERSION 2015-09-29 11:13:33.0 +0200 @@ -1 +1 @@ -1.32 +1.33 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.32/changelog new/mksusecd-1.33/changelog --- old/mksusecd-1.32/changelog 2015-08-12 14:12:35.0 +0200 +++ new/mksusecd-1.33/changelog 2015-09-29 11:13:33.0 +0200 @@ -1,3 +1,6 @@ +2015-09-28:1.33 + - Add link to linux-devtools documentation + 2015-08-12:1.32 - move isozipl to /usr/bin - make it work also with mkisofs from cdrtools
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-08-13 18:10:38 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-08-11 08:27:10.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-08-13 18:10:52.0 +0200 @@ -1,0 +2,12 @@ +Wed Aug 12 14:21:04 CEST 2015 - snw...@suse.com + +- move isozipl to /usr/bin +- make it work also with mkisofs from cdrtools +- 1.32 + +--- +Wed Aug 12 14:17:28 CEST 2015 - snw...@suse.de + +- syslinux is no longer required + +--- Old: mksusecd-1.31.tar.xz New: mksusecd-1.32.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.UOqRV8/_old 2015-08-13 18:10:52.0 +0200 +++ /var/tmp/diff_new_pack.UOqRV8/_new 2015-08-13 18:10:52.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.31 +Version:1.32 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ @@ -33,7 +33,6 @@ Requires: gpg2 Requires: mtools Requires: squashfs -Requires: syslinux Requires: xz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++ mksusecd-1.31.tar.xz -> mksusecd-1.32.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.31/Makefile new/mksusecd-1.32/Makefile --- old/mksusecd-1.31/Makefile 2015-08-10 15:54:49.0 +0200 +++ new/mksusecd-1.32/Makefile 2015-08-12 14:12:35.0 +0200 @@ -38,7 +38,7 @@ @cp isozipl isozipl.tmp @perl -pi -e 's/0\.0/$(VERSION)/ if /VERSION = /' isozipl.tmp install -m 755 -D mksusecd.tmp $(DESTDIR)$(BINDIR)/mksusecd - install -m 755 -D isozipl.tmp $(DESTDIR)$(LIBDIR)/mksusecd/isozipl + install -m 755 -D isozipl.tmp $(DESTDIR)$(BINDIR)/isozipl install -m 755 -D isohybrid $(DESTDIR)$(LIBDIR)/mksusecd/isohybrid @rm -f mksusecd.tmp isozipl.tmp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.31/VERSION new/mksusecd-1.32/VERSION --- old/mksusecd-1.31/VERSION 2015-08-10 15:54:49.0 +0200 +++ new/mksusecd-1.32/VERSION 2015-08-12 14:12:35.0 +0200 @@ -1 +1 @@ -1.31 +1.32 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.31/changelog new/mksusecd-1.32/changelog --- old/mksusecd-1.31/changelog 2015-08-10 15:54:49.0 +0200 +++ new/mksusecd-1.32/changelog 2015-08-12 14:12:35.0 +0200 @@ -1,3 +1,7 @@ +2015-08-12:1.32 + - move isozipl to /usr/bin + - make it work also with mkisofs from cdrtools + 2015-08-10:1.31 - fix cpio unpacking bug diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.31/mksusecd new/mksusecd-1.32/mksusecd --- old/mksusecd-1.31/mksusecd 2015-08-10 15:54:49.0 +0200 +++ new/mksusecd-1.32/mksusecd 2015-08-12 14:12:35.0 +0200 @@ -314,7 +314,7 @@ my $boot; my $todo; my $iso_cnt = 0; -my $mkisofs = { command => 'genisoimage' }; +my $mkisofs = { command => '/usr/bin/mkisofs' }; my $iso_file; my $iso_fh; my $two_runs; @@ -337,6 +337,10 @@ my $progress_end = 100; my $progress_txt = 'building:'; +$mkisofs->{command} = "/usr/bin/genisoimage" if ! -x $mkisofs->{command}; + +die "mkisofs: command not found\n" if ! -x $mkisofs->{command}; + if($opt_create) { # if(@opt_kernel_rpms) { #die "Sorry, you must run mksusecd as root to replace kernel modules." if $>; @@ -1074,14 +1078,30 @@ my @entry; - for (my $i = 0; $i < $entries; $i++) { -push @entry, substr $boot_catalog, 32 * ($i + 1), 32; -substr($entry[-1], 12, 20) = pack "Ca19", 1, $mkisofs->{fix_catalog}[$i]; -if((unpack "C", $entry[-1])[0] != 0x88) { + # collect boot catalog entries + # depending on the mkisofs variant, the catalog may or may not be correct + # that is, have section headers (type 0x90, 0x91) or not + + for (my $i = my $j = 0; $i < $entries; $j++) { +my $ent = substr $boot_catalog, 32 * ($j + 1), 32; +my $t = (unpack "C", $ent)[0]; + +next if $t == 0x90 || $t == 0x91; + +if($t != 0x88) { die "$iso_file: boot entry $i: strange content\n"; } + +push @entry, $ent; +substr($entry[-1], 12, 20) = pack "Ca19", 1, $mkisofs->{fix_catalog}[$i]; + +$i++; } + # rewrite the boot cata
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-08-11 08:27:08 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-07-24 09:59:02.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-08-11 08:27:10.0 +0200 @@ -1,0 +2,6 @@ +Mon Aug 10 15:56:07 CEST 2015 - snw...@suse.com + +- fix cpio unpacking bug +- 1.31 + +--- Old: mksusecd-1.30.tar.xz New: mksusecd-1.31.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.95GMue/_old 2015-08-11 08:27:11.0 +0200 +++ /var/tmp/diff_new_pack.95GMue/_new 2015-08-11 08:27:11.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.30 +Version:1.31 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.30.tar.xz -> mksusecd-1.31.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.30/VERSION new/mksusecd-1.31/VERSION --- old/mksusecd-1.30/VERSION 2015-07-23 16:33:12.0 +0200 +++ new/mksusecd-1.31/VERSION 2015-08-10 15:54:49.0 +0200 @@ -1 +1 @@ -1.30 +1.31 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.30/changelog new/mksusecd-1.31/changelog --- old/mksusecd-1.30/changelog 2015-07-23 16:33:12.0 +0200 +++ new/mksusecd-1.31/changelog 2015-08-10 15:54:49.0 +0200 @@ -1,3 +1,6 @@ +2015-08-10:1.31 + - fix cpio unpacking bug + 2015-07-23:1.30 - integrate isozipl in mksusecd - add some options to isohybrid to make it more flexible diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.30/mksusecd new/mksusecd-1.31/mksusecd --- old/mksusecd-1.30/mksusecd 2015-07-23 16:33:12.0 +0200 +++ new/mksusecd-1.31/mksusecd 2015-08-10 15:54:49.0 +0200 @@ -331,6 +331,7 @@ my $hybrid_part_type; my $kernel; my $warned; +my $read_write; my $progress_start = 0; my $progress_end = 100; @@ -2547,7 +2548,7 @@ $cnt = 1; - sub read_write + $read_write = sub { my $len = $_[0]; my $read; @@ -2568,10 +2569,10 @@ syswrite $p, $buf, $read if $read && $p; return $read; - } + }; if(open $f, $file) { -while(($len = read_write(110)) == 110) { +while(($len = &$read_write(110)) == 110) { $ofs += 110; # printf "header = \"%s\" %d\n", $buf, length($buf); @@ -2589,11 +2590,11 @@ $fname_len += (2, 1, 0, 3)[$fname_len & 3]; $data_len = (($data_len + 3) & ~3); - read_write $fname_len; + &$read_write($fname_len); $fname = $buf; $fname =~ s/\x00*$//; - read_write $data_len; + &$read_write($data_len); $ofs += $fname_len + $data_len; @@ -2606,7 +2607,7 @@ $head eq '0001000B' ) { my $pad = ($ofs + 0x1ff) & ~0x1ff; -read_write $pad - $ofs; +&$read_write($pad - $ofs); $ofs = $pad; $cnt++; close $p if $p;
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-07-24 09:58:59 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-07-23 15:23:10.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-07-24 09:59:02.0 +0200 @@ -1,0 +2,8 @@ +Thu Jul 23 16:36:06 CEST 2015 - snw...@suse.com + +- integrate isozipl in mksusecd +- add some options to isohybrid to make it more flexible +- add zipl binary blobs +- 1.30 + +--- Old: mksusecd-1.29.tar.xz New: mksusecd-1.30.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.uSd1MC/_old 2015-07-24 09:59:03.0 +0200 +++ /var/tmp/diff_new_pack.uSd1MC/_new 2015-07-24 09:59:03.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.29 +Version:1.30 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.29.tar.xz -> mksusecd-1.30.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.29/VERSION new/mksusecd-1.30/VERSION --- old/mksusecd-1.29/VERSION 2015-07-22 17:14:04.0 +0200 +++ new/mksusecd-1.30/VERSION 2015-07-23 16:33:12.0 +0200 @@ -1 +1 @@ -1.29 +1.30 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.29/changelog new/mksusecd-1.30/changelog --- old/mksusecd-1.29/changelog 2015-07-22 17:14:04.0 +0200 +++ new/mksusecd-1.30/changelog 2015-07-23 16:33:12.0 +0200 @@ -1,3 +1,8 @@ +2015-07-23:1.30 + - integrate isozipl in mksusecd + - add some options to isohybrid to make it more flexible + - add zipl binary blobs + 2015-07-22:1.29 - added isozipl to make an iso zipl bootable diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.29/isohybrid.c new/mksusecd-1.30/isohybrid.c --- old/mksusecd-1.29/isohybrid.c 2015-07-22 17:14:04.0 +0200 +++ new/mksusecd-1.30/isohybrid.c 2015-07-23 16:33:12.0 +0200 @@ -72,6 +72,13 @@ off_t iso_size = 0; off_t iso_filesize = 0; +struct { + unsigned no_mbr:1; /* gpt: don't write protective mbr */ + unsigned no_code:1; /* no mbr boot code */ + unsigned no_chs:1; /* fill in 0xff instead of real chs values */ +} opt; + + /* boot catalogue parameters */ uint32_t de_lba = 0; uint16_t de_seg = 0, de_count = 0, de_mbz2 = 0; @@ -242,6 +249,9 @@ printf(FMT, " -m --mac", "Add AFP table support"); printf(FMT, " --gpt", "Force GPT"); printf(FMT, " --mbr", "Force MBR"); +printf(FMT, " --no-mbr", "Don't write protective MBR for GPT"); +printf(FMT, " --no-code", "Don't include MBR boot code"); +printf(FMT, " --no-chs", "Don't fill in CHS values, use 0xff instead"); printf("\n"); printf(FMT, " --forcehd0", "Assume we are loaded as disk ID 0"); @@ -273,6 +283,9 @@ { "id", required_argument, NULL, 'i' }, { "gpt", no_argument, NULL, 1001 }, { "mbr", no_argument, NULL, 1002 }, +{ "no-mbr", no_argument, NULL, 1003 }, +{ "no-code", no_argument, NULL, 1004 }, +{ "no-chs", no_argument, NULL, 1005 }, { "forcehd0", no_argument, NULL, 'f' }, { "ctrlhd0", no_argument, NULL, 'c' }, @@ -360,6 +373,18 @@ mode |= MODE_MBR; break; +case 1003: +opt.no_mbr = 1; +break; + +case 1004: +opt.no_code = 1; +break; + +case 1005: +opt.no_chs = 1; +break; + case 'V': printf("%s version %s\n", prog, VERSION); exit(0); @@ -585,6 +610,8 @@ { unsigned c, h, s; + if(opt.no_chs) return 0xff00; + s = (ofs % sector) + 1; h = (ofs / sector) % head; c = ofs / (sector * head); @@ -600,9 +627,11 @@ uint32_t tmp = 0, chs; uint8_t *rbm = mbr; +if(opt.no_mbr) return 0x200; + extern unsigned char isohdpfx[][MBRSIZE]; -if (catoffset) memcpy(mbr, &isohdpfx[hd0 + 3 * partok], MBRSIZE); +if (catoffset && !opt.no_code) memcpy(mbr, &isohdpfx[hd0 + 3 * partok], MBRSIZE); if (mode & MAC) { memcpy(mbr, afp_header, sizeof(afp_header)); @@ -611,7 +640,7 @@ mbr += MBRSIZE; /* offset 432 */ tmp = lendian_int(de_lba * 4)
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-07-14 17:45:02 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-07-08 07:00:01.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-07-14 17:46:20.0 +0200 @@ -1,0 +2,6 @@ +Mon Jul 13 15:06:21 CEST 2015 - snw...@suse.com + +- fix cpio archive unpacking +- 1.28 + +--- Old: mksusecd-1.27.tar.xz New: mksusecd-1.28.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.0Hd11i/_old 2015-07-14 17:46:20.0 +0200 +++ /var/tmp/diff_new_pack.0Hd11i/_new 2015-07-14 17:46:20.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.27 +Version:1.28 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.27.tar.xz -> mksusecd-1.28.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.27/VERSION new/mksusecd-1.28/VERSION --- old/mksusecd-1.27/VERSION 2015-07-07 14:01:57.0 +0200 +++ new/mksusecd-1.28/VERSION 2015-07-13 15:01:09.0 +0200 @@ -1 +1 @@ -1.27 +1.28 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.27/changelog new/mksusecd-1.28/changelog --- old/mksusecd-1.27/changelog 2015-07-07 14:01:57.0 +0200 +++ new/mksusecd-1.28/changelog 2015-07-13 15:01:09.0 +0200 @@ -1,3 +1,6 @@ +2015-07-13:1.28 + - fix cpio archive unpacking + 2015-07-07:1.27 - README: link to mkdud; grammar; formatting diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.27/mksusecd new/mksusecd-1.28/mksusecd --- old/mksusecd-1.27/mksusecd 2015-07-07 14:01:57.0 +0200 +++ new/mksusecd-1.28/mksusecd 2015-07-13 15:01:09.0 +0200 @@ -181,7 +181,7 @@ sub sign_content; sub file_magic; sub get_archive_type; -sub unpack_cpio; +sub unpack_cpiox; sub unpack_archive; sub format_array; sub get_initrd_modules; @@ -351,9 +351,12 @@ die "$_: unsupported source type\n"; } } -else { +elsif(-e _) { die "$_: unsupported source type\n"; } +else { + die "$_: no such file or directory\n"; +} } if(!@sources) { @@ -2421,7 +2424,10 @@ if($t =~ /^RPM/) { $type = "cpio.rpm$type"; } -elsif($t =~ / (cpio|tar) archive/) { +elsif($t =~ /^ASCII cpio archive \(SVR4/) { + $type = "cpiox$type"; +} +elsif($t =~ /\b(cpio|tar) archive/) { $type = "$1$type"; } elsif($t =~ /^(gzip|XZ) compressed data/) { @@ -2440,6 +2446,8 @@ } } while($type =~ /^\./); + # print "$file = $type\n"; + return $type; } @@ -2447,56 +2455,99 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Unpack cpio archive. # -# unpack_cpio(dir, file, part) +# unpack_cpiox(dir, file, part) # # - dir: the directory to unpack to # - file: the archive file name # - part: the part number of a multipart archive (kernel initramfs-like) # (0 = unpack all) # -sub unpack_cpio +sub unpack_cpiox { my $dst = shift; my $file = shift; my $part = shift() + 0; - my ($p, $buf_size, $buf, $cnt); + my ($f, $p, $buf, $cnt, $len, $magic, $head, $fname_len, $data_len, $fname, $ofs); my $cpio_cmd = 'cpio --quiet -dmiu --sparse --no-absolute-filenames 2>/dev/null'; $cnt = 1; - $buf_size = 1 << 16; - if(open my $f, $file) { -while(sysread($f, $buf, $buf_size, length $buf) > 0) { - # printf STDERR "read buf = %d\n", length $buf; - - for(my $i = 0; $i < length($buf); $i += 512) { -# printf STDERR "buf = %d, i = %d\n", length($buf), $i; -if(substr($buf, $i, 512) =~ /TRAILER!!!\x00*$/) { - # printf STDERR "end = %d, writing %d\n", $i, $i + 512; - open $p, "| ( cd $dst ; $cpio_cmd )" if !$p && ($part == 0 || $part == $cnt); - if($p) { -syswrite $p, substr($buf, 0, $i + 512); -close $p; -undef $p; - } - substr($buf, 0, $i + 512) = ""; - $i = -512; - $cnt++; -} - } - if(length($buf)) { -# printf STDERR "writing %d\n", length($buf); -open $p, "| ( cd $dst ; $cpio_cmd )" if !$p && ($part == 0 || $part == $cnt); -syswrite $p, $buf if $p; -$buf = ""; + sub read_
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-07-08 06:59:59 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-06-30 10:16:16.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-07-08 07:00:01.0 +0200 @@ -1,0 +2,12 @@ +Tue Jul 7 14:06:21 CEST 2015 - snw...@suse.com + +- README: link to mkdud; grammar; formatting +- 1.27 + +--- +Mon Jul 6 17:11:21 CEST 2015 - snw...@suse.com + +- extended readme +- 1.26 + +--- Old: mksusecd-1.25.tar.xz New: mksusecd-1.27.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.IlAHpF/_old 2015-07-08 07:00:02.0 +0200 +++ /var/tmp/diff_new_pack.IlAHpF/_new 2015-07-08 07:00:02.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.25 +Version:1.27 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.25.tar.xz -> mksusecd-1.27.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.25/README new/mksusecd-1.27/README --- old/mksusecd-1.25/README2015-06-25 13:03:04.0 +0200 +++ new/mksusecd-1.27/README1970-01-01 01:00:00.0 +0100 @@ -1 +0,0 @@ -This is a tool to create SUSE Linux installation ISOs. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.25/README.md new/mksusecd-1.27/README.md --- old/mksusecd-1.25/README.md 1970-01-01 01:00:00.0 +0100 +++ new/mksusecd-1.27/README.md 2015-07-07 14:01:57.0 +0200 @@ -0,0 +1,38 @@ +This is a tool to create SUSE Linux installation ISOs, either from scratch or +by modifying existing ISOs. A simple use case is to regenerate a ISO to +include fixes, see below. + + +### Installation + +Often you will need [mkdud][1] along with mksusecd. Both mksusecd and mkdud are +included in openSUSE Tumbleweed. So on openSUSE Tumbleweed installation is as +simple as + +``` +zypper in mksusecd mkdud +``` + +[1]: https://github.com/openSUSE/mkdud + +### Simple use case + +We have a patch for yast2-core that is needed during installation and the +final system, e.g. for an AutoYaST installation. The patch is included in +yast2-core-3.1.12-0.x86_64.rpm. + +1. Login as root since mksusecd needs root permissions for temporary mounting of + file systems. + +2. Create a Driver Update Disk (DUD) from yast2-core.rpm: +``` +mkdud --create bug-free.dud --dist 13.2 yast2-core-3.1.12-0.x86_64.rpm +``` + +3. Create a new ISO from the original openSUSE 13.2 ISO and the DUD: +``` +mksusecd --create bug-free.iso --initrd bug-free.dud openSUSE-13.2-DVD-x86_64.iso +``` + +Now you can use bug-free.iso as a replacement for openSUSE-13.2-DVD-x86_64.iso. + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.25/VERSION new/mksusecd-1.27/VERSION --- old/mksusecd-1.25/VERSION 2015-06-25 13:03:04.0 +0200 +++ new/mksusecd-1.27/VERSION 2015-07-07 14:01:57.0 +0200 @@ -1 +1 @@ -1.25 +1.27 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.25/changelog new/mksusecd-1.27/changelog --- old/mksusecd-1.25/changelog 2015-06-25 13:03:04.0 +0200 +++ new/mksusecd-1.27/changelog 2015-07-07 14:01:57.0 +0200 @@ -1,3 +1,9 @@ +2015-07-07:1.27 + - README: link to mkdud; grammar; formatting + +2015-07-06:1.26 + - extended readme + 2015-06-25:1.25 - keep /content file up-to-date even when new files are added to the iso
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-06-30 10:16:14 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-06-23 11:58:18.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-06-30 10:16:16.0 +0200 @@ -1,0 +2,6 @@ +Thu Jun 25 13:06:04 CEST 2015 - snw...@suse.com + +- keep /content file up-to-date even when new files are added to the iso +- 1.25 + +--- Old: mksusecd-1.24.tar.xz New: mksusecd-1.25.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.k8yHzd/_old 2015-06-30 10:16:17.0 +0200 +++ /var/tmp/diff_new_pack.k8yHzd/_new 2015-06-30 10:16:17.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.24 +Version:1.25 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.24.tar.xz -> mksusecd-1.25.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.24/VERSION new/mksusecd-1.25/VERSION --- old/mksusecd-1.24/VERSION 2015-06-19 15:09:28.0 +0200 +++ new/mksusecd-1.25/VERSION 2015-06-25 13:03:04.0 +0200 @@ -1 +1 @@ -1.24 +1.25 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.24/changelog new/mksusecd-1.25/changelog --- old/mksusecd-1.24/changelog 2015-06-19 15:09:28.0 +0200 +++ new/mksusecd-1.25/changelog 2015-06-25 13:03:04.0 +0200 @@ -1,3 +1,6 @@ +2015-06-25:1.25 + - keep /content file up-to-date even when new files are added to the iso + 2015-06-19:1.24 - ensure '/content' is re-signed when necessary diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.24/mksusecd new/mksusecd-1.25/mksusecd --- old/mksusecd-1.24/mksusecd 2015-06-19 15:09:28.0 +0200 +++ new/mksusecd-1.25/mksusecd 2015-06-25 13:03:04.0 +0200 @@ -174,6 +174,7 @@ sub prepare_nano; sub prepare_pico; sub set_mkisofs_metadata; +sub add_to_content_file; sub update_content; sub create_sign_key; sub add_sign_key; @@ -2129,6 +2130,37 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Add a file's check sum to /content. +# +# add_to_content_file($content, $type, $file_name, $pattern) +# +sub add_to_content_file +{ + my $cont = shift; + my $type = shift; + my $name = shift; + my $pattern = shift; + + my $match = $name; + $name =~ s#.*/## if $type eq "META"; + + if($match =~ m#$pattern# && !$cont->{$type}{$name}{new}) { +my $digest = Digest::SHA->new($cont->{bits}); +my $f = fname($type eq "META" ? "suse/setup/descr/$name" : $name); +if(-f $f) { + # print "$name\n"; + $digest->addfile($f); + my $sum = $digest->hexdigest; + $cont->{$type}{$name}{new} = "$cont->{bits} $sum"; +} + } +} + + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Create a new /content file and return 1 if it is different from the +# existing one. +# sub update_content { my $changed = 0; @@ -2136,46 +2168,76 @@ # don't modify content if we're not going to re-sign it return $changed if !$opt_sign; - my $content = fname "content"; + my $content_file = fname "content"; - return unless defined $content; + return unless defined $content_file; - my $content_old; - my $content_new; + my $cont; - if(open(my $f, $content)) { + # first, read file + if(open(my $f, $content_file)) { while(<$f>) { - $content_old .= $_; + next if /^\s*$/; if(/^((META|HASH|KEY)\s+SHA(\d+)\s+)(\S+)(\s+(\S+))/) { -my $bits = "\L$3"; -my $val = "\L$4"; -my $name = "$6"; -my $part1 = $1; -my $part2 = $5; -# print "bits = $bits, val = $val, name = $name\n"; -# print "($part1)($part2)\n"; -my $digest = Digest::SHA->new($bits); -my $f = fname $name; -if(defined $f) { - $digest->addfile($f); - $val = $digest->hexdigest; -} -$content_new .= "$part1$val$part2\n"; +my $type = $2; +my $bits = $3; +my $sum = "\L$4"; +my $name = $6; +$cont->{bits} = $bits if !$cont->{bits}; +$cont->{$type}{$name}{old} = "$bits $sum"; + +add_to_content_file $cont, $type, $name, '^'; } else { -$content_new .= $_; +
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-06-23 11:58:17 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-06-04 11:25:27.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-06-23 11:58:18.0 +0200 @@ -1,0 +2,13 @@ +Fri Jun 19 15:10:56 CEST 2015 - snw...@suse.com + +- ensure '/content' is re-signed when necessary +- 1.24 + +--- +Fri Jun 19 13:20:55 CEST 2015 - snw...@suse.com + +- implement --kernel option to replace kernel & modules used for booting +- added --add-entry option to create a new boot menu entry for modifications +- 1.23 + +--- Old: mksusecd-1.22.tar.xz New: mksusecd-1.24.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.aLl8b0/_old 2015-06-23 11:58:18.0 +0200 +++ /var/tmp/diff_new_pack.aLl8b0/_new 2015-06-23 11:58:18.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.22 +Version:1.24 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ @@ -32,6 +32,7 @@ Requires: genisoimage Requires: gpg2 Requires: mtools +Requires: squashfs Requires: syslinux Requires: xz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++ mksusecd-1.22.tar.xz -> mksusecd-1.24.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.22/VERSION new/mksusecd-1.24/VERSION --- old/mksusecd-1.22/VERSION 2015-06-03 16:45:57.0 +0200 +++ new/mksusecd-1.24/VERSION 2015-06-19 15:09:28.0 +0200 @@ -1 +1 @@ -1.22 +1.24 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.22/changelog new/mksusecd-1.24/changelog --- old/mksusecd-1.22/changelog 2015-06-03 16:45:57.0 +0200 +++ new/mksusecd-1.24/changelog 2015-06-19 15:09:28.0 +0200 @@ -1,3 +1,10 @@ +2015-06-19:1.24 + - ensure '/content' is re-signed when necessary + +2015-06-19:1.23 + - implement --kernel option to replace kernel & modules used for booting + - added --add-entry option to create a new boot menu entry for modifications + 2015-06-03:1.22 - work properly when different iso sources are specified diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.22/mksusecd new/mksusecd-1.24/mksusecd --- old/mksusecd-1.22/mksusecd 2015-06-03 16:45:57.0 +0200 +++ new/mksusecd-1.24/mksusecd 2015-06-19 15:09:28.0 +0200 @@ -159,8 +159,10 @@ sub meta_iso; sub meta_fat; sub create_initrd; -sub update_initrd; +sub get_kernel_initrd; +sub update_kernel_initrd; sub get_initrd_format; +sub unpack_orig_initrd; sub extract_installkeys; sub create_cd_ikr; sub isolinux_add_option; @@ -180,6 +182,11 @@ sub get_archive_type; sub unpack_cpio; sub unpack_archive; +sub format_array; +sub get_initrd_modules; +sub build_module_list; +sub add_modules_to_initrd; +sub replace_kernel_mods; my %config; my $sudo; @@ -207,6 +214,10 @@ my $opt_loader; my $opt_sign = 1; my $opt_sign_key; +my @opt_kernel_rpms; +my @opt_kernel_modules; +my $opt_arch; +my $opt_new_boot_entry; GetOptions( 'create|c=s' => sub { $opt_create = 1; $opt_dst = $_[1] }, @@ -241,6 +252,10 @@ 'application=s'=> \$opt_application, 'no-docs' => \$opt_no_docs, 'keep-docs'=> sub { $opt_no_docs = 0 }, + 'kernel=s{1,}' => \@opt_kernel_rpms, + 'modules=s{1,}'=> \@opt_kernel_modules, + 'arch=s' => \$opt_arch, + 'add-entry=s' => \$opt_new_boot_entry, 'save-temp'=> \$opt_save_temp, 'verbose|v'=> sub { $opt_verbose++ }, 'version' => sub { print "$VERSION\n"; exit 0 }, @@ -289,7 +304,10 @@ my $iso_file; my $iso_fh; my $two_runs; +my $add_kernel; my $add_initrd; +my $orig_initrd; +my $initrd_has_parts; my $has_efi = 0; my $sign_key_pub; my $sign_key_dir; @@ -297,12 +315,17 @@ my $initrd_format; my $rebuild_initrd; my $hybrid_part_type; +my $kernel; my $progress_start = 0; my $progress_end = 100; my $progress_txt = 'building:'; if($opt_create) { +# if(@opt_kernel_rpms) { +#die "Sorry, you must run mksusecd as root to replace kernel modules." if $>; +# } + # we might need two mkisofs runs... $two_runs = $opt_hybrid && $opt_hybrid_fs;
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-06-04 11:25:25 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-05-18 22:31:27.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-06-04 11:25:27.0 +0200 @@ -1,0 +2,6 @@ +Wed Jun 3 16:50:56 CEST 2015 - snw...@suse.com + +- work properly when different iso sources are specified +- 1.22 + +--- Old: mksusecd-1.21.tar.xz New: mksusecd-1.22.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.w8XMp1/_old 2015-06-04 11:25:27.0 +0200 +++ /var/tmp/diff_new_pack.w8XMp1/_new 2015-06-04 11:25:27.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.21 +Version:1.22 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.21.tar.xz -> mksusecd-1.22.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.21/VERSION new/mksusecd-1.22/VERSION --- old/mksusecd-1.21/VERSION 2015-05-18 10:34:33.0 +0200 +++ new/mksusecd-1.22/VERSION 2015-06-03 16:45:57.0 +0200 @@ -1 +1 @@ -1.21 +1.22 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.21/changelog new/mksusecd-1.22/changelog --- old/mksusecd-1.21/changelog 2015-05-18 10:34:33.0 +0200 +++ new/mksusecd-1.22/changelog 2015-06-03 16:45:57.0 +0200 @@ -1,3 +1,6 @@ +2015-06-03:1.22 + - work properly when different iso sources are specified + 2015-05-18:1.21 - get isohybrid binary location right diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.21/mksusecd new/mksusecd-1.22/mksusecd --- old/mksusecd-1.21/mksusecd 2015-05-18 10:34:33.0 +0200 +++ new/mksusecd-1.22/mksusecd 2015-06-03 16:45:57.0 +0200 @@ -360,6 +360,8 @@ # print "todo = ", Dumper($todo); # print "mkisofs = ", Dumper($mkisofs); + # print Dumper($mkisofs->{exclude}); + if($two_runs) { if($opt_hybrid_fs eq 'iso') { $progress_end = 50; @@ -604,7 +606,7 @@ File::Find::find({ wanted => sub { if(m#^$s->{dir}/(.+)#) { - push @{$mkisofs->{exclude}}, "$files->{$1}/$1" if $files->{$1}; + push @{$mkisofs->{exclude}}, "$files->{$1}/$1" if $files->{$1} && -f "$files->{$1}/$1"; $files->{$1} = $s->{dir}; } }, @@ -1691,34 +1693,26 @@ # wipe files we really don't want sub prepare_normal { - my $p = $files->{boot}; - # try harder, just in case - $p = $files->{suse} unless defined $p; + # cleaning up KIWI isos a bit + for ( "glump" ) { +my $f = fname($_); +push @{$mkisofs->{exclude}}, $f if $f; + } - push @{$mkisofs->{exclude}}, ( -"$p/glump", - ); + push @{$mkisofs->{exclude}}, "TRANS.TBL"; } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sub prepare_micro { - my $p = $files->{boot}; - # try harder, just in case - $p = $files->{suse} unless defined $p; - - push @{$mkisofs->{exclude}}, "$p/suse/$_" for (@boot_archs, "i586", "noarch"); - - push @{$mkisofs->{exclude}}, ( -"$p/docu", -"$p/ls-lR.gz", -"$p/INDEX.gz", -"$p/ARCHIVES.gz", -"$p/ChangeLog", -"$p/updates", -"$p/linux", - ); + for ( +(map { "suse/$_" } @boot_archs, "i586", "noarch"), +"docu", "ls-lR.gz", "INDEX.gz", "ARCHIVES.gz", "ChangeLog", "updates", "linux" + ) { +my $f = fname($_); +push @{$mkisofs->{exclude}}, $f if $f; + } } @@ -1727,31 +1721,30 @@ { prepare_micro; - my $p = $files->{boot}; - # try harder, just in case - $p = $files->{suse} unless defined $p; - - return unless defined $p; - - push @{$mkisofs->{exclude}}, ( -"$p/suse", -"$p/boot/*/*.rpm", -"$p/boot/*/bind", -"$p/boot/*/common", -"$p/boot/*/gdb", -"$p/boot/*/rescue", -"$p/boot/*/root", -"$p/boot/*/sax2", -"$p/boot/*/branding", -"$p/boot/*/openSUSE", -"$p/boot/*/SLES", -"$p/boot/*/SLED", -"$p/boot/*/*-xen", -"$p/control.xml", -"$p/gpg-*", -"$p/NEWS", -"TRANS.TBL", + my $ex = join "|", ( +"boot/.*/.*\\.rpm", +"boot/.*/bind", +"boot/.*/common", +"boot/.*/gdb", +"boot/.*/rescue", +"boot/.*/root", +"boot/.*/sax2", +"boot/.*/branding", +"boot/.*/openSUSE", +"boot/.*/SLES",
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-05-18 22:31:26 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-05-10 10:47:15.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-05-18 22:31:27.0 +0200 @@ -1,0 +2,6 @@ +Mon May 18 10:35:54 CEST 2015 - snw...@suse.com + +- get isohybrid binary location right +- 1.21 + +--- Old: mksusecd-1.20.tar.xz New: mksusecd-1.21.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.f9BCoz/_old 2015-05-18 22:31:28.0 +0200 +++ /var/tmp/diff_new_pack.f9BCoz/_new 2015-05-18 22:31:28.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.20 +Version:1.21 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.20.tar.xz -> mksusecd-1.21.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.20/Makefile new/mksusecd-1.21/Makefile --- old/mksusecd-1.20/Makefile 2015-05-08 11:04:34.0 +0200 +++ new/mksusecd-1.21/Makefile 2015-05-18 10:34:33.0 +0200 @@ -34,6 +34,7 @@ install: isohybrid @cp mksusecd mksusecd.tmp @perl -pi -e 's/0\.0/$(VERSION)/ if /VERSION = /' mksusecd.tmp + @perl -pi -e 's#"(.*)"#"$(LIBDIR)"# if /LIBEXECDIR = /' mksusecd.tmp install -m 755 -D mksusecd.tmp $(DESTDIR)$(BINDIR)/mksusecd install -m 755 -D isohybrid $(DESTDIR)$(LIBDIR)/mksusecd/isohybrid @rm -f mksusecd.tmp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.20/VERSION new/mksusecd-1.21/VERSION --- old/mksusecd-1.20/VERSION 2015-05-08 11:04:34.0 +0200 +++ new/mksusecd-1.21/VERSION 2015-05-18 10:34:33.0 +0200 @@ -1 +1 @@ -1.20 +1.21 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.20/changelog new/mksusecd-1.21/changelog --- old/mksusecd-1.20/changelog 2015-05-08 11:04:34.0 +0200 +++ new/mksusecd-1.21/changelog 2015-05-18 10:34:33.0 +0200 @@ -1,3 +1,6 @@ +2015-05-18:1.21 + - get isohybrid binary location right + 2015-05-08:1.20 - fix key generation issues with different gpg2 versions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.20/mksusecd new/mksusecd-1.21/mksusecd --- old/mksusecd-1.20/mksusecd 2015-05-08 11:04:34.0 +0200 +++ new/mksusecd-1.21/mksusecd 2015-05-18 10:34:33.0 +0200 @@ -132,6 +132,7 @@ $Data::Dumper::Indent = 1; our $VERSION = "0.0"; +our $LIBEXECDIR = "/usr/lib"; my @boot_archs = qw ( x86_64 i386 s390x s390 ia64 aarch64 ppc ppc64 ppc64le ); my $magic_id = "7984fc91-a43f-4e45-bf27-6d3aa08b24cf"; @@ -1093,7 +1094,7 @@ $opt .= " --offset $mkisofs->{partition_start}" if $mkisofs->{partition_start}; # prefer our own isohybrid variant - my $cmd = "/usr/lib/mksusecd/isohybrid"; + my $cmd = "$LIBEXECDIR/mksusecd/isohybrid"; $cmd = "isohybrid" unless -x $cmd; $cmd .= "$opt $iso_file";
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-05-10 10:47:14 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-04-27 13:05:41.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-05-10 10:47:15.0 +0200 @@ -1,0 +2,6 @@ +Fri May 8 11:05:32 CEST 2015 - snw...@suse.com + +- fix key generation issues with different gpg2 versions +- 1.20 + +--- Old: mksusecd-1.19.tar.xz New: mksusecd-1.20.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.2oO1S3/_old 2015-05-10 10:47:15.0 +0200 +++ /var/tmp/diff_new_pack.2oO1S3/_new 2015-05-10 10:47:15.0 +0200 @@ -18,7 +18,7 @@ Name: mksusecd -Version:1.19 +Version:1.20 Release:0 Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ ++ mksusecd-1.19.tar.xz -> mksusecd-1.20.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.19/VERSION new/mksusecd-1.20/VERSION --- old/mksusecd-1.19/VERSION 2015-04-23 16:10:54.0 +0200 +++ new/mksusecd-1.20/VERSION 2015-05-08 11:04:34.0 +0200 @@ -1 +1 @@ -1.19 +1.20 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.19/changelog new/mksusecd-1.20/changelog --- old/mksusecd-1.19/changelog 2015-04-23 16:10:54.0 +0200 +++ new/mksusecd-1.20/changelog 2015-05-08 11:04:34.0 +0200 @@ -1,3 +1,6 @@ +2015-05-08:1.20 + - fix key generation issues with different gpg2 versions + 2015-04-23:1.19 - fix Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.19/mksusecd new/mksusecd-1.20/mksusecd --- old/mksusecd-1.19/mksusecd 2015-04-23 16:10:54.0 +0200 +++ new/mksusecd-1.20/mksusecd 2015-05-08 11:04:34.0 +0200 @@ -315,7 +315,7 @@ } elsif(-f _) { my $t = `file -b -k -L $_ 2>/dev/null`; - if($t =~ / ISO 9660 CD-ROM /) { + if($t =~ /ISO 9660 CD-ROM/) { check_root "Sorry, can't access ISO images; you need root privileges."; $iso_cnt++; my $d = $tmp->mnt(sprintf("mnt_%04d", $iso_cnt)); @@ -1913,7 +1913,8 @@ %no-ask-passphrase %no-protection %transient-key -Key-Type: default +Key-Type: RSA +Key-Length: 2048 Name-Real: mksusecd Signing Key Name-Comment: transient key %pubring mksusecd.pub @@ -1922,6 +1923,7 @@ = = = = = = = = my $key; + my $is_gpg21; if($opt_sign_key) { $key = $opt_sign_key; @@ -1929,11 +1931,15 @@ die "$key: no such key file\n" unless -f $key; } else { -if(open my $p, "| cd $gpg_dir ; gpg --no-tty --batch --armor --debug-quick-random --gen-key - 2>/dev/null") { +if(open my $p, "| cd $gpg_dir ; gpg --homedir=$gpg_dir --batch --armor --debug-quick-random --gen-key - 2>/dev/null") { print $p $c; close $p; } $key = "$gpg_dir/mksusecd.sec"; +if(!-f $key) { + $key = "$gpg_dir/mksusecd.pub"; + $is_gpg21 = 1; +} } my $keyid; @@ -1951,7 +1957,7 @@ close $p; } - if($priv && $date) { + if(($priv || ($is_gpg21 && $pub)) && $date) { $sign_key_dir = $gpg_dir; system "gpg --homedir=$gpg_dir --import $key >/dev/null 2>&1";
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-04-27 13:05:40 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-04-25 11:25:51.0 +0200 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-04-27 13:05:41.0 +0200 @@ -1,0 +2,6 @@ +Sat Apr 25 09:35:55 UTC 2015 - sch...@linux-m68k.org + +- Run through spec-cleaner +- Fix file list + +--- Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.JDAabn/_old 2015-04-27 13:05:42.0 +0200 +++ /var/tmp/diff_new_pack.JDAabn/_new 2015-04-27 13:05:42.0 +0200 @@ -1,7 +1,7 @@ # # spec file for package mksusecd # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2014 Steffen Winterfeldt # # All modifications and additions to the file contributed by third parties @@ -18,8 +18,15 @@ Name: mksusecd -BuildRequires: xz +Version:1.19 +Release:0 +Summary:Create SUSE Linux installation ISOs +License:GPL-3.0+ +Group: Hardware/Other +Url:https://github.com/wfeldt/mksusecd +Source: %{name}-%{version}.tar.xz BuildRequires: libuuid-devel +BuildRequires: xz Requires: checkmedia Requires: dosfstools Requires: genisoimage @@ -27,37 +34,23 @@ Requires: mtools Requires: syslinux Requires: xz -Summary:Create SUSE Linux installation ISOs -License:GPL-3.0+ -Group: Hardware/Other -Version:1.19 -Release:0 -Source: %{name}-%{version}.tar.xz -Url:https://github.com/wfeldt/mksusecd BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This is a tool to create SUSE Linux installation ISOs. -Authors: - -Steffen Winterfeldt - %prep -%setup +%setup -q %build %install - make install DESTDIR=%{buildroot} - -%clean -rm -rf %{buildroot} +make DESTDIR=%{buildroot} LIBDIR=%{_libexecdir} BINDIR=%{_bindir} install %{?_smp_mflags} %files %defattr(-,root,root) -/usr/bin/* -/usr/lib/* +%{_bindir}/* +%{_libexecdir}/%{name} %doc README* COPYING* %changelog
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-04-25 09:53:15 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-03-28 18:38:59.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-04-25 11:25:51.0 +0200 @@ -1,0 +2,18 @@ +Thu Apr 23 16:12:25 CEST 2015 - snw...@suse.com + +- fix Makefile +- 1.19 + +--- +Thu Apr 23 15:56:02 CEST 2015 - snw...@suse.com + +- add special isohybrid variant to mksusecd package +- 1.18 + +--- +Thu Apr 23 15:16:04 CEST 2015 - snw...@suse.com + +- added ppc64 (chrp) boot support +- 1.17 + +--- Old: mksusecd-1.16.tar.xz New: mksusecd-1.19.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.aTkNiI/_old 2015-04-25 11:25:51.0 +0200 +++ /var/tmp/diff_new_pack.aTkNiI/_new 2015-04-25 11:25:51.0 +0200 @@ -19,6 +19,7 @@ Name: mksusecd BuildRequires: xz +BuildRequires: libuuid-devel Requires: checkmedia Requires: dosfstools Requires: genisoimage @@ -29,12 +30,11 @@ Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.16 +Version:1.19 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildArch: noarch %description This is a tool to create SUSE Linux installation ISOs. @@ -56,7 +56,8 @@ %files %defattr(-,root,root) -/usr/bin/mksusecd -%doc README COPYING +/usr/bin/* +/usr/lib/* +%doc README* COPYING* %changelog ++ mksusecd-1.16.tar.xz -> mksusecd-1.19.tar.xz ++ 2180 lines of diff (skipped)
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-03-28 18:38:57 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-03-19 21:23:38.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-03-28 18:38:59.0 +0100 @@ -1,0 +2,6 @@ +Fri Mar 27 16:21:21 CET 2015 - snw...@suse.com + +- replace archive unpacking function +- 1.16 + +--- Old: mksusecd-1.15.tar.xz New: mksusecd-1.16.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.IN1BnY/_old 2015-03-28 18:38:59.0 +0100 +++ /var/tmp/diff_new_pack.IN1BnY/_new 2015-03-28 18:38:59.0 +0100 @@ -29,7 +29,7 @@ Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.15 +Version:1.16 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.15.tar.xz -> mksusecd-1.16.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.15/VERSION new/mksusecd-1.16/VERSION --- old/mksusecd-1.15/VERSION 2015-03-19 10:15:23.0 +0100 +++ new/mksusecd-1.16/VERSION 2015-03-27 16:20:22.0 +0100 @@ -1 +1 @@ -1.15 +1.16 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.15/changelog new/mksusecd-1.16/changelog --- old/mksusecd-1.15/changelog 2015-03-19 10:15:23.0 +0100 +++ new/mksusecd-1.16/changelog 2015-03-27 16:20:22.0 +0100 @@ -1,3 +1,6 @@ +2015-03-27:1.16 + - replace archive unpacking function + 2015-03-19:1.15 - stick to initrd compression format when extending initrd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.15/mksusecd new/mksusecd-1.16/mksusecd --- old/mksusecd-1.15/mksusecd 2015-03-19 10:15:23.0 +0100 +++ new/mksusecd-1.16/mksusecd 2015-03-27 16:20:22.0 +0100 @@ -157,7 +157,6 @@ sub find_magic; sub meta_iso; sub meta_fat; -sub get_unpack_commands; sub create_initrd; sub update_initrd; sub get_initrd_format; @@ -175,6 +174,10 @@ sub create_sign_key; sub add_sign_key; sub sign_content; +sub file_magic; +sub get_archive_type; +sub unpack_cpio; +sub unpack_archive; my %config; my $sudo; @@ -290,6 +293,7 @@ my $sign_key_dir; my $initrd_installkeys; my $initrd_format; +my $rebuild_initrd; my $progress_start = 0; my $progress_end = 100; @@ -1374,46 +1378,6 @@ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -sub get_unpack_commands -{ - my $i = $_[0]; - my $tmp_dir = $_[1]; - - my ($cmd1, $cmd2); - - my $t = `file -b -k -L $i 2>/dev/null`; - - if(-d $i) { -$cmd1 = "tar -C '$i' -cf - ."; -$cmd2 = 'tar'; - } - elsif(-f $i && $t =~ /^RPM/) { -$cmd1 = "rpm2cpio '$i'"; -$cmd2 = 'cpio'; - } - elsif(-f $i && $t =~ / (cpio|tar) archive/) { -$cmd1 = "cat '$i'"; -$cmd2 = $1; - } - elsif(-f $i && $t =~ /^(gzip|XZ) compressed data/) { -$cmd1 = "\L$1\E -dc '$i'"; -my $z = `$cmd1 | file -b -`; -$cmd2 = $1 if $z =~ / (cpio|tar) archive/; - } - - if($cmd1 && $cmd2) { -$cmd2 = "( cd $tmp_dir ; cpio --quiet --sparse -dimu --no-absolute-filenames 2>/dev/null )" if $cmd2 eq 'cpio'; -$cmd2 = "tar -C $tmp_dir -xpf - 2>/dev/null" if $cmd2 eq 'tar'; - -# print "$cmd1 | $cmd2\n"; -return [ $cmd1, $cmd2 ]; - } - - return undef; -} - - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sub create_initrd { return undef if !@opt_initrds; @@ -1422,10 +1386,10 @@ my $tmp_dir = $tmp->dir(); for my $i (@opt_initrds) { -my $cmds = get_unpack_commands $i, $tmp_dir; +my $type = get_archive_type $i; -if($cmds) { - system join(' | ', @$cmds); +if($type) { + unpack_archive $type, $i, $tmp_dir; } else { print STDERR "Warning: ignoring $i\n"; @@ -1480,9 +1444,8 @@ for my $b (sort keys %$boot) { if($boot->{$b}{initrd}) { - my $c = get_unpack_commands fname($boot->{$b}{initrd}), ""; - $c = $c->[0]; - if($c =~ /^(gzip|xz) /) { + my $c = get_archive_type fname($boot->{$b}{initrd}); + if($c =~ /\.(gz|xz)$/) { if($f) { die "differing initrd formats: $f & $1\n" if $1 ne $f; } @@ -1512,9 +1475,9 @@ my $f = fname($boot->{$b}{initrd});
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-03-19 21:23:37 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-02-27 11:10:16.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-03-19 21:23:38.0 +0100 @@ -1,0 +2,6 @@ +Thu Mar 19 10:16:20 CET 2015 - snw...@suse.com + +- stick to initrd compression format when extending initrd +- 1.15 + +--- Old: mksusecd-1.14.tar.xz New: mksusecd-1.15.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.1WkVNs/_old 2015-03-19 21:23:38.0 +0100 +++ /var/tmp/diff_new_pack.1WkVNs/_new 2015-03-19 21:23:38.0 +0100 @@ -29,7 +29,7 @@ Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.14 +Version:1.15 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.14.tar.xz -> mksusecd-1.15.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.14/VERSION new/mksusecd-1.15/VERSION --- old/mksusecd-1.14/VERSION 2015-02-26 15:18:26.0 +0100 +++ new/mksusecd-1.15/VERSION 2015-03-19 10:15:23.0 +0100 @@ -1 +1 @@ -1.14 +1.15 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.14/changelog new/mksusecd-1.15/changelog --- old/mksusecd-1.14/changelog 2015-02-26 15:18:26.0 +0100 +++ new/mksusecd-1.15/changelog 2015-03-19 10:15:23.0 +0100 @@ -1,3 +1,6 @@ +2015-03-19:1.15 + - stick to initrd compression format when extending initrd + 2015-02-26:1.14 - replace content.key with actual signing key used - handle duplicate filenames diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.14/mksusecd new/mksusecd-1.15/mksusecd --- old/mksusecd-1.14/mksusecd 2015-02-26 15:18:26.0 +0100 +++ new/mksusecd-1.15/mksusecd 2015-03-19 10:15:23.0 +0100 @@ -160,6 +160,7 @@ sub get_unpack_commands; sub create_initrd; sub update_initrd; +sub get_initrd_format; sub extract_installkeys; sub create_cd_ikr; sub isolinux_add_option; @@ -288,6 +289,7 @@ my $sign_key_pub; my $sign_key_dir; my $initrd_installkeys; +my $initrd_format; my $progress_start = 0; my $progress_end = 100; @@ -327,6 +329,7 @@ $files = build_filelist; $boot = analyze_boot; + get_initrd_format; update_boot_options; if($opt_sign && (@opt_initrds || update_content)) { extract_installkeys; @@ -1441,7 +1444,9 @@ print "initrd: linuxrc detected, renamed to /init\n"; } - system "( cd $tmp_dir; find . | cpio --quiet -o -H newc --owner 0:0 | gzip -9c ) >> $tmp_initrd"; + my $compr = $initrd_format eq "xz" ? "xz --check=crc32 -c" : "gzip -9c"; + + system "( cd $tmp_dir; find . | cpio --quiet -o -H newc --owner 0:0 | $compr ) >> $tmp_initrd"; # system "ls -lR $tmp_dir"; @@ -1466,6 +1471,37 @@ } +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +sub get_initrd_format +{ + my $f; + + return if $initrd_format; + + for my $b (sort keys %$boot) { +if($boot->{$b}{initrd}) { + my $c = get_unpack_commands fname($boot->{$b}{initrd}), ""; + $c = $c->[0]; + if($c =~ /^(gzip|xz) /) { +if($f) { + die "differing initrd formats: $f & $1\n" if $1 ne $f; +} +else { + $f = $1; +} + } + else { +die "$boot->{$b}{initrd}: invalid initrd format\n" + } +} + } + + # print "initrd format: $f\n"; + + $initrd_format = $f; +} + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sub extract_installkeys { -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-02-27 11:10:13 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-02-25 02:18:30.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-02-27 11:10:16.0 +0100 @@ -1,0 +2,7 @@ +Thu Feb 26 15:21:12 CET 2015 - snw...@suse.com + +- replace content.key with actual signing key used +- handle duplicate filenames +- 1.14 + +--- Old: mksusecd-1.13.tar.xz New: mksusecd-1.14.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.Ev9tXd/_old 2015-02-27 11:10:16.0 +0100 +++ /var/tmp/diff_new_pack.Ev9tXd/_new 2015-02-27 11:10:16.0 +0100 @@ -29,7 +29,7 @@ Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.13 +Version:1.14 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.13.tar.xz -> mksusecd-1.14.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.13/VERSION new/mksusecd-1.14/VERSION --- old/mksusecd-1.13/VERSION 2015-02-24 14:20:20.0 +0100 +++ new/mksusecd-1.14/VERSION 2015-02-26 15:18:26.0 +0100 @@ -1 +1 @@ -1.13 +1.14 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.13/changelog new/mksusecd-1.14/changelog --- old/mksusecd-1.13/changelog 2015-02-24 14:20:20.0 +0100 +++ new/mksusecd-1.14/changelog 2015-02-26 15:18:26.0 +0100 @@ -1,3 +1,7 @@ +2015-02-26:1.14 + - replace content.key with actual signing key used + - handle duplicate filenames + 2015-02-24:1.13 - support initrds with pre-sle12 key management - support adding driver updates to initrd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.13/mksusecd new/mksusecd-1.14/mksusecd --- old/mksusecd-1.13/mksusecd 2015-02-24 14:20:20.0 +0100 +++ new/mksusecd-1.14/mksusecd 2015-02-26 15:18:26.0 +0100 @@ -593,7 +593,10 @@ for my $s (@sources) { File::Find::find({ wanted => sub { -$files->{$1} = $s->{dir} if m#^$s->{dir}/(.+)#; +if(m#^$s->{dir}/(.+)#) { + push @{$mkisofs->{exclude}}, "$files->{$1}/$1" if $files->{$1}; + $files->{$1} = $s->{dir}; +} }, no_chdir => 1 }, $s->{dir}); @@ -707,7 +710,7 @@ my $f = fname($_[0]); my $n; - return unless defined $f; + return undef unless defined $f; # we may already have a copy... if($f eq "$tmp_new/$_[0]") { @@ -1847,7 +1850,7 @@ %no-protection %transient-key Key-Type: default -Name-Real: mksusecd +Name-Real: mksusecd Signing Key Name-Comment: transient key %pubring mksusecd.pub %secring mksusecd.sec @@ -1942,8 +1945,15 @@ return if !$sign_key_dir; my $c = copy_file "content"; + return if !defined $c; + + my $k = copy_file "content.key"; + return if !defined $k; + copy_file "content.asc"; + system "cp $sign_key_pub $k"; + print "re-signing '/content'\n" if $opt_verbose >= 1; system "gpg --homedir=$sign_key_dir --batch --yes --armor --detach-sign $c"; -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-02-25 02:18:04 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-02-10 20:24:11.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-02-25 02:18:30.0 +0100 @@ -1,0 +2,8 @@ +Tue Feb 24 14:26:13 CET 2015 - snw...@suse.com + +- support initrds with pre-sle12 key management +- support adding driver updates to initrd +- no-sign option should also prevent updating 'content' file +- 1.13 + +--- Old: mksusecd-1.12.tar.xz New: mksusecd-1.13.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.EmpKt8/_old 2015-02-25 02:18:31.0 +0100 +++ /var/tmp/diff_new_pack.EmpKt8/_new 2015-02-25 02:18:31.0 +0100 @@ -29,7 +29,7 @@ Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.12 +Version:1.13 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.12.tar.xz -> mksusecd-1.13.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.12/VERSION new/mksusecd-1.13/VERSION --- old/mksusecd-1.12/VERSION 2015-02-10 10:02:57.0 +0100 +++ new/mksusecd-1.13/VERSION 2015-02-24 14:20:20.0 +0100 @@ -1 +1 @@ -1.12 +1.13 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.12/changelog new/mksusecd-1.13/changelog --- old/mksusecd-1.12/changelog 2015-02-10 10:02:57.0 +0100 +++ new/mksusecd-1.13/changelog 2015-02-24 14:20:20.0 +0100 @@ -1,3 +1,8 @@ +2015-02-24:1.13 + - support initrds with pre-sle12 key management + - support adding driver updates to initrd + - no-sign option should also prevent updating 'content' file + 2015-02-10:1.12 - simplify key handling diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.12/mksusecd new/mksusecd-1.13/mksusecd --- old/mksusecd-1.12/mksusecd 2015-02-10 10:02:57.0 +0100 +++ new/mksusecd-1.13/mksusecd 2015-02-24 14:20:20.0 +0100 @@ -157,8 +157,10 @@ sub find_magic; sub meta_iso; sub meta_fat; +sub get_unpack_commands; sub create_initrd; sub update_initrd; +sub extract_installkeys; sub create_cd_ikr; sub isolinux_add_option; sub grub2_add_option; @@ -285,6 +287,7 @@ my $has_efi = 0; my $sign_key_pub; my $sign_key_dir; +my $initrd_installkeys; my $progress_start = 0; my $progress_end = 100; @@ -326,6 +329,7 @@ $boot = analyze_boot; update_boot_options; if($opt_sign && (@opt_initrds || update_content)) { +extract_installkeys; create_sign_key; add_sign_key; } @@ -431,7 +435,8 @@ image (partitioning tools don't really like this) or 'iso' or 'fat' in which case you get a regular partition with an ISO960 or FAT file system (default: 'iso'). - --initrd DIR|RPM Add directory DIR or package RPM to initrd. + --initrd DIR|RPM|DUD Add directory DIR or package RPM or driver update DUD +to initrd. --no-docs Don't include package documentation when updating the initrd (default). --keep-docs Include package documentation when updating initrd. @@ -849,11 +854,11 @@ $cmd = "$mkisofs->{command}$mkisofs->{options}"; - print "running:\n$cmd\n" if $opt_verbose >= 1; + print "running:\n$cmd\n" if $opt_verbose >= 2; - print "$mkisofs->{command} sort file:\n", join("\n", @{$mkisofs->{sort}}), "\n" if $opt_verbose >= 2; + print "$mkisofs->{command} sort file:\n", join("\n", @{$mkisofs->{sort}}), "\n" if $opt_verbose >= 3; - print "$mkisofs->{command} exclude file:\n", join("\n", @{$mkisofs->{exclude}}), "\n" if $opt_verbose >= 2; + print "$mkisofs->{command} exclude file:\n", join("\n", @{$mkisofs->{exclude}}), "\n" if $opt_verbose >= 3; if(open my $fh, "$cmd 2>&1 |") { $| = 1; @@ -874,7 +879,7 @@ $ok = 0 if $?; } - print $log if $opt_verbose >= 2 || !$ok; + print $log if $opt_verbose >= 3 || !$ok; die "Error: $mkisofs->{command} failed\n" if !$ok; } @@ -1363,6 +1368,46 @@ # - - - - - - - - - - - - - - - - - - - - - - -
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-02-10 20:24:10 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-02-06 22:38:11.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-02-10 20:24:11.0 +0100 @@ -1,0 +2,12 @@ +Tue Feb 10 10:06:07 CET 2015 - snw...@suse.com + +- simplify key handling +- 1.12 + +--- +Mon Feb 9 12:06:10 CET 2015 - snw...@suse.com + +- allow to use a user-supplied signing key +- 1.11 + +--- Old: mksusecd-1.10.tar.xz New: mksusecd-1.12.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.GlNg1t/_old 2015-02-10 20:24:11.0 +0100 +++ /var/tmp/diff_new_pack.GlNg1t/_new 2015-02-10 20:24:11.0 +0100 @@ -29,7 +29,7 @@ Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.10 +Version:1.12 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.10.tar.xz -> mksusecd-1.12.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.10/VERSION new/mksusecd-1.12/VERSION --- old/mksusecd-1.10/VERSION 2015-02-06 15:13:24.0 +0100 +++ new/mksusecd-1.12/VERSION 2015-02-10 10:02:57.0 +0100 @@ -1 +1 @@ -1.10 +1.12 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.10/changelog new/mksusecd-1.12/changelog --- old/mksusecd-1.10/changelog 2015-02-06 15:13:24.0 +0100 +++ new/mksusecd-1.12/changelog 2015-02-10 10:02:57.0 +0100 @@ -1,3 +1,9 @@ +2015-02-10:1.12 + - simplify key handling + +2015-02-09:1.11 + - allow to use a user-supplied signing key + 2015-02-06:1.10 - re-sign '/content' if necessary - fix git2log script diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.10/mksusecd new/mksusecd-1.12/mksusecd --- old/mksusecd-1.10/mksusecd 2015-02-06 15:13:24.0 +0100 +++ new/mksusecd-1.12/mksusecd 2015-02-10 10:02:57.0 +0100 @@ -138,10 +138,12 @@ sub usage; sub check_root; +sub show_progress; sub susystem; sub fname; sub analyze_boot; sub build_todo; +sub copy_file; sub prepare_mkisofs; sub build_filelist; sub run_mkisofs; @@ -196,6 +198,7 @@ my $opt_no_docs = 1; my $opt_loader; my $opt_sign = 1; +my $opt_sign_key; GetOptions( 'create|c=s' => sub { $opt_create = 1; $opt_dst = $_[1] }, @@ -211,6 +214,7 @@ 'no-digest'=> sub { $opt_digest = undef }, 'sign' => \$opt_sign, 'no-sign' => sub { $opt_sign = 0 }, + 'sign-key=s' => \$opt_sign_key, 'gpt' => sub { $opt_hybrid = 1; $opt_hybrid_gpt = 1 }, 'mbr' => sub { $opt_hybrid = 1; $opt_hybrid_mbr = 1 }, 'hybrid' => \$opt_hybrid, @@ -241,8 +245,12 @@ if(open my $f, "$ENV{HOME}/.mksusecdrc") { while(<$f>) { -if(/^(\S+?)=\"(.*)\"\s*$/) { - $config{$1} = $2; +next if /^\s*#/; +if(/^\s*(\S+?)\s*=\s*(.*?)\s*$/) { + my $key = $1; + my $val = $2; + $val =~ s/^\"|\"$//g; + $config{$key} = $val; } } close $f; @@ -253,6 +261,8 @@ $sudo =~ s/\s*$/ /; } +$opt_sign_key ||= $config{'sign-key'}; + my $tmp = Tmp::new($opt_save_temp); # my $tmp_mnt = $tmp->mnt('mnt'); @@ -402,9 +412,11 @@ --no-checkDon't tag ISO (default). --digest DIGEST Use DIGEST to verify ISO integrity (default: SHA1). --no-digest Don't calculate any digest. - --signRe-sign '/content' with a generated transient key if it has -changed. The public key is added to the initrd. (default) + --signRe-sign '/content' if it has changed. The public part of +the sign key is added to the initrd. (default) --no-sign Don't re-sign '/content'. + --sign-key KEY_FILE Use this key instead of generating a transient key. +See Signing notes below. --gpt Add GPT when in isohybrid mode. --mbr Add MBR when in isohybrid mode (default).
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-02-06 22:38:08 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-01-27 09:09:16.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-02-06 22:38:11.0 +0100 @@ -1,0 +2,7 @@ +Fri Feb 6 15:21:18 CET 2015 - snw...@suse.com + +- re-sign '/content' if necessary +- fix git2log script +- 1.10 + +--- Old: mksusecd-1.9.tar.xz New: mksusecd-1.10.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.Zjodrt/_old 2015-02-06 22:38:12.0 +0100 +++ /var/tmp/diff_new_pack.Zjodrt/_new 2015-02-06 22:38:12.0 +0100 @@ -22,13 +22,14 @@ Requires: checkmedia Requires: dosfstools Requires: genisoimage +Requires: gpg2 Requires: mtools Requires: syslinux Requires: xz Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.9 +Version:1.10 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.9.tar.xz -> mksusecd-1.10.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.9/VERSION new/mksusecd-1.10/VERSION --- old/mksusecd-1.9/VERSION2015-01-26 16:38:29.0 +0100 +++ new/mksusecd-1.10/VERSION 2015-02-06 15:13:24.0 +0100 @@ -1 +1 @@ -1.9 +1.10 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.9/changelog new/mksusecd-1.10/changelog --- old/mksusecd-1.9/changelog 2015-01-26 16:38:29.0 +0100 +++ new/mksusecd-1.10/changelog 2015-02-06 15:13:24.0 +0100 @@ -1,4 +1,8 @@ -2015-01-26:3c5a69e03348f72cd2fd350f7f7d0fe94820ce9b-1.9 +2015-02-06:1.10 + - re-sign '/content' if necessary + - fix git2log script + +2015-01-26:1.9 - update git2log script 2014-11-28:1.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.9/git2log new/mksusecd-1.10/git2log --- old/mksusecd-1.9/git2log2015-01-26 16:38:29.0 +0100 +++ new/mksusecd-1.10/git2log 2015-02-06 15:13:24.0 +0100 @@ -64,10 +64,16 @@ @tags = get_branch_tags; die "no tags at all?\n" unless @tags; -if(!grep { /^$branch\-/ } @tags) { - $branch = get_parent_branch; - die "sorry, can't determine branch\n" unless $branch; +if($branch ne 'master') { + if(!grep { /^$branch\-/ } @tags) { +$branch = get_parent_branch; +die "sorry, can't determine branch\n" unless $branch; +@tags = get_branch_tags; +die "no tags at all?\n" unless @tags; + } +} +else { @tags = get_branch_tags; die "no tags at all?\n" unless @tags; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.9/mksusecd new/mksusecd-1.10/mksusecd --- old/mksusecd-1.9/mksusecd 2015-01-26 16:38:29.0 +0100 +++ new/mksusecd-1.10/mksusecd 2015-02-06 15:13:24.0 +0100 @@ -167,6 +167,9 @@ sub prepare_pico; sub set_mkisofs_metadata; sub update_content; +sub create_sign_key; +sub add_sign_key; +sub sign_content; my %config; my $sudo; @@ -192,6 +195,7 @@ my $opt_volume; my $opt_no_docs = 1; my $opt_loader; +my $opt_sign = 1; GetOptions( 'create|c=s' => sub { $opt_create = 1; $opt_dst = $_[1] }, @@ -205,6 +209,8 @@ 'no-check' => sub { $opt_check = 0 }, 'digest=s' => \$opt_digest, 'no-digest'=> sub { $opt_digest = undef }, + 'sign' => \$opt_sign, + 'no-sign' => sub { $opt_sign = 0 }, 'gpt' => sub { $opt_hybrid = 1; $opt_hybrid_gpt = 1 }, 'mbr' => sub { $opt_hybrid = 1; $opt_hybrid_mbr = 1 }, 'hybrid' => \$opt_hybrid, @@ -267,6 +273,8 @@ my $two_runs; my $add_initrd; my $has_efi = 0; +my $sign_key_pub; +my $sign_key_dir; my $progress_start = 0; my $progress_end = 100; @@ -304,12 +312,16 @@ die "no sources - nothing to do\n" unless @sources; - $add_initrd = create_initrd; $files = build_filelist; $boot = analyze_boot; - update_content; - update_initrd; update_boot_options; + if($opt_sign && (@opt_initrds || update_content)) { +create_sign_key; +add_sign_key; + } + $add_initrd = create_initrd; + update_initrd; + sign_content if update_content; $todo = build_todo
commit mksusecd for openSUSE:Factory
Hello community, here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-01-27 09:09:16 Comparing /work/SRC/openSUSE:Factory/mksusecd (Old) and /work/SRC/openSUSE:Factory/.mksusecd.new (New) Package is "mksusecd" Changes: --- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes2015-01-22 00:58:07.0 +0100 +++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-01-27 09:09:16.0 +0100 @@ -1,0 +2,6 @@ +Mon Jan 26 16:39:23 CET 2015 - snw...@suse.com + +- update git2log script +- 1.9 + +--- Old: mksusecd-1.8.tar.xz New: mksusecd-1.9.tar.xz Other differences: -- ++ mksusecd.spec ++ --- /var/tmp/diff_new_pack.SdwnhA/_old 2015-01-27 09:09:17.0 +0100 +++ /var/tmp/diff_new_pack.SdwnhA/_new 2015-01-27 09:09:17.0 +0100 @@ -1,7 +1,7 @@ # # spec file for package mksusecd # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2014 Steffen Winterfeldt # # All modifications and additions to the file contributed by third parties @@ -28,7 +28,7 @@ Summary:Create SUSE Linux installation ISOs License:GPL-3.0+ Group: Hardware/Other -Version:1.8 +Version:1.9 Release:0 Source: %{name}-%{version}.tar.xz Url:https://github.com/wfeldt/mksusecd ++ mksusecd-1.8.tar.xz -> mksusecd-1.9.tar.xz ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.8/Makefile new/mksusecd-1.9/Makefile --- old/mksusecd-1.8/Makefile 2014-11-28 15:05:27.0 +0100 +++ new/mksusecd-1.9/Makefile 2015-01-26 16:38:29.0 +0100 @@ -1,13 +1,14 @@ GIT2LOG:= $(shell if [ -x ./git2log ] ; then echo ./git2log --update ; else echo true ; fi) GITDEPS:= $(shell [ -d .git ] && echo .git/HEAD .git/refs/heads .git/refs/tags) VERSION:= $(shell $(GIT2LOG) --version VERSION ; cat VERSION) -BRANCH := $(shell git branch | perl -ne 'print $$_ if s/^\*\s*//') +BRANCH := $(shell [ -d .git ] && git branch | perl -ne 'print $$_ if s/^\*\s*//') PREFIX := mksusecd-$(VERSION) BINDIR = /usr/bin all:archive archive: changelog + @if [ ! -d .git ] ; then echo no git repo ; false ; fi mkdir -p package git archive --prefix=$(PREFIX)/ $(BRANCH) > package/$(PREFIX).tar tar -r -f package/$(PREFIX).tar --mode=0664 --owner=root --group=root --mtime="`git show -s --format=%ci`" --transform='s:^:$(PREFIX)/:' VERSION changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.8/VERSION new/mksusecd-1.9/VERSION --- old/mksusecd-1.8/VERSION2014-11-28 15:05:27.0 +0100 +++ new/mksusecd-1.9/VERSION2015-01-26 16:38:29.0 +0100 @@ -1 +1 @@ -1.8 +1.9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.8/changelog new/mksusecd-1.9/changelog --- old/mksusecd-1.8/changelog 2014-11-28 15:05:27.0 +0100 +++ new/mksusecd-1.9/changelog 2015-01-26 16:38:29.0 +0100 @@ -1,3 +1,6 @@ +2015-01-26:3c5a69e03348f72cd2fd350f7f7d0fe94820ce9b-1.9 + - update git2log script + 2014-11-28:1.8 - add support for grub2 el-torito setups diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.8/git2log new/mksusecd-1.9/git2log --- old/mksusecd-1.8/git2log2014-11-28 15:05:27.0 +0100 +++ new/mksusecd-1.9/git2log2015-01-26 16:38:29.0 +0100 @@ -1,5 +1,7 @@ #! /usr/bin/perl +use strict; + use Getopt::Long; use Data::Dumper; @@ -8,27 +10,43 @@ $Data::Dumper::Indent = 1; sub usage; +sub get_branch_tags; +sub get_branch; +sub get_parent_branch; +sub get_version; usage 0 if !@ARGV; -@deps = qw ( .git/HEAD .git/refs/heads .git/refs/tags ); +my @deps = qw ( .git/HEAD .git/refs/heads .git/refs/tags ); + +my $branch; +my $current_version; +my @tags; +my @all_tags; + +my $opt_log; +my $opt_version; +my $opt_branch; +my $opt_update; +my $opt_file; GetOptions( 'help' => sub { usage 0 }, 'version' => \$opt_version, + 'branch'=> \$opt_branch, 'update'=> \$opt_update, 'log|changelog' => \$opt_log, ) || usage 1; -usage 1 if @ARGV > 1 || !($opt_log || $opt_version); +usage 1 if @ARGV > 1 || !($opt_log || $opt_version || $opt_branch); $opt_file = @ARGV ? shift : '-'; die "no git repo\n" unless -d ".git"; if($opt_update && $opt_file ne '-' && -f($opt_file)) { - $ok = 1; + my $ok = 1; - $t = (stat