[commops] CommOps Hack Sesh Check-in
by Justin W. Flory
Hey all,
For the past week, we've had a series of audio/video call hack sessions
where we've been working on various CommOps tasks. For archival
purposes, we're sharing the contents of the Etherpad here on the list.
There's also a link to the original Etherpad, but for unknown reasons,
the Etherpad mysteriously went down after we took a hard-copy backup...
https://etherpad.gnome.org/p/commops-power-sessions
This is a lot of raw text, some of which doesn't have explanations, so
if you're confused by anything, feel free to ask! We'll also probably be
cleaning this up into more formalized data in the form of tickets /
mailing list posts / etc.
Thanks!
* * * * *
=========================================================================
Feb. 24, 2016
G11n vFAD 2016 Discussion
---
TICKET: https://fedorahosted.org/fedora-commops/ticket/29
<== [needs updating after tonight's
discussion]
From the whiteboard:
New Badges:
Onboarded Badge
g11n series (below)
Language Lead (manual)
vFAD Event Badge
Per-release Badges Sequence
Language Tester
0) Know a language!
1) Submit a bug to the trac!
Slides from G11n FAD Tokyo -
https://docs.google.com/presentation/d/1mKXe5gSpqnXwx7qOO2kS3i5-yFhhHWTgl...
Zanata Contribution Pipeline
...
...
Language lead merges commit
Onboarding Series
Ambassadors
0) Get a FAS Account (sign the FPCA)
1) Create a User Wiki Page
2) Join Mailing Lists and IRC Channels
3) Contact a Regional Mentor, get sponsored
4) Get mentor approval
-----decause adds-----
5) Attend regional ambassador meeting, introduce yourself
CommOps
0) If no fas account, create one
1) intro to mailing list, intro to
https://admin.fedoraproject.org/mialman/listinfo/CommOps
2) join IRC #fedora-commops
3) get with a mentor and start writing / editing blog /
fed mag articles
4)
Design
0) create a FAS account (sign the FPCA)
1) Join the mailing list, introduce yourself:
https://admin.fedoraproject.org/mailman/listinfo/design-team
2) Claim a ticket in the Design Trac:
https://fedorahosted.org/design-team/report/1
3) Update your ticket, send updated information to Design List
4) Once work is approved, request an invite for your FAS username for
the design-team group on the design team list:
https://admin.fedoraproject.org/mailman/listinfo/design-team
5) Add yourself to the contributors list:
http://fedoraproject.org/wiki/Artwork/Contributors
----decause adds-----
6) Attend Design Team IRC meeting?
7) subscribe to the design tasks fedocal:
https://fedorapeople.org/groups/schedule/f-24/
Documentation
0) Create a FAS Account (sign the FPCA)
1) Create a GPG Key, and upload it to keyservers, one of which being
keys.fedoraproject.org
2) write a self-introduction to the mailing list with some ideas on
how you would like to contribute:
https://fedoraproject.org/wiki/Introduce_yourself_to_the_Docs_Project
3) create your own user wiki page, or update with new info if one
exists from another prject
4) attend the freenode.net InterRelay Chat channel #fedora-meeting
meetings on Mondays.
5) hang out on freenode.net InterRelay Chat channel #fedora-docs
6) Interact with other fedora contributors (how to use fasinfo,
lookup others wiki user pages, asking for sponsorship)
6) Make a contribution Choose an item from this page:
https://fedoraproject.org/wiki/How_to_contribute_to_Docs
7) Post to mailing list, describing which contribution you want to
make, asking for feedback
8) Post to mailing list with links to your contribution
Rel-eng
0) Create a FAS Account (Sign the FPCA)
1) Join the #fedora-releng IRC Channel on Freenode and introduce yourself.
2) Attend a #fedora-releng meeting, and notify the team you'd like to
contribute during "open floor" (speak up badge)
3) Subscribe to the rel-eng calendar on Fedocal:
EPEL?
0) Create a FAS account, (Sign the FPCA)
1) Join the EPEL SIG mailing list:
Infrastructure
- cc: keekri
Infra Apprentice Onboarding Proces:
0) Get a FAS Account (sign the FPCA)
1) You start with getting started doc
https://fedoraproject.org/wiki/Infrastructure/GettingStarted
2) IRC, Mail List, and say "hi, I like to join the Apprentice group."
3) Answer the monthly apprentice status update about what systems you
are working with, what you are doing with them, and what you are learning.
4) Participate in the Fedora-infra weekly meeting.
Localization
globalization
0) Create a FAS Account, (sign FPCA)
1) Introduce yourself on the g11n list:
https://lists.fedoraproject.org/admin/lists/g11n.lists.fedoraproject.org/
2) Language Tester Badge
3) First Contribution Accepted!
Magazine <
https://fedoramagazine.org/writing-an-article-for-the-fedora-magazine/ >
0)
Marketing
0) Create a FAS Account (and sign the FPCA)
1) Join the mailing list and introduce yourself:
https://fedoraproject.org/wiki/Introduce_yourself_to_the_marketing_group
2) Choose a marketing task you'd like to help with, and post to the
mailing list asking for feedback:
https://fedoraproject.org/wiki/Marketing/Schedule
3) Post to the mailing list with a link to your contribution.
4) Request to join the marketing group in FAS
Package Maintainers
Quality Assurance
Websites
Budget Calendar (viorel)
Fedocal
1) Request resources for a new calendar
(https://fedorahosted.org/fedora-infrastructure/newticket )
(Select 'new calendar' component)
Fedora-Infra calendar request template:
calendar name:
Budget
contact email:
decause@redhat
Description:
This is the schedule of activity for annual budget reporting and
proposals
Manager Groups:
(leave blank for fpca+1, otherwise group that can add/remove/edit
events)
council, commops
2) Add new events for each part of the schedule
3) Future? Use taskjuggler workflow to officically budget added to the
Fedora Schedules: https://fedorapeople.org/groups/schedule/
=========================================================================
Feb. 23, 2016
BrickHack 2016
Prizes:
* Bluehost goodies
* Raspberry Pi 2 Model B ($35/unit)
* kk4ewt (Southern_Gentlemen) was chatting in off call chat about
rtl-sdr for ham based foss stuff
* https://funcubedongle.3dcartstores.com/checkout_one.asp Bit pricey
@ ~ $175
Mentorship:
List of open source projects and on-boarding locations readily
accessible to participants
=========================================================================
Feb. 16, 2016
0) Q1 Travel List for Decause (CHECK)
- BrickHack [March 5 - 6]
- https://www.hackerearth.com/sprints/brickhack-ii/prizes/
- LibrePlanet [ March 16-18 ]
- CSH 40th April [4-5]
- PyCon 2016 [ May 26th - June 6th ]
1) GSoC Slots and Registration (CHECK)
- https://fedoraproject.org/wiki/Outreachy/2016_potential_projects
- https://fedoraproject.org/wiki/Summer_coding_ideas_for_2016
- https://fedoraproject.org/wiki/GSOC_2016 [COMPLETE, PENDING REVIEW]
+1 from me (linux-modder)
- https://fedoraproject.org/wiki/Summer_coding_ideas_for_2015 Willing
to be an additional mentor on tinykdump ( would be badass to have a
deamon that doesn't hog so many resources)
- https://fedoraproject.org/wiki/GSOC_2015
GS0C 2016: Pages that need updating, review, and/or relevancy checks
- https://fedoraproject.org/wiki/GSOC_2016
- https://fedoraproject.org/wiki/Summer_coding_ideas_for_2016
- https://fedoraproject.org/wiki/GSOC_2016/Student_Application_Process
- REFERENCE:
https://fedoraproject.org/wiki/GSOC_2015/Student_Application_Process
-
https://fedoraproject.org/w/index.php?title=GSOC_2016/Registered_Mentors_...
-
https://fedoraproject.org/wiki/GSOC_2016/Student_Application_Template/Common
- REFERENCE:
https://fedoraproject.org/wiki/GSOC_2012/Student_Application_Template/Common
2) Event Report Drafts
- FOSDEM -
- DevConf - https://mattdm.org/fedora/2016devconf/
+ decause twitter stream too:
- cfgmgmtcamp -
http://cfgmgmtcamp.eu/schedule/speakers/RemyDeCausemaker.html
3) mktg talking points
- Python
- EDU
- Staff/Faculty
- Students
- Makers
- SF specific to region/state
-Prounouns *optional* not required (he/him, she /her, they, etc) Making
things required can offend those its meant to help
-Identity - Pseudonyms can be ok. Verfications to cover legal can be
covered behind the scenes.
General talking points
WHY Fedora https://fedoraproject.org/wiki/Foundations
-Freedoms, this can be tailored to region LUG types. "Clean" code. You
are free to share with anyone around you (or the Care Bears simple idea
of 'Sharing is caring.)
-Friends meeting a cool new group from all over the globe. Daddy
Shadowman actually sponsors travel and expenses for those that
contribute (within reason) Chance to travel worldwide, or maybe just
across the state to put a face to those you have not met yet.
Meeting folks with similar interests.
- Features Help create code you can use in your day to day job, make
packages and features for things you do as a group or individual
--First Do you want to see the future of Linux, come with us. You could
have learned about systemd way earlier than 'this ominous all powefull
code. Live on the edge and still have some support if needed.
-- User / Client list like one on https://redhat.com/clients
FROM: infra mtg today:
-Request for interest in taking on some scripting work for easyfix
#3748
8 years, 2 months
Re: How to just report/fix one mistake on the wiki?
by Petr Bokoc
Hi Matt,
Our contributor docs aren't really up to date at all. We're aware of the
mess, it should hopefully change in the near future, but right now it's
really bad as you found out.
I added the missing link to the common bugs page, thanks for reporting it.
Regarding wiki edit rights for any future contributions you might want
to make: the requirement for a non-CLA group membership is unfortunate
but it's here to stay, and yes, the docs group (and this list) seems
like a good place to ask questions. The problem is, we just cleaned up
the group maybe a month ago and removed something like 80% of all
members because they were no longer active at all, and going forward
we'd like to be able to rely on the people in that group being somewhat
active, so I'm wary of adding people who state upfront they don't want
to do that, although I do understand your situation.
Anyway: there is a group called "wikiedit", a membership in that will
give you wiki edit rights without any expectation of active
participation, as far as I'm aware. Open an issue against the
fedora-infrastructure repo on Pagure to gain access. Here's an example
of such a ticket: https://pagure.io/fedora-infrastructure/issue/6841
Hope that helps; let me know if I can do anything else for you.
Petr
On 05/20/2018 09:44 PM, Matt McCutchen wrote:
> Dear docs team,
>
> I found a mistake on the wiki (Fedora 28 needs to be added to
> https://fedoraproject.org/wiki/Common_bugs) and wanted to report or fix
> it, but it looks like to fix it, I now need one non-CLA group. The
> Docs group looked the most likely for this scenario, but based on
> https://fedoraproject.org/wiki/Join_the_Docs_Project , it looks like
> you expect an introduction and ongoing involvement, which I'm not
> willing to commit to.
> https://fedoraproject.org/wiki/Reporting_problems_with_Docs#I_found_a_pro...
> didn't give me any help either.
>
> Is there a process for people who just want to report or fix one
> mistake on the wiki? Have I missed a previous discussion of this? Or
> should I pose the question elsewhere? I didn't find anything useful
> here:
>
> https://www.google.com/search?q=what+group+to+join+if+I+just+want+to+cont...
> https://lists.fedoraproject.org/archives/search?q=contribute+to+wiki
> https://lists.fedoraproject.org/archives/search?q=contribute+to+wiki+group
>
> If you are willing to count this as my introduction and grant me access
> (FAS mattmccutchen) without an expectation of ongoing involvement, I
> will be happy to update the relevant places on the wiki. I've been
> using Fedora for 13 years and have a modest history of useful wiki
> contributions from before the restriction was introduced, though I've
> never been involved deeply enough with anything to join a non-CLA
> group:
>
> https://fedoraproject.org/w/index.php?title=Special%3AContributions&contr...
>
> However, my question stands what new users should do.
>
> Thanks for your attention!
>
> Matt
> _______________________________________________
> docs mailing list -- docs(a)lists.fedoraproject.org
> To unsubscribe send an email to docs-leave(a)lists.fedoraproject.org
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/docs@lists.fedoraproject.or...
5 years, 11 months
[fedora-d&i] [fedora-diversity] 01/01: Migrate more wiki pages into docs website
by git repository hosting
This is an automated email from the git hooks/post-receive script.
jflory7 pushed a commit to branch add/more-wiki-pages
in repository fedora-diversity.
commit 692cdac285fc89dbc99bbb9bb4aaca01d9dd48d4
Author: Justin W. Flory <git(a)jwf.io>
Date: Thu Sep 13 16:38:32 2018 -0400
Migrate more wiki pages into docs website
This commit adds the following documents:
* Join the Diversity and Inclusion Team
* Demographic survey research
* D&I events
* About Fedora Women's Day
---
modules/ROOT/nav.adoc | 7 +
modules/ROOT/pages/contribute/join.adoc | 96 +++++++++
modules/ROOT/pages/demographic-survey.adoc | 255 ++++++++++++++++++++++++
modules/ROOT/pages/events.adoc | 71 +++++++
modules/ROOT/pages/fedora-womens-day/about.adoc | 11 +
5 files changed, 440 insertions(+)
diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc
index ed30c78..66de62e 100644
--- a/modules/ROOT/nav.adoc
+++ b/modules/ROOT/nav.adoc
@@ -1 +1,8 @@
* xref:team.adoc[About Diversity and Inclusion Team]
+* xref:events.adoc[D&I events]
+* xref:demographic-survey.adoc[Demographic survey]
+* Fedora Women's Day (FWD)
+** xref:fedora-womens-day/about.adoc[About FWD]
+** Resource pack (coming soon)
+* How to contribute
+** xref:contribute/join.adoc[Join the team]
diff --git a/modules/ROOT/pages/contribute/join.adoc b/modules/ROOT/pages/contribute/join.adoc
new file mode 100644
index 0000000..4b78122
--- /dev/null
+++ b/modules/ROOT/pages/contribute/join.adoc
@@ -0,0 +1,96 @@
+= Join Fedora Diversity and Inclusion Team
+
+If you're interested in helping with the Fedora Diversity and Inclusion Team, please complete the following steps to become a member.
+
+
+[[create-fas-account]]
+== Create an FAS account
+
+In order to contribute to Fedora, you will need to create a link:Account_System[FAS account] and sign the Legal:Fedora_Project_Contributor_Agreement[Fedora Project Contributor Agreement], if you have not already.
+You can do this through the link:Infrastructure/AccountSystem[Fedora Account System].
+
+
+[[update-wiki]]
+== Update your wiki homepage
+
+Use your link:Account_System[Account System] to login and start adding content to your homepage.
+It's recommended you put some of your activity or involvement, inside or outside of Fedora, on this page.
+It's helpful for others to know more about you, what you are involved with in the project, and more.
+
+
+[[mailing-list]]
+== Join the mailing list
+
+To join the mailing list, you must subscribe on https://lists.fedoraproject.org/admin/lists/diversity.lists.fedoraproject....
+Our mailing list is a key part of how Diversity communicates, and a lot of important news and discussion are shared through our mailing list.
+
+
+[[self-introduction]]
+== Send a self-introduction
+
+Send a self-introduction to the mailto:diversity@lists.fedoraproject.org[Diversity mailing list] explaining a bit about yourself.
+This is one of the most helpful steps for the rest of the Diversity and Inclusion Team members.
+When introducing yourself, here's some key points to make sure to include in your introduction:
+
+* Are you new to contributing to Fedora?
+ If so, tell us why you're interested in contributing or what interests you most.
+* Are you from another community?
+ Tell us about your role and what you're doing in those other communities.
+* Already an active contributor?
+ Share what other areas of Fedora you are working in and your role in the Project.
+* Involved with any local events or programs?
+ If you do any in-person advocacy for Linux, Fedora, or diversity in tech, tell us about how you're involved.
+ (Also consider adding your event to the link:Diversity_Events[Diversity Events] wiki page!)
+* What interests you in the Diversity and Inclusion Team?
+ What are your interests for wanting to become involved or what motivates you up to want to participate?
+
+
+[[join-irc-telegram]]
+== Join #fedora-diversity on IRC or Telegram
+
+Your next step should be to join the https://webchat.freenode.net/?channels=#fedora-diversity[#fedora-diversity] IRC channel on the FreeNode IRC network.
+A lot of our discussion and planning happens in real-time on IRC, and it's the best place to meet some of the team and get a view of what's happening with the Diversity and Inclusion Team.
+
+
+[[first-steps]]
+== Make your first steps
+
+See xref:commops::first-steps.adoc[Make your first steps in Fedora] for more info.
+
+
+[[attend-meeting]]
+== Attend a meeting
+
+A lot of action happens at the https://apps.fedoraproject.org/calendar/diversity-team/[bi-monthly meetings].
+Attend a Fedora https://apps.fedoraproject.org/calendar/diversity-team/[Diversity and Inclusion Team meeting] and introduce yourself during roll call!
+
+Every week, the Diversity and Inclusion team comes together to discuss https://pagure.io/fedora-diversity/issues?tags=meeting[items on our agenda] and check in on the tasks that everyone is working on.
+Introducing yourself during roll call is another great way to get involved and will let others know you are part of the meeting.
+
+
+[[get-your-hands-dirty]]
+== Get your hands dirty
+
+Now, you should begin finding a task to work on.
+All Diversity-related tasks are mapped out in our https://pagure.io/fedora-diversity/issues[Pagure repository].
+
+Tasks, problems, or objectives are added as "issues" to the https://pagure.io/fedora-diversity/issues[fedora-diversity repository on
+Pagure].
+Check and see https://pagure.io/fedora-diversity/issues?tags=meeting[what D&I is working on now] to see what is happening this week.
+
+After that, look at all of the https://pagure.io/fedora-diversity/issues[open tickets] on our https://pagure.io/fedora-diversity/[Pagure repository].
+See something that looks interesting?
+Be sure to leave a comment and feedback if possible.
+Check if the ticket has an owner.
+If it doesn't, you can step up and take ownership!
+If it does, contact the owner of the ticket and see if they need any help.
+This also provides a great opportunity to get mentorship and help with getting started on a new task!
+
+
+[[join-fas-group]]
+== Join the FAS group
+
+After completing or beginning *all* of the above steps, you can apply for membership in the https://admin.fedoraproject.org/accounts/group/view/diversity-team[Diversity and Inclusion Team FAS group].
+
+In the beginning of your time contributing, you will remain pending in the group.
+After staying involved with Diversity for a while and helping out with tasks, your membership will be approved.
diff --git a/modules/ROOT/pages/demographic-survey.adoc b/modules/ROOT/pages/demographic-survey.adoc
new file mode 100644
index 0000000..c6753b1
--- /dev/null
+++ b/modules/ROOT/pages/demographic-survey.adoc
@@ -0,0 +1,255 @@
+= Demographic survey research
+
+This wiki page contains the draft of questions used for a Fedora contributor / demographic survey.
+Most of these questions were extensively discussed and revised during the link:FAD_Diversity_2017[FAD Diversity 2017].
+More details about this can be found in Pagure ticket discussions and in Etherpads.
+The questions in this wiki page are not finalized unless otherwise stated.
+
+
+[[objectives]]
+= Objectives
+
+The primary objectives we identified for the demographic survey were…
+
+1. Gather baseline demographics about the contributor community
+* Why is this objective important?
+** Better allows us to focus on groups who are underrepresented and try to improve the user experience for new contributors in the community
+* Examples of target criteria:
+** Numbers for underrepresented groups (race / gender / sexuality / etc.)
+** Age of contributors
+** Gender
+** Race/Cultural background
+** Location
+** Disability
+** Family / kids / Motherhood ?
+** Non-English speaking community
+2. Determine contributor knowledge about project components that ease contribution
+* Join SIG
+* Mentoring Programs
+* Onboarding programs
+* Classrooms?
+* Code of conduct / diversity and inclusion team
+
+[[other-comments-and-thoughts]]
+=== Other comments and thoughts
+
+Other questions, comments, and ideas from our raw notes…
+
+* @bee2502's musings - some questions
+** How were you introduced to Fedora?
+1. By another Fedora contributor
+2. At a Fedora event (e.g. FAD / workshop / meetup / release party)
+3. Conference
+4. Hackerspace
+5. Red Hat
+6. Web / online
+** What makes it difficult contributing to Fedora for you?
+
+We also wanted to identify how the data will be used and clearly communicate how the data will be used (ideally, this outline or information being available for participants in the survey to review).
+
+
+[[relevant-resources]]
+= Relevant resources
+
+* *FLOSS Survey 2013*
+** https://floss2013.larjona.net/[Questions and results]
+** http://flosshub.org/content/women-freelibreopen-source-software-situation... in Free/Libre/Open Source Software: The Situation in the 2010s] paper with results analysis - note how they don't conclude that they have authoritative statistics on diversity of the FLOSS community, but instead focus on comparative analysis of different groups of respondents
+
+* *Apache Software Foundation Committer Diversity Survey*
+** http://mail-archives.apache.org/mod_mbox/www-announce/201611.mbox/%3Cpony... e-mail]
+** https://cwiki.apache.org/confluence/display/COMDEV/ASF+Committer+Diversit...
+
+
+[[survey-questions]]
+= Survey questions
+
+Below are the "ver. 1.0" version of the survey questions.
+Our last plan for these was to submit them to Fedora Legal for feedback, which I believe @bex and @marinaz were going to work on. These questions will also be updated in the https://fedoraproject.org/wiki/Diversity/Survey[Survey wiki page].
+
+[[fedora-and-free-and-open-source-software-usage-and-contributions]]
+=== Fedora and free and open source software usage and contributions
+
+* *How long have you been a Fedora user?*
+** I have never used Fedora
+** Less than 1 year
+** 1 to 3 years
+** 3 to 6 years
+** 6 to 10 years
+** Over 10 years
+** Prefer not to say
+* *How long have you been a Fedora contributor?*
+** I have never contributed to Fedora
+** Less than 1 year
+** 1 to 3 years
+** 3 to 6 years
+** 6 to 10 years
+** Over 10 years
+** Prefer not to say
+* *Please select types of contributions that you make to Fedora:*
+** Community (community leadership, new contributor outreach and onboarding, diversity and inclusion work, marketing, event organization)
+** Technical (packaging, programming, infrastructure, operations, release engineering, testing / QA, language-specific SIGs)
+** Other non-technical (design, documentation, localization, translation)
+** Prefer not to say
+** Other (please specify)
+* *Do you contribute to Fedora as a volunteer or as an employee of a company? [select all that apply]*
+** Volunteer (student)
+** Volunteer (unemployed)
+** Volunteer (retired)
+** Volunteer (outside regular job)
+** Employee (work-related contributions)
+** Prefer not to say
+** Other (please specify)
+* *On average, how many hours a week did you spend on Fedora contributions in the last three months?*
+** 0, I have not contributed in the last three months
+** Less than 2
+** 2 - 5
+** 6 - 10
+** 11 - 20
+** 21 - 40
+** More than 40
+** Prefer not to say
+* *What are the top reasons you contribute to Fedora? Please check a maximum of 4 answers.*
+** To participate in a global cooperative project
+** To participate in a free and open source software project
+** To improve a free and open source software project
+** Because I think that software should not be proprietary
+** To solve a problem that could not be done by proprietary software
+** To get help in realizing a good idea for a software project
+** To learn and develop new skills
+** To share my knowledge and skills
+** To improve my job opportunities
+** To get a reputation in the free and open source software scene
+** To meet other people in the free and open source software community
+** Because I enjoy working with other people in the community
+** To get funding to travel internationally
+** To earn a living
+** Prefer not to say
+** Other (please specify)
+* *Think of the time you made your first contribution to Fedora that was incorporated. What best describes your experience?*
+** My co-worker, who was paid to work on Fedora, helped me prepare the contribution
+** A person I already knew socially helped me prepare the contribution
+** A person I did not know before helped me prepare the contribution at an in-person event
+** A person I did not know before helped me prepare the contribution via electronic communications
+** A mentor for a third-party program (e.g. Google Summer of Code, Outreachy, etc.) helped me prepare the contribution via electornic communications
+** A mentor identified by the Fedora Project helped me prepare the contribution via electronic communications
+** A person whom I identified as a mentor helped me prepare the contribution via electronic communications
+** I submitted my contribution electronically for review and it was reviewed by my co-worker, who was paid to work on Fedora
+** I submitted my contribution electronically for review and it was reviewed by someone I already knew socially
+** I submitted my contribution electronically for review and it was reviewed by someone I didn’t know before
+** Prefer not to say
+** Other (please specify)
+* *Do you routinely use software that is not free and open source on Fedora?*
+** Yes, but only web-based applications like Google Docs
+** Yes, but only locally installed applications (including hardware drivers)
+** Yes, both web-based and locally installed applications
+** No
+** Prefer not to say
+** Other (please specify)
+
+[[demographics]]
+=== Demographics
+
+* *What is your gender?*
+** Male
+** Female
+** Non-binary
+** Prefer not to say
+** Other (please specify)
+* *Do you identify as lesbian, gay, bisexual, transgender or queer?*
+** Yes
+** No
+** Prefer not to say
+* *What is your age range?*
+** 17 or younger
+** 18 to 24
+** 25 to 34
+** 35 to 44
+** 45 to 54
+** 55 to 64
+** 65 to 74
+** Over 75
+** Prefer not to say
+* *Do you have any disability, including, but not limited to any of the ones listed https://www.dol.gov/ofccp/regs/compliance/sec503/Self_ID_Forms/VoluntaryS...
+** Yes
+** No
+** Prefer not to say
+* *Do you have a partner?*
+** No, I am a single
+** Yes, although we do not live together
+** Yes, I live together with my partner
+** Yes, I am married
+** Yes, I am married, but we do not live together
+** Prefer not to say
+** Other (please specify)
+* *How old is your youngest child?*
+** I don’t have children
+** Less than 2 years old
+** Between 2 years and 5 years old
+** Between 6 years and 10 years old
+** Between 11 years and 17 years old
+** 18 years or older
+** Prefer not to say
+* *What region of the world do you reside in?*
+** Asia and Pacific Countries (APAC)
+** Europe and the Middle East (EMEA)
+** Latin and South America (LATAM)
+** North America (NA)
+** Prefer not to say
+* *What is your country of residence? [FAS Country List - Divided by Region]*
+* *What is the highest level of education you have completed?*
+** Less than secondary (High) school
+** Secondary (High) school graduate or equivalent
+** Vocational / trade program or apprenticeship
+** Some college (working towards a first level university degree)
+** Some college (not pursuing a degree anymore)
+** Associate degree
+** Bachelor’s degree
+** Master’s degree
+** Doctorate (Ph.D.) or other advanced degree (e..g M.D., J.D.)
+** Prefer not to say
+** Other (please specify)
+* *If you are employed, what organization do you work for?*
+** I am not employed
+** Employed (please specify organization name)
+** Employed, but prefer not to specify the organization
+** Prefer not to say
+* *If you are employed, what do you work on? [select all that apply]*
+** I am not employed
+** Software development
+** System administration
+** Testing / QA / QE
+** Technical writing
+** UX/UI design
+** Marketing /communications
+** Community and event management
+** Prefer not to say
+** Other (please specify)
+
+[[perception-of-experience-with-and-attitudes-towards-diversity-and-inclusion]]
+=== Perception of, experience with, and attitudes towards diversity and inclusion
+
+_Should we use headers / categories for questions, we will want something easier to read for a "production" version of this section._
+
+The following questions can be presented as a table, with the same set of answer options.
+Questions about diverse perspectives, comfort with contributing ideas, valuing best ideas, and feeling respected were adapted from Red Hat Associate Survey.
+
+* *Please indicate how you feel about the following statements.*
+** Diverse perspectives are valued in the Fedora community.
+** I feel comfortable contributing my ideas (in meetings or online forums), even when my views differ from other contributors.
+** The people I collaborate with value the best ideas regardless of their source.
+** I feel respected when I share my ideas and opinions in the Fedora community.
+** Having greater diversity of contributors will positively impact the Fedora Project.
+** I’m appreciated for the contributions I make.
+* *Information about Fedora processes, policies or guidelines is easy to find.*
+** Strongly agree
+** Agree
+** Slightly agree
+** Neither agree nor disagree
+** Slightly disagree
+** Disagree
+** Strongly disagree
+
+Please do not put any identifying information about yourself or others in either text box.
+
+* *Is there anything you believe would improve the inclusivity of the Fedora community?*
+* *Do you have any feedback on this survey and are there any additional questions you believe it should have asked?*
diff --git a/modules/ROOT/pages/events.adoc b/modules/ROOT/pages/events.adoc
new file mode 100644
index 0000000..f57a83f
--- /dev/null
+++ b/modules/ROOT/pages/events.adoc
@@ -0,0 +1,71 @@
+= Events
+
+The purpose of this page is to build a *Fedora Diversity events calendar* and to identify *regional participation* for each event.
+Since the agenda of the Diversity and Inclusion team is to assist minorities and promote a more inclusive Fedora community, we are targeting events which are minority-specific.
+
+This page is maintained by the Fedora Diversity and Inclusion Team.
+In case of any modifications required, please contact a link:Diversity#Team_Members[Diversity and Inclusion Team member] or the link:Diversity_Adviser[Diversity Adviser].
+
+
+[[event-list]]
+== Event list
+
+1. **FWD (Fedora Women's Day)**
+* link:Fedora_Women_Day_2016[Fedora Women's Day] is a day to celebrate and thank the women contributors across the Fedora Project.
+ It is celebrated every year on (or near) July 15, the anniversary of the Fedora Women project in 2006.
+* The 2016 event was a success and we would love to host it again.
+ We will pre-plan this in advance, create the resources we need to spread it wider to include more people.
+ The link for the 2016 page is link:Fedora_Women_Day_2016[here].
+* Areas to improve on for 2017:
+** Communication and coordination with regional Ambassadors
+** Reaching out to more local communities ahead of time (including existing teams like Open Labs in Albania and other groups in Greece and India)
+*** #idea http://wic.rit.edu/[WiC at RIT]?
+** Providing resources / slide decks ahead of time for event organizers (common foundation for local events)
+** Time zone planning (WhenIsGood poll could be helpful for planning times with regional organizers for video calls with link:Diversity_Adviser[Diversity Adviser] / other team members
+2. **FLISoL**
+* https://en.wikipedia.org/wiki/FLISOL[FLISoL], an acronym for Festival Latinoamericano de Instalación de Software Libre (Latin American free software install fest), is the biggest event for spreading Software Libre in Latin America since 2005.
+ It is performed simultaneously in different countries of Latin America.
+ In 2012, more than 290 cities from
+ 20 countries participated on a FLISoL.
+* Our Fedora link:Diversity_Adviser[Diversity Adviser], User:Tatica[tatica], will make some efforts to put a Fedora Diversity talk in as many locations as she can.
+ This will help target the "Latam-Hispanic" group.
+ We can align our regional / local events to support this.
+3. **LGBT community**
+* To raise awareness, we will also hold some activities for the LGBT community.
+ However, since the worldwide celebration of International Day Against Homophobia, Transphobia, and Biphobia would be on Wednesday, May 17, 2017, we could do it on *Saturday, May 20, 2017*.
+ A panel like we did for FWD might be fantastic.
+4. **Disabilities**
+* We will include a day to celebrate those who, despite the adversity, have conquered their disabilities to work with us at Fedora.
+ The International Day of Persons with Disabilities will be next on *Saturday, December 3, 2017*.
+ We could host a panel where they show us how they have "conquered the IT world".
+5. **Fedora Diversity Day / FAD**
+* We would like to initiate recognizing a Fedora Diversity Day.
+ We would love this to be a yearly FAD or something that we can consider a Diversity and Inclusion team's own event to review numbers, strategies, and so on.
+ We are sure that we will work on having a FAD to match our goals and we will be able to have a proper diversity (general) event.
+ Link for this is link:FAD_Diversity_2017[here].
+6. **Diversity Panel**
+* The next Diversity Panel planning in process.
+ More on this is https://pagure.io/fedora-diversity/issue/10[here] in the ticket.
+7. **Diversity and Inclusion Team presence at Flock 2017**
+* Fedora Diversity Panel, and…
+* Women in Open Source
+* More information on Flock 2016 panels and talks can be found on these blog posts:
+** https://whatamithinks.wordpress.com/2016/08/15/480/
+** https://blog.justinwflory.com/2016/08/fedora-flock-2016/
+
+
+[[links]]
+== Links
+
+1. https://en.wikipedia.org/wiki/International_Day_Against_Homophobia,_Trans...
+2. https://en.wikipedia.org/wiki/United_Nations%27_International_Day_of_Pers...
+
+
+[[additional-information]]
+== Additional information
+
+* link:How_to_organize_a_Fedora_event[Organization] -- event organization, budget information, and regional responsibility.
+* link:Event_reports[Event reports] -- guidelines and suggestions.
+* link:Event_Wiki_Template[Event Wiki Template] -- template for Event pages
+* link:Linux_Events[Linux events] -- a collection of calendars of Linux events.
+* https://opensource.com/resources/conferences-and-events-monthly[OpenSourc... events calendar] -- community calendar of Linux events happening across the world to be shared with the open source community
diff --git a/modules/ROOT/pages/fedora-womens-day/about.adoc b/modules/ROOT/pages/fedora-womens-day/about.adoc
new file mode 100644
index 0000000..d8744ed
--- /dev/null
+++ b/modules/ROOT/pages/fedora-womens-day/about.adoc
@@ -0,0 +1,11 @@
+= About Fedora Women's Day
+
+link:{{PAGENAME}}[Fedora Women's Day] (FWD) is a day of celebration to help raise awareness and thanks for the women contributors across the
+Fedora Project.
+Fedora Women's Day marks the anniversary of the link:Women[Fedora Women] team.
+The event is headed by Fedora's link:Diversity_and_Inclusion_Team[Diversity and Inclusion Team].
+
+During September, we'd like to bring more women contributors across Fedora together with one another.
+Fedora Women's Day events highlight and celebrate the women in open source communities like Fedora and their invaluable contributions to their projects and community.
+They are an opportunity for women to learn about free and open source software and jump-start their journey as a FOSS user and/or a contributor.
+They also provide a platform for women to connect, learn, and be inspired by other women in open source communities and beyond.
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
5 years, 7 months
[Arch-excludes] Architecture specific change in rpms/nvml.git
by githook-noreply@fedoraproject.org
The package rpms/nvml.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/nvml.git/commit/?id=69c4e5835e2c5...
https://src.fedoraproject.org/cgit/rpms/nvml.git/commit/?id=4c9749f56c02c....
Change:
+ExclusiveArch: x86_64
-ExclusiveArch: x86_64
Thanks.
Full change:
============
commit 4c9749f56c02c79df3d3327986694d3a1c7151a7
Author: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Fri Mar 30 11:44:27 2018 +0200
Temporarily revert package name change
diff --git a/.gitignore b/.gitignore
index 8e808ce..f9e5c64 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
/pmdk-1.4.tar.gz
+/nvml-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
new file mode 100644
index 0000000..5bb41b4
--- /dev/null
+++ b/nvml.spec
@@ -0,0 +1,882 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define _testconfig <path to custom testconfig.sh>
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in %%files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _skip_check 1
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: nvml
+Version: 1.4
+Release: 3%{?dist}
+Summary: Persistent Memory Development Kit (former NVML)
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools < %{version}-%{release}
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if 0%{?_skip_check} == 1
+ echo "Check skipped"
+%else
+ %if %{defined _testconfig}
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Fri Mar 30 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-3
+- Revert package name change
+- Re-enable check
+
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-2
+- Fix issues found by rpmlint
+
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
deleted file mode 100644
index 5aebf71..0000000
--- a/pmdk.spec
+++ /dev/null
@@ -1,880 +0,0 @@
-
-# rpmbuild options:
-# --with | --without fabric
-# --with | --without ndctl
-# --define "_testconfig <path to custom testconfig.sh or 'default'>"
-# --define "_check <1|0>" - run make check or not
-#
-
-# do not terminate build if files in the $RPM_BUILD_ROOT
-# directory are not found in %%files (without fabric case)
-%define _unpackaged_files_terminate_build 0
-
-# disable 'make check' on suse
-%if %{defined suse_version}
- %define _check 0
- %define dist .suse%{suse_version}
-%endif
-
-%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
-%bcond_without fabric
-%else
-%bcond_with fabric
-%endif
-
-# by default build w/o ndctl, unless explicitly enabled
-%bcond_with ndctl
-
-%define min_libfabric_ver 1.4.2
-%define min_ndctl_ver 59.2
-
-Name: pmdk
-Version: 1.4
-Release: 2%{?dist}
-Summary: Persistent Memory Development Kit
-License: BSD
-URL: http://pmem.io/pmdk
-
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: gcc
-BuildRequires: make
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%if %{with ndctl}
-BuildRequires: ndctl-devel >= %{min_ndctl_ver}
-BuildRequires: daxctl-devel >= %{min_ndctl_ver}
-%endif
-
-%if %{with fabric}
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-%endif
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
-
-# By design, PMDK does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-
-ExclusiveArch: x86_64
-
-%description
-The Persistent Memory Development Kit is a collection of libraries for
-using memory-mapped persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/pmdk
-%{_libdir}/libpmem.so.*
-%{_datadir}/pmdk/pmdk.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man7/libpmem.7.gz
-%{_mandir}/man3/pmem_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmem.so
-%{_libdir}/pmdk_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man7/libpmemblk.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemblk_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemblk.so
-%{_libdir}/pmdk_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man7/libpmemlog.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemlog_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemlog.so
-%{_libdir}/pmdk_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man7/libpmemobj.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemobj_*.3.gz
-%{_mandir}/man3/pobj_*.3.gz
-%{_mandir}/man3/oid_*.3.gz
-%{_mandir}/man3/toid*.3.gz
-%{_mandir}/man3/direct_*.3.gz
-%{_mandir}/man3/d_r*.3.gz
-%{_mandir}/man3/tx_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemobj.so
-%{_libdir}/pmdk_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man7/libvmem.7.gz
-%{_mandir}/man3/vmem_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libvmem.so
-%{_libdir}/pmdk_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man7/libvmmalloc.7.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libvmmalloc.so
-%{_libdir}/pmdk_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man7/libpmempool.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmempool_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmempool.so
-%{_libdir}/pmdk_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%if %{with fabric}
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man7/librpmem.7.gz
-%{_mandir}/man3/rpmem_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/librpmem.so
-%{_libdir}/pmdk_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-%endif # _with_fabric
-
-
-%package -n libpmemcto
-Summary: Close-to-Open Persistence library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemcto
-The libpmemcto library is a Persistent Memory allocator with no overhead
-imposed by run-time flushing or transactional updates.
-
-%files -n libpmemcto
-%defattr(-,root,root,-)
-%{_libdir}/libpmemcto.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemcto-devel
-Summary: Development files for Close-to-Open Persistence library
-Group: Development/Libraries
-Requires: libpmemcto = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemcto-devel
-The libpmemcto library is a Persistent Memory allocator with no overhead
-imposed by run-time flushing or transactional updates.
-
-%files -n libpmemcto-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemcto.so
-%{_libdir}/pkgconfig/libpmemcto.pc
-%{_includedir}/libpmemcto.h
-%{_mandir}/man7/libpmemcto.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemcto*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemcto-debug
-Summary: Debug variant of the Close-to-Open Persistence library
-Group: Development/Libraries
-Requires: libpmemcto = %{version}-%{release}
-%description -n libpmemcto-debug
-The libpmemcto library is a Persistent Memory allocator with no overhead
-imposed by run-time flushing or transactional updates.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemcto-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemcto.so
-%{_libdir}/pmdk_debug/libpmemcto.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n pmempool
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-Requires: libpmemcto >= %{version}-%{release}
-Obsoletes: nvml-tools < %{version}-%{release}
-%description -n pmempool
-The pmempool is a standalone utility for management and off-line analysis
-of Persistent Memory pools created by PMDK libraries. It provides a set
-of utilities for administration and diagnostics of Persistent Memory pools.
-The pmempool may be useful for troubleshooting by system administrators
-and users of the applications based on PMDK libraries.
-
-%files -n pmempool
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-*.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%if %{with ndctl}
-
-%package -n daxio
-Summary: Perform I/O on Device DAX devices or zero a Device DAX device
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-%description -n daxio
-The daxio utility performs I/O on Device DAX devices or zero
-a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
-with Device DAX, data transfer is performed on a memory-mapped device.
-The daxio may be used to dump Device DAX data to a file, restore data from
-a backup copy, move/copy data to another device or to erase data from
-a device.
-
-%files -n daxio
-%{_bindir}/daxio
-%{_mandir}/man1/daxio.1.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-%endif # _with_ndctl
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-
-%build
-# For debug build default flags may be overriden to disable compiler
-# optimizations.
-CFLAGS="%{optflags}" \
-LDFLAGS="%{?__global_ldflags}" \
-make %{?_smp_mflags} NORPATH=1
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/pmdk
-cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
-
-
-
-%check
-%if "%{_check}" == "1"
- %if "%{_testconfig}" != "default"
- cp %{_testconfig} src/test/testconfig.sh
- %else
- echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
- echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
- %endif
- make check
-%else
- echo "Check skipped"
-%endif
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n libpmemcto -p /sbin/ldconfig
-%postun -n libpmemcto -p /sbin/ldconfig
-
-%if %{with fabric}
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-%endif
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-2
-- Fix issues found by rpmlint
-
-* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
-- Rename NVML project to PMDK
-- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
-
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/sources b/sources
index 087d117..f7c359f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
+SHA512 (nvml-1.4.tar.gz) = 80065f954383ff75091ded14b17e32019ade6bbac9d5cd634331516d8253a0cf1689335a1a9e418e42a34e01d162bff7f76f96ae488115d9016a91d34f6fda5c
commit bf94a0ea0d87ee562e1e3256f704fefe74ae97d5
Author: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Thu Mar 29 21:26:59 2018 +0200
Fix issues found by rpmlint
diff --git a/pmdk.spec b/pmdk.spec
index dee0362..5aebf71 100644
--- a/pmdk.spec
+++ b/pmdk.spec
@@ -7,7 +7,7 @@
#
# do not terminate build if files in the $RPM_BUILD_ROOT
-# directory are not found in the %files (without fabric case)
+# directory are not found in %%files (without fabric case)
%define _unpackaged_files_terminate_build 0
# disable 'make check' on suse
@@ -30,7 +30,7 @@
Name: pmdk
Version: 1.4
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Persistent Memory Development Kit
License: BSD
URL: http://pmem.io/pmdk
@@ -704,7 +704,7 @@ Requires: libpmemblk >= %{version}-%{release}
Requires: libpmemobj >= %{version}-%{release}
Requires: libpmempool >= %{version}-%{release}
Requires: libpmemcto >= %{version}-%{release}
-Obsoletes: nvml-tools
+Obsoletes: nvml-tools < %{version}-%{release}
%description -n pmempool
The pmempool is a standalone utility for management and off-line analysis
of Persistent Memory pools created by PMDK libraries. It provides a set
@@ -814,6 +814,9 @@ cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-2
+- Fix issues found by rpmlint
+
* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
- Rename NVML project to PMDK
- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
commit 69c4e5835e2c5e23e44e6ade250ea4beada91cf0
Author: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Thu Mar 29 21:13:43 2018 +0200
PMDK 1.4 release
diff --git a/.gitignore b/.gitignore
index bd78bc5..8e808ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
+/pmdk-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
deleted file mode 100644
index 86f5c86..0000000
--- a/nvml.spec
+++ /dev/null
@@ -1,720 +0,0 @@
-
-Name: nvml
-Version: 1.3.1
-Release: 2%{?dist}
-Summary: Non-Volatile Memory Library
-License: BSD
-URL: http://pmem.io/nvml
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%define min_libfabric_ver 1.4.2
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/nvml_debug/.*\\.so.*$
-
-# By design, NVML does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64
-
-%description
-The NVM Library is a collection of libraries for using memory-mapped
-persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/nvml
-%{_libdir}/libpmem.so.*
-%{_datadir}/nvml/nvml.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man3/libpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmem.so
-%{_libdir}/nvml_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man3/libpmemblk.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemblk.so
-%{_libdir}/nvml_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man3/libpmemlog.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemlog.so
-%{_libdir}/nvml_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man3/libpmemobj.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemobj.so
-%{_libdir}/nvml_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man3/libvmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmem.so
-%{_libdir}/nvml_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man3/libvmmalloc.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmmalloc.so
-%{_libdir}/nvml_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man3/libpmempool.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmempool.so
-%{_libdir}/nvml_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man3/librpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/librpmem.so
-%{_libdir}/nvml_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-
-%package tools
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-%description tools
-Useful applications for administration and diagnosis of persistent memory.
-
-%files tools
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-check.1.gz
-%{_mandir}/man1/pmempool-convert.1.gz
-%{_mandir}/man1/pmempool-create.1.gz
-%{_mandir}/man1/pmempool-dump.1.gz
-%{_mandir}/man1/pmempool-info.1.gz
-%{_mandir}/man1/pmempool-rm.1.gz
-%{_mandir}/man1/pmempool-sync.1.gz
-%{_mandir}/man1/pmempool-transform.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%build
-# Currently, NVML makefiles do not allow to easily override CFLAGS,
-# so the build flags are passed via EXTRA_CFLAGS. For debug build
-# selected flags are overriden to disable compiler optimizations.
-EXTRA_CFLAGS_RELEASE="%{optflags}" \
-EXTRA_CFLAGS_DEBUG="%{optflags} -Wp,-U_FORTIFY_SOURCE -O0" \
-EXTRA_CXXFLAGS="%{optflags}" \
-make %{?_smp_mflags}
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/nvml
-cp utils/nvml.magic %{buildroot}%{_datadir}/nvml/
-
-
-%check
-echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
-echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
-make check
-
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
new file mode 100644
index 0000000..dee0362
--- /dev/null
+++ b/pmdk.spec
@@ -0,0 +1,877 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define "_testconfig <path to custom testconfig.sh or 'default'>"
+# --define "_check <1|0>" - run make check or not
+#
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in the %files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _check 0
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: pmdk
+Version: 1.4
+Release: 1%{?dist}
+Summary: Persistent Memory Development Kit
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if "%{_check}" == "1"
+ %if "%{_testconfig}" != "default"
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%else
+ echo "Check skipped"
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/sources b/sources
index ab9af0d..087d117 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
+SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
commit 0b43337c7519fcadb93aa8fa9af70a0aa99ab4ed
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Feb 8 08:39:38 2018 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/nvml.spec b/nvml.spec
index 3c19ba7..86f5c86 100644
--- a/nvml.spec
+++ b/nvml.spec
@@ -1,7 +1,7 @@
Name: nvml
Version: 1.3.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Non-Volatile Memory Library
License: BSD
URL: http://pmem.io/nvml
@@ -661,6 +661,9 @@ make check
%changelog
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
- Update to NVML version 1.3.1 (RHBZ #1480578)
commit 365af7daa5376462e19407d77ef996cadc969a31
Author: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Sat Jan 27 14:49:55 2018 +0100
NVML 1.3.1 release
diff --git a/.gitignore b/.gitignore
index b7c4364..bd78bc5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/nvml-1.2.2.tar.gz
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
+/nvml-1.3.1.tar.gz
diff --git a/nvml.spec b/nvml.spec
index c7055fe..3c19ba7 100644
--- a/nvml.spec
+++ b/nvml.spec
@@ -1,7 +1,7 @@
Name: nvml
-Version: 1.3
-Release: 3%{?dist}
+Version: 1.3.1
+Release: 1%{?dist}
Summary: Non-Volatile Memory Library
License: BSD
URL: http://pmem.io/nvml
@@ -661,6 +661,9 @@ make check
%changelog
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
diff --git a/sources b/sources
index cb65b14..ab9af0d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.tar.gz) = 59fb552c693d5279ec86eff8eb1c36832c9c5beb6492a64b54b21c09d90ed52cba22d57912a304cf1ec17c4633da641200fd50dbe4a38355f43c674842f991bd
+SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
5 years, 11 months
[Arch-excludes] Architecture specific change in rpms/nvml.git
by githook-noreply@fedoraproject.org
The package rpms/nvml.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/nvml.git/commit/?id=69c4e5835e2c5...
https://src.fedoraproject.org/cgit/rpms/nvml.git/commit/?id=4c9749f56c02c....
Change:
+ExclusiveArch: x86_64
-ExclusiveArch: x86_64
Thanks.
Full change:
============
commit 4c9749f56c02c79df3d3327986694d3a1c7151a7
Author: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Fri Mar 30 11:44:27 2018 +0200
Temporarily revert package name change
diff --git a/.gitignore b/.gitignore
index 8e808ce..f9e5c64 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
/pmdk-1.4.tar.gz
+/nvml-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
new file mode 100644
index 0000000..5bb41b4
--- /dev/null
+++ b/nvml.spec
@@ -0,0 +1,882 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define _testconfig <path to custom testconfig.sh>
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in %%files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _skip_check 1
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: nvml
+Version: 1.4
+Release: 3%{?dist}
+Summary: Persistent Memory Development Kit (former NVML)
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools < %{version}-%{release}
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if 0%{?_skip_check} == 1
+ echo "Check skipped"
+%else
+ %if %{defined _testconfig}
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Fri Mar 30 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-3
+- Revert package name change
+- Re-enable check
+
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-2
+- Fix issues found by rpmlint
+
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
deleted file mode 100644
index 5aebf71..0000000
--- a/pmdk.spec
+++ /dev/null
@@ -1,880 +0,0 @@
-
-# rpmbuild options:
-# --with | --without fabric
-# --with | --without ndctl
-# --define "_testconfig <path to custom testconfig.sh or 'default'>"
-# --define "_check <1|0>" - run make check or not
-#
-
-# do not terminate build if files in the $RPM_BUILD_ROOT
-# directory are not found in %%files (without fabric case)
-%define _unpackaged_files_terminate_build 0
-
-# disable 'make check' on suse
-%if %{defined suse_version}
- %define _check 0
- %define dist .suse%{suse_version}
-%endif
-
-%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
-%bcond_without fabric
-%else
-%bcond_with fabric
-%endif
-
-# by default build w/o ndctl, unless explicitly enabled
-%bcond_with ndctl
-
-%define min_libfabric_ver 1.4.2
-%define min_ndctl_ver 59.2
-
-Name: pmdk
-Version: 1.4
-Release: 2%{?dist}
-Summary: Persistent Memory Development Kit
-License: BSD
-URL: http://pmem.io/pmdk
-
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: gcc
-BuildRequires: make
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%if %{with ndctl}
-BuildRequires: ndctl-devel >= %{min_ndctl_ver}
-BuildRequires: daxctl-devel >= %{min_ndctl_ver}
-%endif
-
-%if %{with fabric}
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-%endif
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
-
-# By design, PMDK does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-
-ExclusiveArch: x86_64
-
-%description
-The Persistent Memory Development Kit is a collection of libraries for
-using memory-mapped persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/pmdk
-%{_libdir}/libpmem.so.*
-%{_datadir}/pmdk/pmdk.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man7/libpmem.7.gz
-%{_mandir}/man3/pmem_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmem.so
-%{_libdir}/pmdk_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man7/libpmemblk.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemblk_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemblk.so
-%{_libdir}/pmdk_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man7/libpmemlog.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemlog_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemlog.so
-%{_libdir}/pmdk_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man7/libpmemobj.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemobj_*.3.gz
-%{_mandir}/man3/pobj_*.3.gz
-%{_mandir}/man3/oid_*.3.gz
-%{_mandir}/man3/toid*.3.gz
-%{_mandir}/man3/direct_*.3.gz
-%{_mandir}/man3/d_r*.3.gz
-%{_mandir}/man3/tx_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemobj.so
-%{_libdir}/pmdk_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man7/libvmem.7.gz
-%{_mandir}/man3/vmem_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libvmem.so
-%{_libdir}/pmdk_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man7/libvmmalloc.7.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libvmmalloc.so
-%{_libdir}/pmdk_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man7/libpmempool.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmempool_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmempool.so
-%{_libdir}/pmdk_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%if %{with fabric}
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man7/librpmem.7.gz
-%{_mandir}/man3/rpmem_*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/librpmem.so
-%{_libdir}/pmdk_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-%endif # _with_fabric
-
-
-%package -n libpmemcto
-Summary: Close-to-Open Persistence library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemcto
-The libpmemcto library is a Persistent Memory allocator with no overhead
-imposed by run-time flushing or transactional updates.
-
-%files -n libpmemcto
-%defattr(-,root,root,-)
-%{_libdir}/libpmemcto.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemcto-devel
-Summary: Development files for Close-to-Open Persistence library
-Group: Development/Libraries
-Requires: libpmemcto = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemcto-devel
-The libpmemcto library is a Persistent Memory allocator with no overhead
-imposed by run-time flushing or transactional updates.
-
-%files -n libpmemcto-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemcto.so
-%{_libdir}/pkgconfig/libpmemcto.pc
-%{_includedir}/libpmemcto.h
-%{_mandir}/man7/libpmemcto.7.gz
-%{_mandir}/man5/poolset.5.gz
-%{_mandir}/man3/pmemcto*.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemcto-debug
-Summary: Debug variant of the Close-to-Open Persistence library
-Group: Development/Libraries
-Requires: libpmemcto = %{version}-%{release}
-%description -n libpmemcto-debug
-The libpmemcto library is a Persistent Memory allocator with no overhead
-imposed by run-time flushing or transactional updates.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/pmdk_debug.
-
-%files -n libpmemcto-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/pmdk_debug
-%{_libdir}/pmdk_debug/libpmemcto.so
-%{_libdir}/pmdk_debug/libpmemcto.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n pmempool
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-Requires: libpmemcto >= %{version}-%{release}
-Obsoletes: nvml-tools < %{version}-%{release}
-%description -n pmempool
-The pmempool is a standalone utility for management and off-line analysis
-of Persistent Memory pools created by PMDK libraries. It provides a set
-of utilities for administration and diagnostics of Persistent Memory pools.
-The pmempool may be useful for troubleshooting by system administrators
-and users of the applications based on PMDK libraries.
-
-%files -n pmempool
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-*.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%if %{with ndctl}
-
-%package -n daxio
-Summary: Perform I/O on Device DAX devices or zero a Device DAX device
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-%description -n daxio
-The daxio utility performs I/O on Device DAX devices or zero
-a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
-with Device DAX, data transfer is performed on a memory-mapped device.
-The daxio may be used to dump Device DAX data to a file, restore data from
-a backup copy, move/copy data to another device or to erase data from
-a device.
-
-%files -n daxio
-%{_bindir}/daxio
-%{_mandir}/man1/daxio.1.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-%endif # _with_ndctl
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-
-%build
-# For debug build default flags may be overriden to disable compiler
-# optimizations.
-CFLAGS="%{optflags}" \
-LDFLAGS="%{?__global_ldflags}" \
-make %{?_smp_mflags} NORPATH=1
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/pmdk
-cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
-
-
-
-%check
-%if "%{_check}" == "1"
- %if "%{_testconfig}" != "default"
- cp %{_testconfig} src/test/testconfig.sh
- %else
- echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
- echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
- %endif
- make check
-%else
- echo "Check skipped"
-%endif
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n libpmemcto -p /sbin/ldconfig
-%postun -n libpmemcto -p /sbin/ldconfig
-
-%if %{with fabric}
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-%endif
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-2
-- Fix issues found by rpmlint
-
-* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
-- Rename NVML project to PMDK
-- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
-
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/sources b/sources
index 087d117..f7c359f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
+SHA512 (nvml-1.4.tar.gz) = 80065f954383ff75091ded14b17e32019ade6bbac9d5cd634331516d8253a0cf1689335a1a9e418e42a34e01d162bff7f76f96ae488115d9016a91d34f6fda5c
commit bf94a0ea0d87ee562e1e3256f704fefe74ae97d5
Author: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Thu Mar 29 21:26:59 2018 +0200
Fix issues found by rpmlint
diff --git a/pmdk.spec b/pmdk.spec
index dee0362..5aebf71 100644
--- a/pmdk.spec
+++ b/pmdk.spec
@@ -7,7 +7,7 @@
#
# do not terminate build if files in the $RPM_BUILD_ROOT
-# directory are not found in the %files (without fabric case)
+# directory are not found in %%files (without fabric case)
%define _unpackaged_files_terminate_build 0
# disable 'make check' on suse
@@ -30,7 +30,7 @@
Name: pmdk
Version: 1.4
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Persistent Memory Development Kit
License: BSD
URL: http://pmem.io/pmdk
@@ -704,7 +704,7 @@ Requires: libpmemblk >= %{version}-%{release}
Requires: libpmemobj >= %{version}-%{release}
Requires: libpmempool >= %{version}-%{release}
Requires: libpmemcto >= %{version}-%{release}
-Obsoletes: nvml-tools
+Obsoletes: nvml-tools < %{version}-%{release}
%description -n pmempool
The pmempool is a standalone utility for management and off-line analysis
of Persistent Memory pools created by PMDK libraries. It provides a set
@@ -814,6 +814,9 @@ cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-2
+- Fix issues found by rpmlint
+
* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
- Rename NVML project to PMDK
- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
commit 69c4e5835e2c5e23e44e6ade250ea4beada91cf0
Author: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Thu Mar 29 21:13:43 2018 +0200
PMDK 1.4 release
diff --git a/.gitignore b/.gitignore
index bd78bc5..8e808ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
+/pmdk-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
deleted file mode 100644
index 86f5c86..0000000
--- a/nvml.spec
+++ /dev/null
@@ -1,720 +0,0 @@
-
-Name: nvml
-Version: 1.3.1
-Release: 2%{?dist}
-Summary: Non-Volatile Memory Library
-License: BSD
-URL: http://pmem.io/nvml
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%define min_libfabric_ver 1.4.2
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/nvml_debug/.*\\.so.*$
-
-# By design, NVML does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64
-
-%description
-The NVM Library is a collection of libraries for using memory-mapped
-persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/nvml
-%{_libdir}/libpmem.so.*
-%{_datadir}/nvml/nvml.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man3/libpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmem.so
-%{_libdir}/nvml_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man3/libpmemblk.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemblk.so
-%{_libdir}/nvml_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man3/libpmemlog.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemlog.so
-%{_libdir}/nvml_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man3/libpmemobj.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemobj.so
-%{_libdir}/nvml_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man3/libvmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmem.so
-%{_libdir}/nvml_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man3/libvmmalloc.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmmalloc.so
-%{_libdir}/nvml_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man3/libpmempool.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmempool.so
-%{_libdir}/nvml_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man3/librpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/librpmem.so
-%{_libdir}/nvml_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-
-%package tools
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-%description tools
-Useful applications for administration and diagnosis of persistent memory.
-
-%files tools
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-check.1.gz
-%{_mandir}/man1/pmempool-convert.1.gz
-%{_mandir}/man1/pmempool-create.1.gz
-%{_mandir}/man1/pmempool-dump.1.gz
-%{_mandir}/man1/pmempool-info.1.gz
-%{_mandir}/man1/pmempool-rm.1.gz
-%{_mandir}/man1/pmempool-sync.1.gz
-%{_mandir}/man1/pmempool-transform.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%build
-# Currently, NVML makefiles do not allow to easily override CFLAGS,
-# so the build flags are passed via EXTRA_CFLAGS. For debug build
-# selected flags are overriden to disable compiler optimizations.
-EXTRA_CFLAGS_RELEASE="%{optflags}" \
-EXTRA_CFLAGS_DEBUG="%{optflags} -Wp,-U_FORTIFY_SOURCE -O0" \
-EXTRA_CXXFLAGS="%{optflags}" \
-make %{?_smp_mflags}
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/nvml
-cp utils/nvml.magic %{buildroot}%{_datadir}/nvml/
-
-
-%check
-echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
-echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
-make check
-
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
new file mode 100644
index 0000000..dee0362
--- /dev/null
+++ b/pmdk.spec
@@ -0,0 +1,877 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define "_testconfig <path to custom testconfig.sh or 'default'>"
+# --define "_check <1|0>" - run make check or not
+#
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in the %files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _check 0
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: pmdk
+Version: 1.4
+Release: 1%{?dist}
+Summary: Persistent Memory Development Kit
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if "%{_check}" == "1"
+ %if "%{_testconfig}" != "default"
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%else
+ echo "Check skipped"
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/sources b/sources
index ab9af0d..087d117 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
+SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
6 years
krzycz pushed to nvml (master). "PMDK 1.4 release"
by notifications@fedoraproject.org
From 69c4e5835e2c5e23e44e6ade250ea4beada91cf0 Mon Sep 17 00:00:00 2001
From: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Mar 29 2018 19:13:43 +0000
Subject: PMDK 1.4 release
---
diff --git a/.gitignore b/.gitignore
index bd78bc5..8e808ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
+/pmdk-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
deleted file mode 100644
index 86f5c86..0000000
--- a/nvml.spec
+++ /dev/null
@@ -1,720 +0,0 @@
-
-Name: nvml
-Version: 1.3.1
-Release: 2%{?dist}
-Summary: Non-Volatile Memory Library
-License: BSD
-URL: http://pmem.io/nvml
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%define min_libfabric_ver 1.4.2
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/nvml_debug/.*\\.so.*$
-
-# By design, NVML does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64
-
-%description
-The NVM Library is a collection of libraries for using memory-mapped
-persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/nvml
-%{_libdir}/libpmem.so.*
-%{_datadir}/nvml/nvml.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man3/libpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmem.so
-%{_libdir}/nvml_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man3/libpmemblk.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemblk.so
-%{_libdir}/nvml_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man3/libpmemlog.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemlog.so
-%{_libdir}/nvml_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man3/libpmemobj.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemobj.so
-%{_libdir}/nvml_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man3/libvmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmem.so
-%{_libdir}/nvml_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man3/libvmmalloc.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmmalloc.so
-%{_libdir}/nvml_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man3/libpmempool.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmempool.so
-%{_libdir}/nvml_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man3/librpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/librpmem.so
-%{_libdir}/nvml_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-
-%package tools
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-%description tools
-Useful applications for administration and diagnosis of persistent memory.
-
-%files tools
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-check.1.gz
-%{_mandir}/man1/pmempool-convert.1.gz
-%{_mandir}/man1/pmempool-create.1.gz
-%{_mandir}/man1/pmempool-dump.1.gz
-%{_mandir}/man1/pmempool-info.1.gz
-%{_mandir}/man1/pmempool-rm.1.gz
-%{_mandir}/man1/pmempool-sync.1.gz
-%{_mandir}/man1/pmempool-transform.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%build
-# Currently, NVML makefiles do not allow to easily override CFLAGS,
-# so the build flags are passed via EXTRA_CFLAGS. For debug build
-# selected flags are overriden to disable compiler optimizations.
-EXTRA_CFLAGS_RELEASE="%{optflags}" \
-EXTRA_CFLAGS_DEBUG="%{optflags} -Wp,-U_FORTIFY_SOURCE -O0" \
-EXTRA_CXXFLAGS="%{optflags}" \
-make %{?_smp_mflags}
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/nvml
-cp utils/nvml.magic %{buildroot}%{_datadir}/nvml/
-
-
-%check
-echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
-echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
-make check
-
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
new file mode 100644
index 0000000..dee0362
--- /dev/null
+++ b/pmdk.spec
@@ -0,0 +1,877 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define "_testconfig <path to custom testconfig.sh or 'default'>"
+# --define "_check <1|0>" - run make check or not
+#
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in the %files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _check 0
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: pmdk
+Version: 1.4
+Release: 1%{?dist}
+Summary: Persistent Memory Development Kit
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if "%{_check}" == "1"
+ %if "%{_testconfig}" != "default"
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%else
+ echo "Check skipped"
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/sources b/sources
index ab9af0d..087d117 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
+SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
https://src.fedoraproject.org/rpms/nvml/c/69c4e5835e2c5e23e44e6ade250ea4b...
6 years
krzycz pushed to nvml (f28). "PMDK 1.4 release"
by notifications@fedoraproject.org
From 69c4e5835e2c5e23e44e6ade250ea4beada91cf0 Mon Sep 17 00:00:00 2001
From: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Mar 29 2018 19:13:43 +0000
Subject: PMDK 1.4 release
---
diff --git a/.gitignore b/.gitignore
index bd78bc5..8e808ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
+/pmdk-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
deleted file mode 100644
index 86f5c86..0000000
--- a/nvml.spec
+++ /dev/null
@@ -1,720 +0,0 @@
-
-Name: nvml
-Version: 1.3.1
-Release: 2%{?dist}
-Summary: Non-Volatile Memory Library
-License: BSD
-URL: http://pmem.io/nvml
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%define min_libfabric_ver 1.4.2
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/nvml_debug/.*\\.so.*$
-
-# By design, NVML does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64
-
-%description
-The NVM Library is a collection of libraries for using memory-mapped
-persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/nvml
-%{_libdir}/libpmem.so.*
-%{_datadir}/nvml/nvml.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man3/libpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmem.so
-%{_libdir}/nvml_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man3/libpmemblk.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemblk.so
-%{_libdir}/nvml_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man3/libpmemlog.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemlog.so
-%{_libdir}/nvml_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man3/libpmemobj.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemobj.so
-%{_libdir}/nvml_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man3/libvmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmem.so
-%{_libdir}/nvml_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man3/libvmmalloc.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmmalloc.so
-%{_libdir}/nvml_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man3/libpmempool.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmempool.so
-%{_libdir}/nvml_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man3/librpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/librpmem.so
-%{_libdir}/nvml_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-
-%package tools
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-%description tools
-Useful applications for administration and diagnosis of persistent memory.
-
-%files tools
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-check.1.gz
-%{_mandir}/man1/pmempool-convert.1.gz
-%{_mandir}/man1/pmempool-create.1.gz
-%{_mandir}/man1/pmempool-dump.1.gz
-%{_mandir}/man1/pmempool-info.1.gz
-%{_mandir}/man1/pmempool-rm.1.gz
-%{_mandir}/man1/pmempool-sync.1.gz
-%{_mandir}/man1/pmempool-transform.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%build
-# Currently, NVML makefiles do not allow to easily override CFLAGS,
-# so the build flags are passed via EXTRA_CFLAGS. For debug build
-# selected flags are overriden to disable compiler optimizations.
-EXTRA_CFLAGS_RELEASE="%{optflags}" \
-EXTRA_CFLAGS_DEBUG="%{optflags} -Wp,-U_FORTIFY_SOURCE -O0" \
-EXTRA_CXXFLAGS="%{optflags}" \
-make %{?_smp_mflags}
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/nvml
-cp utils/nvml.magic %{buildroot}%{_datadir}/nvml/
-
-
-%check
-echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
-echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
-make check
-
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
new file mode 100644
index 0000000..dee0362
--- /dev/null
+++ b/pmdk.spec
@@ -0,0 +1,877 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define "_testconfig <path to custom testconfig.sh or 'default'>"
+# --define "_check <1|0>" - run make check or not
+#
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in the %files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _check 0
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: pmdk
+Version: 1.4
+Release: 1%{?dist}
+Summary: Persistent Memory Development Kit
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if "%{_check}" == "1"
+ %if "%{_testconfig}" != "default"
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%else
+ echo "Check skipped"
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/sources b/sources
index ab9af0d..087d117 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
+SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
https://src.fedoraproject.org/rpms/nvml/c/69c4e5835e2c5e23e44e6ade250ea4b...
6 years
krzycz pushed to nvml (f27). "PMDK 1.4 release"
by notifications@fedoraproject.org
Notification time stamped 2018-05-04 21:48:03 UTC
From 69c4e5835e2c5e23e44e6ade250ea4beada91cf0 Mon Sep 17 00:00:00 2001
From: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Mar 29 2018 19:13:43 +0000
Subject: PMDK 1.4 release
---
diff --git a/.gitignore b/.gitignore
index bd78bc5..8e808ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
+/pmdk-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
deleted file mode 100644
index 86f5c86..0000000
--- a/nvml.spec
+++ /dev/null
@@ -1,720 +0,0 @@
-
-Name: nvml
-Version: 1.3.1
-Release: 2%{?dist}
-Summary: Non-Volatile Memory Library
-License: BSD
-URL: http://pmem.io/nvml
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%define min_libfabric_ver 1.4.2
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/nvml_debug/.*\\.so.*$
-
-# By design, NVML does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64
-
-%description
-The NVM Library is a collection of libraries for using memory-mapped
-persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/nvml
-%{_libdir}/libpmem.so.*
-%{_datadir}/nvml/nvml.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man3/libpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmem.so
-%{_libdir}/nvml_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man3/libpmemblk.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemblk.so
-%{_libdir}/nvml_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man3/libpmemlog.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemlog.so
-%{_libdir}/nvml_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man3/libpmemobj.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemobj.so
-%{_libdir}/nvml_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man3/libvmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmem.so
-%{_libdir}/nvml_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man3/libvmmalloc.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmmalloc.so
-%{_libdir}/nvml_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man3/libpmempool.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmempool.so
-%{_libdir}/nvml_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man3/librpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/librpmem.so
-%{_libdir}/nvml_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-
-%package tools
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-%description tools
-Useful applications for administration and diagnosis of persistent memory.
-
-%files tools
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-check.1.gz
-%{_mandir}/man1/pmempool-convert.1.gz
-%{_mandir}/man1/pmempool-create.1.gz
-%{_mandir}/man1/pmempool-dump.1.gz
-%{_mandir}/man1/pmempool-info.1.gz
-%{_mandir}/man1/pmempool-rm.1.gz
-%{_mandir}/man1/pmempool-sync.1.gz
-%{_mandir}/man1/pmempool-transform.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%build
-# Currently, NVML makefiles do not allow to easily override CFLAGS,
-# so the build flags are passed via EXTRA_CFLAGS. For debug build
-# selected flags are overriden to disable compiler optimizations.
-EXTRA_CFLAGS_RELEASE="%{optflags}" \
-EXTRA_CFLAGS_DEBUG="%{optflags} -Wp,-U_FORTIFY_SOURCE -O0" \
-EXTRA_CXXFLAGS="%{optflags}" \
-make %{?_smp_mflags}
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/nvml
-cp utils/nvml.magic %{buildroot}%{_datadir}/nvml/
-
-
-%check
-echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
-echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
-make check
-
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
new file mode 100644
index 0000000..dee0362
--- /dev/null
+++ b/pmdk.spec
@@ -0,0 +1,877 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define "_testconfig <path to custom testconfig.sh or 'default'>"
+# --define "_check <1|0>" - run make check or not
+#
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in the %files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _check 0
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: pmdk
+Version: 1.4
+Release: 1%{?dist}
+Summary: Persistent Memory Development Kit
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if "%{_check}" == "1"
+ %if "%{_testconfig}" != "default"
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%else
+ echo "Check skipped"
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/sources b/sources
index ab9af0d..087d117 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
+SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
https://src.fedoraproject.org/rpms/nvml/c/69c4e5835e2c5e23e44e6ade250ea4b...
5 years, 11 months
krzycz pushed to nvml (f26). "PMDK 1.4 release"
by notifications@fedoraproject.org
Notification time stamped 2018-05-04 22:24:48 UTC
From 69c4e5835e2c5e23e44e6ade250ea4beada91cf0 Mon Sep 17 00:00:00 2001
From: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Mar 29 2018 19:13:43 +0000
Subject: PMDK 1.4 release
---
diff --git a/.gitignore b/.gitignore
index bd78bc5..8e808ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
+/pmdk-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
deleted file mode 100644
index 86f5c86..0000000
--- a/nvml.spec
+++ /dev/null
@@ -1,720 +0,0 @@
-
-Name: nvml
-Version: 1.3.1
-Release: 2%{?dist}
-Summary: Non-Volatile Memory Library
-License: BSD
-URL: http://pmem.io/nvml
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%define min_libfabric_ver 1.4.2
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/nvml_debug/.*\\.so.*$
-
-# By design, NVML does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64
-
-%description
-The NVM Library is a collection of libraries for using memory-mapped
-persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/nvml
-%{_libdir}/libpmem.so.*
-%{_datadir}/nvml/nvml.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man3/libpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmem.so
-%{_libdir}/nvml_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man3/libpmemblk.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemblk.so
-%{_libdir}/nvml_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man3/libpmemlog.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemlog.so
-%{_libdir}/nvml_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man3/libpmemobj.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemobj.so
-%{_libdir}/nvml_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man3/libvmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmem.so
-%{_libdir}/nvml_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man3/libvmmalloc.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmmalloc.so
-%{_libdir}/nvml_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man3/libpmempool.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmempool.so
-%{_libdir}/nvml_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man3/librpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/librpmem.so
-%{_libdir}/nvml_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-
-%package tools
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-%description tools
-Useful applications for administration and diagnosis of persistent memory.
-
-%files tools
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-check.1.gz
-%{_mandir}/man1/pmempool-convert.1.gz
-%{_mandir}/man1/pmempool-create.1.gz
-%{_mandir}/man1/pmempool-dump.1.gz
-%{_mandir}/man1/pmempool-info.1.gz
-%{_mandir}/man1/pmempool-rm.1.gz
-%{_mandir}/man1/pmempool-sync.1.gz
-%{_mandir}/man1/pmempool-transform.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%build
-# Currently, NVML makefiles do not allow to easily override CFLAGS,
-# so the build flags are passed via EXTRA_CFLAGS. For debug build
-# selected flags are overriden to disable compiler optimizations.
-EXTRA_CFLAGS_RELEASE="%{optflags}" \
-EXTRA_CFLAGS_DEBUG="%{optflags} -Wp,-U_FORTIFY_SOURCE -O0" \
-EXTRA_CXXFLAGS="%{optflags}" \
-make %{?_smp_mflags}
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/nvml
-cp utils/nvml.magic %{buildroot}%{_datadir}/nvml/
-
-
-%check
-echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
-echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
-make check
-
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
new file mode 100644
index 0000000..dee0362
--- /dev/null
+++ b/pmdk.spec
@@ -0,0 +1,877 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define "_testconfig <path to custom testconfig.sh or 'default'>"
+# --define "_check <1|0>" - run make check or not
+#
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in the %files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _check 0
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: pmdk
+Version: 1.4
+Release: 1%{?dist}
+Summary: Persistent Memory Development Kit
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if "%{_check}" == "1"
+ %if "%{_testconfig}" != "default"
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%else
+ echo "Check skipped"
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/sources b/sources
index ab9af0d..087d117 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
+SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
https://src.fedoraproject.org/rpms/nvml/c/69c4e5835e2c5e23e44e6ade250ea4b...
5 years, 11 months
krzycz pushed to nvml (f25). "PMDK 1.4 release"
by notifications@fedoraproject.org
Notification time stamped 2018-05-04 22:52:36 UTC
From 69c4e5835e2c5e23e44e6ade250ea4beada91cf0 Mon Sep 17 00:00:00 2001
From: Krzysztof Czurylo <krzysztof.czurylo(a)intel.com>
Date: Mar 29 2018 19:13:43 +0000
Subject: PMDK 1.4 release
---
diff --git a/.gitignore b/.gitignore
index bd78bc5..8e808ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
/nvml-1.2.3.tar.gz
/nvml-1.3.tar.gz
/nvml-1.3.1.tar.gz
+/pmdk-1.4.tar.gz
diff --git a/nvml.spec b/nvml.spec
deleted file mode 100644
index 86f5c86..0000000
--- a/nvml.spec
+++ /dev/null
@@ -1,720 +0,0 @@
-
-Name: nvml
-Version: 1.3.1
-Release: 2%{?dist}
-Summary: Non-Volatile Memory Library
-License: BSD
-URL: http://pmem.io/nvml
-Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
-
-BuildRequires: glibc-devel
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: man
-BuildRequires: pkgconfig
-BuildRequires: doxygen
-BuildRequires: gdb
-
-%define min_libfabric_ver 1.4.2
-BuildRequires: libfabric-devel >= %{min_libfabric_ver}
-
-
-# Debug variants of the libraries should be filtered out of the provides.
-%global __provides_exclude_from ^%{_libdir}/nvml_debug/.*\\.so.*$
-
-# By design, NVML does not support any 32-bit architecture.
-# Due to dependency on xmmintrin.h and some inline assembly, it can be
-# compiled only for x86_64 at the moment.
-# Other 64-bit architectures could also be supported, if only there is
-# a request for that, and if somebody provides the arch-specific
-# implementation of the low-level routines for flushing to persistent
-# memory.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
-# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64
-
-%description
-The NVM Library is a collection of libraries for using memory-mapped
-persistence, optimized specifically for persistent memory.
-
-
-%package -n libpmem
-Summary: Low-level persistent memory support library
-Group: System Environment/Libraries
-%description -n libpmem
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-%files -n libpmem
-%defattr(-,root,root,-)
-%dir %{_datadir}/nvml
-%{_libdir}/libpmem.so.*
-%{_datadir}/nvml/nvml.magic
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-devel
-Summary: Development files for the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-devel
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This library is provided for software which tracks every store to
-pmem and needs to flush those changes to durability. Most developers
-will find higher level libraries like libpmemobj to be much more
-convenient.
-
-%files -n libpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmem.so
-%{_libdir}/pkgconfig/libpmem.pc
-%{_includedir}/libpmem.h
-%{_mandir}/man3/libpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmem-debug
-Summary: Debug variant of the low-level persistent memory library
-Group: Development/Libraries
-Requires: libpmem = %{version}-%{release}
-%description -n libpmem-debug
-The libpmem provides low level persistent memory support. In particular,
-support for the persistent memory instructions for flushing changes
-to pmem is provided.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmem.so
-%{_libdir}/nvml_debug/libpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk
-Summary: Persistent Memory Resident Array of Blocks library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemblk
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-%files -n libpmemblk
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-devel
-Summary: Development files for the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemblk-devel
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-For example, a program keeping a cache of fixed-size objects in pmem
-might find this library useful. This library is provided for cases
-requiring large arrays of objects at least 512 bytes each. Most
-developers will find higher level libraries like libpmemobj to be
-more generally useful.
-
-%files -n libpmemblk-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemblk.so
-%{_libdir}/pkgconfig/libpmemblk.pc
-%{_includedir}/libpmemblk.h
-%{_mandir}/man3/libpmemblk.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemblk-debug
-Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
-Group: Development/Libraries
-Requires: libpmemblk = %{version}-%{release}
-%description -n libpmemblk-debug
-The libpmemblk implements a pmem-resident array of blocks, all the same
-size, where a block is updated atomically with respect to power
-failure or program interruption (no torn blocks).
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemblk-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemblk.so
-%{_libdir}/nvml_debug/libpmemblk.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog
-Summary: Persistent Memory Resident Log File library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemlog
-The libpmemlog library provides a pmem-resident log file. This is
-useful for programs like databases that append frequently to a log
-file.
-
-%files -n libpmemlog
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-devel
-Summary: Development files for the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemlog-devel
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-%files -n libpmemlog-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemlog.so
-%{_libdir}/pkgconfig/libpmemlog.pc
-%{_includedir}/libpmemlog.h
-%{_mandir}/man3/libpmemlog.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemlog-debug
-Summary: Debug variant of the Persistent Memory Resident Log File library
-Group: Development/Libraries
-Requires: libpmemlog = %{version}-%{release}
-%description -n libpmemlog-debug
-The libpmemlog library provides a pmem-resident log file. This
-library is provided for cases requiring an append-mostly file to
-record variable length entries. Most developers will find higher
-level libraries like libpmemobj to be more generally useful.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemlog-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemlog.so
-%{_libdir}/nvml_debug/libpmemlog.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj
-Summary: Persistent Memory Transactional Object Store library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmemobj
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-%files -n libpmemobj
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-devel
-Summary: Development files for the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmemobj-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-%files -n libpmemobj-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmemobj.so
-%{_libdir}/pkgconfig/libpmemobj.pc
-%{_includedir}/libpmemobj.h
-%{_includedir}/libpmemobj/*.h
-%{_mandir}/man3/libpmemobj.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmemobj-debug
-Summary: Debug variant of the Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Requires: libpmemobj = %{version}-%{release}
-%description -n libpmemobj-debug
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming. Developers new to persistent memory
-probably want to start with this library.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmemobj-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmemobj.so
-%{_libdir}/nvml_debug/libpmemobj.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem
-Summary: Volatile Memory allocation library
-Group: System Environment/Libraries
-%description -n libvmem
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-%files -n libvmem
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-devel
-Summary: Development files for the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-devel
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains libraries and header files for developing
-applications that want to make use of libvmem.
-
-%files -n libvmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmem.so
-%{_libdir}/pkgconfig/libvmem.pc
-%{_includedir}/libvmem.h
-%{_mandir}/man3/libvmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmem-debug
-Summary: Debug variant of the Volatile Memory allocation library
-Group: Development/Libraries
-Requires: libvmem = %{version}-%{release}
-%description -n libvmem-debug
-The libvmem library turns a pool of persistent memory into a volatile
-memory pool, similar to the system heap but kept separate and with
-its own malloc-style API.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmem.so
-%{_libdir}/nvml_debug/libvmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc
-Summary: Dynamic to Persistent Memory allocation translation library
-Group: System Environment/Libraries
-%description -n libvmmalloc
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-The typical usage of libvmmalloc is to load it via the LD_PRELOAD
-environment variable.
-
-%files -n libvmmalloc
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-devel
-Summary: Development files for the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-devel
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of libvmmalloc.
-
-%files -n libvmmalloc-devel
-%defattr(-,root,root,-)
-%{_libdir}/libvmmalloc.so
-%{_libdir}/pkgconfig/libvmmalloc.pc
-%{_includedir}/libvmmalloc.h
-%{_mandir}/man3/libvmmalloc.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libvmmalloc-debug
-Summary: Debug variant of the Dynamic-to-Persistent allocation library
-Group: Development/Libraries
-Requires: libvmmalloc = %{version}-%{release}
-%description -n libvmmalloc-debug
-The libvmmalloc library transparently converts all the dynamic memory
-allocations into persistent memory allocations. This allows the use
-of persistent memory as volatile memory without modifying the target
-application.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libvmmalloc-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libvmmalloc.so
-%{_libdir}/nvml_debug/libvmmalloc.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-# Specify a virtual Provide for libpmemobj++-static package, so the package
-# usage can be tracked.
-%package -n libpmemobj++-devel
-Summary: C++ bindings for Persistent Memory Transactional Object Store library
-Group: Development/Libraries
-Provides: libpmemobj++-static = %{version}-%{release}
-Requires: libpmemobj-devel = %{version}-%{release}
-%description -n libpmemobj++-devel
-The libpmemobj library provides a transactional object store,
-providing memory allocation, transactions, and general facilities for
-persistent memory programming.
-
-This sub-package contains header files for libpmemobj C++ bindings.
-
-%files -n libpmemobj++-devel
-%defattr(-,root,root,-)
-%{_libdir}/pkgconfig/libpmemobj++.pc
-%{_includedir}/libpmemobj++/*.hpp
-%{_includedir}/libpmemobj++/detail/*.hpp
-%{_docdir}/libpmemobj++-devel/*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool
-Summary: Persistent Memory pool management library
-Group: System Environment/Libraries
-Requires: libpmem >= %{version}-%{release}
-%description -n libpmempool
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-devel
-Summary: Development files for Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-Requires: libpmem-devel = %{version}-%{release}
-%description -n libpmempool-devel
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-%files -n libpmempool-devel
-%defattr(-,root,root,-)
-%{_libdir}/libpmempool.so
-%{_libdir}/pkgconfig/libpmempool.pc
-%{_includedir}/libpmempool.h
-%{_mandir}/man3/libpmempool.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n libpmempool-debug
-Summary: Debug variant of the Persistent Memory pool management library
-Group: Development/Libraries
-Requires: libpmempool = %{version}-%{release}
-%description -n libpmempool-debug
-The libpmempool library provides a set of utilities for off-line
-administration, analysis, diagnostics and repair of persistent memory
-pools created by libpmemlog, libpemblk and libpmemobj libraries.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n libpmempool-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/libpmempool.so
-%{_libdir}/nvml_debug/libpmempool.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem
-Summary: Remote Access to Persistent Memory library
-Group: System Environment/Libraries
-Requires: libfabric >= %{min_libfabric_ver}
-Requires: openssh-clients
-%description -n librpmem
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-%files -n librpmem
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-devel
-Summary: Development files for the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-devel
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains libraries and header files for developing
-applications that want to specifically make use of librpmem.
-
-%files -n librpmem-devel
-%defattr(-,root,root,-)
-%{_libdir}/librpmem.so
-%{_libdir}/pkgconfig/librpmem.pc
-%{_includedir}/librpmem.h
-%{_mandir}/man3/librpmem.3.gz
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n librpmem-debug
-Summary: Debug variant of the Remote Access to Persistent Memory library
-Group: Development/Libraries
-Requires: librpmem = %{version}-%{release}
-%description -n librpmem-debug
-The librpmem library provides low-level support for remote access
-to persistent memory utilizing RDMA-capable NICs. It can be used
-to replicate peristent memory regions over RDMA protocol.
-
-This sub-package contains debug variant of the library, providing
-run-time assertions and trace points. The typical way to access the
-debug version is to set the environment variable LD_LIBRARY_PATH to
-/usr/lib64/nvml_debug.
-
-%files -n librpmem-debug
-%defattr(-,root,root,-)
-%dir %{_libdir}/nvml_debug
-%{_libdir}/nvml_debug/librpmem.so
-%{_libdir}/nvml_debug/librpmem.so.*
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%package -n rpmemd
-Group: System Environment/Base
-Summary: Target node process executed by librpmem
-Requires: libfabric >= %{min_libfabric_ver}
-%description -n rpmemd
-The rpmemd process is executed on a target node by librpmem library
-and facilitates access to persistent memory over RDMA.
-
-%files -n rpmemd
-%{_bindir}/rpmemd
-%{_mandir}/man1/rpmemd.1.gz
-
-
-%package tools
-Summary: Utilities for Persistent Memory
-Group: System Environment/Base
-Requires: libpmem >= %{version}-%{release}
-Requires: libpmemlog >= %{version}-%{release}
-Requires: libpmemblk >= %{version}-%{release}
-Requires: libpmemobj >= %{version}-%{release}
-Requires: libpmempool >= %{version}-%{release}
-%description tools
-Useful applications for administration and diagnosis of persistent memory.
-
-%files tools
-%{_bindir}/pmempool
-%{_mandir}/man1/pmempool.1.gz
-%{_mandir}/man1/pmempool-check.1.gz
-%{_mandir}/man1/pmempool-convert.1.gz
-%{_mandir}/man1/pmempool-create.1.gz
-%{_mandir}/man1/pmempool-dump.1.gz
-%{_mandir}/man1/pmempool-info.1.gz
-%{_mandir}/man1/pmempool-rm.1.gz
-%{_mandir}/man1/pmempool-sync.1.gz
-%{_mandir}/man1/pmempool-transform.1.gz
-%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
-%license LICENSE
-%doc ChangeLog CONTRIBUTING.md README.md
-
-
-%prep
-%setup -q -n %{name}-%{version}
-
-%build
-# Currently, NVML makefiles do not allow to easily override CFLAGS,
-# so the build flags are passed via EXTRA_CFLAGS. For debug build
-# selected flags are overriden to disable compiler optimizations.
-EXTRA_CFLAGS_RELEASE="%{optflags}" \
-EXTRA_CFLAGS_DEBUG="%{optflags} -Wp,-U_FORTIFY_SOURCE -O0" \
-EXTRA_CXXFLAGS="%{optflags}" \
-make %{?_smp_mflags}
-
-
-# Override LIB_AR with empty string to skip installation of static libraries
-%install
-make install DESTDIR=%{buildroot} \
- LIB_AR= \
- prefix=%{_prefix} \
- libdir=%{_libdir} \
- includedir=%{_includedir} \
- mandir=%{_mandir} \
- bindir=%{_bindir} \
- sysconfdir=%{_sysconfdir} \
- docdir=%{_docdir} \
- CPP_DOC_DIR=libpmemobj++-devel
-mkdir -p %{buildroot}%{_datadir}/nvml
-cp utils/nvml.magic %{buildroot}%{_datadir}/nvml/
-
-
-%check
-echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
-echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
-make check
-
-
-%post -n libpmem -p /sbin/ldconfig
-%postun -n libpmem -p /sbin/ldconfig
-%post -n libpmemblk -p /sbin/ldconfig
-%postun -n libpmemblk -p /sbin/ldconfig
-%post -n libpmemlog -p /sbin/ldconfig
-%postun -n libpmemlog -p /sbin/ldconfig
-%post -n libpmemobj -p /sbin/ldconfig
-%postun -n libpmemobj -p /sbin/ldconfig
-%post -n libvmem -p /sbin/ldconfig
-%postun -n libvmem -p /sbin/ldconfig
-%post -n libvmmalloc -p /sbin/ldconfig
-%postun -n libvmmalloc -p /sbin/ldconfig
-%post -n libpmempool -p /sbin/ldconfig
-%postun -n libpmempool -p /sbin/ldconfig
-%post -n librpmem -p /sbin/ldconfig
-%postun -n librpmem -p /sbin/ldconfig
-
-%if 0%{?__debug_package} == 0
-%debug_package
-%endif
-
-
-%changelog
-* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
-
-* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
-- Update to NVML version 1.3.1 (RHBZ #1480578)
-
-* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
-
-* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
-
-* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
-- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
-- Add librpmem and rpmemd sub-packages
-- Force file system to appear as PMEM for make check
-
-* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
-- Update to NVML version 1.2.3 (RHBZ #1451741)
-
-* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
-- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
-
-* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
-- Update to NVML version 1.2.1 (RHBZ #1425038)
-
-* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
-- Fix compilation under gcc 7.0.x (RHBZ #1424004)
-
-* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
-
-* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
-- Update to NVML version 1.2 (RHBZ #1383467)
-- Add libpmemobj C++ bindings
-
-* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
-- Add missing package version requirements
-
-* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
-- Move debug variants of the libraries to -debug subpackages
-
-* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
-- NVML 1.1 release
-- Update link to source tarball
-- Add libpmempool subpackage
-- Remove obsolete patches
-
-* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
-- switch to ExclusiveArch
-
-* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
-- Exclude PPC architecture
-- Add bug numbers for excluded architectures
-
-* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
-- Initial RPM release
diff --git a/pmdk.spec b/pmdk.spec
new file mode 100644
index 0000000..dee0362
--- /dev/null
+++ b/pmdk.spec
@@ -0,0 +1,877 @@
+
+# rpmbuild options:
+# --with | --without fabric
+# --with | --without ndctl
+# --define "_testconfig <path to custom testconfig.sh or 'default'>"
+# --define "_check <1|0>" - run make check or not
+#
+
+# do not terminate build if files in the $RPM_BUILD_ROOT
+# directory are not found in the %files (without fabric case)
+%define _unpackaged_files_terminate_build 0
+
+# disable 'make check' on suse
+%if %{defined suse_version}
+ %define _check 0
+ %define dist .suse%{suse_version}
+%endif
+
+%if (0%{?suse_version} > 1315) || (0%{?fedora} >= 27) || (0%{?rhel} >= 7)
+%bcond_without fabric
+%else
+%bcond_with fabric
+%endif
+
+# by default build w/o ndctl, unless explicitly enabled
+%bcond_with ndctl
+
+%define min_libfabric_ver 1.4.2
+%define min_ndctl_ver 59.2
+
+Name: pmdk
+Version: 1.4
+Release: 1%{?dist}
+Summary: Persistent Memory Development Kit
+License: BSD
+URL: http://pmem.io/pmdk
+
+Source0: https://github.com/pmem/%{name}/archive/%{version}.tar.gz#/%{name}-%{vers...
+
+BuildRequires: gcc
+BuildRequires: make
+BuildRequires: glibc-devel
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: man
+BuildRequires: pkgconfig
+BuildRequires: doxygen
+BuildRequires: gdb
+
+%if %{with ndctl}
+BuildRequires: ndctl-devel >= %{min_ndctl_ver}
+BuildRequires: daxctl-devel >= %{min_ndctl_ver}
+%endif
+
+%if %{with fabric}
+BuildRequires: libfabric-devel >= %{min_libfabric_ver}
+%endif
+
+
+# Debug variants of the libraries should be filtered out of the provides.
+%global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\\.so.*$
+
+# By design, PMDK does not support any 32-bit architecture.
+# Due to dependency on xmmintrin.h and some inline assembly, it can be
+# compiled only for x86_64 at the moment.
+# Other 64-bit architectures could also be supported, if only there is
+# a request for that, and if somebody provides the arch-specific
+# implementation of the low-level routines for flushing to persistent
+# memory.
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340634
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340635
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340636
+# https://bugzilla.redhat.com/show_bug.cgi?id=1340637
+
+ExclusiveArch: x86_64
+
+%description
+The Persistent Memory Development Kit is a collection of libraries for
+using memory-mapped persistence, optimized specifically for persistent memory.
+
+
+%package -n libpmem
+Summary: Low-level persistent memory support library
+Group: System Environment/Libraries
+%description -n libpmem
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+%files -n libpmem
+%defattr(-,root,root,-)
+%dir %{_datadir}/pmdk
+%{_libdir}/libpmem.so.*
+%{_datadir}/pmdk/pmdk.magic
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-devel
+Summary: Development files for the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-devel
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This library is provided for software which tracks every store to
+pmem and needs to flush those changes to durability. Most developers
+will find higher level libraries like libpmemobj to be much more
+convenient.
+
+%files -n libpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmem.so
+%{_libdir}/pkgconfig/libpmem.pc
+%{_includedir}/libpmem.h
+%{_mandir}/man7/libpmem.7.gz
+%{_mandir}/man3/pmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmem-debug
+Summary: Debug variant of the low-level persistent memory library
+Group: Development/Libraries
+Requires: libpmem = %{version}-%{release}
+%description -n libpmem-debug
+The libpmem provides low level persistent memory support. In particular,
+support for the persistent memory instructions for flushing changes
+to pmem is provided.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmem.so
+%{_libdir}/pmdk_debug/libpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk
+Summary: Persistent Memory Resident Array of Blocks library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemblk
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+%files -n libpmemblk
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-devel
+Summary: Development files for the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemblk-devel
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+For example, a program keeping a cache of fixed-size objects in pmem
+might find this library useful. This library is provided for cases
+requiring large arrays of objects at least 512 bytes each. Most
+developers will find higher level libraries like libpmemobj to be
+more generally useful.
+
+%files -n libpmemblk-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemblk.so
+%{_libdir}/pkgconfig/libpmemblk.pc
+%{_includedir}/libpmemblk.h
+%{_mandir}/man7/libpmemblk.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemblk_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemblk-debug
+Summary: Debug variant of the Persistent Memory Resident Array of Blocks library
+Group: Development/Libraries
+Requires: libpmemblk = %{version}-%{release}
+%description -n libpmemblk-debug
+The libpmemblk implements a pmem-resident array of blocks, all the same
+size, where a block is updated atomically with respect to power
+failure or program interruption (no torn blocks).
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemblk-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemblk.so
+%{_libdir}/pmdk_debug/libpmemblk.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog
+Summary: Persistent Memory Resident Log File library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemlog
+The libpmemlog library provides a pmem-resident log file. This is
+useful for programs like databases that append frequently to a log
+file.
+
+%files -n libpmemlog
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-devel
+Summary: Development files for the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemlog-devel
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+%files -n libpmemlog-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemlog.so
+%{_libdir}/pkgconfig/libpmemlog.pc
+%{_includedir}/libpmemlog.h
+%{_mandir}/man7/libpmemlog.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemlog_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemlog-debug
+Summary: Debug variant of the Persistent Memory Resident Log File library
+Group: Development/Libraries
+Requires: libpmemlog = %{version}-%{release}
+%description -n libpmemlog-debug
+The libpmemlog library provides a pmem-resident log file. This
+library is provided for cases requiring an append-mostly file to
+record variable length entries. Most developers will find higher
+level libraries like libpmemobj to be more generally useful.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemlog-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemlog.so
+%{_libdir}/pmdk_debug/libpmemlog.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj
+Summary: Persistent Memory Transactional Object Store library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemobj
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+%files -n libpmemobj
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-devel
+Summary: Development files for the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemobj-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+%files -n libpmemobj-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemobj.so
+%{_libdir}/pkgconfig/libpmemobj.pc
+%{_includedir}/libpmemobj.h
+%{_includedir}/libpmemobj/*.h
+%{_mandir}/man7/libpmemobj.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemobj_*.3.gz
+%{_mandir}/man3/pobj_*.3.gz
+%{_mandir}/man3/oid_*.3.gz
+%{_mandir}/man3/toid*.3.gz
+%{_mandir}/man3/direct_*.3.gz
+%{_mandir}/man3/d_r*.3.gz
+%{_mandir}/man3/tx_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemobj-debug
+Summary: Debug variant of the Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Requires: libpmemobj = %{version}-%{release}
+%description -n libpmemobj-debug
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming. Developers new to persistent memory
+probably want to start with this library.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemobj-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemobj.so
+%{_libdir}/pmdk_debug/libpmemobj.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem
+Summary: Volatile Memory allocation library
+Group: System Environment/Libraries
+%description -n libvmem
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+%files -n libvmem
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-devel
+Summary: Development files for the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-devel
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains libraries and header files for developing
+applications that want to make use of libvmem.
+
+%files -n libvmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmem.so
+%{_libdir}/pkgconfig/libvmem.pc
+%{_includedir}/libvmem.h
+%{_mandir}/man7/libvmem.7.gz
+%{_mandir}/man3/vmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmem-debug
+Summary: Debug variant of the Volatile Memory allocation library
+Group: Development/Libraries
+Requires: libvmem = %{version}-%{release}
+%description -n libvmem-debug
+The libvmem library turns a pool of persistent memory into a volatile
+memory pool, similar to the system heap but kept separate and with
+its own malloc-style API.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmem.so
+%{_libdir}/pmdk_debug/libvmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc
+Summary: Dynamic to Persistent Memory allocation translation library
+Group: System Environment/Libraries
+%description -n libvmmalloc
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+The typical usage of libvmmalloc is to load it via the LD_PRELOAD
+environment variable.
+
+%files -n libvmmalloc
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-devel
+Summary: Development files for the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-devel
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of libvmmalloc.
+
+%files -n libvmmalloc-devel
+%defattr(-,root,root,-)
+%{_libdir}/libvmmalloc.so
+%{_libdir}/pkgconfig/libvmmalloc.pc
+%{_includedir}/libvmmalloc.h
+%{_mandir}/man7/libvmmalloc.7.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libvmmalloc-debug
+Summary: Debug variant of the Dynamic-to-Persistent allocation library
+Group: Development/Libraries
+Requires: libvmmalloc = %{version}-%{release}
+%description -n libvmmalloc-debug
+The libvmmalloc library transparently converts all the dynamic memory
+allocations into persistent memory allocations. This allows the use
+of persistent memory as volatile memory without modifying the target
+application.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libvmmalloc-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libvmmalloc.so
+%{_libdir}/pmdk_debug/libvmmalloc.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+# Specify a virtual Provide for libpmemobj++-static package, so the package
+# usage can be tracked.
+%package -n libpmemobj++-devel
+Summary: C++ bindings for Persistent Memory Transactional Object Store library
+Group: Development/Libraries
+Provides: libpmemobj++-static = %{version}-%{release}
+Requires: libpmemobj-devel = %{version}-%{release}
+%description -n libpmemobj++-devel
+The libpmemobj library provides a transactional object store,
+providing memory allocation, transactions, and general facilities for
+persistent memory programming.
+
+This sub-package contains header files for libpmemobj C++ bindings.
+
+%files -n libpmemobj++-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/libpmemobj++.pc
+%{_includedir}/libpmemobj++/*.hpp
+%{_includedir}/libpmemobj++/detail/*.hpp
+%{_docdir}/libpmemobj++-devel/*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool
+Summary: Persistent Memory pool management library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmempool
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-devel
+Summary: Development files for Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmempool-devel
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+%files -n libpmempool-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmempool.so
+%{_libdir}/pkgconfig/libpmempool.pc
+%{_includedir}/libpmempool.h
+%{_mandir}/man7/libpmempool.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmempool_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmempool-debug
+Summary: Debug variant of the Persistent Memory pool management library
+Group: Development/Libraries
+Requires: libpmempool = %{version}-%{release}
+%description -n libpmempool-debug
+The libpmempool library provides a set of utilities for off-line
+administration, analysis, diagnostics and repair of persistent memory
+pools created by libpmemlog, libpemblk and libpmemobj libraries.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmempool-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmempool.so
+%{_libdir}/pmdk_debug/libpmempool.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with fabric}
+
+%package -n librpmem
+Summary: Remote Access to Persistent Memory library
+Group: System Environment/Libraries
+Requires: libfabric >= %{min_libfabric_ver}
+Requires: openssh-clients
+%description -n librpmem
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+%files -n librpmem
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-devel
+Summary: Development files for the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-devel
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains libraries and header files for developing
+applications that want to specifically make use of librpmem.
+
+%files -n librpmem-devel
+%defattr(-,root,root,-)
+%{_libdir}/librpmem.so
+%{_libdir}/pkgconfig/librpmem.pc
+%{_includedir}/librpmem.h
+%{_mandir}/man7/librpmem.7.gz
+%{_mandir}/man3/rpmem_*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n librpmem-debug
+Summary: Debug variant of the Remote Access to Persistent Memory library
+Group: Development/Libraries
+Requires: librpmem = %{version}-%{release}
+%description -n librpmem-debug
+The librpmem library provides low-level support for remote access
+to persistent memory utilizing RDMA-capable NICs. It can be used
+to replicate peristent memory regions over RDMA protocol.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n librpmem-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/librpmem.so
+%{_libdir}/pmdk_debug/librpmem.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n rpmemd
+Group: System Environment/Base
+Summary: Target node process executed by librpmem
+Requires: libfabric >= %{min_libfabric_ver}
+%description -n rpmemd
+The rpmemd process is executed on a target node by librpmem library
+and facilitates access to persistent memory over RDMA.
+
+%files -n rpmemd
+%{_bindir}/rpmemd
+%{_mandir}/man1/rpmemd.1.gz
+
+%endif # _with_fabric
+
+
+%package -n libpmemcto
+Summary: Close-to-Open Persistence library
+Group: System Environment/Libraries
+Requires: libpmem >= %{version}-%{release}
+%description -n libpmemcto
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-devel
+Summary: Development files for Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+Requires: libpmem-devel = %{version}-%{release}
+%description -n libpmemcto-devel
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+%files -n libpmemcto-devel
+%defattr(-,root,root,-)
+%{_libdir}/libpmemcto.so
+%{_libdir}/pkgconfig/libpmemcto.pc
+%{_includedir}/libpmemcto.h
+%{_mandir}/man7/libpmemcto.7.gz
+%{_mandir}/man5/poolset.5.gz
+%{_mandir}/man3/pmemcto*.3.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n libpmemcto-debug
+Summary: Debug variant of the Close-to-Open Persistence library
+Group: Development/Libraries
+Requires: libpmemcto = %{version}-%{release}
+%description -n libpmemcto-debug
+The libpmemcto library is a Persistent Memory allocator with no overhead
+imposed by run-time flushing or transactional updates.
+
+This sub-package contains debug variant of the library, providing
+run-time assertions and trace points. The typical way to access the
+debug version is to set the environment variable LD_LIBRARY_PATH to
+/usr/lib64/pmdk_debug.
+
+%files -n libpmemcto-debug
+%defattr(-,root,root,-)
+%dir %{_libdir}/pmdk_debug
+%{_libdir}/pmdk_debug/libpmemcto.so
+%{_libdir}/pmdk_debug/libpmemcto.so.*
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%package -n pmempool
+Summary: Utilities for Persistent Memory
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+Requires: libpmemlog >= %{version}-%{release}
+Requires: libpmemblk >= %{version}-%{release}
+Requires: libpmemobj >= %{version}-%{release}
+Requires: libpmempool >= %{version}-%{release}
+Requires: libpmemcto >= %{version}-%{release}
+Obsoletes: nvml-tools
+%description -n pmempool
+The pmempool is a standalone utility for management and off-line analysis
+of Persistent Memory pools created by PMDK libraries. It provides a set
+of utilities for administration and diagnostics of Persistent Memory pools.
+The pmempool may be useful for troubleshooting by system administrators
+and users of the applications based on PMDK libraries.
+
+%files -n pmempool
+%{_bindir}/pmempool
+%{_mandir}/man1/pmempool.1.gz
+%{_mandir}/man1/pmempool-*.1.gz
+%config(noreplace) %{_sysconfdir}/bash_completion.d/pmempool.sh
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+
+%if %{with ndctl}
+
+%package -n daxio
+Summary: Perform I/O on Device DAX devices or zero a Device DAX device
+Group: System Environment/Base
+Requires: libpmem >= %{version}-%{release}
+%description -n daxio
+The daxio utility performs I/O on Device DAX devices or zero
+a Device DAX device. Since the standard I/O APIs (read/write) cannot be used
+with Device DAX, data transfer is performed on a memory-mapped device.
+The daxio may be used to dump Device DAX data to a file, restore data from
+a backup copy, move/copy data to another device or to erase data from
+a device.
+
+%files -n daxio
+%{_bindir}/daxio
+%{_mandir}/man1/daxio.1.gz
+%license LICENSE
+%doc ChangeLog CONTRIBUTING.md README.md
+
+%endif # _with_ndctl
+
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+# For debug build default flags may be overriden to disable compiler
+# optimizations.
+CFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+make %{?_smp_mflags} NORPATH=1
+
+
+# Override LIB_AR with empty string to skip installation of static libraries
+%install
+make install DESTDIR=%{buildroot} \
+ LIB_AR= \
+ prefix=%{_prefix} \
+ libdir=%{_libdir} \
+ includedir=%{_includedir} \
+ mandir=%{_mandir} \
+ bindir=%{_bindir} \
+ sysconfdir=%{_sysconfdir} \
+ docdir=%{_docdir} \
+ CPP_DOC_DIR=libpmemobj++-devel
+mkdir -p %{buildroot}%{_datadir}/pmdk
+cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
+
+
+
+%check
+%if "%{_check}" == "1"
+ %if "%{_testconfig}" != "default"
+ cp %{_testconfig} src/test/testconfig.sh
+ %else
+ echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh
+ echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh
+ %endif
+ make check
+%else
+ echo "Check skipped"
+%endif
+
+%post -n libpmem -p /sbin/ldconfig
+%postun -n libpmem -p /sbin/ldconfig
+%post -n libpmemblk -p /sbin/ldconfig
+%postun -n libpmemblk -p /sbin/ldconfig
+%post -n libpmemlog -p /sbin/ldconfig
+%postun -n libpmemlog -p /sbin/ldconfig
+%post -n libpmemobj -p /sbin/ldconfig
+%postun -n libpmemobj -p /sbin/ldconfig
+%post -n libvmem -p /sbin/ldconfig
+%postun -n libvmem -p /sbin/ldconfig
+%post -n libvmmalloc -p /sbin/ldconfig
+%postun -n libvmmalloc -p /sbin/ldconfig
+%post -n libpmempool -p /sbin/ldconfig
+%postun -n libpmempool -p /sbin/ldconfig
+%post -n libpmemcto -p /sbin/ldconfig
+%postun -n libpmemcto -p /sbin/ldconfig
+
+%if %{with fabric}
+%post -n librpmem -p /sbin/ldconfig
+%postun -n librpmem -p /sbin/ldconfig
+%endif
+
+%if 0%{?__debug_package} == 0
+%debug_package
+%endif
+
+
+%changelog
+* Thu Mar 29 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.4-1
+- Rename NVML project to PMDK
+- Update to PMDK version 1.4 (RHBZ #1480578, #1539562, #1539564)
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Jan 27 2018 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3.1-1
+- Update to NVML version 1.3.1 (RHBZ #1480578)
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 17 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.3-1
+- Update to NVML version 1.3 (RHBZ #1451741, RHBZ #1455216)
+- Add librpmem and rpmemd sub-packages
+- Force file system to appear as PMEM for make check
+
+* Fri Jun 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.3-2
+- Update to NVML version 1.2.3 (RHBZ #1451741)
+
+* Sat Apr 15 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.2-1
+- Update to NVML version 1.2.2 (RHBZ #1436820, RHBZ #1425038)
+
+* Thu Mar 16 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2.1-1
+- Update to NVML version 1.2.1 (RHBZ #1425038)
+
+* Tue Feb 21 2017 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-3
+- Fix compilation under gcc 7.0.x (RHBZ #1424004)
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Dec 30 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.2-1
+- Update to NVML version 1.2 (RHBZ #1383467)
+- Add libpmemobj C++ bindings
+
+* Thu Jul 14 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-3
+- Add missing package version requirements
+
+* Mon Jul 11 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-2
+- Move debug variants of the libraries to -debug subpackages
+
+* Sun Jun 26 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.1-1
+- NVML 1.1 release
+- Update link to source tarball
+- Add libpmempool subpackage
+- Remove obsolete patches
+
+* Wed Jun 01 2016 Dan Horák <dan[at]danny.cz> - 1.0-3
+- switch to ExclusiveArch
+
+* Sun May 29 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-2
+- Exclude PPC architecture
+- Add bug numbers for excluded architectures
+
+* Tue May 24 2016 Krzysztof Czurylo <krzysztof.czurylo(a)intel.com> - 1.0-1
+- Initial RPM release
diff --git a/sources b/sources
index ab9af0d..087d117 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nvml-1.3.1.tar.gz) = 1ba8a846f6e0c41af1ec4d6a8db8ec4775a09525caa6d5a4b63df9f11d9f9b541c2968430a5802a529081c2f37e7375ee2c527fc6ff73bde34ddadd27295e4ec
+SHA512 (pmdk-1.4.tar.gz) = 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8
https://src.fedoraproject.org/rpms/nvml/c/69c4e5835e2c5e23e44e6ade250ea4b...
5 years, 11 months