Merge ~ahasenack/ubuntu/+source/pmdk:eoan-merge-pmdk-1.5.1-debian-sid into ubuntu/+source/pmdk:debian/sid

Proposed by Andreas Hasenack
Status: Merged
Approved by: Andreas Hasenack
Approved revision: 346bd80b8a3c1d6c474b8abcf45df8c9e6340034
Merge reported by: Andreas Hasenack
Merged at revision: 346bd80b8a3c1d6c474b8abcf45df8c9e6340034
Proposed branch: ~ahasenack/ubuntu/+source/pmdk:eoan-merge-pmdk-1.5.1-debian-sid
Merge into: ubuntu/+source/pmdk:debian/sid
Diff against target: 337 lines (+230/-6)
9 files modified
debian/NEWS (+19/-0)
debian/README.source (+33/-0)
debian/changelog (+22/-0)
debian/control (+11/-3)
debian/not-installed (+14/-0)
debian/patches/manpage-debug-packages.patch (+127/-0)
debian/patches/series (+1/-0)
debian/rules (+3/-2)
dev/null (+0/-1)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Canonical Server Pending
Review via email: mp+367370@code.launchpad.net

Description of the change

Bileto: https://bileto.ubuntu.com/#/ticket/3723 (has a cancelled build because this package is amd64 only)

This MP is to merge our Ubuntu delta on top of the Debian pmdk 1.5.1-1 package. This package was born separately in debian and ubuntu, and currently has no common ancestor.

These packages have diverged between Debian and Ubuntu, and I can now bring them back together. This merge will look like the package was a sync before, and now carries ubuntu delta one more time. I found no other way to start from a common ancestor.

Debian/sid has 1.5.1, whereas debian/experimental has 1.6. My goal is to get to 1.6 in Ubuntu, but first I want to have a common ancestor again, so that the upgrade from 1.5.1 to 1.6 can be done via our normal merge workflow.

Let's go over the delta piece by piece:

1) d/p/manpage-debug-packages.patch
This adds a note to the manpages explaining how to install the -debug packages. Debian could have adopted this, and I will propose it there, as they carry the same packaging we do.

2) * libpmemobj c++ bindings are on separate source now:
This is code that was removed from the upstream pmdk source, and placed in another source tree. Debian has it packaged, and it's a sync in Ubuntu atm. In the debian case, they never had this code part of pmdk, because they started the pmdk packaging at version 1.5, when the split had happened already. So we will have delta here because we started before, at 1.4, when the upstream split hadn't happened yet.
2.1) d/libpmemobj-doc.install: removed
There is no libpmemobj-doc package anymore, not even in debian's d/control. This was fixed in debian's pmdk-1.6.
2.2) d/libpmemobj-doc.doc-base: removed
Same as 2.1
2.3) d/control: setup transition from libpmemobj-doc to libpmemobj-cpp-doc
This is ours, and I adopted case #5 (rename) from https://wiki.debian.org/PackageTransition
A: libpmemobj-doc (src: pmdk)
B: libpmemobj-cpp-doc (src: libpmemobj-cpp)

3) * d/rules: use dh_missing to list missing files
I like dh_missing, I might propose it for debian. It highlighted that we are not installing pmreorder (python script). I asked the debian maintainer and he replied it was on purpose:
"""
On Wed, May 08, 2019 at 05:57:47PM -0300, Andreas Hasenack wrote:
> Any particular reason for not including the pmreorder python
> script/tool, or just an oversight?

It requires a custom fork of valgrind: https://github.com/pmem/valgrind

The main part of that fork is a new tool (pmemcheck), but it requires some
changes in the core as well, which haven't been accepted upstream.

Thus, unless this fork of valgrind is packaged somehow, pmreorder won't
work.
"""

4) * d/rules: don't remove TEST34 as it is passing in Ubuntu atm
Test passes in Ubuntu, and debian's pmdk 1.6 no longer removes it, so this delta will be dropped

5) * d/NEWS: added to explain important packaging changes in this update
Ours only. Doesn't apply to debian directly because they started the packaging at version 1.5, when these important changes happened.

6) * d/control: the valgrind test is failing, remove it from
    build-depends
