# Restore old style debuginfo creation for rpm >= 4.14.
%undefine _debugsource_packages
%undefine _debuginfo_subpackages

# -*- rpm-spec -*-
BuildRoot:      %_topdir/nfb-framework-6.24.0-Source
Summary:        NDK software library
Name:           nfb-framework
Version:        6.24.0
Release:        1%{?dist}
License:        BSD and GPLv2
Group:          unknown
Vendor:         CESNET

Source: nfb-framework-6.24.0.tar.gz




%define debug_package %{nil}

%define _rpmdir %_topdir/RPMS
%define _srcrpmdir %_topdir/SRPMS

%define _unpackaged_files_terminate_build 0


%define __python python3


%description
Software bundle for CESNET NDK firmware platform


# This is a shortcutted spec file generated by CMake RPM generator
# we skip _install step because CPack does that for us.
# We do only save CPack installed tree in _prepr
# and then restore it in build.
%prep
%setup -c


%build
mkdir cpack_rpm_build_dir
cd cpack_rpm_build_dir
'/usr/bin/cmake'  -DCPACK_PACKAGING_INSTALL_PREFIX=/ ../nfb-framework-6.24.0-Source
make %{?_smp_mflags}

#p build

%install

cd cpack_rpm_build_dir
cpack -G RPM
mv *.rpm %_rpmdir

%clean

%changelog
* Wed Nov 13 2024 Martin Spinler <spinler@cesnet.cz> - 6.24.0-1
- [FEATURE] drivers: add support for Terasic A2700 card
- [FEATURE] drivers: check subdevices by card_name (and DSN) in all PCI endpoint FDTs
- [FEATURE] nfb-bus: introduce byte mode for read & writes
- [FEATURE] libnfb, drivers: report errors when accessing outside component space
- [FEATURE] libnfb: support library extension with device prefix "libnfb-ext:"
- [HOTFIX] nfb-boot: quick boot on N6010
- [FIX] libnfb, tools: disable mavx2/sse when compiler support is missing
- [FIX] pynfb: rewrite __dealloc__ methods to __del__
- [MAINTENANCE] libnfb-ext-python: fix package name and binary path

* Fri Oct 4 2024 Martin Spinler <spinler@cesnet.cz> - 6.23.6-1
- [BUGFIX] libnfb - MDIO: fix deadlock due to recursive lock

* Thu Oct 3 2024 Martin Spinler <spinler@cesnet.cz> - 6.23.5-1
- [FEATURE] pynfb: add lock/unlock methods to Comp
- [FEATURE] libnfb: add nfb_comp_trylock
- [FIX] libnfb: loop in nfb_comp_lock while lock is busy

* Thu Sep 26 2024 Martin Spinler <spinler@cesnet.cz> - 6.23.4-1
- [FEATURE] pynfb: introduce context manager for device, which ensures closing
- [BUGFIX] ndp-tool: correctly check limits in multithread mode
- [BUGFIX] tools: use LIBNFB_DEFAULT_DEV in all tools
- [BUGFIX] drivers: fill info for all endpoints, including not attached
- [BUGFIX] libnetcope: disable RSFEC accesses on PMA without RSFEC support

* Thu Aug 29 2024 Martin Spinler <spinler@cesnet.cz> - 6.23.3-1
- [FEATURE] nfb-meter: add offline mode
- [BUGFIX] nfb-meter: update to new pynfb names

* Mon Aug 19 2024 Martin Spinler <spinler@cesnet.cz> - 6.23.2-1
- [BUGFIX] mdio (PCS/PMA): initialize struct nc_mdio with zeros

* Tue Aug 13 2024 Martin Spinler <spinler@cesnet.cz> - 6.23.1-1
- [BUGFIX] drivers: backward compatibility for firmware without valid endpoint index

* Fri Aug 9 2024 Martin Spinler <spinler@cesnet.cz> - 6.23.0-1
- [FEATURE] drivers: allow early removal and late attach of PCI endpoint
- [FEATURE] libnfb: use LIBNFB_BUS_DEBUG env. variable for MI read/write logging
- [FEATURE] libnfb: use LIBNFB_DEFAULT_DEV env. variable for specifying default device
- [FEATURE] nfb-info: print BAR size, print list of all available devices
- [FEATURE] nfb-mi-test: tool for testing and benchmarking MI accesses
- [FEATURE] pynfb: lot of sanitized names, improvements, fixes and optimalizations
- [BUGFIX] libnfb: fallback mi_memcpy variant for processors without AVX2

