Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mt-st for openSUSE:Factory checked 
in at 2023-05-23 14:55:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mt-st (Old)
 and      /work/SRC/openSUSE:Factory/.mt-st.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mt-st"

Tue May 23 14:55:22 2023 rev:6 rq:1088623 version:1.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/mt-st/mt-st.changes      2020-11-26 
23:15:02.317020344 +0100
+++ /work/SRC/openSUSE:Factory/.mt-st.new.1533/mt-st.changes    2023-05-23 
14:55:43.878904837 +0200
@@ -1,0 +2,8 @@
+Wed May 17 13:48:11 UTC 2023 - Alexey Svistunov <sv...@svalx.net>
+
+- Update to version 1.7:
+  * fixes a single bug in stinit parsing of invalid definitions
+  * add IBM 3590 B/E format to tape densities table (Chris Dinneen)
+- Cleanup secfile
+
+-------------------------------------------------------------------

Old:
----
  mt-st-1.4.tar.gz
  mt-st-1.4.tar.gz.asc

New:
----
  mt-st-1.7.tar.gz
  mt-st-1.7.tar.gz.asc

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

Other differences:
------------------
++++++ mt-st.spec ++++++
--- /var/tmp/diff_new_pack.IgbBWd/_old  2023-05-23 14:55:44.410907984 +0200
+++ /var/tmp/diff_new_pack.IgbBWd/_new  2023-05-23 14:55:44.418908031 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package mt-st
 #
-# Copyright (c) 2020 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,7 +17,7 @@
 
 
 Name:           mt-st
-Version:        1.4
+Version:        1.7
 Release:        0
 Summary:        Utility for Controlling Magnetic Tape Drives
 License:        GPL-2.0-or-later
@@ -28,13 +28,8 @@
 Source2:        stinit.def
 Source3:        61-storage-tape-init.rules
 Source4:        %{name}.keyring
-BuildRequires:  pkgconfig
-BuildRequires:  pkgconfig(udev)
-Requires:       udev
-Requires(post): udev
 Requires(post): update-alternatives
-Requires(postun): udev
-Requires(postun): update-alternatives
+Requires(postun):update-alternatives
 Provides:       mt
 
 %description

++++++ mt-st-1.4.tar.gz -> mt-st-1.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/CHANGELOG.md new/mt-st-1.7/CHANGELOG.md
--- old/mt-st-1.4/CHANGELOG.md  2020-08-30 11:40:54.000000000 +0200
+++ new/mt-st-1.7/CHANGELOG.md  2023-04-20 23:23:11.000000000 +0200
@@ -1,5 +1,32 @@
 # Changelog
 
