#1171 createrepo for dnf systems can be run without --database
Closed: MIGRATED a year ago by nikromen. Opened 4 years ago by praiskup.

Do we need the sqlite databases in Fedora repositories? The only use-case
that comes to my mind is running mock -r fedora-*-x86_64 on el7, then yum
needs to be used at least to initialize bootstrap chroot.


Metadata Update from @praiskup:
- Issue untagged with: RFE
- Issue tagged with: question

4 years ago

You should probably just not produce SQLite databases unless you want to wire up something like repoview to all repos. They're not needed for YUM on EL7 either...

Hm, seems like repoview could be "fixed" to generate the DB automatically, ...

So the sqlite database is only needed on el6?

Not even there. YUM has always supported rpm-md XML, as that's the primary format.

I'm lost then. 46dccee says that
--database was added to generate database, but not why we needed that.

Any idea? AFAIK the --database option was not related to repoview,
I'm not aware we ever considered it.

We never needed it unless you wanted to do remote query things or use repoview. YUM has supported using rpm-md XML since slightly before RHEL 5. The format replaced the yumhdr metadata format in 2005. The SQLite version was introduced slightly later to provide "optimized" variants for super large repositories, but the "fast" resolution of SQLite repositories requires an extension for YUM that isn't always installed.

So anyway, in the end, you don't need it and you can just drop SQLite databases if you want.

Thanks! This originally came from @dmach's idea. Anything more to add?

@praiskup DNF doesn't use sqlite repodata. YUM3 uses it, but if it's not available it generates it locally from downloaded xml repodata. The sqlite repodata used to be provided to skip this step.

If you disable generating sqlite repodata, you'll save CPU cycles and also disk space on all Fedoras and RHEL8. Builds on RHEL <= 7 will take a bit longer because yum needs to generate the sqlite files from xml. The difference should be quite negligible because RHEL/CentOS/EPEL repos have the sqlite files and the COPR repos that will need the conversion are usually quite small.

I think we can have some dummy if for EL <= 7 chroots, and keep the sqlite DB
pre-compiled there. Just in case someone maintained rather larger repos
in copr. Epel 7 is going to be a minor thing on backend in terms of storage
in near future. Marking as RFE.

Metadata Update from @praiskup:
- Issue untagged with: question
- Issue tagged with: RFE

3 years ago

Metadata Update from @nikromen:
- Issue close_status updated to: MIGRATED
- Issue status updated to: Closed (was: Open)

a year ago

Login to comment on this ticket.

Metadata