Compare commits

..

77 commits

Author SHA1 Message Date
DJ Delorie
45b9541de4 Update to libffi-3.5.2 2025-09-05 16:01:59 -04:00
Jesus Checa Hidalgo
0cba045b21 Update testsuite test to run with latest upstream
The test runs the upstream testsuite but with the installed libraries.
This is done patching the test harness to pick libffi from system's
libdir instead the ones from the build directory.

Changes in upstream commit 40a7682 break the way we patch the testsuite
and this change fixes our script to work as it did before.

Additionally, several checks on expected library directories were
improved.

This commit also fixes several shellcheck warnings.
2025-08-21 17:26:23 +02:00
Jesus Checa Hidalgo
9915d8c0eb Migrate STI to TMT
fixes: rhbz#2382942
2025-08-12 11:21:05 +02:00
Fedora Release Engineering
47999d7394 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 19:38:43 +00:00
DJ Delorie
6a2317105a Update to libffi-3.5.1 2025-06-13 16:13:35 -04:00
DJ Delorie
fbf3b77c41 Update to libffi-3.4.8 2025-05-08 14:46:47 -04:00
Florian Weimer
136a084f89 Remove misleading comment about static trampolines
The --disable-static switch is about static libraries.  The real
flag for trampolines is --disable-exec-static-tramp.
2025-04-04 16:07:19 +02:00
Andrea Bolognani
336b1a6022 Fix riscv64 build
Thanks: David Abdurachmanov <davidlt@rivosinc.com>
Thanks: Richard W.M. Jones <rjones@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-04-04 15:26:48 +02:00
DJ Delorie
3b93042570 Update support for PPC64 static trampolines
Updates for previous patch:
Updated patch
Regenerated configure
2025-03-30 01:26:42 -04:00
DJ Delorie
bbfe6044bc Add support for PPC64 static trampolines
Note: this is not an upstream patch; this is a test of a patch
attached to BZ 2313598
2025-03-06 18:54:19 -05:00
DJ Delorie
62132c1260 Update to libffi-3.4.7
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2025-03-03 21:41:04 -05:00
DJ Delorie
1782ee5d69 Fix FTBFS for C23 (#2340729)
Backports 0859f8431242d5adff21420b9cab538d2af527b5 from upstream
2025-01-22 20:34:05 -05:00
Fedora Release Engineering
ddf7b4cbe3 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 11:12:51 +00:00
Michal Kolar
9c9f6a4b92 update tests/testsuite
Add main.fmf to meet new tmt testing workflow requirements.

  Update runtest.sh to curent version to fix the CI failures.

  Adapt runtest.sh to the new behavior under Fedora due to rpmbuild started
  using specpartsdir and extra <nvr>-build directory in build path.
2024-12-05 14:28:37 +00:00
Jesus Checa Hidalgo
b1fac7a4b7 Replace testsuite patches with sed expressions (bz#2307027)
Using sed expressions instead patches is more portable and is
how we are testing this downstream.
2024-10-07 13:18:18 +02:00
Jesus Checa Hidalgo
95f8efdc74 Fix testsuite failure in rawhide gating (bz#2307027)
Due to recent changes in rpm 4.20, the rpmbuild build dir is no longer
where the test script expected it, causing the said failures.
2024-10-07 11:47:31 +02:00
Carlos O'Donell
fa2107f4e0 Fix AArch64 BTI enablement issues (#2305877)
Resolves: #2305877
2024-08-21 08:17:07 -04:00
Fedora Release Engineering
6e5f455b1a Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 13:51:01 +00:00
DJ Delorie
f5f2a00867 Update to libffi-3.4.6 2024-03-18 21:49:11 -04:00
Carlos O'Donell
44990d68e6 Analyze libffi-3.4.4-7.fc40 sources for license information
- Migrate License field to SPDX identifiers for
  https://docs.fedoraproject.org/en-US/legal/allowed-licenses/
  https://docs.fedoraproject.org/en-US/legal/update-existing-packages

Resolves: #2222084
2024-02-29 17:12:24 -05:00
Fedora Release Engineering
42d1ff7394 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 02:08:17 +00:00
Fedora Release Engineering
c6d6ad650b Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 04:04:30 +00:00
Florian Weimer
18bec18c13 Update changelog 2024-01-02 18:00:03 +01:00
Yaakov Selkowitz
a7063fb8f9 Fix implicit declaration of function 'open_temp_exec_file'
https://fedoraproject.org/wiki/Changes/PortingToModernC
https://github.com/libffi/libffi/pull/764
2023-12-21 23:19:34 -05:00
Fedora Release Engineering
586a259cea Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 10:50:49 +00:00
DJ Delorie
6d176a7c52 Enable static trampolines
Resolves: #2216763
2023-07-05 15:47:57 -04:00
Fedora Release Engineering
4c5c11f73d Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 16:19:18 +00:00
DJ Delorie
09778f4c43 Update to libffi-3.4.4 2022-11-09 18:14:52 -05:00
Fedora Release Engineering
94901f4732 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 17:47:45 +00:00
Dan Horák
53030a5c0c bump release 2022-01-31 14:26:32 +01:00
Dan Horák
acfefabea4 Fix handling Float128 structs on ppc64le (#2045797) 2022-01-31 09:42:05 +00:00
Fedora Release Engineering
53606fd875 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 16:12:26 +00:00
Miro Hrončok
5df3302f45 Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 2022-01-08 10:26:48 +01:00
Carlos O'Donell
87574daa5c Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 2021-09-15 17:26:30 -04:00
Carlos O'Donell
69db68caf1 Harmonize spec file layout with downstream. 2021-09-15 09:01:45 -04:00
Carlos O'Donell
91a1b2a09e Enable building. 2021-08-11 00:55:38 -04:00
Carlos O'Donell
ed0518c208 Rebuild package and bump NEVRA. 2021-08-11 00:32:55 -04:00
Carlos O'Donell
382d13fd9f Prevent libffi 3.4 rebuild until after mass rebuild. 2021-07-22 11:00:44 -04:00
Fedora Release Engineering
b50252019d - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 11:22:06 +00:00
Carlos O'Donell
18f0dfb3dd Fix %changelog typo. 2021-07-14 11:52:33 -04:00
Carlos O'Donell
4bc39b5505 Update to libff-3.4.2. 2021-06-28 22:11:50 -04:00
Fedora Release Engineering
16342320c7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 17:03:33 +00:00
Tom Stellard
94a646ef38 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-06 19:04:38 +00:00
Carlos O'Donell
7b37dc1150 Use make macros 2020-12-02 13:53:37 -05:00
Fedora Release Engineering
fdac85aeb0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 04:38:28 +00:00
DJ Delorie
2c1dc799ce Add $LIBFFI_TMPDIR environment variable support (#1667620) 2020-04-30 23:01:25 -04:00
Fedora Release Engineering
e39a9572c0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 09:07:01 +00:00
Fedora Release Engineering
4fbfbe53fe - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 13:15:15 +00:00
Florian Weimer
c040208fe2 Run test suite during build (#1727088) 2019-07-09 18:44:17 +02:00
Anthony Green
e4104c0a47 Fix license tag in spec file 2019-06-19 18:38:05 -04:00
Björn Esser
34c093380d
Remove hardcoded gzip suffix from GNU info pages 2019-04-24 14:56:34 +02:00
Fedora Release Engineering
4f59ea6259 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 07:07:30 +00:00
Igor Gnatenko
159547d754
Remove obsolete scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-27 19:05:15 +01:00
Peter Robinson
7c8473e637 Fix FTBFS 2018-07-22 15:36:16 +01:00
Fedora Release Engineering
a67ea03359 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 08:05:43 +00:00
Anthony Green
c2ca464069 Merge #1 Add CI tests using the standard test interface 2018-05-10 13:02:13 +00:00
Fedora Release Engineering
5df41d320b - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 21:37:13 +00:00
Sergey Turivniy
15e20ba802 Add CI tests using the standard test interface 2018-02-05 16:24:23 +00:00
Igor Gnatenko
654c7efd26
Switch to %ldconfig_scriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-03 18:34:22 +01:00
Fedora Release Engineering
ccffc1700a - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 01:27:22 +00:00
Fedora Release Engineering
662f416779 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 18:50:20 +00:00
Jens Petersen
e3a78d20c9 protect install-info in the rpm scriptlets (#1467299) 2017-07-05 14:34:35 +09:00
Anthony Green
4fc6914d07 fix exec stack problem on aarch64 build 2017-06-20 09:16:11 -04:00
Fedora Release Engineering
2455877bfe - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 18:39:00 +00:00
Dennis Gilmore
18d9d42129 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 03:09:11 +00:00
Dennis Gilmore
142e58a188 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 15:15:41 +00:00
Peter Robinson
646402296d Add patch to fix issues on aarch64 (rhbz 1174037) 2015-01-15 02:37:57 +00:00
Peter Robinson
21da08afad - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 03:16:22 +00:00
Tom Callaway
ebed642ed2 fix license handling 2014-07-17 14:36:27 -04:00
Anthony Green
fe5ad417a7 PR1110966. Fix exec stack bug. 2014-06-29 23:48:46 -04:00
Dan Horák
f8dded0eab cleanup the pkgconfig file 2014-06-12 12:10:19 +02:00
Dan Horák
a41ac6eb91 - fix header path in pkgconfig file 2014-06-12 11:59:41 +02:00
Dennis Gilmore
450db82dee - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-06 22:20:13 -05:00
Dan Horák
0ffeca57f4 bump revision and cleanup spec 2014-06-06 14:08:49 +02:00
Dan Horák
71e48fa45a - fix typo when moving headers on non-multiarch arches
- don't treat ppc64le (covered by %{power64}) as multiarch
2014-06-06 13:50:54 +02:00
Anthony Green
b3340e8c75 Fix non-multiarch (arm) builds 2014-05-19 14:41:16 -04:00
Anthony Green
1bd5eb5974 Upgrade to libffi 3.1. 2014-05-19 13:10:53 -04:00
10 changed files with 453 additions and 81 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

8
.gitignore vendored
View file

@ -2,3 +2,11 @@ libffi-3.0.9.tar.gz
/libffi-3.0.10.tar.gz
/libffi-3.0.11.tar.gz
/libffi-3.0.13.tar.gz
/libffi-3.1.tar.gz
/libffi-3.4.2.tar.gz
/libffi-3.4.4.tar.gz
/libffi-3.4.6.tar.gz
/libffi-3.4.7.tar.gz
/libffi-3.4.8.tar.gz
/libffi-3.5.1.tar.gz
/libffi-3.5.2.tar.gz

View file

@ -1,34 +0,0 @@
diff -up libffi-3.0.13/include/Makefile.am.fixpath libffi-3.0.13/include/Makefile.am
--- libffi-3.0.13/include/Makefile.am.fixpath 2013-05-25 22:11:25.983889342 -0400
+++ libffi-3.0.13/include/Makefile.am 2013-05-25 22:12:12.337890037 -0400
@@ -5,5 +5,5 @@ AUTOMAKE_OPTIONS=foreign
DISTCLEANFILES=ffitarget.h
EXTRA_DIST=ffi.h.in ffi_common.h
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+includesdir = $(includedir)/
nodist_includes_HEADERS = ffi.h ffitarget.h
diff -up libffi-3.0.13/include/Makefile.in.fixpath libffi-3.0.13/include/Makefile.in
--- libffi-3.0.13/include/Makefile.in.fixpath 2013-05-25 22:12:56.259890696 -0400
+++ libffi-3.0.13/include/Makefile.in 2013-05-25 22:13:12.101890934 -0400
@@ -250,7 +250,7 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign
DISTCLEANFILES = ffitarget.h
EXTRA_DIST = ffi.h.in ffi_common.h
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+includesdir = $(includedir)/
nodist_includes_HEADERS = ffi.h ffitarget.h
all: all-am
diff -up libffi-3.0.13/libffi.pc.in.fixpath libffi-3.0.13/libffi.pc.in
--- libffi-3.0.13/libffi.pc.in.fixpath 2013-05-25 22:14:21.037891968 -0400
+++ libffi-3.0.13/libffi.pc.in 2013-05-25 22:14:31.652892128 -0400
@@ -1,7 +1,7 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
+includedir=@includedir@
Name: @PACKAGE_NAME@
Description: Library supporting Foreign Function Interfaces

View file

@ -1,20 +1,56 @@
%global multilib_arches %{ix86} ppc %{power64} s390 s390x x86_64
%bcond_with bootstrap
%global multilib_arches %{ix86} x86_64
Name: libffi
Version: 3.0.13
Release: 5%{?dist}
Version: 3.5.2
Release: 1%{?dist}
Summary: A portable foreign function interface library
Group: System Environment/Libraries
License: BSD
# No license change for 3.5.2
# No license change for 3.5.1
# No license change for 3.4.8
# No license change for 3.4.7
# No license change for 3.4.6
# The following SPDX licenses are extracted from the sources using
# ScanCode 32.0.8 on build libffi-3.4.4-7.fc40:
#
# MIT - Most of the project sources (Required)
# CC-PDDC - src/dlmalloc.c (Required)
# mit OR gpl-3.0 - ltmain.sh (Ignored)
# mit OR gpl-1.0-plus - ltmain.sh (Ignored)
# gpl-2.0-plus WITH libtool-exception-2.0 - ltmain.sh, libtool.m4, configure (Ignored, not shipped)
# warranty-disclaimer - ltmain.sh (Ignored)
# unknown-license-reference - ltmain.sh (Ignored)
# gpl-2.0-plus - Used by build system only (Ignored)
# gpl-2.0 - Used by build system only (Ignored)
# free-unknown - config.guess, config.sub (Ignored)
# fsf-ap - Used by build system only (Ignored)
# fsf-free - Used by build system only (Ignored)
# fsf-unlimited - Used by build system only (Ignored)
# fsf-unlimited-no-warranty - Used by build system only (Ignored)
# gpl-1.0-plus - False positive in texinfo.tex (Ignored)
# gpl-3.0-plus WITH tex-exception - texinfo.tex used in libffi-devel docs (Required)
# gpl-2.0-plus WITH autoconf-simple-exception-2.0 - Used by build system only (Ignored)
# gpl-3.0 - Used by build system only (Ignored)
# gpl-3.0-plus - Used by the testsuite only (Ignored)
# gpl-3.0-plus WITH autoconf-exception-2.0 - Used by build system only (Ignored)
# gpl-3.0-plus WITH autoconf-simple-exception - Used by build system only (Ignored)
# mpl-1.1 OR gpl-2.0-plus OR lgpl-2.1-plus - Not used in build (Ignored)
# public-domain - Used by build system only (Ignored)
# x11-xconsortium - Used by build system only (Ignored)
License: MIT AND CC-PDDC AND (GPL-3.0-or-later WITH Texinfo-exception)
URL: http://sourceware.org/libffi
Source0: ftp://sourceware.org/pub/libffi/libffi-%{version}.tar.gz
# part of upstream commit 5feacad4
Source0: https://github.com/libffi/libffi/releases/download/v%{version}/libffi-%{version}.tar.gz
Source1: ffi-multilib.h
Source2: ffitarget-multilib.h
Patch0: libffi-3.0.13-fix-include-path.patch
# part of upstream commit 5feacad4
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: make
BuildRequires: gcc
%if %{without bootstrap}
BuildRequires: gcc-c++
BuildRequires: dejagnu
%endif
%description
Compilers for high level languages generate code that follow certain
@ -43,33 +79,33 @@ layer of a fully featured foreign function interface. A layer must
exist above `libffi' that handles type conversions for values passed
between the two languages.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Requires: pkgconfig
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%setup -q
%patch0 -p1 -b .fixpath
%autosetup -p1
%build
%configure --disable-static
make %{?_smp_mflags}
# --disable-multi-os-directory is used because otherwise, on riscv64, the
# library is installed under ${_libdir}/lp64d, which we don't want. Other
# architectures don't have the same problem so they're unaffected.
%configure --disable-static --disable-multi-os-directory
%make_build
%check
%if %{without bootstrap}
%make_build check
%endif
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%make_install
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
@ -79,6 +115,7 @@ basearch=%{_arch}
basearch=i386
%endif
mkdir -p $RPM_BUILD_ROOT%{_includedir}
%ifarch %{multilib_arches}
# Do header file switcheroo to avoid file conflicts on systems where you
# can have both a 32- and 64-bit version of the library, and they each need
@ -90,38 +127,205 @@ install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/ffi.h
install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_includedir}/ffitarget.h
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%post devel
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libffi.info.gz
%preun devel
if [ $1 = 0 ] ;then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libffi.info.gz
fi
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%files
%defattr(-,root,root,-)
%doc LICENSE README
%{_libdir}/*.so.*
%license LICENSE
%doc README.md
%{_libdir}/libffi.so.8
%{_libdir}/libffi.so.8.2.0
%files devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/*.pc
%{_includedir}/ffi*.h
%{_libdir}/*.so
%{_mandir}/man3/*.gz
%{_infodir}/libffi.info.gz
%{_infodir}/libffi.info.*
%changelog
* Fri Sep 5 2025 DJ Delorie <dj@redhat.com> - 3.5.2-1
- Rebase to libffi 3.5.1.
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jun 13 2025 DJ Delorie <dj@redhat.com> - 3.5.1-1
- Rebase to libffi 3.5.1.
* Wed May 07 2025 DJ Delorie <dj@redhat.com> - 3.4.8-1
- Rebase to libffi 3.4.8.
* Fri Apr 04 2025 Andrea Bolognani <abologna@redhat.com> - 3.4.7-4
- Fix riscv64 build (thanks David Abdurachmanov and Rich Jones)
* Thu Mar 27 2025 DJ Delorie <dj@redhat.com> - 3.4.7-3
- Regenerate configure for previous patch(#2313598)
* Thu Mar 06 2025 DJ Delorie <dj@redhat.com> - 3.4.7-2
- Add PPC64 static trampoline support (#2313598)
* Tue Feb 18 2025 DJ Delorie <dj@redhat.com> - 3.4.7-1
- Rebase to libffi 3.4.7.
* Wed Jan 22 2025 DJ Delorie <dj@redhat.com> - 3.4.6-5
- Fix FTBFS due to C23 compiler (#2340729)
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Aug 21 2024 Carlos O'Donell <carlos@redhat.com> 3.4.6-3
- Fix AArch64 BTI enablement issues (#2305877)
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Mar 18 2024 DJ Delorie <dj@redhat.com> - 3.4.6-1
- Rebase to libffi 3.4.6.
* Thu Feb 29 2024 Carlos O'Donell <carlos@redhat.com> - 3.4.4-8
- Analyze libffi-3.4.4-7.fc40 sources for license information
- Migrate License field to SPDX identifiers for
https://docs.fedoraproject.org/en-US/legal/allowed-licenses/
https://docs.fedoraproject.org/en-US/legal/update-existing-packages
(#2222084)
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Jan 02 2024 Florian Weimer <fweimer@redhat.com> - 3.4.4-5
- Add missing declaration of open_temp_exec_file
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 02 2023 DJ Delorie <dj@redhat.com> - 3.4.4-3
- Enable static trampolines
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Oct 28 2022 DJ Delorie <dj@redhat.com> - 3.4.4-1
- Rebase to libffi 3.4.4.
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jan 31 2022 Dan Horák <dan[at]danny.cz> - 3.4.2-8
- Fix handling Float128 structs on ppc64le (#2045797)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sat Jan 08 2022 Miro Hrončok <mhroncok@redhat.com> - 3.4.2-6
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
* Wed Sep 15 2021 Carlos O'Donell <codonell@redhat.com> - 3.4.2-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
* Wed Sep 15 2021 Carlos O'Donell <carlos@redhat.com> - 3.4.2-4
- Harmonize spec file layout with downstream.
* Wed Aug 11 2021 Carlos O'Donell <carlos@redhat.com> - 3.4.2-3
- Rebuild package and bump NEVRA.
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jun 28 2021 Carlos O'Donell <carlos@redhat.com> - 3.4.2-1
- Rebase to libffi 3.4.2.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Dec 02 2020 Carlos O'Donell <carlos@redhat.com> - 3.1-27
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Apr 30 2020 DJ Delorie <idj@redhat.com> - 3.1-25
- Add $LIBFFI_TMPDIR environment variable support (#1667620)
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jul 9 2019 Florian Weimer <fweimer@redhat.com> - 3.1-22
- Run test suite during build (#1727088)
* Wed Jun 19 2019 Anthony Green <green@redhat.com> - 3.1-21
- Fix license tag
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 3.1-20
- Remove hardcoded gzip suffix from GNU info pages
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Jul 22 2018 Peter Robinson <pbrobinson@fedoraproject.org> 3.1-28
- Fix FTBFS
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.1-15
- Switch to %%ldconfig_scriptlets
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jul 5 2017 Jens Petersen <petersen@redhat.com> - 3.1-12
- protect install-info in the rpm scriptlets
https://fedoraproject.org/wiki/Packaging:Scriptlets#Texinfo
* Tue Jun 20 2017 Anthony Green <green@redhat.com> - 3.1-11
- fix exec stack problem on aarch64 build
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Jan 15 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.1-7
- Add patch to fix issues on aarch64 (rhbz 1174037)
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 17 2014 Tom Callaway <spot@fedoraproject.org> - 3.1-5
- fix license handling
* Sun Jun 29 2014 Anthony Green <green@redhat.com> - 3.1-4
- fix exec stack problem on 32-bit build
* Thu Jun 12 2014 Dan Horák <dan[at]danny.cz> - 3.1-3
- fix header path in pkgconfig file
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Mon May 19 2014 Anthony Green <green@redhat.com> - 3.1-1
- fix non-multiarch builds (arm).
* Mon May 19 2014 Anthony Green <green@redhat.com> - 3.1-0
- update to 3.1.
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.13-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

6
plans/gating.fmf Normal file
View file

@ -0,0 +1,6 @@
summary: Gating testplan for libffi
discover:
how: fmf
execute:
how: tmt

View file

@ -1 +1 @@
45f3b6dbc9ee7c7dfbbbc5feba571529 libffi-3.0.13.tar.gz
SHA512 (libffi-3.5.2.tar.gz) = 76974a84e3aee6bbd646a6da2e641825ae0b791ca6efdc479b2d4cbcd3ad607df59cffcf5031ad5bd30822961a8c6de164ac8ae379d1804acd388b1975cdbf4d

63
tests/testsuite/Makefile Normal file
View file

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/libffi/Sanity/testsuite
# Description: Runs upstream testsuite
# Author: Michal Nowak <mnowak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/libffi/Sanity/testsuite
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Michal Nowak <mnowak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Runs upstream testsuite" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 35m" >> $(METADATA)
@echo "RunFor: libffi" >> $(METADATA)
@echo "Requires: libffi libffi-devel libtool gcc dejagnu rpm-build gcc-c++ texinfo strace" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv3" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHEL5" >> $(METADATA)
rhts-lint $(METADATA)

3
tests/testsuite/PURPOSE Normal file
View file

@ -0,0 +1,3 @@
PURPOSE of /tools/libffi/Sanity/testsuite
Description: Runs upstream testsuite
Author: Michal Nowak <mnowak@redhat.com>

33
tests/testsuite/main.fmf Normal file
View file

@ -0,0 +1,33 @@
summary: Runs upstream testsuite
description: ''
enabled: true
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1031159
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=839210
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1006261
tag:
- CI-Tier-1
- RHEL6
- Tier1
- rhel-buildroot
tier: '1'
contact: mcermak@redhat.com
component:
- libffi
test: ./runtest.sh
framework: beakerlib
require:
- libffi
- libffi-devel
- libtool
- gcc
- dejagnu
- rpm-build
- gcc-c++
- texinfo
- strace
duration: 35m
extra-nitrate: TC#0063644
extra-summary: /tools/libffi/Sanity/testsuite
extra-task: /tools/libffi/Sanity/testsuite
id: 2d3a499f-1f59-40f0-a76c-1c73569d0512

88
tests/testsuite/runtest.sh Executable file
View file

@ -0,0 +1,88 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/libffi/Sanity/testsuite
# Description: Runs upstream testsuite
# Author: Michal Nowak <mnowak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include rhts environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGES=(libffi libffi-devel gcc dejagnu rpm-build gcc-c++)
rlJournalStart
rlPhaseStartSetup
for p in "${PACKAGES[@]}"; do
if ! rlCheckRpm "$p"; then
rlRun "yum -y install $p"
rlAssertRpm "$p"
fi
done;
rlRun "TmpDir=$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlFetchSrcForInstalled libffi
rlRun "rpm -ivh libffi*.src.rpm"
rlRun "popd"
rlRun "specfile=$(rpm --eval='%_specdir')/libffi.spec"
rlRun "rpmbuild -bp --undefine specpartsdir $specfile"
rlRun "builddir=$(rpm --eval='%_builddir')"
rlRun "pushd $(dirname "$(find $builddir -name configure)")"
rlRun "./configure"
rlRun "make"
rlPhaseEnd
rlPhaseStartTest "Run testsuite"
set -xe
# Patch the testsuite to run with the installed libffi libraries, not
# with the ones built from the rpm.
# Do not add the current dir or the build dir to ld_library_path
sed -i 's/set ld_library_path "."/set ld_library_path ""/' testsuite/lib/libffi*.exp
sed -i '/append ld_library_path.*blddirffi/d' testsuite/lib/libffi*.exp
# Set ld_library_path to the system libdir (typically /usr/lib or /usr/lib64)
MYLIBDIR=$(rpm --eval '%{_libdir}')
sed -i 's;set libffi_dir.*"[^"]*";set libffi_dir "'"${MYLIBDIR}"'";' testsuite/lib/libffi*.exp
grep -F -e 'set ld_library_path' -e 'set libffi_dir' testsuite/lib/libffi.exp
# As of upstream commit 40a7682 the link flags hardcode the library dir so we need to edit that too
# by removing the explicit library seach path to the built libraries.
# https://github.com/libffi/libffi/commit/40a7682#diff-b4e449eb85934de2bdcf9ee0ac320872a7d09d60df6a24e3f066d7d74f6ddfd0R345
sed -i 's;set libffi_link_flags "-L[^"]*";set libffi_link_flags "";' testsuite/lib/libffi*.exp
set +xe
rlLog "Checking whether we test really the installed libraries."
strace -F -e open,openat,stat -o strace.log -- make check
# Count library calls from places different than the libdir we want (MYLIBDIR)
LIBFFI_SO_CALLS=$(cat strace.log | grep libffi.so | grep -v ENOENT | grep -v "/usr" | grep -v '"/lib' | grep -c -v 'unfinished')
rlAssertGreater "The just built libraries should not be used, everything should be taken from /usr" 5 "$LIBFFI_SO_CALLS"
rlRun "cat strace.log | grep libffi.so | grep /usr"
rlRun "cat strace.log | grep libffi.so | grep rpmbuild" 1
rlRun "make check" 0 "RUNNING THE TESTSUITE"
rlRun "popd"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "ls -al $TmpDir"
rlBundleLogs logs "$(find . -name 'libffi.sum')" "$(find . -name 'libffi.log')"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd