diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index ecf4d6168c..0000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,28 +0,0 @@ -# GENERAL ISSUE: - -## Bug Report - -- PMDK package version(s): -- OS(es) version(s): -- ndctl version(s): -- kernel version(s): -- compiler, libraries, packaging and other related tools version(s): - - -## Describe the issue: - - - -## Actual behavior: - - - -## Expected behavior: - - - -## Additional information about Priority and Help Requested: - -Are you willing to submit a pull request with a proposed change? (Yes, No) - -Requested priority: (Showstopper, High, Medium, Low) diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md deleted file mode 100644 index 12d6e406bc..0000000000 --- a/.github/ISSUE_TEMPLATE/feature.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -name: Feature -about: Feature your request -labels: "Type: Feature" ---- -# FEAT: - -## Rationale - - - -## Description - - - -## API Changes - - - -## Implementation details - - - -## Meta - - diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md deleted file mode 100644 index 3e4e452f96..0000000000 --- a/.github/ISSUE_TEMPLATE/question.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -name: Question -about: Do you have question regarding PMDK? Don't hesitate to ask. -labels: "Type: Question" ---- -# QUESTION: - -## Details - - - - diff --git a/CODING_STYLE.md b/CODING_STYLE.md index af37469d66..fb7e6f19b7 100644 --- a/CODING_STYLE.md +++ b/CODING_STYLE.md @@ -20,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/pmdk/blob/master/utils/cstyle) +[style checker program](utils/cstyle) included in the repo. Simply run `make cstyle` to verify if your code is well-formatted. @@ -47,7 +47,7 @@ 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/pmdk/blob/master/CONTRIBUTING.md) for details. +See [CONTRIBUTING.md](CONTRIBUTING.md) for details. - Place a [SPDX short-form identifier](https://spdx.dev/learn/handling-license-info/) for the BSD-3-Clause license at the beginning of each new source file, script or man page. (Obviously, it does not apply to README's, Visual Studio projects and \*.match files.) @@ -81,8 +81,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 ` for portability between Linux and FreeBSD. -- 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) +- Please, see [this](src/test/README) +and [that](src/test/unittest/README) document to get familiar with our test framework and the guidelines on how to write and run unit tests. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6ed5b52e3b..3a7458feb3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,19 +1,10 @@ # Contributing to the Persistent Memory Development Kit -Down below you'll find instructions on how to contribute to the -Persistent Memory Development Kit. +Please [contact us](README.md#contact-us) before contributing any changes. -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 Persistent Memory Development Kit: +**NOTE**: We do not accept feature requests not related to the [DAOS Project](https://daos.io/). -* Open an issue in our [GitHub Issues Database](https://github.com/pmem/pmdk/issues) -* Suggest a feature, ask a question, start a discussion, etc. in our [pmem Google group](https://groups.google.com/group/pmem) -* Chat with members of the PMDK team real-time on the **#pmem** IRC channel on [OFTC](https://www.oftc.net) - -**NOTE: If you do decide to implement code changes and contribute them, +**NOTE: When implementing code changes and contribute them, please make sure you agree your contribution can be made available under the [BSD-style License used for the Persistent Memory Development Kit](LICENSE.txt).** @@ -60,9 +51,7 @@ Author: Random J Developer ### Code Contributions -Please feel free to use the forums mentioned above to ask -for comments & questions on your code before submitting -a pull request. The Persistent Memory Development Kit project uses the common +The Persistent Memory Development Kit project uses the common *fork and merge* workflow used by most GitHub-hosted projects. The [Git Workflow blog article](https://pmem.io/2014/09/09/git-workflow.html) describes our workflow in more detail. @@ -88,18 +77,11 @@ no clang-format or it pointing to an older version. In such case run: $ make CLANG_FORMAT=/path/to/clang-format cstyle|format ``` -If you are actively working on a PMDK feature, please let other -developers know by [creating an issue](https://github.com/pmem/pmdk/issues). -Use the template `Feature` and assign it to yourself (due to the way -GitHub permissions work, you may have to ask a team member to assign it to you). - ### Bug Reports -Bugs for the PMDK project are tracked in our -[GitHub Issues Database](https://github.com/pmem/pmdk/issues). +Before reporting a new bug please check if it is not already known: [here](https://daosio.atlassian.net/issues?jql=component%20%3D%20PMDK%20ORDER%20BY%20created%20DESC) or [here](https://github.com/pmem/pmdk/issues). -When reporting a new bug, please use `New issue` button, pick proper template and fill -in all fields. Provide as much information as possible, including the product version: +To report a bug please [contact us](README.md#contact-us) and use the [template](.github/ISSUE_TEMPLATE/bug_report.md). #### PMDK version @@ -131,10 +113,3 @@ that the bug does not prevent the next release of the library. * **P3**: Medium-priority bug. The expectation is that the bug will be evaluated and a plan will be made for when the bug will be resolved. * **P4**: Low-priority bug, the least urgent. Fixed when the resources are available. - -### Other issues - -On our issues page we also gather feature requests and questions. Templates to use -are `Feature` and `Question`, respectively. They should help deliver a meaningful -description of a feature or ask a question to us (remember though we have -different means of communication, as described at the top of the page). diff --git a/INSTALL.md b/INSTALL.md index bc2cee12fa..85f090e7c9 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -17,26 +17,16 @@ You will need to install the following required packages on the build system: * **libdaxctl-devel** (v63 or later) * **pandoc** (for documentation, required during install) -The following packages are required only by selected PMDK components -or features: - -PMDK depends on libndctl and libdaxctl to support RAS features. It is possible -to disable this support by passing `NDCTL_ENABLE=n` to `make`, but we strongly -discourage users from doing that. Disabling NDCTL strips PMDK from ability to -detect hardware failures, which may lead to silent data corruption. -For information how to disable RAS at runtime for kernels prior to 5.0.4 please -see https://github.com/pmem/pmdk/issues/4207. - ## Building PMDK To build from source, clone this tree: ```sh -git clone https://github.com/pmem/pmdk +git clone https://github.com/daos-stack/pmdk cd pmdk ``` -For a stable version, checkout a [release tag](https://github.com/pmem/pmdk/releases) as follows. Otherwise skip this step to build the latest development release. +For a stable version, checkout a [release tag](https://github.com/daos-stack/pmdk/releases) as follows. Otherwise skip this step to build the latest development release. ```sh git checkout tags/2.1.3 @@ -48,21 +38,6 @@ Once all required [dependencies](#dependencies) are installed, PMDK is built usi make ``` -By default, all code is built with the `-Werror` flag, which fails -the whole build when the compiler emits any warning. This is very useful during -development, but can be annoying in deployment. If you want to disable `-Werror`, -use the `EXTRA_CFLAGS` variable: - -```sh -make EXTRA_CFLAGS="-Wno-error" -``` - ->or - -```sh -make EXTRA_CFLAGS="-Wno-error=$(type-of-warning)" -``` - ## Installing PMDK After compiling the libraries, you can install them: @@ -107,7 +82,7 @@ Both building and installation scripts are very flexible. To see additional opti ### Memory Management Tools -The PMDK libraries support standard Valgrind DRD, Helgrind and Memcheck, as well as a PM-aware version of [Valgrind](https://github.com/pmem/valgrind). +The PMDK libraries support standard Valgrind DRD, Helgrind and Memcheck, as well as a PMEM-aware version of [Valgrind](https://github.com/pmem/valgrind). By default, support for all tools is enabled. If you wish to disable it, supply the compiler with `VALGRIND` flag set to 0: ```sh @@ -128,7 +103,7 @@ To enable logging of debug information, use debug version of a library and set desired log level using (library-specific) variable, e.g. `PMEM_LOG_LEVEL=`. For more details see appropriate manpage (debbuging section), e.g. -[libpmem(7)](https://github.com/pmem/pmdk/blob/master/doc/libpmem/libpmem.7.md#error-handling-1). +[libpmem(7)](doc/libpmem/libpmem.7.md#error-handling-1). ## Experimental Packages diff --git a/README.md b/README.md index 011f45aa15..47f677fd95 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,9 @@ The **Persistent Memory Development Kit (PMDK)** is a collection of libraries and tools for System Administrators and Application Developers to simplify managing and accessing persistent memory devices. For more information, see https://pmem.io. -To install PMDK libraries please clone the tree and build it yourself. Specific installation instructions are outlined below. +The only supported user is the [DAOS Project](https://daos.io/). Bugs and feature requests for PMDK are tracked [here](https://daosio.atlassian.net/issues?jql=component%20%3D%20PMDK%20ORDER%20BY%20created%20DESC). Older known issues can be found [here](https://github.com/pmem/pmdk/issues). -Pre-built packages can be found in popular Linux distribution package repositories but we do not keep them anymore up to date because of the limited resources. - -Bugs and feature requests for this repo are tracked in our [GitHub Issues Database](https://github.com/pmem/pmdk/issues). +PMDK is delivered as part of a DAOS release. If you want to experiment with PMDK without DAOS it is recommended to build it yourself as outlined [below](#building-and-installing). Pre-built packages found in popular Linux distribution package repositories are no longer kept up to date. ## Contents 1. [Libraries and Utilities](#libraries-and-utilities) @@ -59,8 +57,8 @@ Additionally, we recommend reading [Introduction to Programming with Persistent ## Version Conventions -- **Release Candidates** have a '-rc{version}' tag, e.g. `0.2-rc3`, meaning _Release Candidate 3 for version 0.2_ -- **Stable Releases** use a _major.minor_ tag like `0.2` +- **Release Candidates** have a '-rc{version}' tag, e.g. `0.2.0-rc3`, meaning _Release Candidate 3 for version 0.2.0_ +- **Stable Releases** use a _major.minor.patch_ tag like `0.2.0`. ## Building and installing @@ -68,7 +66,7 @@ Install a few [dependencies](INSTALL.md#dependencies) and then build and install ```sh # get the source code -git clone https://github.com/pmem/pmdk +git clone https://github.com/daos-stack/pmdk cd pmdk # build make -j diff --git a/RELEASE_STEPS.md b/RELEASE_STEPS.md index 581fa310a4..4473a1c09f 100644 --- a/RELEASE_STEPS.md +++ b/RELEASE_STEPS.md @@ -99,7 +99,7 @@ git commit --reset-author ## 5. Publish package and make it official -- go to [GitHub's releases tab](https://github.com/pmem/pmdk/releases/new) and fill in the form: +- go to [GitHub's releases tab](https://github.com/daos-stack/pmdk/releases/new) and fill in the form: - tag version: $VERSION, - release title: PMDK Version $VERSION, - description: copy entry from the ChangeLog diff --git a/utils/ansible/README.md b/utils/ansible/README.md index b33bcb5456..c9288fbd6a 100644 --- a/utils/ansible/README.md +++ b/utils/ansible/README.md @@ -4,7 +4,7 @@ This is utils/ansible/README.md. The scripts in this directory allow you to set up a RockyLinux and OpenSUSE environment on a real hardware to be able build a PMDK project on it or use the -node as a self-hosted runner for pmem/pmdk repository. +node as a self-hosted runner for daos-stack/pmdk repository. # Installing Ansible To use playbooks it is required to install Ansible first. It must be done @@ -89,7 +89,7 @@ ansible-playbook -i $TARGET_IP, configure-pmem.yml \ # Installing a GitHub Action self-hosted runner using Ansible palybook The sequence of commands below setup a new server, with persistent memory and a CI environment already installed, to be used as a self-hosted runner in -the pmem/pmdk repository. +the daos-stack/pmdk repository. ```sh export TARGET_IP= # ip of the target @@ -103,7 +103,7 @@ ansible-playbook -i $TARGET_IP, configure-self-hosted-runner.yml --extra-vars \ runner_name=$HOST_NAME labels=$LABELS token=$GHA_TOKEN vars_gha=$VARS_GHA" ``` **Note**: To obtain a token for a new self-hosted runer visit -[Create self-hosted runner](https://gib.com/pmem/pmdk/settings/actions/runners/new) +[Create self-hosted runner](https://github.com/daos-stack/pmdk/settings/actions/runners/new) . **Note**: In case of any problems, please refer to @@ -154,7 +154,7 @@ GHA runner without a control node. dnf install git-core -y dnf install ansible-core -y ansible-galaxy collection install ansible.posix -git clone https://github.com/pmem/pmdk.git +git clone https://github.com/daos-stack/pmdk.git cd pmdk/utils/ansible ``` Update playbooks to be used directly on the target as described [above](#provisioning-from-the-target-platform-itself) @@ -194,7 +194,7 @@ rm -rf pmdk # as root: zypper install git-core -y zypper install ansible -y -git clone https://github.com/pmem/pmdk.git +git clone https://github.com/daos-stack/pmdk.git cd pmdk/utils/ansible ``` Update playbooks to be used directly on the target as described [above](#provisioning-from-the-target-platform-itself) diff --git a/utils/ansible/configure-self-hosted-runner.yml b/utils/ansible/configure-self-hosted-runner.yml index b44bc166ca..0b03bda2ca 100644 --- a/utils/ansible/configure-self-hosted-runner.yml +++ b/utils/ansible/configure-self-hosted-runner.yml @@ -1,7 +1,8 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright 2023-2024, Intel Corporation +# Copyright 2026, Hewlett Packard Enterprise Development LP -# This playbook is designed to add a new self-hosted runner to pmem/pmdk. +# This playbook is designed to add a new self-hosted runner to daos-stack/pmdk. # Examples below show how to use this file: # 1) remotely # export TARGET_IP= # ip of the target diff --git a/utils/build-dpkg.sh b/utils/build-dpkg.sh index f181074086..6cd2907b9a 100755 --- a/utils/build-dpkg.sh +++ b/utils/build-dpkg.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2014-2024, Intel Corporation +# Copyright 2026, Hewlett Packard Enterprise Development LP # # build-dpkg.sh - Script for building deb packages @@ -292,7 +293,7 @@ Section: libs Priority: optional Standards-version: 4.1.4 Build-Depends: debhelper (>= 9) -Homepage: https://github.com/pmem/pmdk +Homepage: https://github.com/daos-stack/pmdk Package: libpmem Architecture: any diff --git a/utils/docker/build-local.sh b/utils/docker/build-local.sh index cc1605d1ea..7d0381a242 100755 --- a/utils/docker/build-local.sh +++ b/utils/docker/build-local.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2017-2023, Intel Corporation +# Copyright 2026, Hewlett Packard Enterprise Development LP # # build-local.sh - runs a Docker container from a Docker image with environment @@ -34,7 +35,7 @@ export PMDK_CXX=${PMDK_CXX:-g++} export EXPERIMENTAL=${EXPERIMENTAL:-n} export VALGRIND=${VALGRIND:-1} export DOCKER_REPO=${DOCKER_REPO:-ghcr.io/pmem/pmdk} -export GITHUB_REPO=${GITHUB_REPO:-pmem/pmdk} +export GITHUB_REPO=${GITHUB_REPO:-daos-stack/pmdk} if [[ -z "$IMG_VER" ]]; then # set the IMG_VER variable - version of Docker images diff --git a/utils/gha-runners/run-ras-linux.yml b/utils/gha-runners/run-ras-linux.yml index 45469cbf9c..5c795ec51b 100644 --- a/utils/gha-runners/run-ras-linux.yml +++ b/utils/gha-runners/run-ras-linux.yml @@ -1,5 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright 2022-2023, Intel Corporation +# Copyright 2026, Hewlett Packard Enterprise Development LP # Ansible playbook which is executing PMDK RAS test: Unsafe Shutdown Local on Linux. @@ -87,7 +88,7 @@ repo: pmdk: - url: https://github.com/pmem/pmdk.git + url: https://github.com/daos-stack/pmdk.git branch: master target_dir: "{{ working_dir_path }}/pmdk" pmdk_tests: diff --git a/utils/libpmem.pc.in b/utils/libpmem.pc.in index a491b8b304..435e7e7f6e 100644 --- a/utils/libpmem.pc.in +++ b/utils/libpmem.pc.in @@ -3,7 +3,7 @@ includedir=${prefix}/include Name: libpmem Description: libpmem library from PMDK project Version: ${version} -URL: https://github.com/pmem/pmdk +URL: https://github.com/daos-stack/pmdk Requires: Libs: -L${libdir} -lpmem Cflags: -I${includedir} diff --git a/utils/libpmem2.pc.in b/utils/libpmem2.pc.in index 9ff9b48f1d..9b199e580c 100644 --- a/utils/libpmem2.pc.in +++ b/utils/libpmem2.pc.in @@ -3,7 +3,7 @@ includedir=${prefix}/include Name: libpmem2 Description: libpmem2 library from PMDK project Version: ${version} -URL: https://github.com/pmem/pmdk +URL: https://github.com/daos-stack/pmdk Requires: Libs: -L${libdir} -lpmem2 Cflags: -I${includedir} diff --git a/utils/libpmemobj.pc.in b/utils/libpmemobj.pc.in index 62fe3feaa1..e687a30a05 100644 --- a/utils/libpmemobj.pc.in +++ b/utils/libpmemobj.pc.in @@ -3,7 +3,7 @@ includedir=${prefix}/include Name: libpmemobj Description: libpmemobj library from PMDK project Version: ${version} -URL: https://github.com/pmem/pmdk +URL: https://github.com/daos-stack/pmdk Requires.private: libpmem${rasdeps} Libs: -L${libdir} -lpmemobj Libs.private: -ldl diff --git a/utils/libpmempool.pc.in b/utils/libpmempool.pc.in index 85f37e56b9..fd69afc2d1 100644 --- a/utils/libpmempool.pc.in +++ b/utils/libpmempool.pc.in @@ -3,7 +3,7 @@ includedir=${prefix}/include Name: libpmempool Description: libpmempool library from PMDK project Version: ${version} -URL: https://github.com/pmem/pmdk +URL: https://github.com/daos-stack/pmdk Requires.private: libpmem${rasdeps} Libs: -L${libdir} -lpmempool Libs.private: -ldl diff --git a/utils/pkg-config.sh b/utils/pkg-config.sh index 405fc8a47f..ca94a25df2 100644 --- a/utils/pkg-config.sh +++ b/utils/pkg-config.sh @@ -1,5 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright 2014-2024, Intel Corporation +# Copyright 2026, Hewlett Packard Enterprise Development LP # Name of package PACKAGE_NAME="pmdk" @@ -14,4 +15,4 @@ PACKAGE_SUMMARY="Persistent Memory Development Kit" PACKAGE_DESCRIPTION="The collection of libraries and utilities for Persistent Memory Programming" # Website -PACKAGE_URL="https://github.com/pmem/pmdk" +PACKAGE_URL="https://github.com/daos-stack/pmdk" diff --git a/utils/pmdk.spec.in b/utils/pmdk.spec.in index 474f3000c7..782619d753 100644 --- a/utils/pmdk.spec.in +++ b/utils/pmdk.spec.in @@ -25,7 +25,7 @@ Summary: __PACKAGE_SUMMARY__ Packager: __PACKAGE_MAINTAINER__ Group: __GROUP_SYS_LIBS__ License: __LICENSE__ -URL: https://github.com/pmem/pmdk +URL: https://github.com/daos-stack/pmdk Source0: %{name}-%{version}.tar.gz