From 9d3ef423dc87a2780b3aeaf83a3ebd2a1f2bb819 Mon Sep 17 00:00:00 2001 From: Packit Date: Sep 07 2020 11:42:38 +0000 Subject: Add spec-file for the distribution --- diff --git a/SPECS/opae.spec b/SPECS/opae.spec new file mode 100644 index 0000000..150efce --- /dev/null +++ b/SPECS/opae.spec @@ -0,0 +1,253 @@ +Summary: Open Programmable Acceleration Engine (OPAE) SDK +Name: opae +Version: 1.4.1 +Release: 14%{?dist} +License: BSD and MIT +ExclusiveArch: x86_64 +URL: https://github.com/OPAE/%{name}-sdk +Source0: https://github.com/OPAE/opae-sdk/releases/download/%{version}-1/%{name}-%{version}-1.tar.gz +Patch01: 0001-Do-not-install-static-libraries.patch +Patch02: improve-library-link.patch +Patch03: 0001-Reinclude-fpgaport-in-tools.patch +Patch04: 0002-Add-support-for-public-dfl-driver-to-fpgaport.patch +Patch05: 0001-Import-fpgad-from-opae-legacy.patch +Patch06: 0001-Fix-possible-buffer-overflow.patch +Patch07: remove-packager.patch +Patch08: remove-samples.patch + +BuildRequires: gcc, gcc-c++ +BuildRequires: cmake, make +BuildRequires: python3-devel +BuildRequires: json-c-devel +BuildRequires: libuuid-devel +BuildRequires: rpm-build +BuildRequires: hwloc-devel +BuildRequires: doxygen + +%description +Open Programmable Acceleration Engine (OPAE) is a software framework +for managing and accessing programmable accelerators (FPGAs). +Its main parts are: + +* OPAE Software Development Kit (OPAE SDK) (this package) +* OPAE Linux driver for Intel(R) Xeon(R) CPU with + Integrated FPGAs and Intel(R) PAC with Arria(R) 10 GX FPGA +* Basic Building Block (BBB) library for accelerating AFU + +OPAE SDK is a collection of libraries and tools to facilitate the +development of software applications and accelerators using OPAE. +It provides a library implementing the OPAE C API for presenting a +streamlined and easy-to-use interface for software applications to +discover, access, and manage FPGA devices and accelerators using +the OPAE software stack. + +%package devel +Summary: OPAE headers, sample source, and documentation +Requires: libuuid-devel, %{name}%{?_isa} = %{version}-%{release} + +%description devel +OPAE headers, sample source, and documentation + +%prep +%setup -q -n %{name}-%{version}-1 +%patch01 -p1 +%patch02 -p1 +%patch03 -p1 +%patch04 -p1 +%patch05 -p1 +%patch06 -p1 +%patch07 -p1 +%patch08 -p1 + +# Remove hidden .clang-format +rm opae-libs/tests/xfpga/.clang-format +rm tests/.clang-format +rm tools/argsfilter/.clang-format + +%build +mkdir -p _build +cd _build +%cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DOPAE_PRESERVE_REPOS=ON +%make_build + +%install +mkdir -p %{buildroot}%{_datadir}/opae +cp ./RELEASE_NOTES.md %{buildroot}%{_datadir}/opae/RELEASE_NOTES.md +cp ./LICENSE %{buildroot}%{_datadir}/opae/LICENSE +cp ./COPYING %{buildroot}%{_datadir}/opae/COPYING + +# cmake modules +mkdir -p %{buildroot}%{_usr}/src/opae/cmake/modules +for s in FindSphinx.cmake +do + cp "cmake/${s}" %{buildroot}%{_usr}/src/opae/cmake/ +done +mkdir -p %{buildroot}%{_usr}/src/opae/opae-libs/cmake/modules +for s in FindHwloc.cmake \ + OPAE.cmake \ + FindUUID.cmake \ + Findjson-c.cmake \ + OPAECompiler.cmake \ + OPAEGit.cmake \ + OPAEPackaging.cmake +do + cp "opae-libs/cmake/modules/${s}" %{buildroot}%{_usr}/src/opae/opae-libs/cmake/modules +done + +# Samples +mkdir -p %{buildroot}%{_usr}/src/opae/samples +mkdir -p %{buildroot}%{_usr}/src/opae/samples/hello_fpga/ +cp samples/hello_fpga/hello_fpga.c %{buildroot}%{_usr}/src/opae/samples/hello_fpga/ + +%make_install -C _build + +%files +%dir %{_datadir}/opae +%doc %{_datadir}/opae/RELEASE_NOTES.md +%license %{_datadir}/opae/LICENSE +%license %{_datadir}/opae/COPYING +%{_libdir}/libbitstream.so.%{version} +%{_libdir}/libbitstream.so.1 +%{_libdir}/libfpgad-api.so.%{version} +%{_libdir}/libfpgad-api.so.1 +%{_libdir}/libopae-c.so.%{version} +%{_libdir}/libopae-c.so.1 +%{_libdir}/libopae-c-ase.so.%{version} +%{_libdir}/libopae-c-ase.so.1 +%{_libdir}/libopae-cxx-core.so.%{version} +%{_libdir}/libopae-cxx-core.so.1 +%{_libdir}/opae/libboard_rc.so +%{_libdir}/opae/libboard_vc.so +%{_libdir}/opae/libfpgad-vc.so +%{_libdir}/opae/libmodbmc.so +%{_libdir}/opae/libxfpga.so +%{_libdir}/opae/libfpgad-xfpga.so +%config(noreplace) %{_sysconfdir}/opae/fpgad.cfg* +%config(noreplace) %{_sysconfdir}/sysconfig/fpgad.conf* +%{_bindir}/fpgaconf +%{_bindir}/fpgad +%{_bindir}/fpgainfo +%{_bindir}/fpgaport +%{_bindir}/mmlink +%{_bindir}/userclk +%{_unitdir}/fpgad.service + +%post +%systemd_post fpgad.service + +%preun +%systemd_preun fpgad.service + +%files devel +%dir %{_includedir}/opae +%dir %{_libdir}/opae +%dir %{_usr}/src/opae +%dir %{_usr}/src/opae/cmake/ +%dir %{_usr}/src/opae/opae-libs/cmake/modules/ +%dir %{_usr}/src/opae/samples +%{_includedir}/opae/* +%{_libdir}/libbitstream.so +%{_libdir}/libfpgad-api.so +%{_libdir}/libopae-c.so +%{_libdir}/libopae-c-ase.so +%{_libdir}/libopae-cxx-core.so +%{_usr}/share/opae/* +%{_usr}/src/opae/samples/hello_fpga/hello_fpga.c +%{_usr}/src/opae/cmake/* +%{_usr}/src/opae/opae-libs/cmake/modules/* + +%changelog +* Wed Jul 15 2020 Tom Rix - 1.4.1-14 +- Remove built samples + +* Tue Jul 14 2020 Tom Rix - 1.4.1-13 +- Remove packager from devel rpm + +* Mon Jul 6 2020 Tom Rix - 1.4.1-12 +- Move diagnostic tools from devel to main rpm + +* Tue Jun 2 2020 Tom Rix - 1.4.1-11 +- Changelog date + +* Tue Jun 2 2020 Tom Rix - 1.4.1-10 +- Changelog date + +* Tue Jun 2 2020 Tom Rix - 1.4.1-9 +- Add gating + +* Thu May 19 2020 Tom Rix - 1.4.1-8 +- Fix buffer overflow + +* Thu May 14 2020 Tom Rix - 1.4.1-7 +- Import fpgad from opae-legacy + +* Wed May 13 2020 Tom Rix - 1.4.1-6 +- Import fpgaport from 1.4.0 +- Generalize to work with public and intel drivers. + +* Tue Apr 21 2020 Björn Esser - 1.4.1-5 +- Rebuild (json-c) + +* Tue Apr 21 2020 Tom Rix 1.4.1-4 +- Update the sources file + +* Tue Apr 21 2020 Tom Rix 1.4.1-3 +- Update the sources file + +* Mon Apr 20 2020 Tom Rix 1.4.1-2 +- Disable broken documents +- Do not install static libs +- Improve linking of libopae-cxx-core + +* Fri Apr 17 2020 Korde Nakul 1.4.1-1 +- OPAE git repository layout changes. +- Removed Safe String module dependency. +- Various bug fixes. +- Ported python tools to python3.6. +- Various Static code scan bug fixes. +- Removed pybind11 3rd component from OPAE source repository. + +* Tue Mar 10 2020 Tom Rix 1.4.0-6 +- Add make as a dependency + +* Fri Mar 6 2020 Tom Rix 1.4.0-5 +- Use make_install macro +- Use license tag correctly + +* Tue Mar 3 2020 Tom Rix 1.4.0-4 +- Add libraries to link of libopae-cxx-core libopae-c++-utils +- Remove unneeded build flag _smp_mflags + +* Thu Feb 27 2020 Tom Rix 1.4.0-3 +- Remove ldconfig from post and postun +- Append dist tag to release tag +- Change libsafestr to shared library +- Set license tag to location of license files +- Remove phython3-sphnix build dependency. +- Consolidate samples,tools,tools-extra pkgs into devel +- Improve pkg created dir specification +- Set x86_64 as ExclusiveArch +- Change to runtime to implicit dependency on build *-devel +- Remove preun rm of opae-c.conf +- Use systemd rpm macros +- Add _smp_mflags to build +- Use unitdir for fpgad.service path +- Distribute the license and copying files + +* Mon Feb 24 2020 Tom Rix 1.4.0-2 +- Change to python3 +- Remove release tag from upstream Source0 definition. +- Improve requires tag for subpackages +- Remove explicit root owner +- Remove vendor tag +- Remove group tag +- Remove clean section + +* Tue Dec 17 2019 Korde Nakul 1.4.0-1 +- Added support to FPGA Linux kernel Device Feature List (DFL) driver patch set2. +- Increased test cases and test coverage +- Various bug fixes +- Various compiler warning fixes +- Various memory leak fixes +- Various Static code scan bug fixes +- Added new FPGA MMIO API to write 512 bits