Merge ~ahasenack/ubuntu/+source/pmdk:eoan-pmdk-merge-1.6 into ubuntu/+source/pmdk:debian/experimental

Proposed by Andreas Hasenack
Status: Merged
Approved by: Andreas Hasenack
Approved revision: a7b53098daec8c5318db081bd3e3230403be120d
Merge reported by: Andreas Hasenack
Merged at revision: a7b53098daec8c5318db081bd3e3230403be120d
Proposed branch: ~ahasenack/ubuntu/+source/pmdk:eoan-pmdk-merge-1.6
Merge into: ubuntu/+source/pmdk:debian/experimental
Diff against target: 362 lines (+256/-4)
9 files modified
debian/NEWS (+19/-0)
debian/README.source (+33/-0)
debian/changelog (+48/-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/-0)
dev/null (+0/-1)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Canonical Server Pending
Review via email: mp+367769@code.launchpad.net

This proposal supersedes a proposal from 2019-05-22.

Description of the change

PPA: https://launchpad.net/~ahasenack/+archive/ubuntu/pmdk-1.6-merge
sudo add-apt-repository ppa:ahasenack/pmdk-1.6-merge

First merge using the git ubuntu workflow after the resync done in 1.5.1 with debian. Nice and easy.
As expected, dropped a bit of delta (removing a test that no longer fails).

About the rest:
- d/p/manpage-debug-packages.patch: was accepted by debian and will be in the next package upload
- d/rules, d/not-installed, dh_missing: with --list, was accepted by debian and will be in the next package upload. We switched to --fail. I'll wait for the next release to submit that to debian.

Lintian checks:
- symbols-file-missing-build-depends-package-field: accepted by debian, will be in their next upload
- spelling-error-in-manpage: accepted by upstream, will be in the next upstream release

DEP8 tests, simple as they are, pass locally.

Debian didn't document their changes properly in d/changelog for their 1.6 upload, but a git diff between sid and experimental shows:
- dropping the removal of a test
- adding of strace to build-depends. I believe this is for a unittest. It doesn't become a runtime dependency. Maybe related to the valgrind test we are dropping? I'm not sure. I didn't find many clues in upstream's git repo.

In parallel, I'm also making an MP for libpmemobj-cpp to bump it to 1.6, but there doesn't seem to be a hard dep between the two having to be in sync.

To post a comment you must log in.
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Let me check if the tests pass *with* valgrind in this version, then we can drop that bit of delta.

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

It seems upstreaming on this worked great so far and upstream as well as Debian are responsive.
Be sure to mention that when (re)opening the MIR later.

The one thing I'd like to mention/improve (as we have done on libpmemobj-cpp) is that we could/should mention that the transitions can be dropped after 20.04. That can be done this merge or anytime later - up to you.

I'm not concerned on the strace change as long as it is only build-dep.

I wondered about future remaining Delta, it seems to be
- README.source which I think would apply to Debian as well nowadays. Maybe propose that
  to Debian together with the --fail-missing later this cycle.
- valgrind; well lets not do too mcuh for now, just give it a try every merge and keep it if
  still failing
- d/NEWS: this does not apply to Debian but is shown when "passing" this version on an upgrade.
  Hence it is part of the same "can be dropped after 20.04" that we could mention on the commit.

That is one potential typo and a lot of thought for the future - but +1 for the current MP.

review: Approve
119fcdf... by Andreas Hasenack

merge-changelogs

74fdf2d... by Andreas Hasenack

reconstruct-changelog

a7b5309... by Andreas Hasenack

update-maintainer

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

Tagged and uploaded.
$ git push pkg upload/1.6-1ubuntu1
Enumerating objects: 57, done.
Counting objects: 100% (57/57), done.
Delta compression using up to 4 threads
Compressing objects: 100% (50/50), done.
Writing objects: 100% (50/50), 8.41 KiB | 1.68 MiB/s, done.
Total 50 (delta 29), reused 4 (delta 0)
To ssh://git.launchpad.net/~usd-import-team/ubuntu/+source/pmdk
 * [new tag] upload/1.6-1ubuntu1 -> upload/1.6-1ubuntu1

$ dput ubuntu ../pmdk_1.6-1ubuntu1_source.changes
Checking signature on .changes
gpg: ../pmdk_1.6-1ubuntu1_source.changes: Valid signature from AC983EB5BF6BCBA9
Checking signature on .dsc
gpg: ../pmdk_1.6-1ubuntu1.dsc: Valid signature from AC983EB5BF6BCBA9
Package includes an .orig.tar.gz file although the debian revision suggests
that it might not be required. Multiple uploads of the .orig.tar.gz may be
rejected by the upload queue management software.
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading pmdk_1.6-1ubuntu1.dsc: done.
  Uploading pmdk_1.6.orig.tar.gz: done.
  Uploading pmdk_1.6-1ubuntu1.debian.tar.xz: done.
  Uploading pmdk_1.6-1ubuntu1_source.buildinfo: done.
  Uploading pmdk_1.6-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 a756b8f..1a06551 100644
67--- a/debian/changelog
68+++ b/debian/changelog
69@@ -1,3 +1,29 @@
70+pmdk (1.6-1ubuntu1) eoan; urgency=medium
71+
72+ * Merge with Debian unstable. Remaining changes:
73+ - d/p/manpage-debug-packages.patch: mention the -debug package split
74+ in Ubuntu systems
75+ - libpmemobj c++ bindings are on separate source now:
76+ + d/libpmemobj-doc.install: removed
77+ + d/libpmemobj-doc.doc-base: removed
78+ + d/control: setup transition from libpmemobj-doc to libpmemobj-cpp-doc
79+ - d/rules: use dh_missing with --fail and known exclusions for files
80+ installed by other dh tools
81+ - d/NEWS: added to explain important packaging changes in this update
82+ [Can be dropped after 20.04]
83+ - d/control: the valgrind test is failing, remove it from
84+ build-depends
85+ - d/README.source: explains some lintian checks and the reason why
86+ jemalloc is bundled.
87+ - d/not-installed: list files from the pmreorder python script that
88+ we are choosing to not install because it's not ready yet, requiring
89+ forks of other tools.
90+ * Dropped:
91+ - d/rules: don't remove TEST34 as it is passing in Ubuntu atm
92+ [In 1.6~rc2-1]
93+
94+ -- Andreas Hasenack <andreas@canonical.com> Thu, 23 May 2019 11:57:43 -0300
95+
96 pmdk (1.6-1) experimental; urgency=medium
97
98 * New upstream release.
99@@ -10,6 +36,28 @@ pmdk (1.6~rc2-1) experimental; urgency=medium
100
101 -- Adam Borowski <kilobyte@angband.pl> Mon, 18 Mar 2019 02:04:47 +0100
102
103+pmdk (1.5.1-1ubuntu1) eoan; urgency=medium
104+
105+ * d/p/manpage-debug-packages.patch: mention the -debug package split
106+ in Ubuntu systems
107+ * libpmemobj c++ bindings are on separate source now:
108+ - d/libpmemobj-doc.install: removed
109+ - d/libpmemobj-doc.doc-base: removed
110+ - d/control: setup transition from libpmemobj-doc to libpmemobj-cpp-doc
111+ * d/rules: use dh_missing with --fail and known exclusions for files
112+ installed by other dh tools
113+ * d/rules: don't remove TEST34 as it is passing in Ubuntu atm
114+ * d/NEWS: added to explain important packaging changes in this update
115+ * d/control: the valgrind test is failing, remove it from
116+ build-depends
117+ * d/README.source: explains some lintian checks and the reason why
118+ jemalloc is bundled.
119+ * d/not-installed: list files from the pmreorder python script that
120+ we are choosing to not install because it's not ready yet, requiring
121+ forks of other tools.
122+
123+ -- Andreas Hasenack <andreas@canonical.com> Thu, 16 May 2019 14:48:30 +0000
124+
125 pmdk (1.5.1-1) unstable; urgency=medium
126
127 * New upstream release.
128diff --git a/debian/control b/debian/control
129index f23f3dd..6721bf7 100644
130--- a/debian/control
131+++ b/debian/control
132@@ -1,7 +1,8 @@
133 Source: pmdk
134 Section: libs
135 Priority: optional
136-Maintainer: Adam Borowski <kilobyte@angband.pl>
137+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
138+XSBC-Original-Maintainer: Adam Borowski <kilobyte@angband.pl>
139 Build-Depends: bash-completion,
140 bc,
141 debhelper (>= 11),
142@@ -11,8 +12,7 @@ Build-Depends: bash-completion,
143 libndctl-dev (>= 60.1),
144 pandoc,
145 pkg-config,
146- strace,
147- valgrind,
148+ strace
149 Standards-Version: 4.3.0
150 Homepage: http://pmem.io/pmdk/
151 Vcs-Git: https://github.com/kilobyte/pmdk -b debian
152@@ -179,6 +179,14 @@ Description: development files for libpmemobj1
153 This package contains libraries and header files used for linking programs
154 against libpmemobj.
155
156+Package: libpmemobj-doc
157+Section: oldlibs
158+Architecture: all
159+Depends: ${misc:Depends},
160+ libpmemobj-cpp-doc
161+Description: Transitional package for libpmemobj-cpp-doc
162+ This is a transitional package. It can safely be removed.
163+
164 Package: libpmempool1
165 Architecture: amd64
166 Depends: libpmem1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
167diff --git a/debian/libpmemobj-doc.doc-base b/debian/libpmemobj-doc.doc-base
168deleted file mode 100644
169index 7c6d5fd..0000000
170--- a/debian/libpmemobj-doc.doc-base
171+++ /dev/null
172@@ -1,9 +0,0 @@
173-Document: libpmemobj
174-Title: PMDK libpmemobj C++ bindings Manual
175-Author: PMDK Developers
176-Abstract: This is the HTML docs for the C++ bindings for PMDK's libpmemobj.
177-Section: Programming
178-
179-Format: HTML
180-Index: /usr/share/doc/libpmemobj-doc/html/index.html
181-Files: /usr/share/doc/libpmemobj-doc/html/*
182diff --git a/debian/libpmemobj-doc.install b/debian/libpmemobj-doc.install
183deleted file mode 100644
184index 4a91299..0000000
185--- a/debian/libpmemobj-doc.install
186+++ /dev/null
187@@ -1 +0,0 @@
188-usr/share/doc/libpmemobj-doc/*
189diff --git a/debian/not-installed b/debian/not-installed
190new file mode 100644
191index 0000000..d550e92
192--- /dev/null
193+++ b/debian/not-installed
194@@ -0,0 +1,14 @@
195+usr/share/pmreorder/utils.py
196+usr/share/pmreorder/memoryoperations.py
197+usr/share/pmreorder/pmreorder.py
198+usr/share/pmreorder/opscontext.py
199+usr/share/pmreorder/statemachine.py
200+usr/share/pmreorder/consistencycheckwrap.py
201+usr/share/pmreorder/loggingfacility.py
202+usr/share/pmreorder/operationfactory.py
203+usr/share/pmreorder/reorderengines.py
204+usr/share/pmreorder/reorderexceptions.py
205+usr/share/pmreorder/binaryoutputhandler.py
206+usr/share/pmreorder/markerparser.py
207+usr/share/bash-completion/completions/pmempool
208+usr/bin/pmreorder
209diff --git a/debian/patches/manpage-debug-packages.patch b/debian/patches/manpage-debug-packages.patch
210new file mode 100644
211index 0000000..75a9891
212--- /dev/null
213+++ b/debian/patches/manpage-debug-packages.patch
214@@ -0,0 +1,127 @@
215+Description: Mention the -debug package split in Ubuntu systems
216+ In Ubuntu systems, the special debug libraries (with extra assertions,
217+ checks and logging, not suitable for production) are placed in a separate
218+ binary package with the "-debug" suffix. These are only meant to be
219+ installed when specific troubleshooting is required. Instructions for this
220+ troubleshooting are included in the library manpages, and we add a note
221+ explaining that the respective -debug package should be installed.
222+Author: Andreas Hasenack <andreas@canonical.com>
223+Forwarded: no
224+Last-Update: 2019-05-10
225+---
226+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
227+--- a/doc/libpmem/libpmem.7.md
228++++ b/doc/libpmem/libpmem.7.md
229+@@ -261,6 +261,10 @@
230+ and causing the specified address to be used as a hint about where to
231+ place the mapping.
232+
233++>NOTE:
234++On Ubuntu systems, this extra debug version of the library is
235++shipped in the respective **-debug** Debian package and placed in
236++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
237+
238+ # DEBUGGING AND ERROR HANDLING #
239+
240+@@ -320,6 +324,10 @@
241+ the log file is created. If **PMEM_LOG_FILE** is not set, output is
242+ written to *stderr*.
243+
244++>NOTE:
245++On Ubuntu systems, this extra debug version of the library is
246++shipped in the respective **-debug** Debian package and placed in
247++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
248+
249+ # EXAMPLE #
250+
251+--- a/doc/libpmemblk/libpmemblk.7.md
252++++ b/doc/libpmemblk/libpmemblk.7.md
253+@@ -257,6 +257,10 @@
254+ See also **libpmem**(7) for information on other environment variables
255+ that may affect **libpmemblk** behavior.
256+
257++>NOTE:
258++On Ubuntu systems, this extra debug version of the library is
259++shipped in the respective **-debug** Debian package and placed in
260++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
261+
262+ # EXAMPLE #
263+
264+--- a/doc/libpmemlog/libpmemlog.7.md
265++++ b/doc/libpmemlog/libpmemlog.7.md
266+@@ -256,6 +256,10 @@
267+ See also **libpmem**(7) for information about other environment
268+ variables affecting **libpmemlog** behavior.
269+
270++>NOTE:
271++On Ubuntu systems, this extra debug version of the library is
272++shipped in the respective **-debug** Debian package and placed in
273++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
274+
275+ # EXAMPLE #
276+
277+--- a/doc/libpmemobj/libpmemobj.7.md
278++++ b/doc/libpmemobj/libpmemobj.7.md
279+@@ -258,6 +258,10 @@
280+ See also **libpmem**(7) to get information
281+ about other environment variables affecting **libpmemobj** behavior.
282+
283++>NOTE:
284++On Ubuntu systems, this extra debug version of the library is
285++shipped in the respective **-debug** Debian package and placed in
286++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
287+
288+ # EXAMPLE #
289+
290+--- a/doc/libpmempool/libpmempool.7.md
291++++ b/doc/libpmempool/libpmempool.7.md
292+@@ -214,6 +214,10 @@
293+ the log file is created. If **PMEMPOOL_LOG_FILE** is not set, output is
294+ written to *stderr*.
295+
296++>NOTE:
297++On Ubuntu systems, this extra debug version of the library is
298++shipped in the respective **-debug** Debian package and placed in
299++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
300+
301+ # EXAMPLE #
302+
303+--- a/doc/librpmem/librpmem.7.md
304++++ b/doc/librpmem/librpmem.7.md
305+@@ -355,6 +355,10 @@
306+ be appended to the file name when the log file is created. If
307+ **RPMEM_LOG_FILE** is not set, logging output is written to *stderr*.
308+
309++>NOTE:
310++On Ubuntu systems, this extra debug version of the library is
311++shipped in the respective **-debug** Debian package and placed in
312++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
313+
314+ # EXAMPLE #
315+
316+--- a/doc/libvmem/libvmem.7.md
317++++ b/doc/libvmem/libvmem.7.md
318+@@ -235,6 +235,10 @@
319+ the log file is created. If **VMEM_LOG_FILE** is not set, output is
320+ written to *stderr*.
321+
322++>NOTE:
323++On Ubuntu systems, this extra debug version of the library is
324++shipped in the respective **-debug** Debian package and placed in
325++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
326+
327+ # EXAMPLE #
328+
329+--- a/doc/libvmmalloc/libvmmalloc.7.md
330++++ b/doc/libvmmalloc/libvmmalloc.7.md
331+@@ -255,6 +255,10 @@
332+ Setting **VMMALLOC_LOG_STATS** to 1 enables logging human-readable
333+ summary statistics at program termination.
334+
335++>NOTE:
336++On Ubuntu systems, this extra debug version of the library is
337++shipped in the respective **-debug** Debian package and placed in
338++the **/usr/lib/$ARCH/pmdk_dbg/** directory.
339+
340+ # NOTES #
341+
342diff --git a/debian/patches/series b/debian/patches/series
343index d66650e..e542ea9 100644
344--- a/debian/patches/series
345+++ b/debian/patches/series
346@@ -1 +1,2 @@
347+manpage-debug-packages.patch
348 do-not-build-examples.patch
349diff --git a/debian/rules b/debian/rules
350index 10638d5..4043d3f 100755
351--- a/debian/rules
352+++ b/debian/rules
353@@ -23,6 +23,9 @@ override_dh_install:
354 override_dh_installexamples:
355 dh_installexamples --exclude=.gitignore --exclude=.vcxproj
356
357+override_dh_missing:
358+ dh_missing --fail-missing --exclude=usr/share/man --exclude=usr/lib/$(DEB_HOST_MULTIARCH)/pmdk_debug/ --exclude=usr/share/bash-completion/completions/pmempool
359+
360 override_dh_auto_test:
361 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
362 # Use fake pmem; we really want tmpfs if possible.

Subscribers

People subscribed via source and target branches