Hello community, here is the log from the commit of package installation-images for openSUSE:Factory checked in at 2020-08-06 10:38:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/installation-images (Old) and /work/SRC/openSUSE:Factory/.installation-images.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "installation-images" Thu Aug 6 10:38:27 2020 rev:109 rq:824002 version:16.3 Changes: -------- --- /work/SRC/openSUSE:Factory/installation-images/installation-images.changes 2020-07-30 10:00:26.787233610 +0200 +++ /work/SRC/openSUSE:Factory/.installation-images.new.3399/installation-images.changes 2020-08-06 10:38:32.202012350 +0200 @@ -1,0 +2,9 @@ +Sun Aug 2 16:48:47 UTC 2020 - mvid...@suse.cz + +- merge gh#openSUSE/installation-images#398 +- Update the environment variable reference (doc/configoptions.md) +- Removed obsolete bin/mk_boot +- Remove unused liveeval option +- 16.3 + +-------------------------------------------------------------------- Old: ---- installation-images-16.2.tar.xz New: ---- installation-images-16.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ installation-images.spec ++++++ --- /var/tmp/diff_new_pack.McLIDo/_old 2020-08-06 10:38:33.118012809 +0200 +++ /var/tmp/diff_new_pack.McLIDo/_new 2020-08-06 10:38:33.122012811 +0200 @@ -639,7 +639,7 @@ Summary: Installation Image Files for %theme License: GPL-2.0+ Group: Metapackages -Version: 16.2 +Version: 16.3 Release: 0 Provides: installation-images = %version-%release Conflicts: otherproviders(installation-images) ++++++ installation-images-16.2.tar.xz -> installation-images-16.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-16.2/VERSION new/installation-images-16.3/VERSION --- old/installation-images-16.2/VERSION 2020-07-29 11:28:31.000000000 +0200 +++ new/installation-images-16.3/VERSION 2020-08-02 18:48:47.000000000 +0200 @@ -1 +1 @@ -16.2 +16.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-16.2/bin/mk_boot new/installation-images-16.3/bin/mk_boot --- old/installation-images-16.2/bin/mk_boot 2020-07-29 11:28:31.000000000 +0200 +++ new/installation-images-16.3/bin/mk_boot 1970-01-01 01:00:00.000000000 +0100 @@ -1,292 +0,0 @@ -#! /usr/bin/perl - -# Create a boot image and put everything on it. -# -# Source files and the file list are taken from data/boot; the image is -# stored in images/boot. -# -# Usage: mk_boot - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -BEGIN { unshift @INC, ( $0 =~ /(.*?)((?<![^\/])bin\/)?[^\/]+$/ )[0] . "lib" } -use ReadConfig; -use AddFiles; -use MakeFATImage; -use MakeFATImage2; -use integer; - -sub dir_size; -sub _dir_sort; -sub dir_sort; - -die "usage: $Script\n" if @ARGV; - - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# some config data - -$srcdir = "${DataPath}boot"; -$tmpdir = "${BasePath}tmp"; -$tmpbootdir = "${BasePath}tmp/boot"; -$image = "${ImagePath}boot"; -$initrddir = "$tmpdir/initrd"; -$initdisk = "${ImagePath}initrd"; -$initrdondisk = "initrd"; -$arch = $ConfigData{arch}; - -$image .= ".$ENV{'boot'}" if defined $ENV{'boot'}; - -$initdisk = "${ImagePath}$ENV{'initrd_name'}" if $ENV{'initrd_name'}; -$initrdondisk = $ENV{'initrd_name'} if $ENV{'initrd_name'}; - -$initrdondisk = "efi/boot/$initrdondisk" if $arch eq 'ia64'; - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# mbr boot program (ia32 only) -$mboot_file = "${BasePath}src/mboot/mboot"; - -$ia32_like = $arch =~ /^i\d86$/ || $arch eq 'x86_64'; - -$fstype = $ia32_like ? 'msdos' : 'vfat'; - -# clean up -if(-d($tmpbootdir)) { - SUSystem "rm -rf $tmpbootdir" and die "$Script: failed to remove old $tmpbootdir"; -} - -mkdir $tmpdir || die "$Script: failed to create $tmpdir"; - - -if($ia32_like) { - if($ENV{'syslinux'}) { - $syslx = $ENV{'syslinux'}; - } else { - $syslx = "${BasePath}tmp/base/usr/bin/syslinux-nomtools" - } - die "$Script: where is syslinux?" unless -x $syslx; -} - -# print STDERR "syslinux = $syslx\n"; - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# now we really start... - -# clean up -if(-e $image) { - SUSystem "rm -rf $image\{,\[0-9\],.floppy\}" and die "$Script: failed to remove old $image"; -} - -# copy everything except initrd -AddFiles $tmpbootdir, "${srcdir}/boot.file_list", $srcdir or - die "$Script: failed to setup boot image"; - -# add initrd -SUSystem "cp $initdisk $tmpbootdir/$initrdondisk" and - die "$Script: could not add $initdisk to the image"; - -if($ENV{theme} eq 'Zen') { - SUSystem "rm -f $tmpbootdir/*.spl" and - die "$Script: could not remove splash files"; -} - -# create empty image -if($ENV{'boot'} eq 'small') { - # minimum estimate - $est = dir_size($tmpbootdir, 2048) / 720 + 1; - - for($i = $est; $i < $est + 10; $i++) { # max 10 tries - ($blocks, $block_size) = MakeFATImage2($image, $i); - # print "$i: $est, $blocks, $block_size\n"; - - $dir_size = dir_size($tmpbootdir, $block_size); - # print "$blocks, $dir_size\n"; - if($blocks >= $dir_size) { - $boot_disks = $i; - last; - } - undef $blocks; - } -} -elsif($ENV{'boot'} eq 'medium') { - ($blocks, $block_size) = MakeFATImage($image, "BOOTCD2", 2, 36); - $dir_size = dir_size($tmpbootdir, $block_size); - if($blocks < $dir_size) { - $i = ($blocks * $block_size) >> 10; - $j = ($dir_size * $block_size) >> 10; - die "$Script: image too small (${i}k instead of ${j}k)" - } -} -elsif($ENV{'boot'} eq 'hd') { - # minimum estimate - $est = dir_size($tmpbootdir, 1024) / 126 + 1 + 1; - - for($i = $est; $i < $est + 10; $i++) { # max 10 tries - ($blocks, $block_size) = MakeFATImage($image, "BOOTCD1", 2, 63, 4, $i, "$image.mbr", $mboot_file); - # print "$i: $est, $blocks, $block_size\n"; - - $dir_size = dir_size($tmpbootdir, $block_size); - # print "$blocks, $dir_size\n"; - last if $blocks >= $dir_size; - undef $blocks; - } -} -elsif($ENV{'boot'} eq 'large' || ($arch eq 'ia64' && !$ENV{'boot'})) { - # minimum estimate - $est = dir_size($tmpbootdir, 1024) / 504 + 1; - - for($i = $est; $i < $est + 10; $i++) { # max 10 tries - ($blocks, $block_size) = MakeFATImage($image, "BOOTCD1", 2, 63, 16, $i); - # print "$i: $est, $blocks, $block_size\n"; - - $dir_size = dir_size($tmpbootdir, $block_size); - # print "$blocks, $dir_size\n"; - last if $blocks >= $dir_size; - undef $blocks; - } -} -elsif($ENV{'boot'} eq 'isolinux') { - mkdir $image; - system "cp -r $tmpbootdir/* $image" and - die "$Script: failed to setup boot image"; - - print "content of $image:\n"; - system "ls -l $image"; - - if($ENV{'with_floppy'}) { - mkdir "$image.floppy"; - SUSystem "${BasePath}etc/mkbootdisk --syslinux=$syslx --out=$image.floppy/bootdsk $image" and - die "$Script: mkbootdisk failed"; - } - - exit; -} -else { - die "$Script: no valid boot image type specified (via 'boot' env)\n" -} - -die "$Script: failed to create FAT disk image \"$image\"\n" unless defined $blocks; - -printf "$Script: image \"%s\", %u blocks a %u bytes (%u total)\n", $image, $blocks, $block_size, $blocks * $block_size; - -# make it bootable and add syslinux -if($ia32_like) { - $xx = "-s" if $ENV{boot} eq 'small' && !$ENV{fastboot}; - SUSystem "$syslx $xx $image" and - die "$Script: syslinux failed"; -} - -# umount it first, just in case -SUSystem "umount /mnt 2>/dev/null"; - -# add the other files -SUSystem "mount -oloop -t $fstype $image /mnt" and - die "$Script: mount failed"; - -SUSystem "cp -r $tmpbootdir/${\dir_sort $tmpbootdir} /mnt" and do { - SUSystem "umount /mnt"; - die "$Script: failed to setup boot image"; -}; - -if(-f '/mnt/readme.txt') { - SUSystem "touch -r /mnt/readme.txt /mnt/*"; -} - -print "content of $image:\n"; -system "ls -lRU /mnt"; - -SUSystem "umount /mnt" and - die "$Script: umount failed"; - -if($ia32_like) { - Print2File $MToolsCfg, "drive r: file=\"$image\"\n" or die "$Script: oops!"; - @f = `mdir r:`; - unlink $MToolsCfg; - - for (@f) { - if(/^\s*([ 0-9]+?)\s+bytes\s+free\s*$/) { - $xfree = $1; - $xfree =~ s/\s+//g; - last; - } - } -} - - -if($ENV{'boot'} eq 'small') { - open F, $image; - for($i = 0; $i < $boot_disks; $i++) { - sysread F, $buf, 1440*1024; - open W, ">$image${\($i + 1)}"; - syswrite W, $buf; - close W; - } - close F; -} - - -if($ENV{'boot'} eq 'hd') { - my $lo; - - $lo = -s "$image.mbr"; - system "cat $image >>$image.mbr"; - system "mv $image.mbr $image"; - - print "$Script: finished boot image \"$image\" (offset $lo)"; -} -else { - print "$Script: finished boot image \"$image\""; - print " ($boot_disks disks)" if $boot_disks; -} - -print defined($xfree) ? "; $xfree bytes free\n" : "\n"; - - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -sub dir_size -{ - my ($i, $size); - my ($dir, $block_size) = @_; - - for $i (<$dir/*>) { - next if -l $i; - next if $i =~ m|/\.\.?$|; - $size += dir_size($i, $block_size) if -d $i; - $size += ((-s $i) + $block_size - 1) / $block_size if -f $i; - } - - return $size; -} - - -# secial sorting -sub _dir_sort -{ - my ($w, $i, $p); - - $p = 2; - for $i ( - '\.spl$', '^initrd$', '^linux$', '^memtest$', - '^bootlogo$', '^message$', '\.cfg$' - ) { - $w -= $p if $a =~ /$i/; - $w += $p if $b =~ /$i/; - $p <<= 1; - } - - return $w + ($a cmp $b); -} - - -sub dir_sort -{ - my ($i, $size, @dir); - - opendir D, shift; - @dir = grep { !/^\./ } readdir D; - closedir D; - - my $files = join(',', sort(_dir_sort @dir)); - $files = "{".$files."}" if ($files =~ /,/); - return $files; -} - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-16.2/bin/mk_image new/installation-images-16.3/bin/mk_image --- old/installation-images-16.2/bin/mk_image 2020-07-29 11:28:31.000000000 +0200 +++ new/installation-images-16.3/bin/mk_image 2020-08-02 18:48:47.000000000 +0200 @@ -16,12 +16,8 @@ die "usage: $Script\n" if @ARGV; -# env vars: -# -# image, src, tmpdir, disjunct, mode, debug, fs, filelist, nolibs, dostrip -# -# - +# Instead of program arguments mk_image uses environment variables. (sorry.) +# See doc/configoptions.md for a reference. # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # some config data diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-16.2/changelog new/installation-images-16.3/changelog --- old/installation-images-16.2/changelog 2020-07-29 11:28:31.000000000 +0200 +++ new/installation-images-16.3/changelog 2020-08-02 18:48:47.000000000 +0200 @@ -1,3 +1,9 @@ +2020-08-02: 16.3 + - merge gh#openSUSE/installation-images#398 + - Update the environment variable reference (doc/configoptions.md) + - Removed obsolete bin/mk_boot + - Remove unused liveeval option + 2020-07-29: 16.2 - merge gh#openSUSE/installation-images#399 - Remove pycache to save space (20 MB uncompressed) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-16.2/data/initrd/theme.file_list new/installation-images-16.3/data/initrd/theme.file_list --- old/installation-images-16.2/data/initrd/theme.file_list 2020-07-29 11:28:31.000000000 +0200 +++ new/installation-images-16.3/data/initrd/theme.file_list 2020-08-02 18:48:47.000000000 +0200 @@ -40,11 +40,6 @@ e echo "Language: <lang>" >>linuxrc.config endif -if liveeval - e echo "UseIDESCSI: 1" >>linuxrc.config - e echo "LiveConfig: suselive.900" >>linuxrc.config -endif - if arch eq 'ppc' || arch eq 's390' || arch eq 's390x' e echo "Linemode: 1" >>linuxrc.config endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-16.2/doc/configoptions.md new/installation-images-16.3/doc/configoptions.md --- old/installation-images-16.2/doc/configoptions.md 2020-07-29 11:28:31.000000000 +0200 +++ new/installation-images-16.3/doc/configoptions.md 2020-08-02 18:48:47.000000000 +0200 @@ -5,237 +5,118 @@ The options here are environment variables used by `mk_image`. They are typically set in `Makefile`. +Notation: in the reference below, the uppercase FOO is the value of the option +(environment variable) lowercase foo. ## General options -- cache=1|2|4 +<!-- +use this to find out actual usage: + grep bin/mk_image Makefile | tr ' ' '\n' | sort -u +--> - cache the rpms we use, it is actually a bitmask; the most useful value is 4, which - will cache the unpacked rpm in a separate directory +- alternatives=1 -- debug=ignore + perform a fix-up of update-alternatives links. + (Used only for the zenroot image, for other images the links are maintained + manually in the *.file_list files.) - ignore noncritical errors +- disjunct=DISJUNCT (eg. `initrd`, `root`) -- debug=account + The image will include only files that are not in the DISJUNCT image. + It's basically a deduplication used for inst-sys 'extensions' (like `bind`, + `gdb`...). - create disk usage statistics, stored in ```tmp/<image_name>.size``` + The same thing (but done explicitly by calling the `common_tree` script) is + done in the `root+rescue` make target to separate `initrd`, `root`, and + `rescue` image into 4 disjunct parts. -- dist=8.1, dist=8.1-i386+kde - - build for this release - -- suserelease=8.0 - - obsolete, equivalent to dist= - -- kernel=<kernel rpm> - - give kernel package name explicitly - -- theme=<theme> - - select this theme (default: theme=SuSE) +- filelist=FILELIST -- themes=<list of themes> + use SRC/FILELIST.file_list - list of supported themes, support all if empty +- fs=FS (eg. `dir`, `squashfs`, `cpio`, default: `none`) -## root + Use FS as the filesystem for the image. + May end with `.gz` or `.xz` for compression. -- uncompressed_root=1 +- image=IMAGE (mandatory) - build uncompressed image + Use tmp/IMAGE as temporary directory and image/IMAGE as the final image -- keeproot=1 +- tmpdir=f - don't rebuild everything, just recreate (copy the cached tree and compress) the - last image (useful to speed up testing) -- filelist=foo +- kernel=KERNELRPM (eg. `kernel-default`) - build using foo.file_list + name of kernel RPM, available as `<kernel_rpm>` in *.file_list -- nolibs=1 +- libdeps=DEPS (a comma separated list) - no ldconfig check + run `bin/check_libs` on the DEPS (in `tmp/`) -- imagetype=foo / imagetype=foo.gz / imagetype=none +- mode=MODE (`add`, `keep`) - use foo as filesystem for image (.gz: and compress with gzip); - none: don't create an image + The default mode: -- imagename=foo + 1. erases the TMPDIR + 2. adds files according to FILELIST + 3. packs the TMPDIR with FS into IMAGE - use tmp/foo & image/foo as temp dir & final image + `mode=add` skips (1), and `mode=keep` skips (1) and (2). -- tmpdir=foo +- nolinkcheck=1 - use foo instead of tmp/root + don't check for dangling symlinks -## rescue +- src=SRC (eg. `boot`, `initrd`, `rescue`, `root+rescue`, default: IMAGE) -- keeprescue=1 + look in the `data`/*SRC* directory. - don't rebuild everything, just recreate (copy the cached tree and compress) the - last image (useful to speed up testing) +- tmpdir=*TMPDIR* -- filelist=foo + Use tmp/TMPDIR instead of tmp/IMAGE as the temporary directory. - build using foo.file_list + It is similar to RPM BuildRoot as it holds the file tree in the unpacked + state just before being packaged (see FS) in the IMAGE. -- imagetype=foo / imagetype=foo.gz / imagetype=none +<!-- old --> - use foo as filesystem for image (.gz: and compress with gzip) - none: don't create an image +- debug=DEBUG (comma separated tags, eg. `solv`, `filedeps`, `ignore`, + `ignorelibs`, `pkg`, `if`) -- imagename=foo + `ignore`: ignore noncritical errors - use tmp/foo & image/foo as temp dir & final image +- theme=THEME (default: `openSUSE`) -- tmpdir=foo + select this theme - use foo instead of tmp/rescue -## base +## initrd specific -- full_splash=0 - don't add silent splash image - - -## initrd - -- initrd_fs=<fstype> - - use fstype for initrd (default: ext2) - -- initramfs=1 - - build initramfs - -- linuxrc=<absolute_filename> +- linuxrc=LINUXRC (a full path or a file name in /usr/sbin) use the specified linuxrc (taken from the running system!). Caveats may apply: please also refer to the [linuxrc](https://github.com/openSUSE/linuxrc) docs and the [troubleshooting section](#troubleshooting-and-hacks). -- mkdevs=1 - - compress device tree - -- initrd=small|large - - build a small (for 1.44MB boot images) or large (no size limit) version - -- keepinitrd=1 - - don't rebuild everything, just recreate (copy the cached tree and compress) the - last image (useful to speed up testing) - -- nousb=1 - - don't add usb modules to initrd - -- nopcmcia=1 - - don't add the /etc/pcmcia tree to initrd - -- fewkeymaps=1 - - just english, french and german maps - -- bootsplash=0|modules1 - - don't add bootsplash or add splash to modules disk 1 - (default is to add it to boot image) - -- initrd_name=<name> - - [default: initrd] name of the final initrd image - -- with_smb=1 - - add smb support - -- with_gdb=1|2 +- with_gdb=1|2|3 create an initrd with gdb; if with_gdb=2 start linuxrc from gdb -- liveeval=1 - - create an initrd for LiveEval - -- lang=cs_CZ - - [only with liveeval=1] special czech version - -- extramod=<module> - - add <module> to initrd; only _one_ module allowed (useful for testing only) - - -## boot - -- boot=small|hd|large|isolinux - - the boot image type we should create; small is a 1.44MB image, hd for - boot CD with hd emulation, isolinux for a CD with 'no emulation'; large is - mainly for ia64 (the image is basically just a dos partition) - -- bootlogo=1|0 - - whether to add the graphical boot logo; if unset, the logo will not be added - for 'boot=small' - -- memtest=yes|no - - whether to add memtest; if unset, memtest will not be added for 'boot=small' - -- initrd_name=<name> - - [default: initrd] name of the initrd image we should add; this will be the name - on the boot image and the name referenced in syslinux.cfg, too - -- noinitrd=<name> - [only with 'boot=small'] do _not_ add the initrd <name> to the boot image, unless - it fits on it; the initrd name on the boot image is 'small'; the name in - syslinux.cfg is _not_ adjusted to <name> +## Obsolete options -- use_k_inst=1 +They are not used in the current product builds. +Code still exists for them but it may be broken. - use kernel image from k_inst for booting +- nostrip=1 -- fastboot=1 + Used in the Makefile but ignored in the code. FIXME. See also + [commit c109ec79](https://github.com/openSUSE/installation-images/commit/c109ec79b432b95454b98216dc2fd07fa8c9b8c4). - don't use syslinux' '-s' option for floppies - -- liveeval=1 - - liveeval bootloader config - -- is_dvd=1 - - create dvd boot config (32/64 bit dual boot) - -- with_floppy=1 - - create boot disks, too (i386, x86_86 only) - - -## modules - -- modules=<number> - - build module disk <number>; Note: module disk #1 has the initrd on it, so you _must_ - build the initrd explicitly before! - - -## liveeval - -- lang=cs_CZ - - special czech version +- dist=8.1, dist=8.1-i386+kde + build for this release