diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a64e5a5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +SOURCES/nvml-1.0.tar.gz +SOURCES/nvml-1.1.tar.gz +SOURCES/nvml-1.2.3.tar.gz +SOURCES/nvml-1.3.1.tar.gz +SOURCES/nvml-1.4.2.tar.gz +SOURCES/nvml-1.5.tar.gz +SOURCES/pmdk-convert-1.5.tar.gz diff --git a/.pmdk-convert.metadata b/.pmdk-convert.metadata new file mode 100644 index 0000000..f87ebac --- /dev/null +++ b/.pmdk-convert.metadata @@ -0,0 +1,7 @@ +68c1210355d26b2b1ee2b21050bde3891f63172a SOURCES/nvml-1.0.tar.gz +5a0727b90f620b20d8f507359bcb91ee22315937 SOURCES/nvml-1.1.tar.gz +56afc47af93d8bc64c7e03ff71830f5dd7012957 SOURCES/nvml-1.2.3.tar.gz +8856bd67ff6a7ac2fdc7f889b1aa2962add98ce7 SOURCES/nvml-1.3.1.tar.gz +fdfc7cbc24552e35b6712bbb02b0db007fedba26 SOURCES/nvml-1.4.2.tar.gz +cfcd5a7a806c28738265419fcda09f2167912c4f SOURCES/nvml-1.5.tar.gz +20423a825cc979ab265e4ff31936de8b38e9ad3a SOURCES/pmdk-convert-1.5.tar.gz diff --git a/SOURCES/pmdk-convert-cmake-2.8.patch b/SOURCES/pmdk-convert-cmake-2.8.patch new file mode 100644 index 0000000..4ddf85f --- /dev/null +++ b/SOURCES/pmdk-convert-cmake-2.8.patch @@ -0,0 +1,59 @@ +diff -up pmdk-convert-1.5/CMakeLists.txt.orig pmdk-convert-1.5/CMakeLists.txt +--- pmdk-convert-1.5/CMakeLists.txt.orig 2018-10-26 12:23:57.000000000 -0400 ++++ pmdk-convert-1.5/CMakeLists.txt 2019-03-22 12:43:08.677276000 -0400 +@@ -31,7 +31,7 @@ + + include(${CMAKE_SOURCE_DIR}/utils/utils.cmake) + +-cmake_minimum_required(VERSION 3.3) ++cmake_minimum_required(VERSION 2.8) + project(pmdk-convert C) + + set(VERSION_MAJOR 1) +@@ -92,6 +92,7 @@ macro(add_c_flag flag) + endmacro() + + if(NOT MSVC) ++ add_c_flag(-std=gnu99) + add_c_flag(-fno-common) + add_c_flag(-Wall) + add_c_flag(-Wconversion) +diff -up pmdk-convert-1.5/tests/CMakeLists.txt.orig pmdk-convert-1.5/tests/CMakeLists.txt +--- pmdk-convert-1.5/tests/CMakeLists.txt.orig 2018-10-26 12:23:57.000000000 -0400 ++++ pmdk-convert-1.5/tests/CMakeLists.txt 2019-03-22 12:43:08.684278000 -0400 +@@ -65,7 +65,7 @@ function(test name file) + -DSRC_DIR=${CMAKE_CURRENT_SOURCE_DIR} + -DBIN_DIR=${CMAKE_CURRENT_BINARY_DIR}/${file} + -DVERSIONS=${VERSIONS} +- -DCONFIG=$ ++ -DCONFIG=$ + -P ${CMAKE_CURRENT_SOURCE_DIR}/${file}.cmake) + + set_tests_properties(${name} PROPERTIES +diff -up pmdk-convert-1.5/tests/helpers.cmake.orig pmdk-convert-1.5/tests/helpers.cmake +--- pmdk-convert-1.5/tests/helpers.cmake.orig 2018-10-26 12:23:57.000000000 -0400 ++++ pmdk-convert-1.5/tests/helpers.cmake 2019-03-22 12:47:31.214242000 -0400 +@@ -29,7 +29,7 @@ + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-cmake_minimum_required(VERSION 3.3) ++cmake_minimum_required(VERSION 2.8) + set(DIR ${PARENT_DIR}/😘⠝⠧⠍⠇ɗPMDKӜ⥺🙋${TEST_NAME}) + + # convert the version list to the array +@@ -49,10 +49,11 @@ function(check_open pool correct) + string(REPLACE " " ";" correct ${correct}) + foreach(it ${VERSIONS}) + string(REPLACE "." "" app ${it}) +- if (${it} IN_LIST correct) +- execute(0 ${TEST_DIR}/open_${app} ${pool}) +- else() ++ list(FIND correct ${it} index) ++ if (index LESS 0) + execute(2 ${TEST_DIR}/open_${app} ${pool}) ++ else() ++ execute(0 ${TEST_DIR}/open_${app} ${pool}) + endif() + endforeach(it) + endfunction(check_open) diff --git a/SPECS/pmdk-convert.spec b/SPECS/pmdk-convert.spec new file mode 100644 index 0000000..2cedc6f --- /dev/null +++ b/SPECS/pmdk-convert.spec @@ -0,0 +1,84 @@ +%global upstreamversion 1.5 + +Name: pmdk-convert +Version: 1.5 +Release: 1%{?dist} +Summary: Conversion tool for PMDK pools +# Note: utils/cstyle is CDDL licensed. It's only used during development and it's NOT part of the binary RPM. +License: BSD +URL: https://github.com/pmem/pmdk-convert + +Source0: https://github.com/pmem/%{name}/archive/%{upstreamversion}.tar.gz#/%{name}-%{upstreamversion}.tar.gz +Source1: https://github.com/pmem/pmdk/archive/1.0.tar.gz#/nvml-1.0.tar.gz +Source2: https://github.com/pmem/pmdk/archive/1.1.tar.gz#/nvml-1.1.tar.gz +Source3: https://github.com/pmem/pmdk/archive/1.2.3.tar.gz#/nvml-1.2.3.tar.gz +Source4: https://github.com/pmem/pmdk/archive/1.3.1.tar.gz#/nvml-1.3.1.tar.gz +Source5: https://github.com/pmem/pmdk/archive/1.4.2.tar.gz#/nvml-1.4.2.tar.gz +Source6: https://github.com/pmem/pmdk/archive/1.5.tar.gz#/nvml-1.5.tar.gz + +Patch0: pmdk-convert-cmake-2.8.patch + +BuildRequires: cmake >= 2.8 +BuildRequires: glibc-devel +BuildRequires: gdb + +# PMDK is currently available only on x86_64 +ExclusiveArch: x86_64 + +%description +pmdk-convert is a tool for conversion of PMDK pools from any version +to any consecutive version. Currently only libpmemobj pools require +conversion and this tool supports only those kind of pools. + +%files +%{_bindir}/pmdk-convert +%{_mandir}/man1/pmdk-convert.1.gz +%dir %{_libdir}/pmdk-convert +%{_libdir}/pmdk-convert/libpmem-convert.so +%{_libdir}/pmdk-convert/pmemobj_convert_v1.so +%{_libdir}/pmdk-convert/pmemobj_convert_v2.so +%{_libdir}/pmdk-convert/pmemobj_convert_v3.so +%{_libdir}/pmdk-convert/pmemobj_convert_v4.so +%{_libdir}/pmdk-convert/pmemobj_convert_v5.so + +%license LICENSE + +%doc ChangeLog README.md + +%prep +%setup -q +cp %{S:1} . +cp %{S:2} . +cp %{S:3} . +cp %{S:4} . +cp %{S:5} . +cp %{S:6} . + +%patch0 -p1 -b .orig + +%build +mkdir build +cd build +# TESTS_USE_FORCED_PMEM=ON to speed up tests on non-pmem file systems +%cmake .. -DTESTS_USE_FORCED_PMEM=ON +%make_build + +%install +cd build +%make_install + +%check +cd build +ctest -V + +%if 0%{?__debug_package} == 0 +%debug_package +%endif + +%changelog +* Thu Mar 28 2019 Jeff Moyer - 1.5-1.el7 +- import sources for rhel7 +- Related: bz#1659666 + +* Thu Nov 8 2018 Marcin Ślusarz - 1.5-1 +- Initial RPM release