* Thu Jun 27 2024 Martin Spinler <spinler@cesnet.cz> - 6.22.6-1
- [BUGFIX] fix driver bug with include file

* Wed Jun 5 2024 Martin Spinler <spinler@cesnet.cz> - 6.22.5-1
- [BUGFIX] fix driver bug with numeric serial number

* Tue Jun 4 2024 Martin Spinler <spinler@cesnet.cz> - 6.22.4-1
- [FEATURE] allow non-numeric serial numbers
- [BUGFIX] fix driver freeze on N6010 with non-numeric serial number

* Fri May 10 2024 Martin Spinler <spinler@cesnet.cz> - 6.22.3-1
- [BUGFIX] Debian packaging
- [BUGFIX] pynfb DMA fixes
- [BUGFIX] net driver fixes

* Fri Apr 5 2024 Martin Spinler <spinler@cesnet.cz> - 6.22.1-1
- [BUGFIX] enable coexistence PMCI and SDM (read temperature on N6010)
- [BUGFIX] check whole path string in libnfb for short path feature
- [BUGFIX] throw error in nfb-eth if the repeater can't be configured

* Thu Apr 4 2024 Martin Spinler <spinler@cesnet.cz> - 6.22.0-1
- [FEATURE] convert nfb-xvc to pure userspace with libpci
- [FEATURE] print sum of counters in nfb-dma
- [FEATURE] read serial number from PMCI/BMC (N6010)
- [FEATURE] bootstrap tool for easy use of card with factory firmware (N6010)
- [FEATURE] allow to inject DTB with nfb-boot tool
- [FEATURE] allow to specify approximate Tx speed in ndp-generate
- [BUGFIX] allow coexistence with newer OFS drivers
- [BUGFIX] remove sleep while atomic in DMA Medusa driver

* Mon Mar 4 2024 Martin Spinler <spinler@cesnet.cz> - 6.21.1-1
- [FEATURE] added nfb-meter python tool

* Tue Feb 27 2024 Martin Spinler <spinler@cesnet.cz> - 6.21.0-1
- [OPT] added performance and userspace mode in ndp-tool
- [OPT] some optimalitazions for DMA Calypte controllers
- [FEATURE] added support for some Alveo cards

* Tue Dec 19 2023 Martin Spinler <spinler@cesnet.cz> - 6.20.1-1
- [BUGFIX] fixes pynfb circular reference in Nfb class
- [BUGFIX] fixes E-Tile RX EQ adaptation on return from loopback  
- [BUGFIX] convert types explicitly for c++ build without -fpermissive

* Tue Nov 14 2023 Martin Spinler <spinler@cesnet.cz> - 6.20.0-1
- [FEATURE] base support for DMA Calypte controllers
- [BUGFIX] fixes E-Tile loopback operation
- [BUGFIX] better booting experience on N6010 card
- [BUGFIX] fixed some issues in Python NFB module

* Wed Oct 18 2023 Martin Spinler <spinler@cesnet.cz> - 6.19.5-1
- [BUGFIX] fixed flashing of N6010 card on newer kernels
- [BUGFIX] correctly decode control / status register in nfb-dma

* Fri Oct 13 2023 Martin Spinler <spinler@cesnet.cz> - 6.19.4-1
- [FEATURE] enable COPR build for DPDK version of ndp-tool
- [BUGFIX] some fixes in MDIO
- [BUGFIX] package dependencies

* Tue Aug 22 2023 Martin Spinler <spinler@cesnet.cz> - 6.19.1-1
- [FEATURE] added DPDK version of ndp-tool
- [FEATURE] added support for Fedora build: PIE flag for executables
- [BUGFIX] some fixes for E-Tile MDIO, e.g. loopback
- [BUGFIX] include .pxd files into Python RPM package

