[Rpm-maint] [rpm-software-management/rpm] Switch most of rpm over to C++ (PR #3028)
Panu Matilainen
notifications at github.com
Tue Apr 9 06:31:40 UTC 2024
As per https://github.com/rpm-software-management/rpm/discussions/2983, here goes.
More details in commits, but to summarize: add necessary casts to most of the codebase to make it buildable with a c++ compiler, and then switch over to c++. Exempt from this conversion are
- Python bindings: there are no big benefits from converting it right now, and it'll serve as a C API canary as well
- plugins: some of these may want to move to their real upstream repository now that the plugin API is public, we don't want to for language changes for them just now
- the low-level ndb engine is left up to maintainer (@mlschroe ) discretion, there's no *need* to convert it
You can view, comment on, or merge this pull request online at:
https://github.com/rpm-software-management/rpm/pull/3028
-- Commit Summary --
* Add a top-level option to compile with C++, doesn't do anything yet
* Add casts that C++ requires but C doesn't across librpmio
* Add casts that C++ requires but C doesn't across librpm
* Add casts that C++ requires but C doesn't across librpmbuild
* Add casts that C++ requires but C doesn't across librpmsign
* Add casts that C++ requires but C doesn't across cli tools
* Switch to C++ for the majority of codebase
-- File Changes --
M CMakeLists.txt (16)
M build/CMakeLists.txt (14)
M build/build.c (2)
M build/files.c (30)
M build/misc.c (4)
M build/pack.c (14)
M build/parsePreamble.c (4)
M build/parsePrep.c (4)
M build/parseReqs.c (8)
M build/parseScript.c (2)
M build/parseSpec.c (12)
M build/policies.c (2)
M build/reqprov.c (2)
M build/rpmfc.c (34)
M build/spec.c (12)
M build/speclua.c (6)
M lib/CMakeLists.txt (18)
M lib/backend/bdb_ro.c (26)
M lib/backend/dbi.c (2)
M lib/backend/dbiset.c (5)
M lib/backend/ndb/glue.c (66)
M lib/backend/sqlite.c (43)
M lib/cpio.c (2)
M lib/depends.c (2)
M lib/formats.c (10)
M lib/fprint.c (11)
M lib/fsm.c (6)
M lib/header.c (66)
M lib/headerfmt.c (2)
M lib/headerutil.c (14)
M lib/manifest.c (2)
M lib/order.c (17)
M lib/package.c (2)
M lib/poptALL.c (2)
M lib/poptI.c (2)
M lib/poptQV.c (6)
M lib/psm.c (24)
M lib/relocation.c (18)
M lib/rpmal.c (10)
M lib/rpmchecksig.c (2)
M lib/rpmdb.c (56)
M lib/rpmdb_internal.h (4)
M lib/rpmds.c (46)
M lib/rpmfi.c (40)
M lib/rpmfs.c (8)
M lib/rpmgi.c (2)
M lib/rpminstall.c (2)
M lib/rpmplugins.c (6)
M lib/rpmprob.c (2)
M lib/rpmps.c (4)
M lib/rpmrc.c (12)
M lib/rpmscript.c (12)
M lib/rpmtd.c (10)
M lib/rpmte.c (9)
M lib/rpmtriggers.c (23)
M lib/rpmts.c (16)
M lib/rpmug.c (2)
M lib/rpmvs.c (17)
M lib/signature.c (4)
M lib/tagexts.c (36)
M lib/tagname.c (2)
M lib/transaction.c (16)
M lib/verify.c (2)
M misc/rpmhash.C (8)
M misc/system.h (10)
M rpmio/CMakeLists.txt (12)
M rpmio/argv.c (12)
M rpmio/base64.c (8)
M rpmio/digest.c (2)
M rpmio/digest_libgcrypt.c (4)
M rpmio/digest_openssl.c (8)
M rpmio/expression.c (6)
M rpmio/lposix.c (16)
M rpmio/macro.c (24)
M rpmio/rpmfileutil.c (4)
M rpmio/rpmhook.c (2)
M rpmio/rpmio.c (16)
M rpmio/rpmkeyring.c (12)
M rpmio/rpmlog.c (4)
M rpmio/rpmlua.c (20)
M rpmio/rpmstring.c (4)
M rpmio/rpmstrpool.c (18)
M rpmio/rpmver.c (4)
M sign/CMakeLists.txt (7)
M sign/rpmgensig.c (10)
M sign/rpmsignverity.c (2)
M tests/Dockerfile.fedora (1)
M tools/CMakeLists.txt (9)
M tools/elfdeps.c (2)
M tools/rpm.c (2)
M tools/rpm2archive.c (2)
M tools/rpmbuild.c (2)
M tools/rpmdump.c (2)
M tools/rpmsign.c (2)
M tools/rpmsort.c (4)
-- Patch Links --
https://github.com/rpm-software-management/rpm/pull/3028.patch
https://github.com/rpm-software-management/rpm/pull/3028.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3028
You are receiving this because you are subscribed to this thread.
Message ID: <rpm-software-management/rpm/pull/3028 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20240408/4058bf9f/attachment-0001.html>
More information about the Rpm-maint
mailing list