basebuilder_pel7x64builder0
6 years ago
2 changed files with 281 additions and 0 deletions
@ -0,0 +1,78 @@ |
|||||||
|
Patch by Robert Scheck <robert@fedoraproject.org> for libidn2 >= 2.0.0, which works |
||||||
|
around the broken libtool of Debian. Multilib/multiarch systems like Fedora or Red |
||||||
|
Hat Enterprise Linux are using /usr/lib64 for 64 bit libraries and /usr/lib is used |
||||||
|
for 32 bit libraries. That allows to run 32 bit software on 64 bit systems. Debian |
||||||
|
systems only use /usr/lib which contains only 32 or 64 bit systems depending on the |
||||||
|
architecture. |
||||||
|
|
||||||
|
Libtool hardcodes the runtime search path in a library (rpath), if the library that |
||||||
|
is used for linking is not within the default system library path. The result is, |
||||||
|
that if libtool.m4/configure files are generated by a Debian system, but used on a |
||||||
|
Fedora or Red Hat Enterprise Linux 64 bit system for compiling, "-rpath /usr/lib64" |
||||||
|
makes it into the binary. |
||||||
|
|
||||||
|
Fedora and EPEL (for Red Hat Enterprise Linux) do not allow binaries with rpath, as |
||||||
|
the Linux dynamic linker is usually smarter than the hardcoded path. |
||||||
|
|
||||||
|
The fix for this issue is to add the optional /lib64 and /usr/lib64 directories at/ |
||||||
|
within libtool in front of the regular /lib and /usr/lib directories at the system |
||||||
|
library path. These libtool information are hold in libtool.m4, which is generated |
||||||
|
by running aclocal. As the content of libtool.m4 is included into configure during |
||||||
|
a run of autoconf, libtool.m4 needs to be modified within the upstream build system |
||||||
|
each time after a aclocal run - until Debian's libtool is fixed at Debian upstream. |
||||||
|
|
||||||
|
Applying the fix is either possible by using the last hunk of the patch (the other |
||||||
|
hunks are runtime-only if configure file has been already generated) or by running |
||||||
|
the following sed command after each aclocal run within the upstream build system: |
||||||
|
|
||||||
|
sed -e 's@\(# Ideally, we could use ldconfig to report\)@# Add ABI-specific directories to the system library path.\n sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"\n\n \1@' \ |
||||||
|
-e 's@/lib /usr/lib $lt_ld_extra@$sys_lib_dlsearch_path_spec $lt_ld_extra@' -i libidn2-2.0.0/m4/libtool.m4 |
||||||
|
|
||||||
|
More information regarding this topic can be found for example at: |
||||||
|
|
||||||
|
- http://osdir.com/ml/bug-libtool-gnu/2009-12/msg00034.html |
||||||
|
- http://lists.gnu.org/archive/html/libtool/2009-01/msg00039.html |
||||||
|
- http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345 |
||||||
|
|
||||||
|
--- libidn2-2.0.0/configure 2017-03-29 17:26:58.000000000 +0200 |
||||||
|
+++ libidn2-2.0.0/configure.rpath 2017-04-07 00:59:43.000000000 +0200 |
||||||
|
@@ -14266,6 +14266,9 @@ |
||||||
|
# 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" |
||||||
|
+ |
||||||
|
# Ideally, we could use ldconfig to report *all* directores which are |
||||||
|
# searched for libraries, however this is still not possible. Aside from not |
||||||
|
# being certain /sbin/ldconfig is available, command |
||||||
|
@@ -14274,7 +14277,7 @@ |
||||||
|
# appending ld.so.conf contents (and includes) 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 |
||||||
|
--- libidn2-2.0.0/m4/libtool.m4 2017-02-15 10:54:29.000000000 +0100 |
||||||
|
+++ libidn2-2.0.0/m4/libtool.m4.rpath 2017-04-07 00:58:52.000000000 +0200 |
||||||
|
@@ -2866,6 +2866,9 @@ |
||||||
|
# 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" |
||||||
|
+ |
||||||
|
# Ideally, we could use ldconfig to report *all* directores which are |
||||||
|
# searched for libraries, however this is still not possible. Aside from not |
||||||
|
# being certain /sbin/ldconfig is available, command |
||||||
|
@@ -2874,7 +2877,7 @@ |
||||||
|
# appending ld.so.conf contents (and includes) 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 |
@ -0,0 +1,203 @@ |
|||||||
|
Summary: Library to support IDNA2008 internationalized domain names |
||||||
|
Name: libidn2 |
||||||
|
Version: 2.0.5 |
||||||
|
Release: 1%{?dist} |
||||||
|
License: (GPLv2+ or LGPLv3+) and GPLv3+ |
||||||
|
URL: https://www.gnu.org/software/libidn/#libidn2 |
||||||
|
|
||||||
|
Source0: https://ftp.gnu.org/gnu/libidn/%{name}-%{version}.tar.gz |
||||||
|
Source1: https://ftp.gnu.org/gnu/libidn/%{name}-%{version}.tar.gz.sig |
||||||
|
Patch0: libidn2-2.0.0-rpath.patch |
||||||
|
|
||||||
|
BuildRequires: gcc |
||||||
|
BuildRequires: gettext |
||||||
|
BuildRequires: libunistring-devel |
||||||
|
Requires(post): /sbin/install-info, /sbin/ldconfig |
||||||
|
Requires(preun): /sbin/install-info |
||||||
|
Requires(postun): /sbin/ldconfig |
||||||
|
Provides: bundled(gnulib) |
||||||
|
|
||||||
|
%description |
||||||
|
Libidn2 is an implementation of the IDNA2008 specifications in RFC |
||||||
|
5890, 5891, 5892, 5893 and TR46 for internationalized domain names |
||||||
|
(IDN). It is a standalone library, without any dependency on libidn. |
||||||
|
|
||||||
|
%package devel |
||||||
|
Summary: Development files for libidn2 |
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}, pkgconfig |
||||||
|
|
||||||
|
%description devel |
||||||
|
The libidn2-devel package contains libraries and header files for |
||||||
|
developing applications that use libidn2. |
||||||
|
|
||||||
|
%package -n idn2 |
||||||
|
Summary: IDNA2008 internationalized domain names conversion tool |
||||||
|
License: GPLv3+ |
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release} |
||||||
|
|
||||||
|
%description -n idn2 |
||||||
|
The idn2 package contains the idn2 command line tool for testing |
||||||
|
IDNA2008 conversions. |
||||||
|
|
||||||
|
%prep |
||||||
|
%setup -q |
||||||
|
%patch0 -p1 -b .rpath |
||||||
|
touch -c -r configure.rpath configure |
||||||
|
touch -c -r m4/libtool.m4.rpath m4/libtool.m4 |
||||||
|
|
||||||
|
%build |
||||||
|
%configure --disable-static |
||||||
|
make %{?_smp_mflags} |
||||||
|
|
||||||
|
%install |
||||||
|
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install |
||||||
|
|
||||||
|
# Clean-up examples for documentation |
||||||
|
make %{?_smp_mflags} -C examples distclean |
||||||
|
rm -f examples/Makefile* |
||||||
|
|
||||||
|
# Don't install any libtool .la files |
||||||
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la |
||||||
|
|
||||||
|
# Some file cleanups |
||||||
|
rm -f $RPM_BUILD_ROOT%{_datadir}/info/dir |
||||||
|
|
||||||
|
%find_lang %{name} |
||||||
|
|
||||||
|
%check |
||||||
|
make %{?_smp_mflags} -C tests check |
||||||
|
|
||||||
|
%post -p /sbin/ldconfig |
||||||
|
|
||||||
|
%postun -p /sbin/ldconfig |
||||||
|
|
||||||
|
%post -n idn2 |
||||||
|
/sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir || : |
||||||
|
|
||||||
|
%preun -n idn2 |
||||||
|
if [ $1 = 0 ]; then |
||||||
|
/sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir || : |
||||||
|
fi |
||||||
|
|
||||||
|
%files -f %{name}.lang |
||||||
|
%license COPYING COPYING.LESSERv3 COPYING.unicode COPYINGv2 |
||||||
|
%doc AUTHORS NEWS README.md |
||||||
|
%{_libdir}/%{name}.so.* |
||||||
|
|
||||||
|
%files devel |
||||||
|
%doc doc/%{name}.html examples |
||||||
|
%{_libdir}/%{name}.so |
||||||
|
%{_libdir}/pkgconfig/%{name}.pc |
||||||
|
%{_includedir}/*.h |
||||||
|
%{_mandir}/man3/* |
||||||
|
%{_datadir}/gtk-doc/ |
||||||
|
|
||||||
|
%files -n idn2 |
||||||
|
%{_bindir}/idn2 |
||||||
|
%{_mandir}/man1/idn2.1* |
||||||
|
%{_infodir}/%{name}.info* |
||||||
|
|
||||||
|
%changelog |
||||||
|
* Mon May 21 2018 Robert Scheck <robert@fedoraproject.org> 2.0.5-1 |
||||||
|
- Upgrade to 2.0.5 (#1577864, #1579825) |
||||||
|
|
||||||
|
* Wed Apr 04 2018 Robert Scheck <robert@fedoraproject.org> 2.0.4-7 |
||||||
|
- Split RPM scriptlets (#1563832) |
||||||
|
|
||||||
|
* Mon Apr 02 2018 Robert Scheck <robert@fedoraproject.org> 2.0.4-6 |
||||||
|
- Use splitting suggestions from Nikos Mavrogiannopoulos instead |
||||||
|
|
||||||
|
* Mon Apr 2 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2.0.4-5 |
||||||
|
- Split cli utilities out into a sub package |
||||||
|
- Spec file cleanups |
||||||
|
|
||||||
|
* Fri Mar 30 2018 Robert Scheck <robert@fedoraproject.org> 2.0.4-4 |
||||||
|
- Added upstream patch to fix silently transliterated decoded |
||||||
|
domain names (#1556954) |
||||||
|
|
||||||
|
* Sun Feb 18 2018 Robert Scheck <robert@fedoraproject.org> 2.0.4-3 |
||||||
|
- Added upstream patch to fix STD3 ASCII rules (#1543021) |
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.4-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild |
||||||
|
|
||||||
|
* Wed Aug 30 2017 Robert Scheck <robert@fedoraproject.org> 2.0.4-1 |
||||||
|
- Upgrade to 2.0.4 (#1486881, #1486882) |
||||||
|
|
||||||
|
* Tue Aug 01 2017 Robert Scheck <robert@fedoraproject.org> 2.0.3-1 |
||||||
|
- Upgrade to 2.0.3 (#1468608, #1474324) |
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.2-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild |
||||||
|
|
||||||
|
* Sun Apr 30 2017 Robert Scheck <robert@fedoraproject.org> 2.0.2-1 |
||||||
|
- Upgrade to 2.0.2 (#1444712) |
||||||
|
|
||||||
|
* Thu Apr 06 2017 Robert Scheck <robert@fedoraproject.org> 2.0.0-1 |
||||||
|
- Upgrade to 2.0.0 (#1439727) |
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.16-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
||||||
|
|
||||||
|
* Fri Jan 27 2017 Robert Scheck <robert@fedoraproject.org> 0.16-1 |
||||||
|
- Upgrade to 0.16 (#1416642) |
||||||
|
|
||||||
|
* Mon Nov 21 2016 Robert Scheck <robert@fedoraproject.org> 0.11-1 |
||||||
|
- Upgrade to 0.11 |
||||||
|
- Reflect dual-licensing of library in license tag (#1397021) |
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.10-4 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild |
||||||
|
|
||||||
|
* Mon Dec 7 2015 Than Ngo <than@redhat.com> 0.10-2 |
||||||
|
- fix build failure related to missing automake-1.14 |
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.10-3 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 0.10-2 |
||||||
|
- Rebuilt for Fedora 23 Change |
||||||
|
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code |
||||||
|
|
||||||
|
* Sun Oct 12 2014 Robert Scheck <robert@fedoraproject.org> 0.10-1 |
||||||
|
- Upgrade to 0.10 |
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-7 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-6 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-5 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild |
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-4 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild |
||||||
|
|
||||||
|
* Fri Nov 16 2012 Robert Scheck <robert@fedoraproject.org> 0.8-3 |
||||||
|
- Added provide bundled(gnulib) as it's a copylib (#821769) |
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild |
||||||
|
|
||||||
|
* Sun Jan 15 2012 Robert Scheck <robert@fedoraproject.org> 0.8-1 |
||||||
|
- Upgrade to 0.8 |
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7-2 |
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild |
||||||
|
|
||||||
|
* Sat Aug 13 2011 Robert Scheck <robert@fedoraproject.org> 0.7-1 |
||||||
|
- Upgrade to 0.7 |
||||||
|
|
||||||
|
* Sat Jun 04 2011 Robert Scheck <robert@fedoraproject.org> 0.6-1 |
||||||
|
- Upgrade to 0.6 |
||||||
|
|
||||||
|
* Wed May 18 2011 Robert Scheck <robert@fedoraproject.org> 0.5-1 |
||||||
|
- Upgrade to 0.5 |
||||||
|
|
||||||
|
* Mon May 16 2011 Robert Scheck <robert@fedoraproject.org> 0.4-1 |
||||||
|
- Upgrade to 0.4 |
||||||
|
|
||||||
|
* Sat May 07 2011 Robert Scheck <robert@fedoraproject.org> 0.3-1 |
||||||
|
- Upgrade to 0.3 |
||||||
|
- Initial spec file for Fedora and Red Hat Enterprise Linux |
Loading…
Reference in new issue