Ours only. The valgrind test fails for us in a vm and LXD. I question this test, because it's basically a text output comparison between the valgrind output and a template full of $macros and $variables. It sounds super brittle.

7) * d/README.source: explains some lintian checks and the reason why
    jemalloc is bundled.
Ours only, but applies to Debian, since they are carrying the same lintian overrides as us.

I dropped this piece of delta we had before:
8) d/README.debian. It just introduces the packages, what they do, and so on. Nothing you cannot see already in d/control. For reference: https://git.launchpad.net/ubuntu/+source/pmdk/tree/debian/README.Debian?h=ubuntu/disco

Other info:
libpmemcto* packages are gone. Code was removed from upstream, and I simply dropped them from ubuntu. Debian never carried those packages (it was another change introduced in 1.5).

There is a libpmemobj-dev -> libpmemobj-cpp-dev package transition going on as well. This is case #7 from https://wiki.debian.org/PackageTransition, and requires no change to package "A", and package "B" is from another source
A: libpmemobj-dev (src: pmdk)
B: libpmemobj-cpp-dev (src: libpmemobj-cpp)

An MP for libpmemobj-cpp will be posted soon.

Current lintian output for this branch, with pedantic enabled: https://pastebin.ubuntu.com/p/Hpgy4stVht/

The new warning we have is this:
symbols-file-missing-build-depends-package-field

That's something for debian to add, and I can propose it there only perhaps, but I can add it here too if you prefer.

I proposed a PR upstream for the spelling issues, not worth adding a delta for those I believe, and it was merged already: https://github.com/pmem/pmdk/pull/3738

To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I like dh_missing as well, just add the files intentionally not installed (for now pmreorder) to
  debian/not-installed

Then feel free to re-propose it to Debian with that.

review: Needs Fixing
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

1) d/p/manpage-debug-packages.patch
Ack, please submit to Debian as you suggested

2) * libpmemobj c++ bindings are on separate source now:
Ack, some changes in the other MP needed thou

3) * d/rules: use dh_missing to list missing files
Ack, as mentioned above list missing files in d/not-installed and then please submit to Debian as you suggested

4) * d/rules: don't remove TEST34 as it is passing in Ubuntu atm
Ack, and good that it goes away

5) * d/NEWS:
Ack, but this change is not mentioned in the changelog.
I think it should be mentioned there as well, not *only* in the news file (in the news it can have more text than in changelog)

6) * d/control (valgrind)
Ack, this does not look good to me either

7) * d/README.source:
Please drop the pmemcto references here, they no more apply.
If (unlikely) this makes jemalloc removable great, take a look at it - if not ok, but at least remove its mentioning from this file.

8) d/README.debian
Ack

9) libpmemcto* packages removed
Please take a note after you have this completed to remove the binaries from EOAN

10) symbols-file-missing-build-depends-package-field
File and propose at Debian, no need for Delta as it isn't critical at all

review: Needs Fixing
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> I like dh_missing as well, just add the files intentionally not installed (for
> now pmreorder) to
> debian/not-installed
>
> Then feel free to re-propose it to Debian with that.

Hm, something is wrong with dh_missing. It's complaining about way too many files, and they are packaged. For example:

dh_missing: usr/share/man/man3/pmemobj_tx_abort.3.gz exists in debian/tmp but is not installed to anywhere

but:
$ find . -name pmemobj_tx_abort.3.gz -ls
   285941 1 -rw-r--r-- 1 ubuntu ubuntu 62 May 14 18:54 ./debian/tmp/usr/share/man/man3/pmemobj_tx_abort.3.gz
   288625 1 lrwxrwxrwx 1 ubuntu ubuntu 21 May 14 18:54 ./debian/libpmemobj-dev/usr/share/man/man3/pmemobj_tx_abort.3.gz -> pmemobj_tx_begin.3.gz
   285391 1 -rw-rw-r-- 1 ubuntu ubuntu 62 May 14 18:54 ./doc/generated/pmemobj_tx_abort.3.gz

