Blame SPECS/memkind.spec

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