Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/libburn.git#09f96c49626fb9b45942d82070b9d497b4822a37
This commit is contained in:
DistroBaker 2020-12-28 04:00:11 +00:00
parent 1aeb2dc47a
commit a556c8dbb4
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