mirror of
https://github.com/YellowJacketLinux/lfs-rpmify.git
synced 2025-02-09 03:57:22 +08:00
Update README to current status.
This commit is contained in:
parent
5446e99074
commit
d60d52d14e
51
README.md
51
README.md
@ -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
|
||||||
---------------------
|
---------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user