|
|
2dfb34 |
%global gittag0 v1.9.0
|
|
|
2dfb34 |
%global githash 8785358
|
|
|
287860 |
|
|
|
287860 |
Name: memkind
|
|
|
287860 |
Summary: User Extensible Heap Manager
|
|
|
2dfb34 |
Version: 1.9.0
|
|
|
2dfb34 |
Release: 1%{?checkout}%{?dist}
|
|
|
287860 |
License: BSD
|
|
|
287860 |
Group: System Environment/Libraries
|
|
|
287860 |
URL: http://memkind.github.io/memkind
|
|
|
287860 |
BuildRequires: automake libtool numactl-devel systemd
|
|
|
287860 |
|
|
|
287860 |
# x86_64 is the only arch memkind will build and work due to
|
|
|
287860 |
# its current dependency on SSE4.2 CRC32 instruction which
|
|
|
287860 |
# is used to compute thread local storage arena mappings
|
|
|
287860 |
# with polynomial accumulations via GCC's intrinsic _mm_crc32_u64
|
|
|
287860 |
# For further info check:
|
|
|
287860 |
# - /lib/gcc/<target>/<version>/include/smmintrin.h
|
|
|
287860 |
# - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36095
|
|
|
287860 |
# - http://en.wikipedia.org/wiki/SSE4
|
|
|
287860 |
ExclusiveArch: x86_64
|
|
|
287860 |
|
|
|
287860 |
# Source0 creation:
|
|
|
287860 |
# (1) "git archive git archive --prefix=%%{name}-%%{version}/ --format=tar [githash] | \
|
|
|
2dfb34 |
# gzip > [srcdir]/%%{name}-%%{version}-g%%{githash}.tar.gz"; or
|
|
|
287860 |
# (2) wget https://github.com/%%{name}/%%{name}/archive/%%{gittag0}/%%{name}-%%{version}.tar.gz
|
|
|
2dfb34 |
Source0: %{name}-%{version}-g%{githash}.tar.gz
|
|
|
287860 |
|
|
|
287860 |
# void nonsensical CFLAGS override done by autotools which invalidates
|
|
|
287860 |
# the strong stack protection setup
|
|
|
287860 |
Patch0: configure.ac.patch
|
|
|
287860 |
|
|
|
287860 |
%description
|
|
|
287860 |
The memkind library is an user extensible heap manager built on top of
|
|
|
287860 |
jemalloc which enables control of memory characteristics and a
|
|
|
287860 |
partitioning of the heap between kinds of memory. The kinds of memory
|
|
|
287860 |
are defined by operating system memory policies that have been applied
|
|
|
287860 |
to virtual address ranges. Memory characteristics supported by
|
|
|
287860 |
memkind without user extension include control of NUMA and page size
|
|
|
287860 |
features. The jemalloc non-standard interface has been extended to
|
|
|
287860 |
enable specialized arenas to make requests for virtual memory from the
|
|
|
287860 |
operating system through the memkind partition interface. Through the
|
|
|
287860 |
other memkind interfaces the user can control and extend memory
|
|
|
287860 |
partition features and allocate memory while selecting enabled
|
|
|
287860 |
features. This software is being made available for early evaluation.
|
|
|
287860 |
Feedback on design or implementation is greatly appreciated.
|
|
|
287860 |
|
|
|
287860 |
%package devel
|
|
|
287860 |
Summary: Memkind User Extensible Heap Manager development lib and tools
|
|
|
287860 |
Group: Development/Libraries
|
|
|
287860 |
Requires: %{name} = %{version}-%{release}
|
|
|
287860 |
|
|
|
287860 |
%description devel
|
|
|
287860 |
Install header files and development aids to link memkind library
|
|
|
287860 |
into applications. The memkind library is an user extensible heap manager
|
|
|
287860 |
built on top of jemalloc which enables control of memory characteristics and
|
|
|
287860 |
heap partitioning on different kinds of memory. This software is being made
|
|
|
287860 |
available for early evaluation. The memkind library should be considered
|
|
|
287860 |
pre-alpha: bugs may exist and the interfaces may be subject to change prior to
|
|
|
287860 |
alpha release. Feedback on design or implementation is greatly appreciated.
|
|
|
287860 |
|
|
|
287860 |
%prep
|
|
|
287860 |
%setup -q -a 0 -n %{name}-%{version}
|
|
|
287860 |
%patch0 -p1
|
|
|
287860 |
|
|
|
287860 |
%build
|
|
|
287860 |
%set_build_flags
|
|
|
287860 |
|
|
|
287860 |
# It is required that we configure and build the jemalloc subdirectory
|
|
|
287860 |
# before we configure and start building the top level memkind directory.
|
|
|
287860 |
# To ensure the memkind build step is able to discover the output
|
|
|
287860 |
# of the jemalloc build we must create an 'obj' directory, and build
|
|
|
287860 |
# from within that directory.
|
|
|
287860 |
cd %{_builddir}/%{name}-%{version}
|
|
|
287860 |
echo %{version} > %{_builddir}/%{name}-%{version}/VERSION
|
|
|
287860 |
./build.sh --prefix=%{_prefix} --includedir=%{_includedir} --libdir=%{_libdir} \
|
|
|
287860 |
--bindir=%{_bindir} --docdir=%{_docdir}/%{name} --mandir=%{_mandir} \
|
|
|
287860 |
--sbindir=%{_sbindir}
|
|
|
287860 |
|
|
|
287860 |
%install
|
|
|
287860 |
cd %{_builddir}/%{name}-%{version}
|
|
|
287860 |
make DESTDIR=%{buildroot} INSTALL='install -p' install
|
|
|
287860 |
rm -f %{buildroot}/%{_libdir}/lib%{name}.{l,}a
|
|
|
287860 |
rm -f %{buildroot}/%{_libdir}/libautohbw.{l,}a
|
|
|
287860 |
rm -f %{buildroot}/%{_docdir}/%{name}/VERSION
|
|
|
287860 |
|
|
|
287860 |
%post -p /sbin/ldconfig
|
|
|
287860 |
|
|
|
287860 |
%postun -p /sbin/ldconfig
|
|
|
287860 |
|
|
|
287860 |
%files
|
|
|
287860 |
%defattr(-,root,root,-)
|
|
|
287860 |
%{_libdir}/lib%{name}.so.*
|
|
|
287860 |
%{_libdir}/libautohbw.so.*
|
|
|
287860 |
%{_bindir}/%{name}-hbw-nodes
|
|
|
287860 |
%dir %{_docdir}/%{name}
|
|
|
287860 |
%doc %{_docdir}/%{name}/README
|
|
|
287860 |
%license %{_docdir}/%{name}/COPYING
|
|
|
287860 |
|
|
|
287860 |
%files devel
|
|
|
287860 |
%defattr(-,root,root,-)
|
|
|
287860 |
%dir %{_includedir}/%{name}
|
|
|
287860 |
%dir %{_includedir}/%{name}/internal/
|
|
|
287860 |
%{_includedir}/%{name}/internal/*.h
|
|
|
287860 |
%{_includedir}/%{name}*.h
|
|
|
287860 |
%{_includedir}/hbwmalloc.h
|
|
|
287860 |
%{_includedir}/hbw_allocator.h
|
|
|
287860 |
%{_includedir}/pmem_allocator.h
|
|
|
287860 |
%{_libdir}/lib%{name}.so
|
|
|
287860 |
%{_libdir}/libautohbw.so
|
|
|
2dfb34 |
%{_libdir}/pkgconfig/memkind.pc
|
|
|
2dfb34 |
%{_mandir}/man1/memkind-hbw-nodes.1.*
|
|
|
287860 |
%{_mandir}/man3/hbwmalloc.3.*
|
|
|
287860 |
%{_mandir}/man3/hbwallocator.3.*
|
|
|
287860 |
%{_mandir}/man3/pmemallocator.3.*
|
|
|
287860 |
%{_mandir}/man3/%{name}*.3.*
|
|
|
2dfb34 |
%{_mandir}/man7/autohbw.7.*
|
|
|
287860 |
|
|
|
287860 |
%changelog
|
|
|
2dfb34 |
* Wed Oct 23 2019 Rafael Aquini <aquini@redhat.com> - 1.9.0-1
|
|
|
2dfb34 |
- Update to memkind source file to 1.9.0 upstream (1660589)
|
|
|
2dfb34 |
|
|
|
287860 |
* Tue Apr 2 2019 Rafael Aquini <aquini@redhat.com> - 1.7.0-6
|
|
|
287860 |
- Fix: Fix: Adding CI gating basic infrastructure (1680614)
|
|
|
287860 |
|
|
|
287860 |
* Tue Apr 2 2019 Rafael Aquini <aquini@redhat.com> - 1.7.0-5
|
|
|
287860 |
- Fix: Adding CI gating basic infrastructure (1680614)
|
|
|
287860 |
|
|
|
287860 |
* Tue Mar 12 2019 Rafael Aquini <aquini@redhat.com> - 1.7.0-4
|
|
|
287860 |
- Adding CI gating basic infrastructure (1680614)
|
|
|
287860 |
|
|
|
287860 |
* Mon Oct 8 2018 Rafael Aquini <aquini@redhat.com> - 1.7.0-3
|
|
|
287860 |
- Update to upstream 76495a7 to pick up assorted fixes (1631144)
|
|
|
287860 |
|
|
|
287860 |
* Tue Oct 2 2018 Rafael Aquini <aquini@redhat.com> - 1.7.0-2
|
|
|
287860 |
- Fix up annocheck distro flag failures (1630595)
|
|
|
287860 |
|
|
|
287860 |
* Fri Mar 23 2018 Rafael Aquini <aquini@linux.com> - 1.7.0-1
|
|
|
287860 |
- Update memkind source file to 1.7.0 upstream
|
|
|
287860 |
|
|
|
287860 |
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-4
|
|
|
287860 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
287860 |
|
|
|
287860 |
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-3
|
|
|
287860 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
287860 |
|
|
|
287860 |
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-2
|
|
|
287860 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
287860 |
|
|
|
287860 |
* Mon Mar 27 2017 Rafael Aquini <aquini@linux.com> - 1.5.0-1
|
|
|
287860 |
- Update memkind source file to 1.5.0 upstream
|
|
|
287860 |
|
|
|
287860 |
* Fri Feb 17 2017 Rafael Aquini <aquini@linux.com> - 1.4.0-1
|
|
|
287860 |
- Update memkind source file to 1.4.0 upstream
|
|
|
287860 |
|
|
|
287860 |
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
|
|
|
287860 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
287860 |
|
|
|
287860 |
* Wed Nov 16 2016 Rafael Aquini <aquini@linux.com> - 1.3.0-1
|
|
|
287860 |
- Update memkind source file to 1.3.0 upstream
|
|
|
287860 |
|
|
|
287860 |
* Wed Jun 08 2016 Rafael Aquini <aquini@linux.com> - 1.1.0-1
|
|
|
287860 |
- Update memkind source file to 1.1.0 upstream
|
|
|
287860 |
|
|
|
287860 |
* Thu Mar 17 2016 Rafael Aquini <aquini@linux.com> - 1.0.0-1
|
|
|
287860 |
- Update memkind source file to 1.0.0 upstream
|
|
|
287860 |
|
|
|
287860 |
* Sun Feb 07 2016 Rafael Aquini <aquini@linux.com> - 0.3.0-5
|
|
|
287860 |
- Fix rpmlint error dir-or-file-in-var-run for /var/run/memkind
|
|
|
287860 |
|
|
|
287860 |
* Sat Feb 06 2016 Rafael Aquini <aquini@linux.com> - 0.3.0-4
|
|
|
287860 |
- Update upstream fixes for memkind-0.3.0
|
|
|
287860 |
- Switch old init.d scripts for systemd unit service
|
|
|
287860 |
- Fix fc24 build error
|
|
|
287860 |
|
|
|
287860 |
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.0-3
|
|
|
287860 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
287860 |
|
|
|
287860 |
* Tue Nov 17 2015 Rafael Aquini <aquini@linux.com> - 0.3.0-2
|
|
|
287860 |
- Minor clean-ups and adjustments required for the RPM
|
|
|
287860 |
|
|
|
287860 |
* Tue Nov 17 2015 Rafael Aquini <aquini@linux.com> - 0.3.0-1
|
|
|
287860 |
- Update memkind source file to 0.3.0 upstream
|
|
|
287860 |
|
|
|
287860 |
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.2-4.20150525git
|
|
|
287860 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
287860 |
|
|
|
287860 |
* Mon May 25 2015 Rafael Aquini <aquini@linux.com> - 0.2.2-3.20150525git
|
|
|
287860 |
- Get rid of obsolete m4 macros usage on autotool scripts
|
|
|
287860 |
|
|
|
287860 |
* Mon May 18 2015 Rafael Aquini <aquini@linux.com> - 0.2.2-2.20150525git
|
|
|
287860 |
- Fix to BuildRequires and License Text Marker in spec file (1222709#c1)
|
|
|
287860 |
|
|
|
287860 |
* Mon May 18 2015 Rafael Aquini <aquini@linux.com> - 0.2.2-1.20150518git
|
|
|
287860 |
- Initial RPM packaging for Fedora
|