and it's in the deb:
$ for n in ../*.deb; do if dpkg --contents $n | grep pmemobj_tx_abort.3.gz; then echo $n; fi; done
lrwxrwxrwx root/root 0 2019-05-13 14:31 ./usr/share/man/man3/pmemobj_tx_abort.3.gz -> pmemobj_tx_begin.3.gz
../libpmemobj-dev_1.5.1-1ubuntu1_amd64.deb

maybe it's the symlink? The pmem_tx_abort.3 manpage contains only this:
.so pmemobj_tx_begin.3

Hence debhelper installed it as a symlink to pmemobj_tx_begin.

But there are other cases that don't fall into this symlink category:

dh_missing: usr/share/man/man7/librpmem.7.gz exists in debian/tmp but is not installed to anywhere
$ find . -name '*librpmem.7.gz*' -ls
   288380 9 -rw-r--r-- 1 ubuntu ubuntu 6228 May 14 18:54 ./debian/librpmem-dev/usr/share/man/man7/librpmem.7.gz
   285556 9 -rw-r--r-- 1 ubuntu ubuntu 6255 May 14 18:54 ./debian/tmp/usr/share/man/man7/librpmem.7.gz
   285478 9 -rw-rw-r-- 1 ubuntu ubuntu 6255 May 14 18:54 ./doc/generated/librpmem.7.gz

$ for n in ../*.deb; do if dpkg --contents $n | grep librpmem.7.gz; then echo $n; fi; done
-rw-r--r-- root/root 6228 2019-05-13 14:31 ./usr/share/man/man7/librpmem.7.gz
lrwxrwxrwx root/root 0 2019-05-13 14:31 ./usr/share/man/man3/rpmem_check_version.3.gz -> ../man7/librpmem.7.gz
lrwxrwxrwx root/root 0 2019-05-13 14:31 ./usr/share/man/man3/rpmem_errormsg.3.gz -> ../man7/librpmem.7.gz
../librpmem-dev_1.5.1-1ubuntu1_amd64.deb

Should I just leave dh_missing out for now, or refrain from adding debian/not-installed as there are so many false positives? Unless you know what is going on here.

Hah, found this bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=858834
A comment says:
"""
We need to improve the tooling a bit before we can take this decision.
Unfortunately, dh_install cannot see files installed by later helpers
(e.g. dh_installman), so it has a lot of false-positives at the moment.
"""

Specifically https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415396

I can add all manpages to the debian/not-installed file, should I go down that route? Or pass -X. I'll investigate a bit.

fb080ce... by Andreas Hasenack

  * d/not-installed: list files from the pmreorder python script that
    we are choosing to not install because it's not ready yet, requiring
    forks of other tools.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> 1) d/p/manpage-debug-packages.patch
> Ack, please submit to Debian as you suggested

Will do

>
> 2) * libpmemobj c++ bindings are on separate source now:
> Ack, some changes in the other MP needed thou
>
> 3) * d/rules: use dh_missing to list missing files
> Ack, as mentioned above list missing files in d/not-installed and then please
> submit to Debian as you suggested

Will do, with the exclusions

>
> 4) * d/rules: don't remove TEST34 as it is passing in Ubuntu atm
> Ack, and good that it goes away
>
> 5) * d/NEWS:
> Ack, but this change is not mentioned in the changelog.
> I think it should be mentioned there as well, not *only* in the news file (in
> the news it can have more text than in changelog)

I believe it's in changelog now

>
> 6) * d/control (valgrind)
> Ack, this does not look good to me either
>
> 7) * d/README.source:
> Please drop the pmemcto references here, they no more apply.
> If (unlikely) this makes jemalloc removable great, take a look at it - if not
> ok, but at least remove its mentioning from this file.

That bit of text is a quote from upstream, how about I leave it as is and add a comment explaining that pmemcto is no longer an issue, but the other reasoning stands? I'll do that and you can evaluate.

>
> 8) d/README.debian
> Ack
>
> 9) libpmemcto* packages removed
> Please take a note after you have this completed to remove the binaries from
> EOAN

Added to my checklist on the pmdk card

>
> 10) symbols-file-missing-build-depends-package-field
> File and propose at Debian, no need for Delta as it isn't critical at all

Will do

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> 10) symbols-file-missing-build-depends-package-field
> File and propose at Debian, no need for Delta as it isn't critical at all

https://github.com/kilobyte/pmdk/pull/1

Yes, not using salsa, pmdk is not imported there. That is the vcs url in d/control as it comes from debian.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I'm not done addressing everything yet, will let you know when it's ready for re-review.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> 1) d/p/manpage-debug-packages.patch
> Ack, please submit to Debian as you suggested

Submitted: https://github.com/kilobyte/pmdk/pull/2

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

> 3) * d/rules: use dh_missing to list missing files
> Ack, as mentioned above list missing files in d/not-installed and then please
> submit to Debian as you suggested

Submitted: https://github.com/kilobyte/pmdk/pull/3

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

All pushed, ppa uploaded to, on to some testing with both packages.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I think it's working fine, please re-review.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Bileto is running.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I don't follow the argument on (7) being a quote, it is misleading.
comment inline at the pmemcto section to consider removing the "makes it harder" part.

One more inline comment on dh_missing.

Thanks for the Debian PRs and all other fixes, except the two mentioned it LGTM now.
I think one last round of cleanup will do.

review: Needs Fixing
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

question for dh_missing

c1aa48a... by Andreas Hasenack

changelog

346bd80... by Andreas Hasenack

update-metadata

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Pushed with dh_missing and README.source changes, also uploaded to the bileto ppa one more time

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

LGTM now.

And yes, if it becomes a problem --fail-missing is not super important.
Asking Debian later on is a good start.

+1

review: Approve
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

tagged and uploaded

$ git push pkg upload/1.5.1-1ubuntu1
Enumerating objects: 56, done.
Counting objects: 100% (56/56), done.
Delta compression using up to 4 threads
Compressing objects: 100% (49/49), done.
Writing objects: 100% (49/49), 7.61 KiB | 974.00 KiB/s, done.
Total 49 (delta 30), reused 0 (delta 0)
To ssh://git.launchpad.net/~usd-import-team/ubuntu/+source/pmdk
 * [new tag] upload/1.5.1-1ubuntu1 -> upload/1.5.1-1ubuntu1

$ dput ubuntu ../pmdk_1.5.1-1ubuntu1_source.changes
Checking signature on .changes
gpg: ../pmdk_1.5.1-1ubuntu1_source.changes: Valid signature from AC983EB5BF6BCBA9
Checking signature on .dsc
gpg: ../pmdk_1.5.1-1ubuntu1.dsc: Valid signature from AC983EB5BF6BCBA9
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading pmdk_1.5.1-1ubuntu1.dsc: done.
  Uploading pmdk_1.5.1-1ubuntu1.debian.tar.xz: done.
  Uploading pmdk_1.5.1-1ubuntu1_source.buildinfo: done.
  Uploading pmdk_1.5.1-1ubuntu1_source.changes: done.
Successfully uploaded packages.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

This migrated

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/NEWS b/debian/NEWS
2new file mode 100644
3index 0000000..22e63d1
4--- /dev/null
5+++ b/debian/NEWS
6@@ -0,0 +1,19 @@
7+pmdk (1.5.1-1ubuntu1) eoan; urgency=medium
8+
9+ Important changes introduced in version 1.5. See
10+ http://pmem.io/2018/10/22/release-1-5.html for details.
11+
12+ The libpmemcto code has been removed from upstream in this release, and as
13+ such the corresponding libpmemcto* Debian packages are no longer being
14+ built.
15+
16+ The c++ header files and documentation for libpmemobj were moved to a new
17+ source package called libpmemobj-cpp, and are present in the binary packages
18+ libpmemobj-cpp-dev and libpmemobj-cpp-doc respectively.
19+
20+ As a side effect of performance optimizations, the libpmemobj on-media layout
21+ had to be changed, which means that old pools have to be converted using
22+ pmdk-convert.
23+
24+
25+ -- Andreas Hasenack <andreas@canonical.com> Fri, 10 May 2019 18:38:26 +0000
26diff --git a/debian/README.source b/debian/README.source
27new file mode 100644
28index 0000000..6574150
29--- /dev/null
30+++ b/debian/README.source
31@@ -0,0 +1,33 @@
32+lintian check: debian-watch-does-not-check-gpg-signature
33+========================================================
34+Upstream does not distribute detatched gpg signatures
35+
36+https://github.com/pmem/issues/issues/848
37+
38+
39+lintian check: hardening-no-fortify-functions
40+=============================================
41+This check is raising warnings for the -debug library packages. As their
42+respective description says, these packages are meant for special debugging
43+cases and should not be installed or used outside of a debugging session.
44+Therefore, this lintian warning is not being addressed for the libraries in the
45+-debug packages.
46+
47+Also note that just installing the -debug packages is not enough to have
48+applications use them, since they are installed in a path outside of the linker
49+search path. The devel manpages for each library explain how to use them.
50+
51+
52+Bundled jemalloc
53+================
54+The upstream source includes jemalloc version 3.6.0, released 2014-03-31, with
55+local modifications, as declared in src/jemalloc/README.libvmem.
56+
57+Questioned if this was still necessary, and why the changes couldn't be sent
58+back to jemalloc, upstream had this to say
59+(https://bugs.launchpad.net/ubuntu/+bug/1752378/comments/72):
60+
61+"""
62+We can't upstream those changes, because jemalloc changed too much since we
63+forked it.
64+"""
65diff --git a/debian/changelog b/debian/changelog
66index 96ea03a..7ff7cdc 100644
67--- a/debian/changelog
68+++ b/debian/changelog
69@@ -1,3 +1,25 @@
70+pmdk (1.5.1-1ubuntu1) eoan; urgency=medium
71+
72+ * d/p/manpage-debug-packages.patch: mention the -debug package split
73+ in Ubuntu systems
74+ * libpmemobj c++ bindings are on separate source now:
75+ - d/libpmemobj-doc.install: removed
76+ - d/libpmemobj-doc.doc-base: removed
77+ - d/control: setup transition from libpmemobj-doc to libpmemobj-cpp-doc
78+ * d/rules: use dh_missing with --fail and known exclusions for files
79+ installed by other dh tools
80+ * d/rules: don't remove TEST34 as it is passing in Ubuntu atm
81+ * d/NEWS: added to explain important packaging changes in this update
82+ * d/control: the valgrind test is failing, remove it from
83+ build-depends
84+ * d/README.source: explains some lintian checks and the reason why
85+ jemalloc is bundled.
86+ * d/not-installed: list files from the pmreorder python script that
87+ we are choosing to not install because it's not ready yet, requiring
88+ forks of other tools.
89+
90+ -- Andreas Hasenack <andreas@canonical.com> Thu, 16 May 2019 14:48:30 +0000
91+
92 pmdk (1.5.1-1) unstable; urgency=medium
93
94 * New upstream release.
95diff --git a/debian/control b/debian/control
96index 5117094..65d581f 100644
97--- a/debian/control
98+++ b/debian/control
99@@ -1,7 +1,8 @@
100 Source: pmdk
101 Section: libs
102 Priority: optional
103-Maintainer: Adam Borowski <kilobyte@angband.pl>
104+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
105+XSBC-Original-Maintainer: Adam Borowski <kilobyte@angband.pl>
106 Build-Depends: bash-completion,
107 bc,
108 debhelper (>= 11),
109@@ -10,8 +11,7 @@ Build-Depends: bash-completion,
110 libfabric-dev [amd64],
111 libndctl-dev (>= 60.1),
112 pandoc,
113- pkg-config,
114- valgrind,
115+ pkg-config
116 Standards-Version: 4.3.0
117 Homepage: http://pmem.io/pmdk/
118 Vcs-Git: https://github.com/kilobyte/pmdk -b debian
119@@ -178,6 +178,14 @@ Description: development files for libpmemobj1
120 This package contains libraries and header files used for linking programs
121 against libpmemobj.
122
123+Package: libpmemobj-doc
124+Section: oldlibs
125+Architecture: all
126+Depends: ${misc:Depends},
127+ libpmemobj-cpp-doc
128+Description: Transitional package for libpmemobj-cpp-doc
129+ This is a transitional package. It can safely be removed.
130+
131 Package: libpmempool1
132 Architecture: amd64
133 Depends: libpmem1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
134diff --git a/debian/libpmemobj-doc.doc-base b/debian/libpmemobj-doc.doc-base
135deleted file mode 100644
136index 7c6d5fd..0000000
137--- a/debian/libpmemobj-doc.doc-base
138+++ /dev/null
139@@ -1,9 +0,0 @@
140-Document: libpmemobj
141-Title: PMDK libpmemobj C++ bindings Manual
142-Author: PMDK Developers
143-Abstract: This is the HTML docs for the C++ bindings for PMDK's libpmemobj.
144-Section: Programming
145-
146-Format: HTML
147-Index: /usr/share/doc/libpmemobj-doc/html/index.html
148-Files: /usr/share/doc/libpmemobj-doc/html/*
149diff --git a/debian/libpmemobj-doc.install b/debian/libpmemobj-doc.install
150deleted file mode 100644
151index 4a91299..0000000
152--- a/debian/libpmemobj-doc.install
153+++ /dev/null
154@@ -1 +0,0 @@
155-usr/share/doc/libpmemobj-doc/*
156diff --git a/debian/not-installed b/debian/not-installed
157new file mode 100644
158index 0000000..d550e92
159--- /dev/null
160+++ b/debian/not-installed
161@@ -0,0 +1,14 @@
162+usr/share/pmreorder/utils.py
163+usr/share/pmreorder/memoryoperations.py
164+usr/share/pmreorder/pmreorder.py
165+usr/share/pmreorder/opscontext.py
166+usr/share/pmreorder/statemachine.py
167+usr/share/pmreorder/consistencycheckwrap.py
168+usr/share/pmreorder/loggingfacility.py
169+usr/share/pmreorder/operationfactory.py
170+usr/share/pmreorder/reorderengines.py
171+usr/share/pmreorder/reorderexceptions.py
172+usr/share/pmreorder/binaryoutputhandler.py
173+usr/share/pmreorder/markerparser.py
174+usr/share/bash-completion/completions/pmempool
175+usr/bin/pmreorder
176diff --git a/debian/patches/manpage-debug-packages.patch b/debian/patches/manpage-debug-packages.patch
177new file mode 100644
178index 0000000..75a9891
179--- /dev/null
180+++ b/debian/patches/manpage-debug-packages.patch
181@@ -0,0 +1,127 @@
182+Description: Mention the -debug package split in Ubuntu systems
183+ In Ubuntu systems, the special debug libraries (with extra assertions,
184+ checks and logging, not suitable for production) are placed in a separate
185+ binary package with the "-debug" suffix. These are only meant to be
186+ installed when specific troubleshooting is required. Instructions for this
187+ troubleshooting are included in the library manpages, and we add a note
188+ explaining that the respective -debug package should be installed.
189+Author: Andreas Hasenack <andreas@canonical.com>
190+Forwarded: no
191+Last-Update: 2019-05-10
192+---
193+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
194+--- a/doc/libpmem/libpmem.7.md
195++++ b/doc/libpmem/libpmem.7.md
196+@@ -261,6 +261,10 @@
197+ and causing the specified address to be used as a hint about where to
198+ place the mapping.
199+
200++>NOTE:
201++On Ubuntu systems, this extra debug version of the library is
202++shipped in the respective **-debug** Debian package and placed in
203++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
204+
205+ # DEBUGGING AND ERROR HANDLING #
206+
207+@@ -320,6 +324,10 @@
208+ the log file is created. If **PMEM_LOG_FILE** is not set, output is
209+ written to *stderr*.
210+
211++>NOTE:
212++On Ubuntu systems, this extra debug version of the library is
213++shipped in the respective **-debug** Debian package and placed in
214++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
215+
216+ # EXAMPLE #
217+
218+--- a/doc/libpmemblk/libpmemblk.7.md
219++++ b/doc/libpmemblk/libpmemblk.7.md
220+@@ -257,6 +257,10 @@
221+ See also **libpmem**(7) for information on other environment variables
222+ that may affect **libpmemblk** behavior.
223+
224++>NOTE:
225++On Ubuntu systems, this extra debug version of the library is
226++shipped in the respective **-debug** Debian package and placed in
227++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
228+
229+ # EXAMPLE #
230+
231+--- a/doc/libpmemlog/libpmemlog.7.md
232++++ b/doc/libpmemlog/libpmemlog.7.md
233+@@ -256,6 +256,10 @@
234+ See also **libpmem**(7) for information about other environment
235+ variables affecting **libpmemlog** behavior.
236+
237++>NOTE:
238++On Ubuntu systems, this extra debug version of the library is
239++shipped in the respective **-debug** Debian package and placed in
240++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
241+
242+ # EXAMPLE #
243+
244+--- a/doc/libpmemobj/libpmemobj.7.md
245++++ b/doc/libpmemobj/libpmemobj.7.md
246+@@ -258,6 +258,10 @@
247+ See also **libpmem**(7) to get information
248+ about other environment variables affecting **libpmemobj** behavior.
249+
250++>NOTE:
251++On Ubuntu systems, this extra debug version of the library is
252++shipped in the respective **-debug** Debian package and placed in
253++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
254+
255+ # EXAMPLE #
256+
257+--- a/doc/libpmempool/libpmempool.7.md
258++++ b/doc/libpmempool/libpmempool.7.md
259+@@ -214,6 +214,10 @@
260+ the log file is created. If **PMEMPOOL_LOG_FILE** is not set, output is
261+ written to *stderr*.
262+
263++>NOTE:
264++On Ubuntu systems, this extra debug version of the library is
265++shipped in the respective **-debug** Debian package and placed in
266++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
267+
268+ # EXAMPLE #
269+
270+--- a/doc/librpmem/librpmem.7.md
271++++ b/doc/librpmem/librpmem.7.md
272+@@ -355,6 +355,10 @@
273+ be appended to the file name when the log file is created. If
274+ **RPMEM_LOG_FILE** is not set, logging output is written to *stderr*.
275+
276++>NOTE:
277++On Ubuntu systems, this extra debug version of the library is
278++shipped in the respective **-debug** Debian package and placed in
279++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
280+
281+ # EXAMPLE #
282+
283+--- a/doc/libvmem/libvmem.7.md
284++++ b/doc/libvmem/libvmem.7.md
285+@@ -235,6 +235,10 @@
286+ the log file is created. If **VMEM_LOG_FILE** is not set, output is
287+ written to *stderr*.
288+
289++>NOTE:
290++On Ubuntu systems, this extra debug version of the library is
291++shipped in the respective **-debug** Debian package and placed in
292++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
293+
294+ # EXAMPLE #
295+
296+--- a/doc/libvmmalloc/libvmmalloc.7.md
297++++ b/doc/libvmmalloc/libvmmalloc.7.md
298+@@ -255,6 +255,10 @@
299+ Setting **VMMALLOC_LOG_STATS** to 1 enables logging human-readable
300+ summary statistics at program termination.
301+
302++>NOTE:
303++On Ubuntu systems, this extra debug version of the library is
304++shipped in the respective **-debug** Debian package and placed in
305++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
306+
307+ # NOTES #
308+
309diff --git a/debian/patches/series b/debian/patches/series
310index d66650e..e542ea9 100644
311--- a/debian/patches/series
312+++ b/debian/patches/series
313@@ -1 +1,2 @@
314+manpage-debug-packages.patch
315 do-not-build-examples.patch
316diff --git a/debian/rules b/debian/rules
317index 2b8ae2c..cf0b1be 100755
318--- a/debian/rules
319+++ b/debian/rules
320@@ -23,6 +23,9 @@ override_dh_install:
321 override_dh_installexamples:
322 dh_installexamples --exclude=.gitignore --exclude=.vcxproj
323
324+override_dh_missing:
325+ dh_missing --fail-missing --exclude=usr/share/man --exclude=usr/lib/$(DEB_HOST_MULTIARCH)/pmdk_debug/ --exclude=usr/share/bash-completion/completions/pmempool
326+
327 override_dh_auto_test:
328 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
329 # Use fake pmem; we really want tmpfs if possible.
330@@ -34,7 +37,5 @@ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
331 echo "TEST_BUILD=\"debug nondebug\"" >> src/test/testconfig.sh
332 # Display execution time of each test
333 echo "TM=1" >> src/test/testconfig.sh
334- # Kill a legitimately failing test (kernel bug on tmpfs).
335- rm -f src/test/obj_pool/TEST34
336 +$(MAKE) check
337 endif

Subscribers

People subscribed via source and target branches