Skip to content

Commit

Permalink
common: rename NVML project to PMDK
Browse files Browse the repository at this point in the history
Prepares NVML (Non-Volatile memory Library) project to be renamed to
PMDK (Persistent Memory Development Kit).
Replaces all the occurences of NVML in README's, man pages and source
code with the new name.
Renames "nvml" namespace in libpmemobj C++ bindings to "pmem".
  • Loading branch information
krzycz committed Dec 17, 2017
1 parent ce679b8 commit 1cc4750
Show file tree
Hide file tree
Showing 354 changed files with 801 additions and 787 deletions.
22 changes: 11 additions & 11 deletions .travis.yml
Expand Up @@ -12,17 +12,17 @@ services:

env:
matrix:
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 NVML_CC=gcc NVML_CXX=g++ OS=ubuntu OS_VER=16.04 TEST_BUILD=debug COVERAGE=1
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 NVML_CC=gcc NVML_CXX=g++ OS=ubuntu OS_VER=16.04 TEST_BUILD=debug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 NVML_CC=gcc NVML_CXX=g++ OS=ubuntu OS_VER=16.04 TEST_BUILD=nondebug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 NVML_CC=clang NVML_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=ubuntu OS_VER=16.04 TEST_BUILD=debug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 NVML_CC=clang NVML_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=ubuntu OS_VER=16.04 TEST_BUILD=nondebug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 NVML_CC=clang NVML_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=fedora OS_VER=25 TEST_BUILD=debug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 NVML_CC=clang NVML_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=fedora OS_VER=25 TEST_BUILD=nondebug
- MAKE_PKG=1 NVML_CC=gcc NVML_CXX=g++ OS=ubuntu OS_VER=16.04 EXPERIMENTAL=y
- MAKE_PKG=1 NVML_CC=clang NVML_CXX=clang++ OS=ubuntu OS_VER=16.04 EXPERIMENTAL=y
- MAKE_PKG=1 NVML_CC=gcc NVML_CXX=g++ OS=fedora OS_VER=25 EXPERIMENTAL=y
- COVERITY=1 REMOTE_TESTS=1 NVML_CC=gcc NVML_CXX=g++ OS=ubuntu OS_VER=16.04
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 PMDK_CC=gcc PMDK_CXX=g++ OS=ubuntu OS_VER=16.04 TEST_BUILD=debug COVERAGE=1
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 PMDK_CC=gcc PMDK_CXX=g++ OS=ubuntu OS_VER=16.04 TEST_BUILD=debug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 PMDK_CC=gcc PMDK_CXX=g++ OS=ubuntu OS_VER=16.04 TEST_BUILD=nondebug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 PMDK_CC=clang PMDK_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=ubuntu OS_VER=16.04 TEST_BUILD=debug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 PMDK_CC=clang PMDK_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=ubuntu OS_VER=16.04 TEST_BUILD=nondebug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 PMDK_CC=clang PMDK_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=fedora OS_VER=25 TEST_BUILD=debug
- MAKE_PKG=0 EXTRA_CFLAGS=-DUSE_VALGRIND REMOTE_TESTS=1 PMDK_CC=clang PMDK_CXX=clang++ USE_LLVM_LIBCPP=1 LIBCPP_LIBDIR=/usr/local/libcxx/lib LIBCPP_INCDIR=/usr/local/libcxx/include/c++/v1 OS=fedora OS_VER=25 TEST_BUILD=nondebug
- MAKE_PKG=1 PMDK_CC=gcc PMDK_CXX=g++ OS=ubuntu OS_VER=16.04 EXPERIMENTAL=y
- MAKE_PKG=1 PMDK_CC=clang PMDK_CXX=clang++ OS=ubuntu OS_VER=16.04 EXPERIMENTAL=y
- MAKE_PKG=1 PMDK_CC=gcc PMDK_CXX=g++ OS=fedora OS_VER=25 EXPERIMENTAL=y
- COVERITY=1 REMOTE_TESTS=1 PMDK_CC=gcc PMDK_CXX=g++ OS=ubuntu OS_VER=16.04

before_install:
- export HOST_WORKDIR=`pwd`
Expand Down
19 changes: 10 additions & 9 deletions CODING_STYLE.md
@@ -1,16 +1,17 @@
# C Style and Coding Standards for NVM Library
# C Style and Coding Standards for Persistent Memory Development Kit

