Hi Luciano,

This is going to need a lot of rework.

I diffed the upstream tarball 
https://download.ceph.com/tarballs/ceph-19.2.3.tar.gz
with ceph_19.2.3.orig.tar.xz from the uploads, and noticed there is a new
directory, src/python-common/ceph/cryptotools/* added.

Dan Hill and I managed to determine that it was a part of d/p/pyo3-fix.patch,
but I am very uncomfortable with this being a part of the actual upstream orig
tarball as it was never intended to be there as part of the 19.2.3 release.
This really should be a part of d/p/pyo3-fix.patch, mostly so we can we can see
that it all belongs together as one patch that does one thing, that we aren't
sneaking random bits of upstream code in the upstream tarball that can easily
be missed and forgotten when we do 19.2.4 or whatever next time.

I think it needs to have proper dep3 tagging and attribution, as well as more
documentation around the actual problem. Please consider filing a Launchpad
bug explaining the packaging issue and talking about it more in the debian
changelog. Also, consider something like the following in the patch itself:

So, A one line Description tag with "Fix pyo3 issues" just is not enough, it
needs to be like:

Subject: <Talk about the reasons why we need this patch, definitely talk about
 sub interpreter issues. Subject can be multi line, while description is only a
 single line.>
Author: John Mulligan <[email protected]>
Author: Paulo E. Castro <[email protected]>
Author: Ernesto Puerta <[email protected]>
Origin: backport, https://github.com/ceph/ceph/pull/62951
Bug: https://tracker.ceph.com/issues/64213
Bug-Ubuntu: https://bugs.launchpad.net/bugs/<lp bug>
Bug-Arch: https://github.com/bazaah/aur-ceph/issues/20

We really should carry the entire patchset, even the changes to the unit tests,
so if anyone wishes to pull the ceph packages from the archive and execute them,
they work. Yes, people really do this. 

So again, all changes to src/python-common/ceph/cryptotools/* need to be a part
of d/p/pyo3-fix.patch.

I also noticed that there is a hunk at the bottom of d/p/pyo3-fix.patch which
does not belong to this patchset:

diff --git a/src/rocksdb/db/blob/blob_file_meta.h 
b/src/rocksdb/db/blob/blob_file_meta.h
index d7c8a12433..2e47726f8d 100644
--- a/src/rocksdb/db/blob/blob_file_meta.h
+++ b/src/rocksdb/db/blob/blob_file_meta.h
@@ -6,6 +6,7 @@
 #pragma once
 
 #include <cassert>
+#include <cstdint>
 #include <iosfwd>
 #include <memory>
 #include <string>
 
This seems to belong to questing-boost-fix.patch? Please ensure it goes to the
correct file.

Why isn't questing-boost-fix.patch mentioned in debian/changelog?

The other major issue, which must be addressed, is that you took the noble
debian directory, and repurposed it for plucky and questing. This loses all
plucky and questings debian/changelog entries, and pushes forward nobles
flawed debian directory to questing. If you debdiff 

debdiff questing/ceph_19.2.1-0ubuntu4.dsc
questing/ceph_19.2.3-0ubuntu0.24.04.1~bpo25.10.1~ppa202508291528.dsc >
diff.debdiff

you will quickly see that noble's debian directory is missing d/control and
d/ceph-exporter.install files, so they get "deleted" in plucky and questing due
to them missing, and we lose the ceph-exporter package.

You can either do:
- for each release rebase ontop of its debian directory. E.g. for plucky, use
plucky's debian directory and add the point release ontop.
or
- take questings debian directory, and use it to backport to plucky and noble.
If you do this, you may need to drop questing specific patches for plucky and
noble due to boost library changes etc, and then merge debian/changelog entries
to preserve their package history.

The debian/changelog mentions you refreshed all patches, but they still have
offset fuzzing when I quilt pop -a and then quilt push -a, particularly for the
py313-compat/* patch series.

When doing Ubuntu development, the most important release is current devel. So 
we must change devel first, and if necessary backport things to older LTS 
releases. So we must always take the newest package, like questing and then
backport that to older releases if we are doing full backports. 

But we must always consider the specific changes necessary for each distro, like
at the moment, noble has no ceph-exporter package, it should probably stay that
way etc until we decide to explicitly add it. 

When you do PPA building, use two PPAs, one with -updates and one with 
-proposed. You can use the same ppa for all distro series. Make sure each ppa
is set to build with all architectures, even though noble onward doesn't build
for armhf etc, it should still be enabled and be stuck at "Dependency wait".

We are particularly interested in -proposed builds, especially for questing, due
to needing to be compatible with library transitions, e.g. libboost.

Just to mention ceph-exporter again, your testing really should have picked up
that your ppa builds no longer have the ceph-exporter packages for plucky and
questing, you should check the same packages are still available between point
releases to ensure there are no upgrade regressions between releases.

I know ceph packaging is complex and hard. Let's try and work on it all together
sometime, I know timezones are hard, but I am happy to share screens and help
make this happen, maybe sometime in your evenings and my mornings? Dan Hill will
set up a meeting to talk about all of this soon.

Thanks,
Matthew

** Bug watch added: tracker.ceph.com/issues #64213
   http://tracker.ceph.com/issues/64213

** Bug watch added: github.com/bazaah/aur-ceph/issues #20
   https://github.com/bazaah/aur-ceph/issues/20

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2119024

Title:
  [SRU] Squid: Ceph new point release 19.2.3

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2119024/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to