+## Changes in version 1.7 (Thu, 20 Apr 2023)
+
+Fixes a single bug in stinit parsing of invalid definitions. This is a
+trivial bug, and only affects config files manually installed by root,
+so the impact should be minimal.
+
+The bug also does not appear on amd64/x86, but (in Debian) was only
+triggered (as undefined behaviour) on mips64el, arm64 and s390x,
+likely due to different platform behaviour.
+
+## Changes in version 1.6 (Wed, 19 Apr 2023)
+
+This is bugfix release agains 1.5. In between 1.4 and 1.5, the "make
+check" target was migrated to using
+[shelltest](https://github.com/simonmichael/shelltestrunner), but the
+`make dist` and `distcheck` targets were no, so the built archive was
+actually not. This only fixes that and has no functional code changes
+from 1.5.
+
+## Changes in version 1.5 (Wed, 19 Apr 2023)
+
+Trivial release:
+
+- add IBM 3590 B/E format to tape densities table (Chris Dinneen).
+
+Thanks!
+
 ## Changes in version 1.4 (Sun, 30 Aug 2020)
 
 Small bugfixes and improvements release:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/Makefile new/mt-st-1.7/Makefile
--- old/mt-st-1.4/Makefile      2020-08-30 11:42:03.000000000 +0200
+++ new/mt-st-1.7/Makefile      2023-04-20 23:23:21.000000000 +0200
@@ -28,7 +28,10 @@
        .dir-locals.el \
        .clang-format
 
-VERSION=1.4
+TESTFILES = $(wildcard tests/*.test)
+TESTDATAFILES = $(wildcard tests/data/*.data)
+
+VERSION=1.7
 RELEASEDIR=mt-st-$(VERSION)
 TARFILE=mt-st-$(VERSION).tar.gz
 
@@ -58,7 +61,10 @@
        trap "rm -rf $$BASE" EXIT && \
        DIST="$$BASE/$(RELEASEDIR)" && \
        mkdir "$$DIST" && \
-       $(INSTALL) -m 0644 -p -t "$$DIST/" $(DISTFILES) && \
+       mkdir "$$DIST/tests" && mkdir "$$DIST/tests/data" && \
+         $(INSTALL) -m 0644 -p -t "$$DIST/" $(DISTFILES) && \
+         $(INSTALL) -m 0644 -p -t "$$DIST/tests" $(TESTFILES) && \
+         $(INSTALL) -m 0644 -p -t "$$DIST/tests/data" $(TESTDATAFILES) && \
        tar czvf $(TARFILE) -C "$$BASE" \
          --owner root --group root \
          $(RELEASEDIR)
@@ -71,12 +77,7 @@
        tar xvf $(TARFILE) -C "$$SRC" && \
        cd "$$SRC/$(RELEASEDIR)" && \
        make CFLAGS="-Wall -Wextra -Werror" && \
-       echo Checking version output && \
-       ./mt --version && ./stinit --version && \
-       echo Checking parse status && \
-       ./stinit -p -f stinit.def.examples && \
-       echo Checking complete stinit parsing && \
-       ( ./stinit -v -v -p -f stinit.def.examples 2>&1 | grep -q 'Mode 1 
definition: scsi2logical=1 can-bsr=1 auto-lock=0 two-fms=0 drive-buffering=1 
buffer-writes read-ahead=1 async-writes=1 can-partitions=0 fast-eom=1 
blocksize=0 sili=1   timeout=900  long-timeout=14400     density=0x44 
compression=0' ) && \
+       make check && \
        make dist && \
        make install DESTDIR="$$DST" && \
        numfiles=$$( \
@@ -86,11 +87,23 @@
        echo "$$numfiles files installed (5 expected)" && \
        test "$$numfiles" -eq 5
 
+check: $(PROGS)
+       shelltest -DVERSION=$(VERSION) tests
+
+# This needs lcov installed, and it's useful for local testing.
+coverage: clean
+       $(MAKE) CFLAGS=-coverage
+       $(MAKE) check
+       lcov --capture --directory . --no-external --output-file coverage.info
+       genhtml coverage.info --output-directory out
+
+
 release-tag:
        git tag -s -m 'Release version $(VERSION).' mt-st-$(VERSION)
 
 clean:
-       rm -f *~ \#*\# *.o $(PROGS) version.h
+       rm -f *~ \#*\# *.o *.gcno *.gcda coverage.info $(PROGS) version.h
+       rm -rf out
 
 reindent:
        clang-format -i mt.c stinit.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/README.md new/mt-st-1.7/README.md
--- old/mt-st-1.4/README.md     2020-08-30 02:21:04.000000000 +0200
+++ new/mt-st-1.7/README.md     2023-04-18 20:41:46.000000000 +0200
@@ -11,8 +11,12 @@
 For more information, bug reports and the source code repository,
 please see the project homepage at <https://github.com/iustin/mt-st>.
 
-Build status:
-[![Build 
Status](https://travis-ci.org/iustin/mt-st.svg?branch=master)](https://travis-ci.org/iustin/mt-st)
+[![GitHub Workflow 
Status](https://img.shields.io/github/actions/workflow/status/iustin/mt-st/ci.yml?branch=main)](https://github.com/iustin/mt-st/actions/workflows/ci.yml)
+[![Codecov](https://img.shields.io/codecov/c/github/iustin/mt-st)](https://codecov.io/gh/iustin/mt-st)
+![Debian package](https://img.shields.io/debian/v/mt-st/sid)
+![Ubuntu package](https://img.shields.io/ubuntu/v/mt-st)
+![GitHub Release Date](https://img.shields.io/github/release-date/iustin/mt-st)
+![GitHub commits since latest 
release](https://img.shields.io/github/commits-since/iustin/mt-st/latest)
 
 ## mt
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/mt.c new/mt-st-1.7/mt.c
--- old/mt-st-1.4/mt.c  2020-08-30 02:20:25.000000000 +0200
+++ new/mt-st-1.7/mt.c  2023-03-17 13:10:17.000000000 +0100
@@ -175,7 +175,8 @@
     { 0x26, "DDS-4 or QIC-4GB"               },
     { 0x27, "Exabyte Mammoth"                },
     { 0x28, "Exabyte Mammoth-2"              },
-    { 0x29, "QIC-3080MC"                     },
+    { 0x29, "QIC-3080MC, IBM 3590 B"         },
+    { 0x2a, "IBM 3590 E"                     },
     { 0x30, "AIT-1 or MLR3"                  },
     { 0x31, "AIT-2"                          },
     { 0x32, "AIT-3 or SLR7"                  },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/stinit.c new/mt-st-1.7/stinit.c
--- old/mt-st-1.4/stinit.c      2019-10-13 20:11:26.000000000 +0200
+++ new/mt-st-1.7/stinit.c      2023-04-20 23:05:22.000000000 +0200
@@ -139,9 +139,13 @@
                     cp++;
                     for (cp2 = cp; *cp2 != '"' && *cp2 != '\0'; cp2++)
                         ;
-                } else
-                    for (cp2 = cp + 1; isalnum(*cp2) || *cp2 == '-'; cp2++)
-                        ;
+                } else {
+                    if (*cp == '\0')
+                        return NULL;
+                    else
+                        for (cp2 = cp + 1; isalnum(*cp2) || *cp2 == '-'; cp2++)
+                            ;
+                }
                 if (*cp2 == '\0')
                     return NULL;
                 have_arg = TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/basic.test 
new/mt-st-1.7/tests/basic.test
--- old/mt-st-1.4/tests/basic.test      1970-01-01 01:00:00.000000000 +0100
+++ new/mt-st-1.7/tests/basic.test      2021-06-06 02:40:44.000000000 +0200
@@ -0,0 +1,21 @@
+# Check --version works
+./mt --version
+>>> /VERSION/
+>>>= 0
+
+./mt -v
+>>> /VERSION/
+>>>= 0
+
+./stinit --version
+>>> /VERSION/
+>>>= 0
+
+# Check -h works
+./mt -h
+>>>2 /commands: weof, wset, eof/
+>>>= 0
+
+./stinit -h
+>>>2 /Usage: stinit/
+>>>= 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/data/bad-definition.data 
new/mt-st-1.7/tests/data/bad-definition.data
--- old/mt-st-1.4/tests/data/bad-definition.data        1970-01-01 
01:00:00.000000000 +0100
+++ new/mt-st-1.7/tests/data/bad-definition.data        2023-04-18 
21:57:45.000000000 +0200
@@ -0,0 +1,6 @@
+# A non-compressing DAT (DDS-1)
+# The manufacturer, model, and revision strings can be obtained,
+# from the file /proc/scsi/scsi (cat /proc/scsi/scsi).
+manufacturer=XYZ model = "UVW1" {
+mode1 blocksize=
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/data/illegal-mode.data 
new/mt-st-1.7/tests/data/illegal-mode.data
--- old/mt-st-1.4/tests/data/illegal-mode.data  1970-01-01 01:00:00.000000000 
+0100
+++ new/mt-st-1.7/tests/data/illegal-mode.data  2021-06-06 02:40:44.000000000 
+0200
@@ -0,0 +1,7 @@
+# A non-compressing DAT (DDS-1)
+# The manufacturer, model, and revision strings can be obtained,
+# from the file /proc/scsi/scsi (cat /proc/scsi/scsi).
+manufacturer=XYZ model = "UVW1" {
+scsi2logical=1 can-bsr can-partitions auto-lock
+mode1 blocksize=0
+modeABC blocksize=1024 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/data/incomplete-block.data 
new/mt-st-1.7/tests/data/incomplete-block.data
--- old/mt-st-1.4/tests/data/incomplete-block.data      1970-01-01 
01:00:00.000000000 +0100
+++ new/mt-st-1.7/tests/data/incomplete-block.data      2023-04-18 
21:49:46.000000000 +0200
@@ -0,0 +1,4 @@
+# A non-compressing DAT (DDS-1)
+# The manufacturer, model, and revision strings can be obtained,
+# from the file /proc/scsi/scsi (cat /proc/scsi/scsi).
+manufacturer=XYZ model = "UVW1" {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/data/large-units.data 
new/mt-st-1.7/tests/data/large-units.data
--- old/mt-st-1.4/tests/data/large-units.data   1970-01-01 01:00:00.000000000 
+0100
+++ new/mt-st-1.7/tests/data/large-units.data   2023-04-18 21:39:30.000000000 
+0200
@@ -0,0 +1,7 @@
+# A non-compressing DAT (DDS-1)
+# The manufacturer, model, and revision strings can be obtained,
+# from the file /proc/scsi/scsi (cat /proc/scsi/scsi).
+manufacturer=XYZ model = "UVW1" {
+scsi2logical=1 can-bsr can-partitions auto-lock
+mode1 blocksize=1k
+mode2 blocksize=1M }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/mt-cli.test 
new/mt-st-1.7/tests/mt-cli.test
--- old/mt-st-1.4/tests/mt-cli.test     1970-01-01 01:00:00.000000000 +0100
+++ new/mt-st-1.7/tests/mt-cli.test     2021-06-06 02:40:44.000000000 +0200
@@ -0,0 +1,34 @@
+# Wrong argument
+./mt -x
+>>>2 /usage: /
+>>>= 1
+
+# Missing tape argument
+./mt -f
+>>>2 /usage: /
+>>>= 1
+
+# Unknown command
+./mt to-the-moon
+>>>2 /mt: unknown command "to-the-moon"/
+>>>= 1
+
+# Too many arguments
+./mt rewind 1
+>>>2 /mt: too many arguments for the command 'rewind'\./
+>>>= 1
+
+# Ambigous command
+./mt l
+>>>2 /mt: ambiguous command "l"/
+>>>= 1
+
+# Shortened but not ambiguous command.
+./mt rewi 1
+>>>2 /mt: too many arguments for the command 'rewind'\./
+>>>= 1
+
+# Densities command - the only one not requiring a tape.
+./mt densities
+>>> /LTO-6/
+>>>= 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/mt-errors.test 
new/mt-st-1.7/tests/mt-errors.test
--- old/mt-st-1.4/tests/mt-errors.test  1970-01-01 01:00:00.000000000 +0100
+++ new/mt-st-1.7/tests/mt-errors.test  2021-06-06 02:40:44.000000000 +0200
@@ -0,0 +1,4 @@
+# Wrong tape argument
+./mt -f /dev/no-such-tape rewind
+>>>2 /no-such-tape: No such file or directory/
+>>>= 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/stinit-errors.test 
new/mt-st-1.7/tests/stinit-errors.test
--- old/mt-st-1.4/tests/stinit-errors.test      1970-01-01 01:00:00.000000000 
+0100
+++ new/mt-st-1.7/tests/stinit-errors.test      2023-04-18 21:58:04.000000000 
+0200
@@ -0,0 +1,51 @@
+# Check handling of missing file
+./stinit -p -f no-such-database
+>>>2 /Can't find SCSI tape database/
+>>>= 1
+
+# No file passed
+./stinit -p -f
+>>>2 /Usage:/
+>>>= 1
+
+# Wrong arguments
+./stinit -x
+>>>2 /Usage:/
+>>>= 1
+
+# Illegal ordering of arguments
+./stinit -f stinit.def.examples 1000 -
+>>>2 /Usage:/
+>>>= 1
+
+# Check bad mode
+./stinit -v -v -p -f tests/data/illegal-mode.data
+>>> /Errors found!/
+>>>2 /Illegal mode for/
+>>>= 1
+
+# No modes defined
+#./stinit -v -v -f tests/data/no-modes.data
+#>>> /Errors found!/
+#>>>2 /Illegal mode for/
+#>>>= 1
+
+# Wrong tape device
+./stinit -f stinit.def.examples /dev/no-such-tape
+>>>2 /Can't find tape number for name/
+>>>= 0
+
+# Wrong tape number. Well, this is flaky, but let's hope nobody has
+# 1000 tapes.
+./stinit -f stinit.def.examples 1000
+>>>2 /Can't find any device files for tape 1000/
+>>>= 0
+
+./stinit -f stinit.def.examples 1000
+>>>2 /Definition for '1000' failed/
+>>>= 0
+
+# Wrong tape number (non-numeric).
+./stinit -f stinit.def.examples 1000a
+>>>2 /Invalid tape device index '1000a': don't know how to parse 'a'/
+>>>= 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mt-st-1.4/tests/stinit-parsing.test 
new/mt-st-1.7/tests/stinit-parsing.test
--- old/mt-st-1.4/tests/stinit-parsing.test     1970-01-01 01:00:00.000000000 
+0100
+++ new/mt-st-1.7/tests/stinit-parsing.test     2023-04-18 22:06:29.000000000 
+0200
@@ -0,0 +1,30 @@
+# Check example file parsing
+./stinit -p -f stinit.def.examples
+>>>= 0
+
+# Extra arguments ignored while file parsing
+./stinit -p -f stinit.def.examples abc
+>>>2 /Extra arguments .* ignored/
+>>>= 0
+
+# Checking complete stinit parsing
+./stinit -v -v -p -f stinit.def.examples
+>>> /No errors found./
+>>>2 /Mode 1 definition: scsi2logical=1 can-bsr=1 auto-lock=0 two-fms=0 
drive-buffering=1 buffer-writes read-ahead=1 async-writes=1 can-partitions=0 
fast-eom=1 blocksize=0 sili=1   timeout=900  long-timeout=14400     
density=0x44 compression=0/
+>>>= 0
+
+# Check units
+./stinit -v -v -p -f tests/data/large-units.data
+>>> /No errors found./
+>>>2 /blocksize=1(k|M)/
+>>>= 0
+
+# Incomplete block
+./stinit -p -v -f tests/data/incomplete-block.data
+>>>2 /End of definition block not found for/
+>>>= 1
+
+# Wrong definition
+./stinit -p -v -f tests/data/bad-definition.data
+>>>2 /Warning: errors in definition for/
+>>>= 1

Reply via email to