Upgrade to 1.5.2.pl01 (#1776514)

This commit is contained in:
Robert Scheck 2020-12-28 04:44:14 +01:00
parent 9a09afe311
commit 09f96c4962
2 changed files with 277 additions and 28 deletions

244
libburn-1.5.2-pl01.patch Normal file
View File

@ -0,0 +1,244 @@
diff -Naur libburn-1.5.2/cdrskin/cdrfifo.c libburn-1.5.2.pl01/cdrskin/cdrfifo.c
--- libburn-1.5.2/cdrskin/cdrfifo.c 2018-09-06 12:03:40.000000000 +0200
+++ libburn-1.5.2.pl01/cdrskin/cdrfifo.c 2019-11-25 19:38:34.000000000 +0100
@@ -28,7 +28,20 @@
#ifndef Cdrfifo_standalonE
/* for burn_os_alloc_buffer() */
#include "../libburn/libburn.h"
-#define Libburn_has_open_trac_srC 1
+
+/* ts B91124:
+ DISABLED, because this spoils multi-track burning by slowing down first
+ track and stalling before the second track begins. Obviously a problem
+ with chained input and waiting for full O_DRIECT suitable read chunks.
+ DO NOT ENABLE before the wait code in this source file is fixed.
+ That long, ./configure option --enable-track-src-odirect must not
+ get into effect in libburn. NO -DLibburn_read_o_direcT either.
+
+ For extra safety, O_DIRECT has been banned in libburn/sg-linux.c too.
+
+ # def ine Libburn_has_open_trac_srC 1
+*/
+
#endif
#include "cdrfifo.h"
diff -Naur libburn-1.5.2/cdrskin/cdrskin_eng.html libburn-1.5.2.pl01/cdrskin/cdrskin_eng.html
--- libburn-1.5.2/cdrskin/cdrskin_eng.html 2019-10-26 16:59:32.000000000 +0200
+++ libburn-1.5.2.pl01/cdrskin/cdrskin_eng.html 2019-11-25 19:44:07.000000000 +0100
@@ -67,7 +67,7 @@
GPL software included:<BR>
</H2>
<DL>
-<DT>libburn-1.5.2</DT>
+<DT>libburn-1.5.2.pl01</DT>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)
@@ -202,13 +202,13 @@
<P>
<DL>
<DT>Download as source code (see README):</DT>
-<DD><A HREF="cdrskin-1.5.2.tar.gz">cdrskin-1.5.2.tar.gz</A>
+<DD><A HREF="cdrskin-1.5.2.pl01.tar.gz">cdrskin-1.5.2.pl01.tar.gz</A>
(1060 KB).
</DD>
-<DD><A HREF="cdrskin-1.5.2.tar.gz.sig">cdrskin-1.5.2.tar.gz.sig</A></DD>
+<DD><A HREF="cdrskin-1.5.2.pl01.tar.gz.sig">cdrskin-1.5.2.pl01.tar.gz.sig</A></DD>
<DD>
(detached GPG signature for verification by
-<KBD>gpg --verify cdrskin-1.5.2.tar.gz.sig cdrskin-1.5.2.tar.gz</KBD>
+<KBD>gpg --verify cdrskin-1.5.2.pl01.tar.gz.sig cdrskin-1.5.2.pl01.tar.gz</KBD>
<BR>
after <KBD>gpg --keyserver keys.gnupg.net --recv-keys ABC0A854</KBD>).
</DD>
@@ -280,9 +280,16 @@
This caused Xfburn failures with some MATSHITA laptop drives.
</LI>
</UL>
+Bug fixes towards cdrskin-1.5.2 (without .pl01):
+<UL>
+<LI>
+cdrskin multi-track burning was slow and stalled after track 1.
+Regression introduced in version 1.5.0 by commit 84fad99, 2018.02.05
+</LI>
+</UL>
<!--
<LI>none</LI>
-Bug fixes towards cdrskin-1.4.2 (without .pl01):
+Bug fixes towards cdrskin-1.5.2 (without .pl01):
<UL>
</UL>
-->
@@ -300,7 +307,7 @@
</UL>
</DD>
-<DD>Bug fixes towards cdrskin-1.5.2:
+<DD>Bug fixes towards cdrskin-1.5.2.pl01:
<UL>
<LI>none yet</LI>
<!--
diff -Naur libburn-1.5.2/cdrskin/cdrskin_timestamp.h libburn-1.5.2.pl01/cdrskin/cdrskin_timestamp.h
--- libburn-1.5.2/cdrskin/cdrskin_timestamp.h 2019-10-26 16:57:47.000000000 +0200
+++ libburn-1.5.2.pl01/cdrskin/cdrskin_timestamp.h 2019-11-25 19:35:10.000000000 +0100
@@ -1 +1 @@
-#define Cdrskin_timestamP "2019.10.26.143001"
+#define Cdrskin_timestamP "2019.11.25.094931"
diff -Naur libburn-1.5.2/cdrskin/changelog.txt libburn-1.5.2.pl01/cdrskin/changelog.txt
--- libburn-1.5.2/cdrskin/changelog.txt 2019-10-26 17:09:41.000000000 +0200
+++ libburn-1.5.2.pl01/cdrskin/changelog.txt 2019-11-25 19:42:40.000000000 +0100
@@ -13945,6 +13945,19 @@
* New cdrskin option --list_features
+2019.11.25.091234 [91f7d4d]
+configure.ac
+libburn/sg-linux.c
+cdrskin/cdrfifo.c
+Bug fix: cdrskin multi-track burning was slow and stalled after track 1.
+ Regression introduced in version 1.5.0 by commit 84fad99, 2018.02.05
+
+--------------------- bug fix release - cdrskin-1.5.2.pl01 - 2019.11.25.094931
+* Bug fix: cdrskin multi-track burning was slow and stalled after track 1.
+ Regression introduced in version 1.5.0 by commit 84fad99, 2018.02.05
+ O_DIRECT is now disabled for track sources.
+
+
[]
ChangeLog
cdrskin/cdrskin_eng.html
diff -Naur libburn-1.5.2/cdrskin/README libburn-1.5.2.pl01/cdrskin/README
--- libburn-1.5.2/cdrskin/README 2019-10-26 16:55:47.000000000 +0200
+++ libburn-1.5.2.pl01/cdrskin/README 2019-11-25 19:40:52.000000000 +0100
@@ -4,7 +4,7 @@
cdrskin. By Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org but also published via:
http://scdbackup.sourceforge.net/cdrskin_eng.html
-http://scdbackup.sourceforge.net/cdrskin-1.5.2.tar.gz
+http://scdbackup.sourceforge.net/cdrskin-1.5.2.pl01.tar.gz
Copyright (C) 2006-2019 Thomas Schmitt, provided under GPL version 2 or later.
------------------------------------------------------------------------------
@@ -26,9 +26,9 @@
Compilation, First Glimpse, Installation
-Obtain cdrskin-1.5.2.tar.gz, take it to a directory of your choice and do:
+Obtain cdrskin-1.5.2.pl01.tar.gz, take it to a directory of your choice and do:
- tar xzf cdrskin-1.5.2.tar.gz
+ tar xzf cdrskin-1.5.2.pl01.tar.gz
cd cdrskin-1.5.2
Within that directory execute:
diff -Naur libburn-1.5.2/ChangeLog libburn-1.5.2.pl01/ChangeLog
--- libburn-1.5.2/ChangeLog 2019-10-26 17:03:00.000000000 +0200
+++ libburn-1.5.2.pl01/ChangeLog 2019-11-25 19:41:12.000000000 +0100
@@ -1,3 +1,9 @@
+libburn-1.5.2.pl01.tar.gz Mon Nov 25 2019
+===============================================================================
+* Bug fix: cdrskin multi-track burning was slow and stalled after track 1.
+ Regression introduced in version 1.5.0 by commit 84fad99, 2018.02.05
+ O_DIRECT is now disabled for track sources.
+
libburn-1.5.2.tar.gz Sat Oct 26 2019
===============================================================================
* Bug fix: No lock was obtained for setting up a fifo object
diff -Naur libburn-1.5.2/configure libburn-1.5.2.pl01/configure
--- libburn-1.5.2/configure 2019-10-26 17:21:16.000000000 +0200
+++ libburn-1.5.2.pl01/configure 2019-11-25 19:45:43.000000000 +0100
@@ -1444,7 +1444,7 @@
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
- --enable-track-src-odirect Enable use of O_DIRECT with track input, default=no
+ --enable-track-src-odirect Banned for now: (Enable use of O_DIRECT with track input, default=no)
--enable-dvd-obs-64k 64 KB default size for DVD writing, default=no
--enable-dvd-obs-pad pad DVD DAO sessions to 32 or 64 KB, default=no
--enable-pkg-check-modules Enable pkg-config check for libcdio , default=no
@@ -12310,8 +12310,9 @@
fi
if test x$enable_track_src_odirect = xyes; then
- LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT"
- echo "enabled use of O_DIRECT with track input"
+# LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT"
+# echo "enabled use of O_DIRECT with track input"
+ echo "REFUSED to enable use of O_DIRECT with track input because of cdrskin multi-track bug"
else
LIBBURN_O_DIRECT_DEF=
echo "disabled use of O_DIRECT with track input"
diff -Naur libburn-1.5.2/configure.ac libburn-1.5.2.pl01/configure.ac
--- libburn-1.5.2/configure.ac 2019-10-26 16:53:10.000000000 +0200
+++ libburn-1.5.2.pl01/configure.ac 2019-11-25 19:36:22.000000000 +0100
@@ -218,11 +218,12 @@
dnl ts A91122
AC_ARG_ENABLE(track-src-odirect,
-[ --enable-track-src-odirect Enable use of O_DIRECT with track input, default=no],
+[ --enable-track-src-odirect Banned for now: (Enable use of O_DIRECT with track input, default=no)],
, enable_track_src_odirect=no)
if test x$enable_track_src_odirect = xyes; then
- LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT"
- echo "enabled use of O_DIRECT with track input"
+# LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT"
+# echo "enabled use of O_DIRECT with track input"
+ echo "REFUSED to enable use of O_DIRECT with track input because of cdrskin multi-track bug"
else
LIBBURN_O_DIRECT_DEF=
echo "disabled use of O_DIRECT with track input"
diff -Naur libburn-1.5.2/libburn/sg-linux.c libburn-1.5.2.pl01/libburn/sg-linux.c
--- libburn-1.5.2/libburn/sg-linux.c 2019-07-05 15:29:49.000000000 +0200
+++ libburn-1.5.2.pl01/libburn/sg-linux.c 2019-11-25 19:37:56.000000000 +0100
@@ -111,6 +111,15 @@
/** PORTING : ------- OS dependent headers and definitions ------ */
+#ifdef Libburn_read_o_direcT
+/* ts B91124:
+ DISABLED, because this spoils multi-track burning of cdrskin by a hard to
+ fix bug in cdrskin/cdrfifo.c
+ DO NOT ENABLE before the wait code in that source file is fixed.
+*/
+#undef Libburn_read_o_direcT
+#endif
+
#ifdef Libburn_read_o_direcT
# ifndef _GNU_SOURCE
diff -Naur libburn-1.5.2/README libburn-1.5.2.pl01/README
--- libburn-1.5.2/README 2019-10-26 16:53:51.000000000 +0200
+++ libburn-1.5.2.pl01/README 2019-11-25 19:40:35.000000000 +0100
@@ -11,7 +11,7 @@
and Ben Jansens <xor@orodu.net>
Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
- http://files.libburnia-project.org/releases/libburn-1.5.2.tar.gz
+ http://files.libburnia-project.org/releases/libburn-1.5.2.pl01.tar.gz
------------------------------------------------------------------------------
@@ -19,9 +19,9 @@
From tarball
-Obtain libburn-1.5.2.tar.gz, take it to a directory of your choice and do:
+Obtain libburn-1.5.2.pl01.tar.gz, take it to a directory of your choice and do:
- tar xzf libburn-1.5.2.tar.gz
+ tar xzf libburn-1.5.2.pl01.tar.gz
cd libburn-1.5.2
./configure --prefix=/usr
make
@@ -791,6 +791,10 @@
partitions and the ISO partition.
All three libraries got some rarely triggered bugs fixed.
+- Mon Nov 25 2019 patch release 1.5.2.pl01
+ cdrskin did not properly burn multiple tracks. Track 1 was slow and burning
+ stalled before track 2. Regression introduced by 1.5.0.
+
------------------------------------------------------------------------------
This program is free software; you can redistribute it and/or modify

