diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b7b68d8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/gpgkey-44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854.gpg +SOURCES/xorriso-1.4.8-clean.tar.gz diff --git a/.xorriso.metadata b/.xorriso.metadata new file mode 100644 index 0000000..adeea85 --- /dev/null +++ b/.xorriso.metadata @@ -0,0 +1,2 @@ +896ddcb0c8d6e8b60a82642331350d7fde7ab737 SOURCES/gpgkey-44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854.gpg +653c8cb3c68c7a6884d9d84c7bf31425e5bc167d SOURCES/xorriso-1.4.8-clean.tar.gz diff --git a/SOURCES/xorriso-1.4.8.tar.gz.sig b/SOURCES/xorriso-1.4.8.tar.gz.sig new file mode 100644 index 0000000..7324c93 Binary files /dev/null and b/SOURCES/xorriso-1.4.8.tar.gz.sig differ diff --git a/SOURCES/xorriso-no-libjte.patch b/SOURCES/xorriso-no-libjte.patch new file mode 100644 index 0000000..204aedc --- /dev/null +++ b/SOURCES/xorriso-no-libjte.patch @@ -0,0 +1,54 @@ +diff -up xorriso-1.4.8/Makefile.am.orig xorriso-1.4.8/Makefile.am +--- xorriso-1.4.8/Makefile.am.orig 2017-09-12 17:39:26.000000000 +0200 ++++ xorriso-1.4.8/Makefile.am 2019-03-25 22:39:33.204665214 +0100 +@@ -158,26 +158,6 @@ xorriso_xorriso_SOURCES = \ + libisofs/md5.h \ + libisofs/md5.c \ + \ +- libjte/libjte.h \ +- libjte/libjte_private.h \ +- libjte/libjte.c \ +- libjte/jte.h \ +- libjte/jte.c \ +- libjte/checksum.h \ +- libjte/checksum.c \ +- libjte/endian.c \ +- libjte/endianconv.h \ +- libjte/md5.h \ +- libjte/md5.c \ +- libjte/rsync.h \ +- libjte/rsync.c \ +- libjte/sha1.h \ +- libjte/sha1.c \ +- libjte/sha256.h \ +- libjte/sha256.c \ +- libjte/sha512.h \ +- libjte/sha512.c \ +- \ + libburn/async.c \ + libburn/async.h \ + libburn/back_hacks.h \ +diff -up xorriso-1.4.8/configure.ac.orig xorriso-1.4.8/configure.ac +--- xorriso-1.4.8/configure.ac.orig 2017-09-12 17:39:26.000000000 +0200 ++++ xorriso-1.4.8/configure.ac 2019-03-26 12:13:38.852694528 +0100 +@@ -319,7 +319,10 @@ AH_TEMPLATE([Xorriso_with_libjtE], + [Define to use Jigdo Template Extraction via libjte]) + AH_TEMPLATE([Libisofs_with_libjtE], + [Define to use Jigdo Template Extraction via libjte]) +-if test x$ZLIB_DEF = xyes ++AC_ARG_ENABLE(libjte, ++[ --enable-libjte Enable use of libjte by xorriso, default=yes], ++ , enable_libjte=yes) ++if test x$enable_libjte = xyes + then + AC_DEFINE([Xorriso_with_libjtE], []) + AC_DEFINE([Libisofs_with_libjtE], []) +@@ -327,7 +330,7 @@ then + echo "enabled built-in libjte" + else + LIBJTE_DEF= +- echo "disabled libjte because zlib not enabled or not available" ++ echo "disabled libjte" + fi + + diff --git a/SOURCES/xorriso_servicemenu.desktop b/SOURCES/xorriso_servicemenu.desktop new file mode 100644 index 0000000..5a4df14 --- /dev/null +++ b/SOURCES/xorriso_servicemenu.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Type=Service +ServiceTypes=KonqPopupMenu/Plugin +MimeType=application/x-cd-image; +Actions=xorrisoExtractHere; +X-KDE-Priority=TopLevel +X-KDE-StartupNotify=false + +[Desktop Action xorrisoExtractHere] +Name=Xorriso: extract ISO-image here +Name[de]=Xorriso: ISO-Abbild hier entpacken +Name[fi]=Xorriso: Pura ISO tiedosto tähän +Icon=media-optical +Exec=/bin/nice -n 19 ionice -n7 -c3 xorriso -indev "%F" -osirrox on -cp_rx "*" "$(dirname %F)" diff --git a/SPECS/xorriso.spec b/SPECS/xorriso.spec new file mode 100644 index 0000000..08e87b9 --- /dev/null +++ b/SPECS/xorriso.spec @@ -0,0 +1,134 @@ +Summary: ISO-9660 and Rock Ridge image manipulation tool +Name: xorriso +Version: 1.4.8 +Release: 3%{?dist} +License: GPLv3+ +Group: Applications/Archiving +URL: http://scdbackup.sourceforge.net/xorriso_eng.html +# Source0: https://www.gnu.org/software/%{name}/%{name}-%{version}.tar.gz +Source0: %{name}-%{version}-clean.tar.gz +Source1: https://www.gnu.org/software/%{name}/%{name}-%{version}.tar.gz.sig +Source2: gpgkey-44BC9FD0D688EB007C4DD029E9CBDFC0ABC0A854.gpg +Source3: xorriso_servicemenu.desktop +Patch0: xorriso-no-libjte.patch +BuildRequires: gnupg2 +BuildRequires: gcc, gcc-c++, readline-devel, libacl-devel, zlib-devel +BuildRequires: autoconf, automake, libtool +%if 0%{?rhel} && 0%{?rhel} <= 7 +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%endif +Requires: kde-filesystem >= 4 +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 +# Verify GPG signatures +#gpghome="$(mktemp -qd)" # Ensure we don't use any existing gpg keyrings +#gpgv2 --homedir "$gpghome" --keyring %%{SOURCE2} %%{SOURCE1} %%{SOURCE0} +#rm -rf "$gpghome" # Cleanup tmp gpg home dir + +%setup -q +%patch0 -p1 + +aclocal -I . +autoconf +automake --foreign --add-missing --copy --include-deps + +%build +%configure --disable-libjte +%make_build +#doxygen doc/doxygen.conf + +%install +%make_install + +# Don't install any libtool .la files +rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}.la + +# Clean up for later usage in documentation +rm -rf $RPM_BUILD_ROOT%{_defaultdocdir} + +# Install the KDE service menu handler +install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/kde4/services/ServiceMenus/xorriso_servicemenu.desktop + +# Symlink xorriso as mkisofs (like in cdrkit) +ln -sf xorriso $RPM_BUILD_ROOT%{_bindir}/mkisofs + +# 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) + +%post +%if 0%{?rhel} && 0%{?rhel} <= 7 +/sbin/install-info %{_infodir}/xorrecord.info.gz %{_infodir}/dir || : +/sbin/install-info %{_infodir}/xorriso.info.gz %{_infodir}/dir || : +/sbin/install-info %{_infodir}/xorrisofs.info.gz %{_infodir}/dir || : +%endif + +link=`readlink %{_bindir}/mkisofs` +if [ "$link" == "xorriso" ]; then + rm -f %{_bindir}/mkisofs +fi + +%{_sbindir}/alternatives --install %{_bindir}/mkisofs mkisofs %{_bindir}/xorriso 40 \ + --slave %{_mandir}/man1/mkisofs.1.gz mkisofs-mkisofsman %{_mandir}/man1/xorrisofs.1.gz + +%preun +if [ $1 = 0 ]; then +%if 0%{?rhel} && 0%{?rhel} <= 7 + /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}/xorrisofs.info.gz %{_infodir}/dir || : +%endif + + %{_sbindir}/alternatives --remove mkisofs %{_bindir}/xorriso +fi + +%files +%license COPYING +%doc AUTHORS COPYRIGHT README ChangeLog +%ghost %{_bindir}/mkisofs +%{_bindir}/osirrox +%{_bindir}/xorrecord +%{_bindir}/xorriso +%{_bindir}/xorrisofs +%{_mandir}/man1/xorrecord.1* +%{_mandir}/man1/xorriso.1* +%{_mandir}/man1/xorrisofs.1* +%{_infodir}/xorrecord.info* +%{_infodir}/xorriso.info* +%{_infodir}/xorrisofs.info* +%{_datadir}/kde4/services/ServiceMenus/xorriso_servicemenu.desktop + +%changelog +* Tue Mar 26 2019 Pavel Cahyna - 1.4.8-3 +- Disable libjte to make the build more similar to the libisofs builds +- Remove unneeded files from sources + +* Fri Mar 15 2019 Pavel Cahyna - 1.4.8-2 +- Merge relevant Fedora/EPEL changes up to 1.5.0-2, but keep the 1.4.8 version + +* Tue Mar 12 2019 Pavel Cahyna 1.4.8-1 +- Initial release, based on libisoburn from Fedora