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/3...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to