commit f90dbcd77cd019a0a9d680698c15ceb310602d80 Author: eabdullin Date: Thu Jul 24 14:32:21 2025 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..38fcad0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +xorriso-1.5.7.tar diff --git a/libisoburn-1.5.4-rpath.patch b/libisoburn-1.5.4-rpath.patch new file mode 100644 index 0000000..0bc93b0 --- /dev/null +++ b/libisoburn-1.5.4-rpath.patch @@ -0,0 +1,20 @@ +Patch by Robert Scheck for libisoburn >= 1.5.4 to work around the Debian +specific aclocal/libtool behaviour not covering /usr/lib64 or /lib64 paths for 64 bit libraries. + +--- libisoburn-1.5.4/configure 2021-01-30 15:32:57.000000000 +0100 ++++ libisoburn-1.5.4/configure.rpath 2021-07-23 03:13:01.956656342 +0200 +@@ -11541,10 +11541,13 @@ + # before this can be enabled. + hardcode_into_libs=yes + ++ # Add ABI-specific directories to the system library path. ++ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" ++ + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" ++ sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on diff --git a/sources b/sources new file mode 100644 index 0000000..8a79e27 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +ed64583189b745b9d64d2a0281e041fe7122f921b1557f34cb87c303f23798f6807c950c350a344a33818294f5e28f24e1b400103f9c1a60ac6d7c9f887d43ed xorriso-1.5.7.tar diff --git a/xorriso.spec b/xorriso.spec new file mode 100644 index 0000000..0d73522 --- /dev/null +++ b/xorriso.spec @@ -0,0 +1,120 @@ +Name: xorriso +Version: 1.5.7 +Release: 1%{?dist}.alma.1 +License: GPL-2.0-or-later +Summary: ISO-9660 and Rock Ridge image manipulation tool +URL: http://scdbackup.sourceforge.net/xorriso_eng.html + +# Generated from https://www.gnu.org/software/xorriso/xorriso-1.5.7.tar +Source0: xorriso-%{version}.tar +Source3: xorriso_extract_iso_image.desktop +Patch1: libisoburn-1.5.4-rpath.patch + +BuildRequires: gnupg2 +BuildRequires: gcc, gcc-c++, make, readline-devel, libacl-devel, zlib-devel +BuildRequires: autoconf, automake, libtool +BuildRequires: libburn-devel >= 1.5.6 +BuildRequires: libisofs-devel >= 1.5.6 + +Requires: %{name}%{?_isa} >= 1.5.6 +Requires(post): %{_sbindir}/alternatives, coreutils +Requires(preun): %{_sbindir}/alternatives + + +%description +Xorriso is a program which copies file objects from POSIX compliant +filesystems into Rock Ridge enhanced ISO-9660 filesystems and allows +session-wise manipulation of such filesystems. It can load management +information of existing ISO images and it writes the session results +to optical media or to filesystem objects. Vice versa xorriso is able +to copy file objects out of ISO-9660 filesystems. + +Filesystem manipulation capabilities surpass those of mkisofs. Xorriso +is especially suitable for backups, because of its high fidelity of +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, +DVD-RAM, BD-R and BD-RE. + +%prep +%setup -q +%patch1 -p1 -b .rpath + +%build +%configure --disable-static +%make_build + +%install +%make_install + +# Don't install any libtool .la files +rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.la + +# Install the KDE service menu handler +%if 0%{!?_without_kde:1} && (0%{?fedora} || 0%{?rhel} == 7 || (0%{?rhel} && "%{name}" != "%{pkgname}")) +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 + +# RHEL ships a xorriso package already +%if 0%{!?_without_kde:1} +sed -e 's@ xorriso @ xorriso @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 + +# Prepare alternatives handling for cdrecord -> xorrecord and mkisofs -> xorriso +touch $RPM_BUILD_ROOT{%{_bindir}/{cdrecord,mkisofs},%{_mandir}/man1/{cdrecord,mkisofs}.1.gz} + +# Some file cleanups +rm -f $RPM_BUILD_ROOT%{_infodir}/dir + +# Don't ship proof of concept for the moment +rm -f $RPM_BUILD_ROOT{%{_bindir},%{_infodir},%{_mandir}/man1}/xorriso-tcltk* + +%check +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$RPM_BUILD_ROOT%{_libdir}" +cd releng +./run_all_auto -x ../xorriso/xorriso || (cat releng_generated_data/log.*; exit 1) + +%ldconfig_scriptlets + +%post +%{_sbindir}/alternatives --install %{_bindir}/cdrecord cdrecord %{_bindir}/xorrecord 50 \ + --slave %{_mandir}/man1/cdrecord.1.gz cdrecord-cdrecordman %{_mandir}/man1/xorrecord.1.gz +%{_sbindir}/alternatives --install %{_bindir}/mkisofs mkisofs %{_bindir}/xorrisofs 50 \ + --slave %{_mandir}/man1/mkisofs.1.gz mkisofs-mkisofsman %{_mandir}/man1/xorrisofs.1.gz + +%preun +if [ $1 -eq 0 ]; then + %{_sbindir}/alternatives --remove cdrecord %{_bindir}/xorrecord + %{_sbindir}/alternatives --remove mkisofs %{_bindir}/xorrisofs +fi + +%files +%license COPYING +%doc AUTHORS COPYRIGHT README ChangeLog +%ghost %{_bindir}/cdrecord +%ghost %{_bindir}/mkisofs +%{_bindir}/osirrox +%{_bindir}/xorrecord +%{_bindir}/xorriso +%{_bindir}/xorrisofs +%{_bindir}/xorriso-dd-target +%ghost %{_mandir}/man1/cdrecord.1* +%ghost %{_mandir}/man1/mkisofs.1* +%{_mandir}/man1/xorrecord.1* +%{_mandir}/man1/xorriso.1* +%{_mandir}/man1/xorrisofs.1* +%{_mandir}/man1/xorriso-dd-target.1* +%{_infodir}/xorrecord.info* +%{_infodir}/xorriso.info* +%{_infodir}/xorrisofs.info* +%{_infodir}/xorriso-dd-target.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 +* Wed Jul 23 2025 Eduard Abdullin - 1.5.7-1.alma.1 +- Initial build for AlmaLinux 10 diff --git a/xorriso_extract_iso_image.desktop b/xorriso_extract_iso_image.desktop new file mode 100644 index 0000000..6c0b115 --- /dev/null +++ b/xorriso_extract_iso_image.desktop @@ -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)"