Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ceph for openSUSE:Factory checked in at 2025-10-08 18:13:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ceph (Old) and /work/SRC/openSUSE:Factory/.ceph.new.11973 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ceph" Wed Oct 8 18:13:12 2025 rev:104 rq:1309559 version:18.2.7 Changes: -------- --- /work/SRC/openSUSE:Factory/ceph/ceph.changes 2025-08-25 20:37:16.730031625 +0200 +++ /work/SRC/openSUSE:Factory/.ceph.new.11973/ceph.changes 2025-10-08 18:13:55.696910556 +0200 @@ -1,0 +2,5 @@ +Tue Oct 7 08:40:26 UTC 2025 - James Oakley <[email protected]> + +- Add cephadm-reproducible.patch for reproducible builds + +------------------------------------------------------------------- New: ---- cephadm-reproducible.patch ----------(New B)---------- New: - Add cephadm-reproducible.patch for reproducible builds ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ceph.spec ++++++ --- /var/tmp/diff_new_pack.VI2mL6/_old 2025-10-08 18:13:57.728995817 +0200 +++ /var/tmp/diff_new_pack.VI2mL6/_new 2025-10-08 18:13:57.728995817 +0200 @@ -222,6 +222,8 @@ Patch13: ceph-rocksdb-gcc15.patch # PATCH-FIX-UPSTREAM replace CryptoPP calls with GnuTLS [jsc#PED-13011] Patch14: ceph-replace-CryptoPP-calls-with-GnuTLS.patch +# PATCH-FIX-OPENSUSE cephadm-reproducible.patch -- Ensure cephadm executable is reproducible +Patch15: cephadm-reproducible.patch %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x riscv64 ++++++ cephadm-reproducible.patch ++++++ --- a/src/cephadm/build.py +++ b/src/cephadm/build.py @@ -12,7 +12,6 @@ import os import pathlib import shutil import subprocess -import tempfile import sys HAS_ZIPAPP = False @@ -57,11 +56,12 @@ def _did_rexec(): def _build(dest, src, versioning_vars=None): """Build the binary.""" os.chdir(src) - tempdir = pathlib.Path(tempfile.mkdtemp(suffix=".cephadm.build")) - log.debug("working in %s", tempdir) + builddir = pathlib.Path(".cephadm.build") + os.mkdir(builddir) + log.debug("working in %s", builddir) try: if os.path.isfile("requirements.txt"): - _install_deps(tempdir) + _install_deps(builddir) log.info("Copying contents") # TODO: currently the only file relevant to a compiled cephadm is the # cephadm.py file. Once cephadm is broken up into multiple py files @@ -69,19 +69,19 @@ def _build(dest, src, versioning_vars=No # sort organized structure to track what gets copied into the # dir to be zipped. For now we just have a simple call to copy # (and rename) the one file we care about. - shutil.copy("cephadm.py", tempdir / "__main__.py") + shutil.copy("cephadm.py", builddir / "__main__.py") if versioning_vars: - generate_version_file(versioning_vars, tempdir / "_version.py") - _compile(dest, tempdir) + generate_version_file(versioning_vars, builddir / "_version.py") + _compile(dest, builddir) finally: - shutil.rmtree(tempdir) + shutil.rmtree(builddir) -def _compile(dest, tempdir): +def _compile(dest, builddir): """Compile the zipapp.""" log.info("Byte-compiling py to pyc") compileall.compile_dir( - tempdir, + builddir, maxlevels=16, legacy=True, quiet=1, @@ -91,7 +91,7 @@ def _compile(dest, tempdir): log.info("Constructing the zipapp file") try: zipapp.create_archive( - source=tempdir, + source=builddir, target=dest, interpreter=sys.executable, compressed=True, @@ -100,14 +100,14 @@ def _compile(dest, tempdir): except TypeError: # automatically fall back to uncompressed zipapp.create_archive( - source=tempdir, + source=builddir, target=dest, interpreter=sys.executable, ) log.info("Zipapp created without compression") -def _install_deps(tempdir): +def _install_deps(builddir): """Install dependencies with pip.""" # TODO we could explicitly pass a python version here log.info("Installing dependencies") @@ -121,7 +121,7 @@ def _install_deps(tempdir): "--requirement", "requirements.txt", "--target", - tempdir, + builddir, ] )
