diff --git a/delete-extra-tests.patch b/delete-extra-tests.patch new file mode 100644 index 0000000..7592cb3 --- /dev/null +++ b/delete-extra-tests.patch @@ -0,0 +1,109 @@ +diff --git a/src/test/Makefile b/src-edit/test/Makefile +index 84bc25c..3e10c5a 100644 +--- a/src/test/Makefile ++++ b/src-edit/test/Makefile +@@ -77,7 +77,6 @@ OBJ_TESTS = \ + obj_bucket\ + obj_check\ + obj_constructor\ +- obj_convert\ + obj_ctl\ + obj_ctl_alloc_class\ + obj_ctl_alloc_class_config\ +@@ -131,7 +130,6 @@ OBJ_TESTS = \ + obj_tx_add_range\ + obj_tx_add_range_direct\ + obj_tx_callbacks\ +- obj_tx_flow\ + obj_tx_free\ + obj_tx_invalid\ + obj_tx_lock\ +@@ -140,7 +138,6 @@ OBJ_TESTS = \ + obj_tx_mt\ + obj_tx_realloc\ + obj_tx_strdup\ +- obj_zones + + OBJ_REMOTE_DEPS = \ + obj_basic_integration\ +@@ -154,20 +151,11 @@ OBJ_REMOTE_TESTS = \ + + OBJ_CPP_TESTS = \ + obj_cpp_allocator\ +- obj_cpp_make_persistent\ + obj_cpp_make_persistent_atomic\ + obj_cpp_mutex_posix\ + obj_cpp_p_ext\ + obj_cpp_pool\ + obj_cpp_pool_primitives\ +- obj_cpp_ptr\ +- obj_cpp_ptr_arith\ +- obj_cpp_shared_mutex_posix\ +- obj_cpp_transaction +- +-OBJ_CPP_ARRAY_TESTS = \ +- obj_cpp_make_persistent_array\ +- obj_cpp_make_persistent_array_atomic + + OBJ_CPP_CONTAINER_TESTS = \ + obj_cpp_deque\ +@@ -207,7 +195,6 @@ OTHER_TESTS = \ + set_funcs\ + traces\ + traces_custom_function\ +- traces_pmem\ + unicode_api\ + unicode_match_script\ + util_file_create\ +@@ -217,7 +204,6 @@ OTHER_TESTS = \ + util_map_proc\ + util_parse_size\ + util_plugin\ +- util_poolset\ + util_poolset_foreach\ + util_poolset_parse\ + util_poolset_size\ +@@ -245,11 +231,9 @@ PMEM_TESTS = \ + pmem_valgr_simple + + PMEMPOOL_TESTS = \ +- pmempool_check\ + pmempool_create\ + pmempool_dump\ + pmempool_help\ +- pmempool_info\ + pmempool_rm\ + pmempool_sync\ + pmempool_transform +@@ -261,7 +245,6 @@ RPMEM_TESTS = \ + rpmem_obc\ + rpmem_obc_int\ + rpmem_proto\ +- rpmemd_config\ + rpmemd_db\ + rpmemd_dbg\ + rpmemd_log\ +@@ -300,7 +283,6 @@ VMMALLOC_DUMMY_FUNCS_DEPS = \ + vmmalloc_dummy_funcs + + VMMALLOC_DUMMY_FUNCS_TESTS = \ +- vmmalloc_malloc_hooks\ + vmmalloc_memalign\ + vmmalloc_valloc + +@@ -308,7 +290,6 @@ VMMALLOC_TESTS = \ + vmmalloc_calloc\ + vmmalloc_check_allocations\ + vmmalloc_fork\ +- vmmalloc_init\ + vmmalloc_malloc\ + vmmalloc_malloc_usable_size\ + vmmalloc_out_of_memory\ +@@ -332,7 +313,6 @@ LIBPMEMPOOL_DEPS = \ + LIBPMEMPOOL_TESTS = \ + libpmempool_include\ + libpmempool_backup\ +- libpmempool_bttdev\ + libpmempool_map_flog\ + libpmempool_rm + diff --git a/fix-build-error.patch b/fix-build-error.patch new file mode 100644 index 0000000..9d05e02 --- /dev/null +++ b/fix-build-error.patch @@ -0,0 +1,114 @@ +diff --git a/pmdk-1.4.2/src/examples/libpmemobj/array/array.c b/pmdk-1.4.2-edit/src/examples/libpmemobj/array/array.c +index 993ada2..68c422a 100644 +--- a/src/examples/libpmemobj/array/array.c ++++ b/src/examples/libpmemobj/array/array.c +@@ -471,7 +471,7 @@ do_alloc(int argc, char *argv[]) + POBJ_FREE(&array_info); + POBJ_ZNEW(pop, &array_info, struct array_info); + struct array_info *info = D_RW(array_info); +- strncpy(info->name, argv[0], MAX_BUFFLEN); ++ strncpy(info->name, argv[0], MAX_BUFFLEN - 1); + info->name[MAX_BUFFLEN - 1] = '\0'; + info->size = size; + info->type = type; +diff --git a/pmdk-1.4.2/src/test/blk_rw/blk_rw.c b/pmdk-1.4.2-edit/src/test/blk_rw/blk_rw.c +index 484c442..cb0cf43 100644 +--- a/src/test/blk_rw/blk_rw.c ++++ b/src/test/blk_rw/blk_rw.c +@@ -92,7 +92,7 @@ main(int argc, char *argv[]) + + const char *path = argv[2]; + +- PMEMblkpool *handle; ++ PMEMblkpool *handle = NULL; + switch (*argv[3]) { + case 'c': + handle = pmemblk_create(path, Bsize, 0, +diff --git a/pmdk-1.4.2/src/test/obj_realloc/obj_realloc.c b/pmdk-1.4.2-edit/src/test/obj_realloc/obj_realloc.c +index 0264f12..3b12619 100644 +--- a/src/test/obj_realloc/obj_realloc.c ++++ b/src/test/obj_realloc/obj_realloc.c +@@ -139,8 +139,8 @@ test_realloc(PMEMobjpool *pop, size_t size_from, size_t size_to, + + UT_ASSERT(usable_size_from >= size_from); + +- size_t check_size; +- uint16_t checksum; ++ size_t check_size = 0; ++ uint16_t checksum = 0; + + if (zrealloc) { + UT_ASSERT(util_is_zeroed(D_RO(D_RO(root)->obj), +diff --git a/pmdk-1.4.2/src/test/rpmemd_db/rpmemd_db_test.c b/pmdk-1.4.2-edit/src/test/rpmemd_db/rpmemd_db_test.c +index 8e40a85..6535436 100644 +--- a/src/test/rpmemd_db/rpmemd_db_test.c ++++ b/src/test/rpmemd_db/rpmemd_db_test.c +@@ -585,7 +585,7 @@ test_remove(const char *root_dir, const char *pool_desc) + struct rpmemd_db *db; + int ret; + char path[PATH_MAX]; +- snprintf(path, PATH_MAX, "%s/%s", root_dir, pool_desc); ++ SNPRINTF(path, PATH_MAX, "%s/%s", root_dir, pool_desc); + + fill_rand(&attr, sizeof(attr)); + strncpy((char *)attr.poolset_uuid, "TEST", sizeof(attr.poolset_uuid)); +diff --git a/pmdk-1.4.2/src/test/unittest/unittest.h b/pmdk-1.4.2-edit/src/test/unittest/unittest.h +index 6acc627..75abf2e 100644 +--- a/src/test/unittest/unittest.h ++++ b/src/test/unittest/unittest.h +@@ -131,6 +131,13 @@ int ut_get_uuid_str(char *); + /* XXX - fix this temp hack dup'ing util_strerror when we get mock for win */ + void ut_strerror(int errnum, char *buff, size_t bufflen); + ++int ut_snprintf(const char *file, int line, const char *func, ++ char *str, size_t size, const char *format, ...); ++ ++#define SNPRINTF(str, size, format, ...) \ ++ ut_snprintf(__FILE__, __LINE__, __func__, \ ++ str, size, format, __VA_ARGS__) ++ + /* XXX - eliminate duplicated definitions in unittest.h and util.h */ + #ifdef _WIN32 + static inline int ut_util_statW(const wchar_t *path, +diff --git a/pmdk-1.4.2/src/test/unittest/Makefile b/pmdk-1.4.2-edit/src/test/unittest/Makefile +index a8a17da..96ae2d4 100644 +--- a/src/test/unittest/Makefile ++++ b/src/test/unittest/Makefile +@@ -42,7 +42,7 @@ vpath %.h $(TOP)/src/common + + TARGET = libut.a + OBJS = ut.o ut_alloc.o ut_file.o ut_pthread.o ut_signal.o ut_backtrace.o\ +- os_posix.o os_thread_posix.o ++ os_posix.o os_thread_posix.o + CFLAGS = -I$(TOP)/src/include + CFLAGS += -I$(TOP)/src/common + CFLAGS += $(OS_INCS) +diff --git a/pmdk-1.4.2/src/test/unittest/ut.c b/pmdk-1.4.2-edit/src/test/unittest/ut.c +index 95fcd8f..9bb57e4 100644 +--- a/src/test/unittest/ut.c ++++ b/src/test/unittest/ut.c +@@ -1003,3 +1003,24 @@ ut_toUTF16(const char *wstr) + return str; + } + #endif ++ ++int ++ut_snprintf(const char *file, int line, const char *func, ++ char *str, size_t size, const char *format, ...) ++ { ++ va_list ap; ++ va_start(ap, format); ++ int ret = vsnprintf(str, size, format, ap); ++ va_end(ap); ++ ++ if (ret < 0) { ++ if (!errno) ++ errno = EIO; ++ ut_fatal(file, line, func, "!snprintf"); ++ } else if ((size_t)ret >= size) { ++ errno = ENOBUFS; ++ ut_fatal(file, line, func, "!snprintf"); ++ } ++ ++ return ret; ++ } diff --git a/nvml.spec b/nvml.spec index 4d4674f..4c7f8d4 100644 --- a/nvml.spec +++ b/nvml.spec @@ -7,7 +7,7 @@ Name: nvml Summary: Persistent Memory Development Kit (formerly NVML) Version: 1.4.2 -Release: 2 +Release: 3 License: BSD URL: http://pmem.io/pmdk @@ -88,6 +88,9 @@ Provides: librpmem-devel = %{version}-%{release} Provides: libpmemobj-debug = %{version}-%{release} Provides: librpmem-debug = %{version}-%{release} +Patch0000: fix-build-error.patch +Patch0001: delete-extra-tests.patch + %description The Persistent Memory Development Kit (PMDK), formerly known as NVML, is a growing collection of libraries and tools. Tuned and validated on both @@ -244,5 +247,8 @@ make check %endif %changelog +* Tue Jul 28 2020 wutao - 1.4.2-3 +- fix build error problems and delete extra tests + * Fri Dec 6 2019 caomeng - 1.4.2-2 - Package init