diff --git a/cdio_config.h b/cdio_config.h new file mode 100644 index 0000000..9b01c00 --- /dev/null +++ b/cdio_config.h @@ -0,0 +1,29 @@ +/* + * Kluge to support multilib installation of both 32- and 64-bit RPMS: + * we need to arrange that header files that appear in both RPMs are + * identical. Hence, this file is architecture-independent and calls + * in an arch-dependent file that will appear in just one RPM. + * + * To avoid breaking arches not explicitly supported by Red Hat, we + * use this indirection file *only* on known multilib arches. + * + * Note: this may well fail if user tries to use gcc's -I- option. + * But that option is deprecated anyway. + */ +#if defined(__x86_64__) +#include "cdio_config_x86_64.h" +#elif defined(__i386__) +#include "cdio_config_i386.h" +#elif defined(__ppc64__) || defined(__powerpc64__) +#include "cdio_config_ppc64.h" +#elif defined(__ppc__) || defined(__powerpc__) +#include "cdio_config_ppc.h" +#elif defined(__s390x__) +#include "cdio_config_s390x.h" +#elif defined(__s390__) +#include "cdio_config_s390.h" +#elif defined(__sparc__) && defined(__arch64__) +#include "cdio_config_sparc64.h" +#elif defined(__sparc__) +#include "cdio_config_sparc.h" +#endif diff --git a/libcdio.spec b/libcdio.spec index 0bf36f6..2421bfb 100644 --- a/libcdio.spec +++ b/libcdio.spec @@ -1,6 +1,6 @@ Name: libcdio Version: 0.83 -Release: 3%{?dist} +Release: 5%{?dist} Summary: CD-ROM input and control library Group: System Environment/Libraries License: GPLv3+ @@ -8,6 +8,7 @@ URL: http://www.gnu.org/software/libcdio/ Source0: http://ftp.gnu.org/gnu/libcdio/libcdio-0.83.tar.bz2 Source1: http://ftp.gnu.org/gnu/libcdio/libcdio-0.83.tar.bz2.sig Source2: libcdio-no_date_footer.hml +Source3: cdio_config.h Patch0: libcdio-fix-for-more-than-99-tracks.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: pkgconfig doxygen @@ -55,7 +56,8 @@ make %{?_smp_mflags} sed -i -e "s,%{version}.*$,%{version}\\\",g" include/cdio/version.h cd doc/doxygen -sed -i -e "s,HTML_FOOTER.*$,HTML_FOOTER = libcdio-no_date_footer.hml,g" Doxyfile +sed -i -e "s,HTML_FOOTER.*$,HTML_FOOTER = libcdio-no_date_footer.hml,g; \ + s,EXCLUDE .*$,EXCLUDE = ../../include/cdio/cdio_config.h,g;" Doxyfile cp %{SOURCE2} . ./run_doxygen @@ -63,6 +65,16 @@ cp %{SOURCE2} . rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT +# multilib header hack; taken from postgresql.spec +case `uname -i` in + i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 ) + mv $RPM_BUILD_ROOT%{_includedir}/cdio/cdio_config.h $RPM_BUILD_ROOT%{_includedir}/cdio/cdio_config_`uname -i`.h + install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_includedir}/cdio + ;; + *) + ;; +esac + rm -f $RPM_BUILD_ROOT%{_infodir}/dir find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' @@ -133,6 +145,9 @@ fi %changelog +* Tue Jul 24 2012 Adrian Reber - 0.83-5 +- fixed #477288 (libcdio-devel multilib conflict) again + * Fri Mar 23 2012 Adrian Reber - 0.83-3 - fixed #804484 (/usr/bin/cd-info was killed by signal 11)