Compare commits

..

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

6 changed files with 202 additions and 80 deletions

3
.gitignore vendored
View File

@ -1 +1,2 @@
SOURCES/libisoburn-1.4.8.tar.gz SOURCES/gpgkey-44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854.gpg
SOURCES/libisoburn-1.5.4.tar.gz

View File

@ -1 +1,2 @@
7f5a6d59fca0fb8ead46c72ab3204af4a14a26ac SOURCES/libisoburn-1.4.8.tar.gz 896ddcb0c8d6e8b60a82642331350d7fde7ab737 SOURCES/gpgkey-44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854.gpg
e0adbfb01487b5f5c1b28554a027e15309977f00 SOURCES/libisoburn-1.5.4.tar.gz

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,11 @@
[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/x-cd-image;
Actions=xorrisoExtractHere;
[Desktop Action xorrisoExtractHere]
Name=Extract ISO image using Xorriso here
Name[de]=ISO-Abbild mit Xorriso hier entpacken
Icon=media-optical
Exec=/bin/nice -n 19 ionice -n7 -c3 xorriso -indev "%F" -osirrox on -cp_rx "*" "$(dirname %F)"

View File

@ -1,20 +1,29 @@
%global pkgname libisoburn
Summary: Library to enable creation and expansion of ISO-9660 filesystems Summary: Library to enable creation and expansion of ISO-9660 filesystems
Name: libisoburn Name: libisoburn
Version: 1.4.8 Version: 1.5.4
Release: 4%{?dist} Release: 4%{?dist}
License: GPLv2+ License: GPLv2+
Group: System Environment/Libraries URL: https://libburnia-project.org/
URL: http://libburnia-project.org/ Source0: https://files.libburnia-project.org/releases/%{pkgname}-%{version}.tar.gz
Source0: http://files.libburnia-project.org/releases/%{name}-%{version}.tar.gz Source1: https://files.libburnia-project.org/releases/%{pkgname}-%{version}.tar.gz.sig
Source1: http://files.libburnia-project.org/releases/%{name}-%{version}.tar.gz.sig Source2: gpgkey-44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854.gpg
Source3: xorriso_extract_iso_image.desktop
Patch0: libisoburn-1.0.8-multilib.patch Patch0: libisoburn-1.0.8-multilib.patch
BuildRequires: gcc, gcc-c++ BuildRequires: gnupg2
BuildRequires: readline-devel, libacl-devel, zlib-devel BuildRequires: gcc, gcc-c++, make, readline-devel, libacl-devel, zlib-devel
%if 0%{?rhel} >= 6 && 0%{?rhel} <= 7 BuildRequires: chrpath
BuildRequires: libburn1-devel >= %{version}, libisofs1-devel >= %{version} %if 0%{?rhel} == 7
BuildRequires: autoconf, automake, libtool BuildRequires: autoconf, automake, libtool
BuildRequires: libburn1-devel >= %{version}, libisofs1-devel >= %{version}
%else %else
BuildRequires: libburn-devel >= %{version}, libisofs-devel >= %{version} %if (0%{?rhel} && "%{name}" != "%{pkgname}")
BuildRequires: autoconf, automake, libtool
%global variant 1
%endif
BuildRequires: libburn%{?variant}-devel >= %{version}
BuildRequires: libisofs%{?variant}-devel >= %{version}
%endif %endif
%description %description
@ -25,45 +34,49 @@ which do not support multi-session management on media level and
even plain disk files or block devices. Price for that is thorough even plain disk files or block devices. Price for that is thorough
specialization on data files in ISO-9660 filesystem images. And so specialization on data files in ISO-9660 filesystem images. And so
libisoburn is not suitable for audio (CD-DA) or any other CD layout libisoburn is not suitable for audio (CD-DA) or any other CD layout
which does not entirely consist of ISO-9660 sessions. which does not entirely consist of ISO-9660 sessions.
%package devel %package devel
Summary: Development files for libisoburn Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}, pkgconfig Requires: %{name}%{?_isa} = %{version}-%{release}, pkgconfig
%description devel %description devel
The libisoburn-devel package contains libraries and header files for The %{name}-devel package contains libraries and header files for
developing applications that use libisoburn. developing applications that use %{name}.
%if 0%{!?_without_doc:1}
%package doc %package doc
Summary: Documentation files for libisoburn Summary: Documentation files for %{name}
Group: Documentation
%if 0%{?fedora} || 0%{?rhel} >= 6
BuildArch: noarch BuildArch: noarch
%endif
BuildRequires: doxygen, graphviz BuildRequires: doxygen, graphviz
%description doc %description doc
Libisoburn is a front-end for libraries libburn and libisofs which Libisoburn is a front-end for libraries libburn and libisofs which
enables creation and expansion of ISO-9660 filesystems on all CD/ enables creation and expansion of ISO-9660 filesystems on all CD/
DVD/BD media supported by libburn. And this package contains the API DVD/BD media supported by libburn. And this package contains the API
documentation for developing applications that use libisoburn. documentation for developing applications that use %{name}.
%endif
%package -n xorriso %package -n xorriso%{?variant}
Summary: ISO-9660 and Rock Ridge image manipulation tool Summary: ISO-9660 and Rock Ridge image manipulation tool
Group: Applications/Archiving
URL: http://scdbackup.sourceforge.net/xorriso_eng.html URL: http://scdbackup.sourceforge.net/xorriso_eng.html
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
%if 0%{?rhel} >= 6 || 0%{?fedora} %if 0%{!?_without_kde:1} && (0%{?fedora} || 0%{?rhel} == 7 || (0%{?rhel} && "%{name}" != "%{pkgname}"))
Requires(post): %{_sbindir}/alternatives, coreutils Requires: kde-filesystem >= 4
Requires(preun): %{_sbindir}/alternatives Requires: kf5-filesystem >= 5
Provides: mkisofs
%endif %endif
%if 0%{?rhel} && 0%{?rhel} <= 7
Requires(post): /sbin/install-info Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info Requires(preun): /sbin/install-info
%endif
Requires(post): %{_sbindir}/alternatives, coreutils
Requires(preun): %{_sbindir}/alternatives
Provides: cdrecord
Provides: wodim
Provides: mkisofs
Provides: genisoimage
%description -n xorriso %description -n xorriso%{?variant}
Xorriso is a program which copies file objects from POSIX compliant Xorriso is a program which copies file objects from POSIX compliant
filesystems into Rock Ridge enhanced ISO-9660 filesystems and allows filesystems into Rock Ridge enhanced ISO-9660 filesystems and allows
session-wise manipulation of such filesystems. It can load management session-wise manipulation of such filesystems. It can load management
@ -75,28 +88,42 @@ Filesystem manipulation capabilities surpass those of mkisofs. Xorriso
is especially suitable for backups, because of its high fidelity of is especially suitable for backups, because of its high fidelity of
file attribute recording and its incremental update sessions. Optical file attribute recording and its incremental update sessions. Optical
supported media: CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW, supported media: CD-R, CD-RW, DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW,
DVD-RAM, BD-R and BD-RE. DVD-RAM, BD-R and BD-RE.
%prep %prep
%setup -q %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%setup -q -n %{pkgname}-%{version}
%patch0 -p1 -b .multilib %patch0 -p1 -b .multilib
# Use libisofs1 and libburn1 on RHEL >= 6 # Use libisofs1 and libburn1 on EPEL
%if 0%{?rhel} >= 6 && 0%{?rhel} <= 7 %if 0%{?rhel} == 7 || (0%{?rhel} && "%{name}" != "%{pkgname}")
sed -e 's@\(libisofs\|libburn\)-1.pc@\11-1.pc@g' -i configure.ac sed -e 's@\(libisofs\|libburn\)-1.pc@\11-1.pc@g' -i configure.ac
sed -e 's@\(libisofs\|libburn\)/@\11/@g' -i configure.ac */*.[hc] */*/*.cpp sed -e 's@\(libisofs\|libburn\)/@\11/@g' -i configure.ac */*.[hc] */*/*.cpp
sed -e 's@\(lisofs\|lburn\)@\11@g' -i Makefile.am sed -e 's@\(lisofs\|lburn\)@\11@g' -i Makefile.am
touch NEWS; autoreconf --force --install touch NEWS; autoreconf --force --install
# Rename from libisoburn to libisoburn1 for EPEL >= 8
%if 0%{?rhel} >= 8
sed -e 's@libisoburn_libisoburn@libisoburn_libisoburn1@g' \
-e 's@libisoburn/libisoburn.la@libisoburn/libisoburn1.la@g' \
-e 's@(includedir)/libisoburn@(includedir)/libisoburn1@g' \
-e 's@libisoburn-1.pc@libisoburn1-1.pc@g' \
-e 's@ln -s xorriso@ln -s xorriso%{?variant}@g' -i Makefile.am
sed -e 's@libisoburn-1.pc@libisoburn1-1.pc@g' -i configure.ac
sed -e 's@isoburn@isoburn1@g' libisoburn-1.pc.in > libisoburn1-1.pc.in
libtoolize --force
autoreconf --force --install
%endif
%endif %endif
%build %build
%configure --disable-static %configure --disable-static
make %{?_smp_mflags} %make_build
doxygen doc/doxygen.conf %{!?_without_doc:doxygen doc/doxygen.conf}
%install %install
rm -rf $RPM_BUILD_ROOT %make_install
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install
# Don't install any libtool .la files # Don't install any libtool .la files
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.la rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.la
@ -104,88 +131,170 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.la
# Clean up for later usage in documentation # Clean up for later usage in documentation
rm -rf $RPM_BUILD_ROOT%{_defaultdocdir} rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}
# Symlink xorriso as mkisofs (like in cdrkit) # Install the KDE service menu handler
%if 0%{?rhel} >= 6 || 0%{?fedora} %if 0%{!?_without_kde:1} && (0%{?fedora} || 0%{?rhel} == 7 || (0%{?rhel} && "%{name}" != "%{pkgname}"))
ln -sf xorriso $RPM_BUILD_ROOT%{_bindir}/mkisofs install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/kde4/services/ServiceMenus/xorriso_extract_iso_image.desktop
install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/kservices5/ServiceMenus/xorriso_extract_iso_image.desktop
%endif %endif
# Remove runpath
chrpath -d $RPM_BUILD_ROOT%{_bindir}/xorriso
# RHEL ships a xorriso package already
%if 0%{?rhel} && "%{name}" != "%{pkgname}"
mv -f $RPM_BUILD_ROOT%{_bindir}/osirrox{,%{?variant}}
mv -f $RPM_BUILD_ROOT%{_bindir}/xorrecord{,%{?variant}}
mv -f $RPM_BUILD_ROOT%{_bindir}/xorriso{,%{?variant}}
mv -f $RPM_BUILD_ROOT%{_bindir}/xorrisofs{,%{?variant}}
mv -f $RPM_BUILD_ROOT%{_bindir}/xorriso-dd-target{,%{?variant}}
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/xorrecord{,%{?variant}}.1
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/xorriso{,%{?variant}}.1
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/xorrisofs{,%{?variant}}.1
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/xorriso-dd-target{,%{?variant}}.1
mv -f $RPM_BUILD_ROOT%{_infodir}/xorrecord{,%{?variant}}.info
mv -f $RPM_BUILD_ROOT%{_infodir}/xorriso{,%{?variant}}.info
mv -f $RPM_BUILD_ROOT%{_infodir}/xorrisofs{,%{?variant}}.info
mv -f $RPM_BUILD_ROOT%{_infodir}/xorriso-dd-target{,%{?variant}}.info
%if 0%{!?_without_kde:1}
sed -e 's@ xorriso @ xorriso%{?variant} @g' \
-i $RPM_BUILD_ROOT%{_datadir}/{kde4/services,kservices5}/ServiceMenus/xorriso_extract_iso_image.desktop
touch -c -r %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/{kde4/services,kservices5}/ServiceMenus/xorriso_extract_iso_image.desktop
%endif
%endif
# Prepare alternatives handling for cdrecord, wodim -> xorrecord and mkisofs, genisoimage -> xorriso
touch $RPM_BUILD_ROOT{%{_bindir}/{cdrecord,wodim,mkisofs,genisoimage},%{_mandir}/man1/{cdrecord,wodim,mkisofs,genisoimage}.1.gz}
# Some file cleanups # Some file cleanups
rm -f $RPM_BUILD_ROOT%{_infodir}/dir rm -f $RPM_BUILD_ROOT%{_infodir}/dir
# Don't ship proof of concept for the moment # Don't ship proof of concept for the moment
rm -f $RPM_BUILD_ROOT%{_bindir}/xorriso-tcltk rm -f $RPM_BUILD_ROOT{%{_bindir},%{_infodir},%{_mandir}/man1}/xorriso-tcltk*
%check %check
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$RPM_BUILD_ROOT%{_libdir}" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$RPM_BUILD_ROOT%{_libdir}"
cd releng cd releng
./run_all_auto -x ../xorriso/xorriso || (cat releng_generated_data/log.*; exit 1) ./run_all_auto -x ../xorriso/xorriso || (cat releng_generated_data/log.*; exit 1)
%post -p /sbin/ldconfig %ldconfig_scriptlets
%postun -p /sbin/ldconfig %post -n xorriso%{?variant}
%if 0%{?rhel} == 7
%post -n xorriso
/sbin/install-info %{_infodir}/xorrecord.info.gz %{_infodir}/dir || : /sbin/install-info %{_infodir}/xorrecord.info.gz %{_infodir}/dir || :
/sbin/install-info %{_infodir}/xorriso.info.gz %{_infodir}/dir || : /sbin/install-info %{_infodir}/xorriso.info.gz %{_infodir}/dir || :
/sbin/install-info %{_infodir}/xorrisofs.info.gz %{_infodir}/dir || : /sbin/install-info %{_infodir}/xorrisofs.info.gz %{_infodir}/dir || :
%if 0%{?rhel} >= 6 || 0%{?fedora}
link=`readlink %{_bindir}/mkisofs`
if [ "$link" == "xorriso" ]; then
rm -f %{_bindir}/mkisofs
fi
%{_sbindir}/alternatives --install %{_bindir}/mkisofs mkisofs %{_bindir}/xorriso 60 \
--slave %{_mandir}/man1/mkisofs.1.gz mkisofs-mkisofsman %{_mandir}/man1/xorrisofs.1.gz
%endif %endif
%preun -n xorriso %{_sbindir}/alternatives --install %{_bindir}/cdrecord cdrecord %{_bindir}/xorrecord%{?variant} 50 \
if [ $1 = 0 ]; then --slave %{_mandir}/man1/cdrecord.1.gz cdrecord-cdrecordman %{_mandir}/man1/xorrecord%{?variant}.1.gz \
--slave %{_bindir}/wodim cdrecord-wodim %{_bindir}/xorrecord%{?variant} \
--slave %{_mandir}/man1/wodim.1.gz cdrecord-wodimman %{_mandir}/man1/xorrecord%{?variant}.1.gz
%{_sbindir}/alternatives --install %{_bindir}/mkisofs mkisofs %{_bindir}/xorrisofs%{?variant} 50 \
--slave %{_mandir}/man1/mkisofs.1.gz mkisofs-mkisofsman %{_mandir}/man1/xorrisofs%{?variant}.1.gz \
--slave %{_bindir}/genisoimage mkisofs-genisoimage %{_bindir}/xorrisofs%{?variant} \
--slave %{_mandir}/man1/genisoimage.1.gz mkisofs-genisoimageman %{_mandir}/man1/xorrisofs%{?variant}.1.gz
%preun -n xorriso%{?variant}
if [ $1 -eq 0 ]; then
%if 0%{?rhel} == 7
/sbin/install-info --delete %{_infodir}/xorrecord.info.gz %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/xorrecord.info.gz %{_infodir}/dir || :
/sbin/install-info --delete %{_infodir}/xorriso.info.gz %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/xorriso.info.gz %{_infodir}/dir || :
/sbin/install-info --delete %{_infodir}/xorrisofs.info.gz %{_infodir}/dir || : /sbin/install-info --delete %{_infodir}/xorrisofs.info.gz %{_infodir}/dir || :
/sbin/install-info --delete %{_infodir}/xorriso-dd-target.info.gz %{_infodir}/dir || :
%if 0%{?rhel} >= 6 || 0%{?fedora}
%{_sbindir}/alternatives --remove mkisofs %{_bindir}/xorriso
%endif %endif
%{_sbindir}/alternatives --remove cdrecord %{_bindir}/xorrecord%{?variant}
%{_sbindir}/alternatives --remove mkisofs %{_bindir}/xorrisofs%{?variant}
fi fi
%files %files
%{!?_licensedir:%global license %%doc}
%license COPYING %license COPYING
%doc AUTHORS COPYRIGHT README ChangeLog %doc AUTHORS COPYRIGHT README ChangeLog
%{_libdir}/%{name}*.so.* %{_libdir}/%{name}*.so.*
%files devel %files devel
%doc doc/html
%{_includedir}/%{name} %{_includedir}/%{name}
%{_libdir}/%{name}.so %{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}*.pc %{_libdir}/pkgconfig/%{name}*.pc
%if 0%{!?_without_doc:1}
%files doc %files doc
%doc doc/html/ %doc doc/html/
%files -n xorriso
%if 0%{?rhel} >= 6 || 0%{?fedora}
%ghost %{_bindir}/mkisofs
%endif %endif
%{_bindir}/osirrox
%{_bindir}/xorrecord %files -n xorriso%{?variant}
%{_bindir}/xorriso %ghost %{_bindir}/cdrecord
%{_bindir}/xorrisofs %ghost %{_bindir}/wodim
%{_mandir}/man1/xorrecord.1* %ghost %{_bindir}/mkisofs
%{_mandir}/man1/xorriso.1* %ghost %{_bindir}/genisoimage
%{_mandir}/man1/xorrisofs.1* %{_bindir}/osirrox%{?variant}
%{_infodir}/xorrecord.info* %{_bindir}/xorrecord%{?variant}
%{_infodir}/xorriso.info* %{_bindir}/xorriso%{?variant}
%{_infodir}/xorrisofs.info* %{_bindir}/xorrisofs%{?variant}
%{_bindir}/xorriso-dd-target%{?variant}
%ghost %{_mandir}/man1/cdrecord.1*
%ghost %{_mandir}/man1/wodim.1*
%ghost %{_mandir}/man1/mkisofs.1*
%ghost %{_mandir}/man1/genisoimage.1*
%{_mandir}/man1/xorrecord%{?variant}.1*
%{_mandir}/man1/xorriso%{?variant}.1*
%{_mandir}/man1/xorrisofs%{?variant}.1*
%{_mandir}/man1/xorriso-dd-target%{?variant}.1*
%{_infodir}/xorrecord%{?variant}.info*
%{_infodir}/xorriso%{?variant}.info*
%{_infodir}/xorrisofs%{?variant}.info*
%{_infodir}/xorriso-dd-target%{?variant}.info*
%if 0%{!?_without_kde:1} && (0%{?fedora} || 0%{?rhel} == 7 || (0%{?rhel} && "%{name}" != "%{pkgname}"))
%{_datadir}/kde4/services/ServiceMenus/xorriso_extract_iso_image.desktop
%{_datadir}/kservices5/ServiceMenus/xorriso_extract_iso_image.desktop
%endif
%changelog %changelog
* Mon Jan 7 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.4.8-4 * Tue Feb 08 2022 Jiri Kucera <jkucera@redhat.com> - 1.5.4-4
- Remove KDE bits - Provide alternatives
- Provide: mkisofs (as genisoimage does) Resolves: #1967484
- Increase alternative priority to win over genisoimage
- Update RHEL conditionals for lib{isofs,burn} renaming to match those packages * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.5.4-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.5.4-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Feb 08 2021 Robert Scheck <robert@fedoraproject.org> 1.5.4-1
- Upgrade to 1.5.4 (#1926005)
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 28 2020 Robert Scheck <robert@fedoraproject.org> 1.5.2-5
- Don't ship API docs twice (devel and doc subpackages)
- Reworked spec file to build libisoburn1 for RHEL >= 8
* Mon Sep 28 2020 Troy Dawson <tdawson@redhat.com> - 1.5.2-4
- No kde or kf5 filesystem for RHEL 8 or above.
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Oct 27 2019 Robert Scheck <robert@fedoraproject.org> 1.5.2-1
- Upgrade to 1.5.2 (#1765954)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.5.0-3
- Rebuild for readline 8.0
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Dec 08 2018 Robert Scheck <robert@fedoraproject.org> 1.5.0-1
- Upgrade to 1.5.0
- Provide KDE service menu entry for KDE 4 and 5 (#1633872)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.8-3 * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild