Blame SPECS/memkind.spec

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