* Tue Aug 1 2023 Martin Spinler <spinler@cesnet.cz> - 6.19.0-1
- [FEATURE] updated documentation (mainly Python)
- [FEATURE] enable NDP interface for libnfb extension
- [FEATURE] disable virtual interfaces for multiple PCIe endpoints (DPDK)
- [BUGFIX] some small fixes and improvements in Python NFB module

* Tue Jul 25 2023 Martin Spinler <spinler@cesnet.cz> - 6.18.2-1
- [FEATURE] updated documentation (mainly Python)
- [FEATURE] added Python libnfb extension
- [BUGFIX] fixed some isssues in Python NFB module

* Wed Jul 12 2023 Martin Spinler <spinler@cesnet.cz> - 6.18.1-1
- [FEATURE] added hwmon interface for FPGA temperature and transceivers
- [FEATURE] added 400G and E-Tile MDIO features
- [BUGFIX] some small fixes and improvements in Python NFB module
- [BUGFIX] correct boot ID on N6010 IA-420F cards

* Thu Apr 20 2023 Martin Spinler <spinler@cesnet.cz> - 6.18.0-1
- [FEATURE] added support for N6010 card (hwmon, flash, boot/RSU)
- [FEATURE] added support for PMA type switching on F-Tile Ethernet IPs
- [FEATURE] added BaseComp class in Python API

* Mon Mar 20 2023 Martin Spinler <spinler@cesnet.cz> - 6.17.4-1
- [BUGFIX] set RSS hash function type

* Tue Mar 14 2023 Martin Spinler <spinler@cesnet.cz> - 6.17.3-1
- [FEATURE] added nic_rss component

* Thu Feb 16 2023 Martin Spinler <spinler@cesnet.cz> - 6.17.2-1
- [FEATURE] added pynfb - Python package for NFB API
- [FEATURE] try to restart NDP queue if first start fail in driver
- [BUGFIX] do not stuck on queue stop, even with kill signal
- [BUGFIX] disable MI access to components inside of the unconnected endpoint

* Fri Feb 10 2023 Martin Spinler <spinler@cesnet.cz> - 6.17.1-1
- [FEATURE] added support for boot on ia420f card in active serial mode
- [BUGFIX] safe handling the transmission of undersized and oversized packets
- [OPT] reduced delay when no data available in NDP tool

* Fri Jan 27 2023 Martin Spinler <spinler@cesnet.cz> - 6.17.0-1
- [FEATURE] added gRPC libnfb-ext for remote operations
- [FEATURE] added flags field to ndp_packet
- [FEATURE] added fixups for Intel E-Tile ethernet with MDIO
- [MAINTENANCE] DMA Medusa control functions moved to libnetcope

* Mon Dec 5 2022 Martin Spinler <spinler@cesnet.cz> - 6.16.7-1
- [BUGFIX] fixed flashing of the firmware into 400G1 card.

* Tue Nov 15 2022 Martin Spinler <spinler@cesnet.cz> - 6.16.5-1
- [FEATURE] added base support Intel FPGA Secure Device Manager
- [FEATURE] added API for libnfb extensions
- [FEATURE] added fixups for Intel F-Tile ethernet with MDIO
- [FEATURE] ndp-generate can clear (-C) data before send

* Wed Oct 5 2022 Martin Spinler <spinler@cesnet.cz> - 6.16.4-1
- [FEATURE] added support for build with Copr

* Wed Oct 5 2022 Martin Spinler <spinler@cesnet.cz> - 6.16.3-1
- [FEATURE] added support for 400G1 card

* Thu Jul 14 2022 Martin Spinler <spinler@cesnet.cz> - 6.16.2-1
- [FEATURE] allow to enter kernel NDP ring size with K/G/M suffix
- [FEATURE] allow to set kernel NDP ring size with dma tool
- [BUGFIX] make available all modes in ndp-tool

* Fri Jun 10 2022 Martin Spinler <spinler@cesnet.cz> - 6.16.1-1
- [FEATURE] added base support for QSFP-DD modules (CMIS memory layout)
- [MAINTENANCE] added kernel 5.18 support

* Wed Apr 13 2022 Martin Spinler <spinler@cesnet.cz> - 6.16.0-1
- [MAINTENANCE] Public release