This document defines the coding standards and conventions for writing
NVM Library code. To ensure readability and consistency within the code,
PMDK code. To ensure readability and consistency within the code,
the contributed code must adhere to the rules below.

### Introduction
The NVM Library coding style is quite similar to the style used for the SunOS product.
The Persistent Memory Development Kit coding style is quite similar to the style
used for the SunOS product.
A full description of that standard can be found
[here.](https://www.cis.upenn.edu/~lee/06cse480/data/cstyle.ms.pdf)

This document does not cover the entire set of recommendations and formatting rules
used in writing NVML code, but rather focuses on some NVML-specific conventions,
used in writing PMDK code, but rather focuses on some PMDK-specific conventions,
not described in the document mentioned above, as well as the ones the violation
of which is most frequently observed during the code review.
Also, keep in mind that more important than the particular style is **consistency**
Expand All @@ -19,7 +20,7 @@ coded in the same style as the file being modified.

### Code formatting
Most of the common stylistic errors can be detected by the
[style checker program](https://github.com/pmem/nvml/blob/master/utils/cstyle)
[style checker program](https://github.com/pmem/pmdk/blob/master/utils/cstyle)
included in the repo.
Simply run `make cstyle` or `CSTYLE.ps1` to verify if your code is well-formatted.

Expand All @@ -46,8 +47,8 @@ Otherwise, just use `unsigned`, `long`, etc.
### License & copyright
- Make sure you have the right to submit your contribution under the BSD license,
especially if it is based upon previous work.
See [CONTRIBUTING.md](https://github.com/pmem/nvml/blob/master/CONTRIBUTING.md) for details.
- A copy of the [BSD-style License](https://github.com/pmem/nvml/blob/master/LICENSE)
See [CONTRIBUTING.md](https://github.com/pmem/pmdk/blob/master/CONTRIBUTING.md) for details.
- A copy of the [BSD-style License](https://github.com/pmem/pmdk/blob/master/LICENSE)
must be placed at the beginning of each source file, script or man page
(Obviously, it does not apply to README's, Visual Studio projects and \*.match files.)
- When adding a new file to the repo, or when making a contribution to an existing
Expand Down Expand Up @@ -93,8 +94,8 @@ log level for most frequently called routines.
### Unit tests
- There **must** be unit tests provided for each new function/module added.
- Test scripts **must** start with `#!/usr/bin/env <shell>` for portability between Linux and FreeBSD.
- Please, see [this](https://github.com/pmem/nvml/blob/master/src/test/README)
and [that](https://github.com/pmem/nvml/blob/master/src/test/unittest/README)
- Please, see [this](https://github.com/pmem/pmdk/blob/master/src/test/README)
and [that](https://github.com/pmem/pmdk/blob/master/src/test/unittest/README)
document to get familiar with
our test framework and the guidelines on how to write and run unit tests.

Expand Down
36 changes: 19 additions & 17 deletions CONTRIBUTING.md
@@ -1,20 +1,21 @@
# Contributing to the NVM Library
# Contributing to the Persistent Memory Development Kit

Here you'll find instructions on how to contribute to the NVM Library.
Here you'll find instructions on how to contribute to the
Persistent Memory Development Kit.

Your contributions are most welcome! You'll find it is best to begin
with a conversation about your changes, rather than just writing a bunch
of code and contributing it out of the blue.
There are several good ways to suggest new features, offer to add a feature,
or just begin a dialog about the NVM Library:
or just begin a dialog about the Persistent Memory Development Kit:

* Open an issue in our [GitHub Issues Database](https://github.com/pmem/issues/issues)
* Suggest a feature, ask a question, start a discussion, etc. in our [pmem Google group](http://groups.google.com/group/pmem)
* Chat with members of the NVM Library team real-time on the **#pmem** IRC channel on [OFTC](http://www.oftc.net)
* Chat with members of the PMDK team real-time on the **#pmem** IRC channel on [OFTC](http://www.oftc.net)

**NOTE: If you do decide to implement code changes and contribute them,
please make sure you agree your contribution can be made available
under the [BSD-style License used for the NVM Library](https://github.com/pmem/nvml/blob/master/LICENSE).**
under the [BSD-style License used for the Persistent Memory Development Kit](https://github.com/pmem/pmdk/blob/master/LICENSE).**

**NOTE: Submitting your changes also means that you certify the following:**

Expand Down Expand Up @@ -51,7 +52,8 @@ i.e. via email or by including a `Signed-off-by:` line at the bottom
of your commit comments.

To improve tracking of who is the author of a contribution, we kindly ask you
to use your real name (not an alias) when committing your changes to the NVM Library:
to use your real name (not an alias) when committing your changes to the
Persistent Memory Development Kit:
```
Author: Random J Developer <random@developer.example.org>
```
Expand All @@ -60,7 +62,7 @@ Author: Random J Developer <random@developer.example.org>

Please feel free to use the forums mentioned above to ask
for comments & questions on your code before submitting
a pull request. The NVM Library project uses the common
a pull request. The Persistent Memory Development Kit project uses the common
*fork and merge* workflow used by most GitHub-hosted projects.
The [Git Workflow blog article](http://pmem.io/2014/09/09/git-workflow.html)
describes our workflow in more detail.
Expand Down Expand Up @@ -92,42 +94,42 @@ no clang-format or it pointing to an older version. In such case run:

On Windows to check the code for style issues, please run:
```
$ nvml\utils\CSTYLE.ps1
$ pmdk\utils\CSTYLE.ps1
```

To check or format C++ files, you may use a standalone Visual Studio plugin
for clang-format. The plugin installer can be downloaded from
[LLVM Builds](http://llvm.org/builds) page.


If you are actively working on an NVM Library feature, please let other
If you are actively working on an PMDK feature, please let other
developers know by [creating an issue](https://github.com/pmem/issues/issues).
Use the label `Type: Feature` and assign it to yourself (due to the way
GitHub permissions work, you may need to ask a team member to assign it to you).

### Bug Reports

Bugs for the NVM Library project are tracked in our
Bugs for the PMDK project are tracked in our
[GitHub Issues Database](https://github.com/pmem/issues/issues).

When creating a bug report issue, please provide the following information:

#### NVML version
#### PMDK version

Put the release name of the version of NVML running when the
bug was discovered in a bug comment. If you saw this bug in multiple NVML
Put the release name of the version of PMDK running when the
bug was discovered in a bug comment. If you saw this bug in multiple PMDK
versions, please put at least the most recent version and list the others
if necessary.
- Stable release names are in the form `#.#` (where `#` represents
an integer); for example `0.3`.
- Release names from working versions look like `#.#+b#` (adding a build #)
or `#.#-rc#` (adding a release candidate number)
If NVML was built from source, the version number can be retrieved
If PMDK was built from source, the version number can be retrieved
from git using this command: `git describe`

For binary NVML releases, use the entire package name.
For RPMs, use `rpm -q nvml` to display the name.
For Deb packages, run `dpkg-query -W nvml` and use the
For binary PMDK releases, use the entire package name.
For RPMs, use `rpm -q pmdk` to display the name.
For Deb packages, run `dpkg-query -W pmdk` and use the
second (version) string.

#### Milestone field
Expand Down
12 changes: 6 additions & 6 deletions Makefile
Expand Up @@ -30,7 +30,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#
# Makefile -- top-level Makefile for NVM Library
# Makefile -- top-level Makefile for PMDK
#
# Use "make" to build the library.
#
Expand All @@ -56,7 +56,7 @@
# Use "make dpkg" to build dpkg packages
#
# Use "make source DESTDIR=path_to_dir" to copy source files
# from HEAD to 'path_to_dir/nvml' directory.
# from HEAD to 'path_to_dir/pmdk' directory.
#
# As root, use "make install" to install the library in the usual
# locations (/usr/local/lib, /usr/local/include, and /usr/local/share/man).
Expand Down Expand Up @@ -127,15 +127,15 @@ source:
$(if $(shell git rev-parse 2>&1), $(error Not a git repository))
$(if $(DESTDIR), , $(error Please provide DESTDIR variable))
$(if $(shell git status --porcelain), $(error Working directory is dirty: $(shell git status --porcelain)))
mkdir -p $(DESTDIR)/nvml
echo -n $(SRCVERSION) > $(DESTDIR)/nvml/.version
git archive HEAD | tar -x -C $(DESTDIR)/nvml
mkdir -p $(DESTDIR)/pmdk
echo -n $(SRCVERSION) > $(DESTDIR)/pmdk/.version
git archive HEAD | tar -x -C $(DESTDIR)/pmdk

pkg-clean:
$(RM) -r $(DESTDIR)

rpm dpkg: pkg-clean source
+utils/build-$@.sh $(SRCVERSION) $(DESTDIR)/nvml $(DESTDIR) $(CURDIR)/$@\
+utils/build-$@.sh $(SRCVERSION) $(DESTDIR)/pmdk $(DESTDIR) $(CURDIR)/$@\
${EXPERIMENTAL} ${BUILD_PACKAGE_CHECK} ${BUILD_RPMEM} ${TEST_CONFIG_FILE} ${DISTRO}

install uninstall:
Expand Down
56 changes: 28 additions & 28 deletions README.md
@@ -1,18 +1,18 @@
nvml: Non-Volatile Memory Library
=================================
pmdk: Persistent Memory Development Kit
=======================================

[![Build Status](https://travis-ci.org/pmem/nvml.svg?branch=master)](https://travis-ci.org/pmem/nvml)
[![Build status](https://ci.appveyor.com/api/projects/status/sehrom4f1neihucf/branch/master?svg=true&pr=false)](https://ci.appveyor.com/project/pmem/nvml/branch/master)
[![Coverity Scan Build Status](https://img.shields.io/coverity/scan/3015.svg)](https://scan.coverity.com/projects/pmem-nvml)
[![NVML release version](https://img.shields.io/github/release/pmem/nvml.svg)](https://github.com/pmem/nvml/releases/latest)
[![Coverage Status](https://codecov.io/github/pmem/nvml/coverage.svg?branch=master)](https://codecov.io/gh/pmem/nvml/branch/master)
[![Build Status](https://travis-ci.org/pmem/pmdk.svg?branch=master)](https://travis-ci.org/pmem/pmdk)
[![Build status](https://ci.appveyor.com/api/projects/status/sehrom4f1neihucf/branch/master?svg=true&pr=false)](https://ci.appveyor.com/project/pmem/pmdk/branch/master)
[![Coverity Scan Build Status](https://img.shields.io/coverity/scan/3015.svg)](https://scan.coverity.com/projects/pmem-pmdk)
[![PMDK release version](https://img.shields.io/github/release/pmem/pmdk.svg)](https://github.com/pmem/pmdk/releases/latest)
[![Coverage Status](https://codecov.io/github/pmem/pmdk/coverage.svg?branch=master)](https://codecov.io/gh/pmem/pmdk/branch/master)

This is the top-level README.md of the NVM Library.
This is the top-level README.md of the Persistent Memory Development Kit.
For more information, see http://pmem.io.

### The Libraries ###

Please see the file [LICENSE](https://github.com/pmem/nvml/blob/master/LICENSE)
Please see the file [LICENSE](https://github.com/pmem/pmdk/blob/master/LICENSE)
for information on how this library is licensed.

This tree contains a collection of libraries for using Non-Volatile Memory
Expand All @@ -38,9 +38,9 @@ and tutorials.

><sup>1</sup> Not supported on Windows.
>
><sup>2</sup> NVML for Windows is feature complete, but not yet considered production quality.
><sup>2</sup> PMDK for Windows is feature complete, but not yet considered production quality.
>
><sup>3</sup> DAX and **libfabric** are not yet supported in FreeBSD, so at this time NVML is available as a technical preview release for development purposes.
><sup>3</sup> DAX and **libfabric** are not yet supported in FreeBSD, so at this time PMDK is available as a technical preview release for development purposes.
### Pre-Built Packages ###

Expand All @@ -54,7 +54,7 @@ Builds are tagged something like `0.2+b1`, which means
are the simpler *major.minor* tags like `0.2`. To find
pre-build packages, check the Downloads associated with
the stable releases on the
[github release page](https://github.com/pmem/nvml/releases).
[github release page](https://github.com/pmem/pmdk/releases).

### Building The Source ###

Expand All @@ -67,11 +67,11 @@ The source tree is organized as follows:
* **src/examples** -- brief example programs using these libraries
* **src/freebsd** -- FreeBSD-specific header files
* **src/test** -- unit tests used by development team
* **src/tools** -- various tools developed for NVML
* **src/tools** -- various tools developed for PMDK
* **src/windows** -- Windows-specific source and header files
* **utils** -- utilities used during build & test
* **CONTRIBUTING.md** -- instructions for people wishing to contribute
* **CODING_STYLE.md** -- coding standard and conventions for NVML
* **CODING_STYLE.md** -- coding standard and conventions for PMDK

To build this library on Linux, you may need to install the following
required packages on the build system:
Expand All @@ -80,7 +80,7 @@ required packages on the build system:
* **pkg-config**


On Windows, to build NVML and run the tests you need:
On Windows, to build PMDK and run the tests you need:
* **MS Visual Studio 2015**
* [Windows SDK 10.0.14393](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk) (or later)
* **perl** (i.e. [ActivePerl](http://www.activestate.com/activeperl/downloads))
Expand All @@ -106,23 +106,23 @@ displayed instead. For details please read the **DEPENDENCIES** section
in the appropriate README file.


See our [Dockerfiles](https://github.com/pmem/nvml/blob/master/utils/docker/images/)
See our [Dockerfiles](https://github.com/pmem/pmdk/blob/master/utils/docker/images/)
to get an idea what packages are required to build on the _Travis-CI_
system.

><sup>4</sup> The pkg version of ncurses is required for proper operation; the base version included in FreeBSD is not sufficient.
#### Building NVML on Linux or FreeBSD ####
#### Building PMDK on Linux or FreeBSD ####

To build the latest development version, just clone this tree and build
the master branch:
```
$ git clone https://github.com/pmem/nvml
$ cd nvml
$ git clone https://github.com/pmem/pmdk
$ cd pmdk
```

Once the build system is setup, the NVM Library is built using
the `make`<sup>5</sup> command at the top level:
Once the build system is setup, the Persistent Memory Development Kit is built
using the `make`<sup>5</sup> command at the top level:
```
$ make
```
Expand Down Expand Up @@ -166,7 +166,7 @@ generate the documentation separately, run:
```
**DEPENDENCIES:** doxygen, graphviz, pandoc<sup>7</sup>

To install a complete copy of the source tree to $(DESTDIR)/nvml:
To install a complete copy of the source tree to $(DESTDIR)/pmdk:
```
$ make source DESTDIR=some_path
```
Expand Down Expand Up @@ -271,13 +271,13 @@ For example, when using a custom version of libc++(version 3.9) installed to /us
>
><sup>9</sup> The address sanitizer is not supported for libvmmalloc on FreeBSD and will be ignored.
#### Building NVML on Windows ####
#### Building PMDK on Windows ####

Clone the NVML tree and open the solution:
Clone the PMDK tree and open the solution:
```
> git clone https://github.com/pmem/nvml
> cd nvml/src
> devenv NVML.sln
> git clone https://github.com/pmem/pmdk
> cd pmdk/src
> devenv PMDK.sln
```

Select the desired configuration (Debug or Release) and build the solution
Expand All @@ -292,7 +292,7 @@ in the example file (src/test/testconfig.ps1.example).

To run the unit tests, open the PowerShell console and type:
```
> cd nvml/src/test
> cd pmdk/src/test
> RUNTESTS.ps1
```

Expand Down
10 changes: 5 additions & 5 deletions appveyor.yml
Expand Up @@ -12,7 +12,7 @@ configuration:
- Setup

environment:
solutionname: NVML.sln
solutionname: PMDK.sln

matrix:
fast_finish: true
Expand Down Expand Up @@ -79,10 +79,10 @@ test_script:
artifacts:
- path: 'src\windows\setup\*.msi'
name: NVML_msi
name: PMDK_msi

- path: 'src\x64\*.zip'
name: NVML
name: PMDK

- path: '*examples*.zip'
name: NVML_examples
name: PMDK_examples
2 changes: 1 addition & 1 deletion doc/Makefile
Expand Up @@ -31,7 +31,7 @@
#

#
# doc/Makefile -- Makefile for NVM library man pages
# doc/Makefile -- Makefile for PMDK man pages
#

include ../src/common.inc
Expand Down

0 comments on commit 1cc4750

Please sign in to comment.