Update README to current status.

This commit is contained in:
YellowJacketLinux 2024-10-17 04:36:54 -07:00
parent 5446e99074
commit d60d52d14e

View File

@ -4,47 +4,48 @@ Building RPM in LFS 12.2
This git is for the scripts needed to build the dependencies for the RPM Package This git is for the scripts needed to build the dependencies for the RPM Package
Manager (RPM) within a LFS 12.2 system. This is Phase Three in `THE-PLAN.md`. Manager (RPM) within a LFS 12.2 system. This is Phase Three in `THE-PLAN.md`.
First I am attempting to build RPM 4.18.x as I successfully built that version First I resolved the dependencies needed to build RPM 4.18.2 as I successfully
of RPM on LFS 11.3. However that version of RPM is EOL so once I get it building built and used RPM 4.18.1 on an LFS 11.3 system so I knew it was possible. Once
I will not install it but instead look to see if I can the modern version of RPM I had that building (but not installed) I resolved the dependencies needed to
to build. I believe they changed the build system to CMake so there will almost build RPM 4.20.0 which is the current series.
be some additional dependencies needed.
With dependencies through Lua built, RPM 4.18.2 builds in LFS 12.2 but there are With dependencies through Lua built, RPM 4.18.2 builds in LFS 12.2 but there are
still three needed components for a complete RPM environment: still two needed components for a complete RPM environment:
1. GnuPG (critical, needed to sign packages, important for package security) 1. GnuPG (critical, needed to sign packages, important for package security)
2. debugedit (critical, needed for debug packages) 2. debugedit (critical, needed for debug packages)
3. fakechroot (needed to run the test suite after building RPM)
Dependencies 13 through 27 build GnuPG. Dependencies 13 through 27 build GnuPG.
Dependencies 28 and 29 build debugedit. Dependencies 28 and 29 build debugedit.
Currently, fakeroot configures without error but the compile fails. The current Some of the additional needed dependencies for RPM 4.20.0 (such as CMake) were
release is from 2019 and the last commit is four years ago. As new versions of built as a result of building GnuPG, there was only one additional dependency
RPM since the 4.18.x series have changed their build system, it is quite (audit) which itself had an unmet dependency (swig). Once those were built, I
possible they no longer require fakechroot for their test suite. was able to successfully build RPM 4.20.0.
The same issue is reported as issue #105 on github with a patch from someone RPM 4.20.0 does want to use rpm-sequoia for digests and OpenPGP however
other than the author, so I may use it if new RPM still uses fakechroot. It does rpm-sequoia requires Rust and Rust is a can of worms I just do not like.
not appear to use it. Perhaps I am wrong not to like it, but I *really* do not like it. At this
Newer RPM however does want to use rpm-sequoia for digests and OpenPGP
however rpm-sequoia requires Rust and Rust is a can of worms I just do not
like. Perhaps I am wrong not to like it, but I *really* do not like it. At this
point in time I have zero plans to ever include it in YJL (add-on repositories point in time I have zero plans to ever include it in YJL (add-on repositories
of course can) as I just see no value in dealing with it. of course can) as I just see no value in dealing with it.
Newer RPM still supports using libgcrypt for the hashes and there is an RPM 4.20.0 still supports using libgcrypt for the hashes and there is an
unsupported way to use their legacy OpenPGP parser for signatures, detailed at unsupported way to use their legacy OpenPGP parser for signatures, detailed at
[RPM PGP Legacy](https://github.com/rpm-software-management/rpmpgp_legacy) [RPM PGP Legacy](https://github.com/rpm-software-management/rpmpgp_legacy)
git repository. git repository. I hope to implement that.
Initially I will just go without signature support on my own system while I I have not tried yet, hopefully before this weekend I will, and then I can start
decide if I want to cave and install a Rust compiler system (I really despise bootstrapping LFS with RPM.
the way it works, especially needing to keep multiple versions around because
of their lack of a stable ABI) and decide what to do later. Signatures are not RPM Test Suite
really necessary during the initial bootstrap. --------------
RPM 4.18.2 requires `fakechroot` to run the test suite. That project appears to
be abandoned with the last release about four years ago, and no recent activity
in the project git repository.
RPM 4.20.0 requires either `podman` or `docker` to run the test suite. As I do
not (yet) have either available, I could not run the test suite.
Dependency One: UnZip Dependency One: UnZip
--------------------- ---------------------