lfs-rpmbootstrap/README.md

36 lines
1.8 KiB
Markdown
Raw Normal View History

2024-10-20 11:12:29 +08:00
Bootstrapping LFS 12.2 (SystemD) with RPM
=========================================
This git contains the RPM spec files and text sources/patches not retrievable
easily from a hyperlink for RPM bootstrapping my LFS 12.2 SystemD system.
The is Phase Four of [`THE-PLAN.md`](THE-PLAN.md).
Many of the spec files are ported from my previous (incomplete) RPM bootstrap of
my LFS 11.3 SysV Init system but due to a hard drive failure, some of those RPM
spec files were lost and I need to start over.
The RPM spec files committed today (20 October 2024 UTC) all build *except* for
the GCC RPM which is being worked on. With GCC, currently there are installed
files that need to be put into the correct place. Also, I need to add `m2` to
the list of compilers and create a sub-package for it.
The Perl spec file builds packages but needs to be split up into lots of smaller
packages. For RPM bootstrapping, that does not matter. That is a lot of tedious
work but the value is a small bug fix in a bundled module can then be updated
via RPM without needing to rebuild all of Perl.
The GLibC spec file has a bug. Other packages detect they need `rtld(GNU_HASH)`
which I believe is provided by GLibC but the packaging of GLibC does not detect
that it provides it. I could auto-specify that it provides it, but part of me
wonders if there actually is a runtime dependency for RPM missing that prevents
RPM from automatically picking up that GLibC as compiled?
Yes, `binutils` is compiled with `--enable-default-hash-style=gnu` and clearly
it is working as RPM detects `rtld(GNU_HASH)` as a needed dependency, but for
whatever reason, the RPM build of GLibC does not auto-detect that GLibC is
providing it.
Many of the spec files undoubtedly need work. Many undoubtedly have missing
`BuildRequires` and other packaging mistakes.