View File

@ -1,25 +1,21 @@
%global pkgname libburn
%if 0%{?rhel} >= 6 && 0%{?rhel} <= 8
%global cdrskin cdrskin1
%else
%global cdrskin cdrskin
%endif
Summary: Library for reading, mastering and writing optical discs
Name: libburn
Version: 1.5.2
Release: 3%{?dist}
Release: 4%{?dist}
License: GPLv2+
URL: http://libburnia-project.org/
Source0: http://files.libburnia-project.org/releases/%{pkgname}-%{version}.tar.gz
Source1: http://files.libburnia-project.org/releases/%{pkgname}-%{version}.tar.gz.sig
Source2: gpgkey-44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854.gpg
Patch0: libburn-0.6.16-multilib.patch
Patch1: libburn-1.5.2-pl01.patch
BuildRequires: gnupg2
BuildRequires: gcc, intltool, gettext
%if 0%{?rhel} >= 6 && 0%{?rhel} <= 8
%if 0%{?rhel} && "%{name}" != "%{pkgname}"
BuildRequires: autoconf, automake, libtool, pkgconfig
%global variant 1
%endif
%description
@ -40,6 +36,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release}, pkgconfig
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%if 0%{!?_without_doc:1}
%package doc
Summary: Documentation files for %{name}
BuildArch: noarch
@ -49,24 +46,27 @@ BuildRequires: doxygen, graphviz
Libburn is a library by which preformatted data get onto optical media:
CD, DVD and BD (Blu-Ray). This package contains the API documentation
for developing applications that use %{name}.
%endif
%package -n %{cdrskin}
%package -n cdrskin%{?variant}
Summary: Limited cdrecord compatibility wrapper to ease migration to %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires(post): %{_sbindir}/alternatives, coreutils
Requires(preun): %{_sbindir}/alternatives
%description -n %{cdrskin}
%description -n cdrskin%{?variant}
A limited cdrecord compatibility wrapper which allows to use some %{name}
features from the command line.
%prep
gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%setup -q -n %{pkgname}-%{version}
%patch0 -p1 -b .multilib
%patch1 -p1 -b .pl01
touch -c -r configure.ac.pl01 configure.ac
# Rename from libburn to libburn1 for RHEL >= 6
%if 0%{?rhel} >= 6 && 0%{?rhel} <= 8
# Rename from libburn to libburn1 for EPEL
%if 0%{?rhel} && "%{name}" != "%{pkgname}"
sed -e 's@libburn_libburn@libburn_libburn1@g' \
-e 's@libburn/libburn.la@libburn/libburn1.la@g' \
-e 's@(includedir)/libburn@(includedir)/libburn1@g' \
@ -81,7 +81,7 @@ autoreconf --force --install
%build
%configure --disable-static
%make_build
doxygen doc/doxygen.conf
%{!?_without_doc:doxygen doc/doxygen.conf}
%install
%make_install
@ -92,29 +92,29 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.la
# Clean up for later usage in documentation
rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}
# RHEL >= 6 ships a cdrskin package already
%if 0%{?rhel} >= 6 && 0%{?rhel} <= 8
mv -f $RPM_BUILD_ROOT%{_bindir}/{cdrskin,%{cdrskin}}
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/{cdrskin,%{cdrskin}}.1
# RHEL ships a cdrskin package already
%if 0%{?rhel} && "%{name}" != "%{pkgname}"
mv -f $RPM_BUILD_ROOT%{_bindir}/cdrskin{,%{?variant}}
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/cdrskin{,%{?variant}}.1
%endif
# Symlink cdrskin as cdrecord (like in cdrkit)
ln -sf %{cdrskin} $RPM_BUILD_ROOT%{_bindir}/cdrecord
ln -sf cdrskin%{?variant} $RPM_BUILD_ROOT%{_bindir}/cdrecord
%ldconfig_scriptlets
%post -n %{cdrskin}
%post -n cdrskin%{?variant}
link=`readlink %{_bindir}/cdrecord`
if [ "$link" == "%{cdrskin}" ]; then
if [ "$link" == "cdrskin%{?variant}" ]; then
rm -f %{_bindir}/cdrecord
fi
%{_sbindir}/alternatives --install %{_bindir}/cdrecord cdrecord %{_bindir}/%{cdrskin} 50 \
--slave %{_mandir}/man1/cdrecord.1.gz cdrecord-cdrecordman %{_mandir}/man1/%{cdrskin}.1.gz
%{_sbindir}/alternatives --install %{_bindir}/cdrecord cdrecord %{_bindir}/cdrskin%{?variant} 50 \
--slave %{_mandir}/man1/cdrecord.1.gz cdrecord-cdrecordman %{_mandir}/man1/cdrskin%{?variant}.1.gz
%preun -n %{cdrskin}
%preun -n cdrskin%{?variant}
if [ $1 = 0 ]; then
%{_sbindir}/alternatives --remove cdrecord %{_bindir}/%{cdrskin}
%{_sbindir}/alternatives --remove cdrecord %{_bindir}/cdrskin%{?variant}
fi
%files
@ -127,15 +127,20 @@ fi
%{_libdir}/%{name}*.so
%{_libdir}/pkgconfig/%{name}*.pc
%if 0%{!?_without_doc:1}
%files doc
%doc doc/html/
%endif
%files -n %{cdrskin}
%files -n cdrskin%{?variant}
%ghost %{_bindir}/cdrecord
%{_bindir}/%{cdrskin}
%{_mandir}/man1/%{cdrskin}.1*
%{_bindir}/cdrskin%{?variant}
%{_mandir}/man1/cdrskin%{?variant}.1*
%changelog
* Mon Dec 28 2020 Robert Scheck <robert@fedoraproject.org> 1.5.2-4
- Upgrade to 1.5.2.pl01 (#1776514)
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild