merge 972908 957079
tags 972908 +patch
tags 972908 +fixed-upstream
thanks

Matthias Klose wrote in bug 957079:
The full build log can be found at:
http://people.debian.org/~doko/logs/gcc10-20200225/ceph_14.2.7-1_unstable_gcc10.log
The last lines of the build log are at the end of this report.

Unfortunately thanks to parallel building, said last lines miss the actual 
error.
The actual error from the log seems to be.

/<<PKGBUILDDIR>>/src/common/bit_str.h:24:5: error: ‘uint64_t’ was not 
declared in this scope; did you mean ‘u_int64_t’?
   24 |     uint64_t bits,
      |     ^~~~~~~~
      |     u_int64_t

Which is the same as later reported in 972908

Looking at the file in the upstream VCS, this issue appears to be fixed by
https://github.com/ceph/ceph/commit/598c37296c944a056e4cd90e9f73c9e2fa6552fc
If i'm reading the github ui correctly I believe it is saying that said commit
is included in upstream releases since 15.1.0 . I added that commit as a patch
to the Debian package and tried to build it.

The build then failed with.

In file included from /ceph-14.2.9/src/librbd/api/PoolMetadata.cc:4: /ceph-14.2.9/src/librbd/api/PoolMetadata.h:21:54: error: ‘string’ in namespace ‘std’ does not name a type 21 | static int get(librados::IoCtx& io_ctx, const std::string &key, |

Again I was able to find an upstream commit

https://github.com/ceph/ceph/commit/84f629e1b1c8b336b9ce6bcc2466010045e68e7e

And again if i'm reading the github GUI correctly I believe it is saying that 
said
commit is included in upstream releases since 15.1.0. I added it to the list of
patches and set the build going again with debian/rules build, it succeeded so
I then went to do a full start to finish build.

At which point I discovered that the clean target wasn't cleaning up
etc/sysctl/90-ceph-osd.conf so I fixed that.

And after that I got a successful build, debdiff is attatched, no immediate
intent to NMU.

(note: debdiff produced some garbage due to symlinks in the upstream source
, I thus filtered the debdiff with
debdiff ceph_14.2.9-1.dsc ceph_14.2.9-1.1.dsc | filterdiff -p1 -i'debian/*' > 
ceph.debdiff
)
diff -Nru ceph-14.2.9/debian/changelog ceph-14.2.9/debian/changelog
--- ceph-14.2.9/debian/changelog        2020-04-24 20:43:18.000000000 +0000
+++ ceph-14.2.9/debian/changelog        2020-11-22 10:56:08.000000000 +0000
@@ -1,3 +1,11 @@
+ceph (14.2.9-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Apply upstream patches to fix missing includes (Closes: #957079)
+  * Clean up etc/sysctl/90-ceph-osd.conf in clean target.
+
+ -- Peter Michael Green <plugw...@debian.org>  Sun, 22 Nov 2020 10:56:08 +0000
+
 ceph (14.2.9-1) unstable; urgency=high
 
   * [dc4e7cf] Update upstream source from tag 'upstream/14.2.9'
diff -Nru ceph-14.2.9/debian/patches/common-add-missing-include.patch 
ceph-14.2.9/debian/patches/common-add-missing-include.patch
--- ceph-14.2.9/debian/patches/common-add-missing-include.patch 1970-01-01 
00:00:00.000000000 +0000
+++ ceph-14.2.9/debian/patches/common-add-missing-include.patch 2020-11-22 
10:55:31.000000000 +0000
@@ -0,0 +1,35 @@
+commit 598c37296c944a056e4cd90e9f73c9e2fa6552fc
+Author: Kefu Chai <kc...@redhat.com>
+Date:   Sun Jan 5 22:25:40 2020 +0800
+
+    common: add missing #include
+    
+    clang++-9.0.1 and libc++ require them to build
+    
+    Signed-off-by: Kefu Chai <kc...@redhat.com>
+
+diff --git a/src/common/PluginRegistry.h b/src/common/PluginRegistry.h
+index 5a092def7c..62020a963a 100644
+--- a/src/common/PluginRegistry.h
++++ b/src/common/PluginRegistry.h
+@@ -19,6 +19,7 @@
+ #define CEPH_COMMON_PLUGINREGISTRY_H
+ 
+ #include <map>
++#include <string>
+ #include "common/ceph_mutex.h"
+ 
+ class CephContext;
+diff --git a/src/common/bit_str.h b/src/common/bit_str.h
+index c4c24f6a75..5271c8ffe1 100644
+--- a/src/common/bit_str.h
++++ b/src/common/bit_str.h
+@@ -14,6 +14,8 @@
+ #ifndef CEPH_COMMON_BIT_STR_H
+ #define CEPH_COMMON_BIT_STR_H
+ 
++#include <cstdint>
++#include <iosfwd>
+ #include <functional>
+ 
+ namespace ceph {
diff -Nru ceph-14.2.9/debian/patches/librbd-add-missing-include.patch 
ceph-14.2.9/debian/patches/librbd-add-missing-include.patch
--- ceph-14.2.9/debian/patches/librbd-add-missing-include.patch 1970-01-01 
00:00:00.000000000 +0000
+++ ceph-14.2.9/debian/patches/librbd-add-missing-include.patch 2020-11-22 
10:56:08.000000000 +0000
@@ -0,0 +1,20 @@
+commit 84f629e1b1c8b336b9ce6bcc2466010045e68e7e
+Author: Kaleb S. Keithley <kkeit...@redhat.com>
+Date:   Mon Jan 13 07:51:59 2020 -0500
+
+    librbd: added missing <string> include to PoolMetadata header
+    
+    Signed-off-by: Kaleb S. KEITHLEY <kkeit...@redhat.com>
+
+diff --git a/src/librbd/api/PoolMetadata.h b/src/librbd/api/PoolMetadata.h
+index 977ce3638d..c0a8173596 100644
+--- a/src/librbd/api/PoolMetadata.h
++++ b/src/librbd/api/PoolMetadata.h
+@@ -8,6 +8,7 @@
+ #include "include/rados/librados_fwd.hpp"
+ 
+ #include <map>
++#include <string>
+ 
+ namespace librbd {
+ 
diff -Nru ceph-14.2.9/debian/patches/series ceph-14.2.9/debian/patches/series
--- ceph-14.2.9/debian/patches/series   2020-04-24 20:43:18.000000000 +0000
+++ ceph-14.2.9/debian/patches/series   2020-11-22 10:56:08.000000000 +0000
@@ -14,3 +14,5 @@
 add-option-to-disable-ceph-dencoder.patch
 riscv64-link-pthread.patch
 mds-purgequeue-use_uint64_t.patch
+common-add-missing-include.patch
+librbd-add-missing-include.patch
diff -Nru ceph-14.2.9/debian/rules ceph-14.2.9/debian/rules
--- ceph-14.2.9/debian/rules    2020-04-24 20:43:18.000000000 +0000
+++ ceph-14.2.9/debian/rules    2020-11-22 10:56:08.000000000 +0000
@@ -172,3 +172,6 @@
 override_dh_gencontrol:
        dh_gencontrol ${skip_packages}
 
+override_dh_auto_clean:
+       dh_auto_clean
+       rm -f etc/sysctl/90-ceph-osd.conf

Reply via email to