Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package tar for openSUSE:Factory checked in at 2026-03-05 17:12:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tar (Old) and /work/SRC/openSUSE:Factory/.tar.new.561 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tar" Thu Mar 5 17:12:31 2026 rev:87 rq:1336580 version:1.35 Changes: -------- --- /work/SRC/openSUSE:Factory/tar/tar.changes 2025-06-01 21:36:09.676313361 +0200 +++ /work/SRC/openSUSE:Factory/.tar.new.561/tar.changes 2026-03-05 17:12:50.960916642 +0100 @@ -1,0 +2,17 @@ +Wed Mar 4 18:26:48 UTC 2026 - Antonio Teixeira <[email protected]> + +- Add tar-fix-deletion-from-archive.patch + * Fixes tar creating invalid tarballs when used with --delete (bsc#1246607) + * Add makeinfo build requirement, needed after the addition of the patch + +------------------------------------------------------------------- +Tue Feb 10 23:12:22 UTC 2026 - Antonio Teixeira <[email protected]> + +- Rename gnurmt to rmt, since we now conflict with other rmt providers + (complementary change for bsc#1240101) +- Move tar-tests files to %_libdir/tar to avoid files outside snapshot + (jsc#PED-14742) +- Remove update-alternatives %post scripts for SLES 16.x future releases + (jsc#PED-15657, bsc#1245919) + +------------------------------------------------------------------- New: ---- tar-fix-deletion-from-archive.patch ----------(New B)---------- New: - Add tar-fix-deletion-from-archive.patch * Fixes tar creating invalid tarballs when used with --delete (bsc#1246607) ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tar.spec ++++++ --- /var/tmp/diff_new_pack.TV8qcA/_old 2026-03-05 17:12:52.248970181 +0100 +++ /var/tmp/diff_new_pack.TV8qcA/_new 2026-03-05 17:12:52.252970346 +0100 @@ -1,7 +1,7 @@ # # spec file for package tar # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,6 +18,8 @@ # For correct subpackages docs installation into tar doc directory %global _docdir_fmt %{name} +# tar-tests directory +%define testsdir %{_libdir}/%{name} Name: tar Version: 1.35 Release: 0 @@ -50,9 +52,11 @@ # uninitialized memory for a conditional jump Patch16: fix-CVE-2022-48303.patch Patch17: add_forgotten-tests.patch +Patch18: tar-fix-deletion-from-archive.patch BuildRequires: automake >= 1.15 BuildRequires: libacl-devel BuildRequires: libselinux-devel +BuildRequires: makeinfo Recommends: %{name}-rmt = %{version} Recommends: mt Recommends: xz @@ -87,7 +91,9 @@ %package rmt Summary: Remote tape drive control server by GNU Group: Productivity/Archiving/Backup +%if %{suse_version} <= 1600 || %{suse_version} >= 1699 Requires(post): update-alternatives +%endif Provides: rmt Conflicts: rmt @@ -125,8 +131,7 @@ %configure \ gl_cv_func_linkat_follow="yes" \ --enable-backup-scripts \ - --disable-silent-rules \ - --program-transform-name='s/^rmt$/gnurmt/' + --disable-silent-rules %make_build LDFLAGS="-pie" cd tests %make_build genfile @@ -140,28 +145,30 @@ %install %make_install DESTDIR=%{buildroot} mkdir %{buildroot}/bin -mv %{buildroot}%{_mandir}/man8/gnurmt.8 %{buildroot}%{_mandir}/man1/gnurmt.1 +mv %{buildroot}%{_mandir}/man8/rmt.8 %{buildroot}%{_mandir}/man1/rmt.1 install -D -m 644 scripts/backup-specs %{buildroot}%{_sysconfdir}/backup/backup-specs # For avoiding file conflicts with dump/restore mv %{buildroot}%{_sbindir}/restore %{buildroot}%{_sbindir}/restore.sh rm -f %{buildroot}%{_infodir}/dir install -D -m 644 -t %{buildroot}%{_docdir}/%{name} README* ABOUT-NLS AUTHORS NEWS THANKS \ ChangeLog TODO -install -d -m 755 %{buildroot}%{_localstatedir}/lib/tests -cp -r tests %{buildroot}%{_localstatedir}/lib/tests/tar -rm %{buildroot}%{_localstatedir}/lib/tests/tar/*.{c,h,o} -rm %{buildroot}%{_localstatedir}/lib/tests/tar/package.m4 -rm %{buildroot}%{_localstatedir}/lib/tests/tar/{atconfig,atlocal,Makefile}* +install -d -m 755 %{buildroot}%{testsdir} +cp -r tests %{buildroot}%{testsdir} +rm %{buildroot}%{testsdir}/tests/*.{c,h,o} +rm %{buildroot}%{testsdir}/tests/package.m4 +rm %{buildroot}%{testsdir}/tests/{atconfig,atlocal,Makefile}* %if 0%{?suse_version} < 1550 mkdir -p %{buildroot}/bin ln -s %{_bindir}/%{name} %{buildroot}/bin %endif %find_lang %{name} +%if %{suse_version} <= 1600 || %{suse_version} >= 1699 %post rmt if [ ! -f %{_bindir}/gnurmt ] ; then "%{_sbindir}/update-alternatives" --remove rmt %{_bindir}/gnurmt fi +%endif %files backup-scripts %{_sbindir}/backup @@ -174,14 +181,12 @@ %files lang -f %{name}.lang %files tests -%{_localstatedir}/lib/tests +%{testsdir} %{_docdir}/%{name}/README-tests %files rmt -%ghost %{_bindir}/rmt -%{_bindir}/gnurmt -%ghost %{_mandir}/man1/rmt.1%{ext_man} -%{_mandir}/man1/gnurmt.1%{?ext_man} +%{_bindir}/rmt +%{_mandir}/man1/rmt.1%{?ext_man} %files doc %dir %{_docdir}/%{name} ++++++ tar-fix-deletion-from-archive.patch ++++++ >From d437ecf75de2d6fdeb2aed6f45c4b3b16373389b Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff <[email protected]> Date: Fri, 11 Aug 2023 21:35:30 +0300 Subject: Revert "Fix savannah bug #63567" Commit e89c7a45eb broke deletion from archives. The reported number of bytes read is rounded to the nearest record anyway, revert the commit and document the fact. Reported by Ed Santiago. See https://bugzilla.redhat.com/show_bug.cgi?id=2230127 * doc/tar.texi: Document the fact that --totals rounds up the number of bytes reads to the nearest record. * src/buffer.c: Revert changes. * tests/delete06.at: Fix expected status code and stderr. --- doc/tar.texi | 5 +++++ src/buffer.c | 3 +-- tests/delete06.at | 7 +++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/doc/tar.texi b/doc/tar.texi index d43b39e4..ee631137 100644 --- a/doc/tar.texi +++ b/doc/tar.texi @@ -4215,6 +4215,11 @@ Total bytes read: 7924664320 (7.4GiB, 95MiB/s) @end group @end smallexample +Notice, that since @command{tar} operates on @dfn{records}, the number +of bytes reported can be rounded up to the nearest full record. This +can happen, in particular, when the last record in the archive is +partial. @xref{Blocking}. + Finally, when deleting from an archive, the @option{--totals} option displays both numbers plus number of bytes removed from the archive: diff --git a/src/buffer.c b/src/buffer.c index 12a0579f..8a575f9a 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -987,8 +987,7 @@ short_read (size_t status) } record_end = record_start + (record_size - left) / BLOCKSIZE; - if (left == 0) - records_read++; + records_read++; } /* Flush the current buffer to/from the archive. */ diff --git a/tests/delete06.at b/tests/delete06.at index 9668a28c..c84ba20e 100644 --- a/tests/delete06.at +++ b/tests/delete06.at @@ -36,7 +36,10 @@ esac dd if=archive.tar of=trunc.tar bs=$size count=1 2>/dev/null tar --delete 'b/' -f trunc.tar ], -[0], -[],[],[],[],[gnu, pax]) +[2], +[], +[tar: lseek: trunc.tar: Value too large for defined data type +tar: Exiting with failure status due to previous errors +],[],[],[gnu, pax]) AT_CLEANUP -- cgit v1.2.3
