Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package checkmedia for openSUSE:Factory 
checked in at 2023-06-04 16:41:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/checkmedia (Old)
 and      /work/SRC/openSUSE:Factory/.checkmedia.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "checkmedia"

Sun Jun  4 16:41:27 2023 rev:37 rq:1090477 version:6.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/checkmedia/checkmedia.changes    2021-11-13 
22:48:11.073234248 +0100
+++ /work/SRC/openSUSE:Factory/.checkmedia.new.15902/checkmedia.changes 
2023-06-04 16:41:33.921759410 +0200
@@ -0,0 +1,11 @@
+--------------------------------------------------------------------
+Fri Jun 2 10:57:02 UTC 2023 - wfe...@opensuse.org
+
+- merge gh#openSUSE/checkmedia#17
+- do not select EFI System Partition for digest calculation
+  (bsc#1211953)
+- use default for SKIPSECTORS only for RH media
+- add man pages for checkmedia and tagmedia
+- add spec file for OBS
+- 6.2
+

Old:
----
  checkmedia-6.1.tar.xz

New:
----
  checkmedia-6.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ checkmedia.spec ++++++
--- /var/tmp/diff_new_pack.ulTXA8/_old  2023-06-04 16:41:34.573763290 +0200
+++ /var/tmp/diff_new_pack.ulTXA8/_new  2023-06-04 16:41:34.577763313 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package checkmedia
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,37 +17,38 @@
 
 
 Name:           checkmedia
-Summary:        Check SUSE installation media
+Summary:        Check installation or Live media
 License:        GPL-3.0-or-later
 Group:          System/Management
-Version:        6.1
+Version:        6.2
 Release:        0
 URL:            https://github.com/openSUSE/checkmedia
 Source:         %{name}-%{version}.tar.xz
 BuildRequires:  gpg
 BuildRequires:  xz
+BuildRequires:  rubygem(asciidoctor)
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
-The program checks SUSE installation media for errors.
+The program checks installation or Live media for errors.
 
 %define libversion %(echo %version | cut -d. -f1)
 
 %package -n     libmediacheck%{libversion}
-Summary:        Library for checking SUSE installation media
+Summary:        Library for checking installation or Live media
 Group:          System/Libraries
 Requires:       gpg
 
 %description -n libmediacheck%{libversion}
-Library for checking SUSE installation media. Used by checkmedia and linuxrc.
+Library for checking installation or Live media. Used by checkmedia and 
linuxrc.
 
 %package -n     libmediacheck-devel
-Summary:        Library for checking SUSE installation media
+Summary:        Library for checking installation or Live media
 Group:          Development/Libraries/C and C++
 Requires:       libmediacheck%{libversion} = %version
 
 %description -n libmediacheck-devel
-Library for checking SUSE installation media. Used by checkmedia and linuxrc.
+Library for checking installation or Live media. Used by checkmedia and 
linuxrc.
 
 %prep
 %setup
@@ -61,6 +62,9 @@
 %install
 install -d -m 755 %{buildroot}/usr/bin
 %make_install
+make doc
+install -D -m 644 checkmedia.1 %{buildroot}%{_mandir}/man1/checkmedia.1
+install -D -m 644 tagmedia.1 %{buildroot}%{_mandir}/man1/tagmedia.1
 
 %post -n libmediacheck%{libversion} -p /sbin/ldconfig
 
@@ -70,11 +74,13 @@
 %defattr(-,root,root)
 /usr/bin/checkmedia
 /usr/bin/tagmedia
+%doc %{_mandir}/man1/checkmedia.*
+%doc %{_mandir}/man1/tagmedia.*
 
 %files -n libmediacheck%{libversion}
 %defattr(-,root,root)
 %{_libdir}/*.so.*
-%doc README.adoc
+%doc README.*
 %doc mediacheck.md
 %if 0%{?suse_version} >= 1500
 %license COPYING

++++++ checkmedia-6.1.tar.xz -> checkmedia-6.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkmedia-6.1/Makefile new/checkmedia-6.2/Makefile
--- old/checkmedia-6.1/Makefile 2021-10-08 17:15:57.000000000 +0200
+++ new/checkmedia-6.2/Makefile 2023-06-02 12:57:02.000000000 +0200
@@ -21,6 +21,8 @@
 
 LIBDIR = /usr/lib$(shell ldd /bin/sh | grep -q /lib64/ && echo 64)
 
+.PHONY: all doc clean install test archive
+
 all: checkmedia digestdemo
 
 checkmedia: checkmedia.c $(LIB_FILENAME)
@@ -57,6 +59,14 @@
        ln -snf $(LIB_SONAME) $(DESTDIR)$(LIBDIR)/$(LIB_NAME).so
        install -m 644 -D mediacheck.h $(DESTDIR)/usr/include/mediacheck.h
 
+%.1: %_man.adoc
+       asciidoctor -b manpage -a version=$(VERSION) -a 
soversion=${MAJOR_VERSION} $<
+
+README.html: README.adoc
+       asciidoctor -b html -a version=$(VERSION) -a soversion=${MAJOR_VERSION} 
$<
+
+doc: tagmedia.1 checkmedia.1 README.html
+
 archive: changelog
        @if [ ! -d .git ] ; then echo no git repo ; false ; fi
        mkdir -p package
@@ -65,4 +75,4 @@
        xz -f package/$(PREFIX).tar
 
 clean:
-       rm -rf *.o *.so *.so.* package checkmedia digestdemo *~ 
tests/*.{img,check,tag}
+       rm -rf *.o *.so *.so.* *.1 *.html package checkmedia digestdemo *~ */*~ 
tests/*.{img,check,tag}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkmedia-6.1/VERSION new/checkmedia-6.2/VERSION
--- old/checkmedia-6.1/VERSION  2021-10-08 17:15:57.000000000 +0200
+++ new/checkmedia-6.2/VERSION  2023-06-02 12:57:02.000000000 +0200
@@ -1 +1 @@
-6.1
+6.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkmedia-6.1/changelog new/checkmedia-6.2/changelog
--- old/checkmedia-6.1/changelog        2021-10-08 17:15:57.000000000 +0200
+++ new/checkmedia-6.2/changelog        2023-06-02 12:57:02.000000000 +0200
@@ -1,3 +1,11 @@
+2023-06-02:    6.2
+       - merge gh#openSUSE/checkmedia#17
+       - do not select EFI System Partition for digest calculation
+         (bsc#1211953)
+       - use default for SKIPSECTORS only for RH media
+       - add man pages for checkmedia and tagmedia
+       - add spec file for OBS
+
 2021-10-08:    6.1
        - merge gh#openSUSE/checkmedia#16
        - fix auto-detecting a suitable signature location for rh media
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkmedia-6.1/checkmedia_man.adoc 
new/checkmedia-6.2/checkmedia_man.adoc
--- old/checkmedia-6.1/checkmedia_man.adoc      1970-01-01 01:00:00.000000000 
+0100
+++ new/checkmedia-6.2/checkmedia_man.adoc      2023-06-02 12:57:02.000000000 
+0200
@@ -0,0 +1,77 @@
+= checkmedia(1)
+:doctype: manpage
+:manmanual: User Commands
+:mansource: checkmedia {version}
+
+== Name
+
+checkmedia - check installation or Live media.
+
+== Synopsis
+
+*checkmedia* [_OPTIONS_] _IMAGE_
+
+
+== Description
+
+Installation/Live media carry some meta data stored in a reserved area in the 
ISO9660 file system.
+
+*checkmedia* can use these data to verify the media integrity.
+
+_IMAGE_ is an installation or Live medium; either ISO image or disk image.
+
+Meta data come in two flavors: SUSE (SLE, openSUSE) style and Red Hat (RHEL, 
Fedora, CentOS, AlmaLinux, Rocky, ...) style.
+Both variants are supported.
+
+For a detailed technical view, see 
file:///usr/share/doc/packages/libmediacheck{soversion}/README.html
+
+=== Options
+
+*--key-file* _FILE_::
+Use public key in _FILE_ for signature verification.
+
+*--version*::
+Show *checkmedia* version.
+
+*-v*, *--verbose*::
+Show more detailed info (repeat for more).
+
+*-h*, *--help*::
+Write this help text.
+
+== Notes
+
+If the meta data block contains several digests - for example, a digest over 
the entire ISO and, in case there is a partition table, also
+a digest over a partition - all digests are checked.
+
+If a signature block is present, the signature is verified.
+
+The default setting is to use keys installed in */usr/lib/rpm/gnupg/keys*. 
Pass an individual key file using the *--key-file* option
+if some other key was used to sign (for example, your own key).
+
+To verify an image built in the Open Build Service, extract the public project 
key with *osc signkey*.
+
+== Examples
+
+----
+# check foo.iso
+checkmedia foo.iso
+
+# check foo.iso, verify signature using your personal key ring
+checkmedia --key-file ~/.gnupg/pubring.gpg foo.iso
+
+# check foo.iso, built in the OBS in Foo:Bar:Project using the OBS project key
+osc signkey Foo:Bar:Project | sed -e 's/>-/>\n-/' | checkmedia --key-file - 
foo.iso
+----
+
+== See Also
+
+*checkisomd5*(1), *gpg*(1), *implantisomd5*(1), *osc*(1), *tagmedia*(1).
+
+== Links
+
+- detailed doc: https://github.com/openSUSE/checkmedia/blob/master/README.adoc
+- libmediacheck doc: 
https://github.com/openSUSE/checkmedia/blob/master/mediacheck.md
+- checkmedia web site: https://github.com/openSUSE/checkmedia
+- Open Build Service: https://openbuildservice.org
+- openSUSE Build Service: https://build.opensuse.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkmedia-6.1/obs/checkmedia.spec 
new/checkmedia-6.2/obs/checkmedia.spec
--- old/checkmedia-6.1/obs/checkmedia.spec      1970-01-01 01:00:00.000000000 
+0100
+++ new/checkmedia-6.2/obs/checkmedia.spec      2023-06-02 12:57:02.000000000 
+0200
@@ -0,0 +1,96 @@
+#
+# spec file for package checkmedia
+#
+# Copyright (c) 2023 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+Name:           checkmedia
+Summary:        Check installation or Live media
+License:        GPL-3.0-or-later
+Group:          System/Management
+Version:        0.0
+Release:        0
+URL:            https://github.com/openSUSE/checkmedia
+Source:         %{name}-%{version}.tar.xz
+BuildRequires:  gpg
+BuildRequires:  xz
+BuildRequires:  rubygem(asciidoctor)
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+
+%description
+The program checks installation or Live media for errors.
+
+%define libversion %(echo %version | cut -d. -f1)
+
+%package -n     libmediacheck%{libversion}
+Summary:        Library for checking installation or Live media
+Group:          System/Libraries
+Requires:       gpg
+
+%description -n libmediacheck%{libversion}
+Library for checking installation or Live media. Used by checkmedia and 
linuxrc.
+
+%package -n     libmediacheck-devel
+Summary:        Library for checking installation or Live media
+Group:          Development/Libraries/C and C++
+Requires:       libmediacheck%{libversion} = %version
+
+%description -n libmediacheck-devel
+Library for checking installation or Live media. Used by checkmedia and 
linuxrc.
+
+%prep
+%setup
+
+%build
+make %{?_smp_mflags}
+
+%check
+make test
+
+%install
+install -d -m 755 %{buildroot}/usr/bin
+%make_install
+make doc
+install -D -m 644 checkmedia.1 %{buildroot}%{_mandir}/man1/checkmedia.1
+install -D -m 644 tagmedia.1 %{buildroot}%{_mandir}/man1/tagmedia.1
+
+%post -n libmediacheck%{libversion} -p /sbin/ldconfig
+
+%postun -n libmediacheck%{libversion} -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root)
+/usr/bin/checkmedia
+/usr/bin/tagmedia
+%doc %{_mandir}/man1/checkmedia.*
+%doc %{_mandir}/man1/tagmedia.*
+
+%files -n libmediacheck%{libversion}
+%defattr(-,root,root)
+%{_libdir}/*.so.*
+%doc README.*
+%doc mediacheck.md
+%if 0%{?suse_version} >= 1500
+%license COPYING
+%else
+%doc COPYING
+%endif
+
+%files -n libmediacheck-devel
+%defattr(-,root,root)
+%{_libdir}/*.so
+%{_includedir}/mediacheck.h
+
+%changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkmedia-6.1/tagmedia new/checkmedia-6.2/tagmedia
--- old/checkmedia-6.1/tagmedia 2021-10-08 17:15:57.000000000 +0200
+++ new/checkmedia-6.2/tagmedia 2023-06-02 12:57:02.000000000 +0200
@@ -394,6 +394,8 @@
 
   # Scan mbr for last primary partition.
   #
+  # Ignore EFI system partition.
+  #
   # Set $image->{part_start}, $image->{part_blocks} (in 0.5 kiB units).
   #
   if(substr($image->{blob}, MBR_MAGIC_START, 2) eq "\x55\xaa") {
@@ -408,6 +410,7 @@
 
       if(
         $type &&
+        $type != 0xef &&
         !($boot & 0x7f) &&
         $size &&
         $start + $size > $image->{part_start} + $image->{part_blocks}
@@ -487,7 +490,7 @@
 
     set_tag $tags, { key => "SKIPSECTORS", value => $skip_value } if defined 
$skip_value;;
 
-    $skip_value = SKIP_DEFAULT if !defined $skip_value;
+    $skip_value = SKIP_DEFAULT if !defined $skip_value && $opt_style eq 'rh';
 
     $image->{skip_blocks} = $skip_value << 2;
     $image->{iso_blocks} -= $image->{skip_blocks};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/checkmedia-6.1/tagmedia_man.adoc 
new/checkmedia-6.2/tagmedia_man.adoc
--- old/checkmedia-6.1/tagmedia_man.adoc        1970-01-01 01:00:00.000000000 
+0100
+++ new/checkmedia-6.2/tagmedia_man.adoc        2023-06-02 12:57:02.000000000 
+0200
@@ -0,0 +1,163 @@
+= tagmedia(1)
+:doctype: manpage
+:manmanual: User Commands
+:mansource: tagmedia {version}
+
+== Name
+
+tagmedia - add/remove tags to installation or Live media.
+
+== Synopsis
+
+*tagmedia* [_OPTIONS_] _IMAGE_
+
+
+== Description
+
+Installation/Live media carry some meta data stored in a reserved area in the 
ISO9660 file system.
+
+*tagmedia* can display and modify these data.
+
+The data are in text form, structured as key=value pairs. Most notably they 
include a digest (checksum) over the
+entire medium that can be used for verification with *checkmedia*(1).
+
+The meta data block can optionally be signed to verify its authenticity.
+
+_IMAGE_ is an installation or Live medium; either ISO image or disk image.
+
+Meta data come in two flavors: SUSE (SLE, openSUSE) style and Red Hat (RHEL, 
Fedora, CentOS, AlmaLinux, Rocky, ...) style.
+Both variants are supported.
+
+For a detailed technical view, see 
file:///usr/share/doc/packages/libmediacheck{soversion}/README.html
+
+If a digest was added, the media can be verified with *checkmedia*(1) (both 
Red Hat and SUSE style) or *checkisomd5*(1) (Red Hat style only).
+
+=== General options
+
+*--style* _STYLE_::
+Data format. _STYLE_ can be either 'rh' or 'suse' (default: auto-detected).
+
+*--version*::
+Show *tagmedia* version.
+
+*-v*, *--verbose*::
+Show more detailed info (repeat for more).
+
+*--help*::
+Write this help text.
+
+=== Tag related options
+
+*--show*::
+Show current tags (default if no option is given).
+
+*--add-tag* _FOO_=_BAR_::
+Add tag _FOO_ with value _BAR_.
+
+*--remove-tag* _FOO_::
+Remove tag _FOO_.
+
+*--clean*::
+Remove all tags.
+
+*--export-tags* _FILE_::
+Export raw tag data to _FILE_.
+
+=== Digest related options
+
+*--digest* _DIGEST_::
+Add digest _DIGEST_ (suse style: md5, sha1, sha224, sha256, sha384, sha512, rh 
style: md5).
+
+*--fragments* _N_::
+Split image into _N_ fragments with individual digests (suse style default: 0, 
rh style default: 20)
+
+*--pad* _N_::
+Ignore _N_ 2 kiB blocks of padding at image end (suse style).
+
+*--skip* _N_::
+Ignore _N_ 2 kiB blocks at image end (rh style, default: 15).
+
+*--check*::
+Tell installer to run media check at startup (suse style).
+
+*--supported*::
+Set supported flag (rh style).
+
+=== Signature related options
+
+*--create-signature* _KEYID_::
+Sign meta data in _IMAGE_ with gpg key _KEYID_. The public part of _KEYID_ is 
exported to the file _IMAGE_.key.
+
+*--import-signature* _FILE_::
+Import signature from _FILE_.
+
+*--export-signature* _FILE_::
+Export signature to _FILE_.
+
+=== Legacy options
+
+*--md5*, *--md5sum*::
+Equivalent to *--digest md5*.
+
+== Digest notes
+
+The digest is calculated over the entire image, leaving out the meta data 
block and, if one exists, the signature block. Padding blocks
+are also not taken into account.
+
+For SUSE style media a separate digest over the last partition is also added, 
if a partition table exists.
+If this happens to be an EFI System Partition, the last but one partition is 
used.
+
+For Red Hat style media, the media is additionally split into parts 
(fragments) with separate checksums for each part to help localize
+where any mismatch occurs.
+
+For a description of how exactly the digests are calculated, see the detailed 
doc link below.
+
+== Signing notes
+
+You can add a signature of the meta data block. It can then be used to ensure 
the authenticity of the meta data, notably the stored digest.
+
+The signature is stored in a special 2 kiB block. The block can be anywhere in 
the image, usually as part of the file system.
+The block is identified by a magic id (see detailed doc link below).
+
+Note that usually this block has to be included during image creation. It does 
not have to be visible in the file system.
+
+*tagmedia* scans the image for a block with this magic id when calculating a 
digest and stores a reference to it in the 'signature' tag if one is found.
+
+As an exception, if no such block had been identified, *tagmedia* will try to 
create one in the padding area, if a padding area exists.
+
+If you do not want *tagmedia* to run gpg directly, it is also possible to 
create the signature independently of *tagmedia* using *--export-tags* to store 
the raw meta data in a file, then sign it
+and import the signature using the *--import-signature* option.
+
+== Open Build Service
+
+If a signature block is present the OBS will automatically sign images with 
the project key.
+
+You can get the public part of the project key needed for verification with 
*osc signkey*.
+
+== Examples
+
+----
+# display current meta data
+tagmedia foo.iso
+
+# create digest
+tagmedia --digest sha256 foo.iso
+
+# create digest, adding a rh-style fragment digest for early error detection
+tagmedia --digest sha256 --fragments 20 foo.iso
+
+# create signature, using gpg key id foo-key
+tagmedia --create-signature foo-key foo.iso
+----
+
+== See Also
+
+*checkisomd5*(1), *checkmedia*(1), *gpg*(1), *implantisomd5*(1), *osc*(1).
+
+== Links
+
+- detailed doc: https://github.com/openSUSE/checkmedia/blob/master/README.adoc
+- libmediacheck doc: 
https://github.com/openSUSE/checkmedia/blob/master/mediacheck.md
+- checkmedia web site: https://github.com/openSUSE/checkmedia
+- Open Build Service: https://openbuildservice.org
+- openSUSE Build Service: https://build.opensuse.org

Reply via email to