- Removed `--bootable` in favor of automatically generating a bootable image if all the necessary packages
are installed. Documentation was added in docs/bootable.ld on how a bootable image can be generated on
mainstream distros.
+- The RPM db is no longer rebuilt in bdb format on CentOS Stream 8. To be able to install packages on a
+ CentOS Stream 8 image with a RPM db in sqlite format, rewrite the db in bdb format using
+ `rpm --rebuilddb --define _db_backend bdb`.
## v14
# move it back to /var/lib/rpm on CentOS.
move_rpm_db(state.root)
- # Centos Stream 8 and below can't write to the sqlite db backend used by
- # default in newer RPM releases so let's rebuild the DB to use the old bdb
- # backend instead. Because newer RPM releases have dropped support for the
- # bdb backend completely, we check if rpm is installed and use
- # run_workspace_command() to rebuild the rpm db.
- if release <= 8 and state.root.joinpath("usr/bin/rpm").exists():
- cmdline = ["rpm", "--rebuilddb", "--define", "_db_backend bdb"]
- run_workspace_command(state, cmdline)
@classmethod
def install_packages(cls, state: MkosiState, packages: Sequence[str]) -> None: