rpm-software-management/createrepo_c

[1.0 breaking change] - Don't generate sqlite metadata by default

dralley opened this issue · 4 comments

yum supports XML metadata even though it prefers sqlite, but DNF doesn't use sqlite metadata at all. Since generating and compressing the sqlite metadata is very expensive and removing it should not break compatibility with RHEL, and also provides no benefit nowadays, it might be reasonable to disable it by default, or even compile the feature out by default on most platforms.

The only two non-yum users I am aware of are: mdapi, and repoview. repoview is defunct, and the fedora infra looks like it specifically adds --database or --no-database as needed so the default shouldn't affect it, which means mdapi shouldn't be broken by a change in default.

It would probably be good to update that eventually, though.

I also support to change the default to not generate yum database as default. Note - such a change cannot be back-ported to RHEL.

Suggestion - given the changes proposed for "1.0" in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/25J55FCQKTMCEOBS7EZCTP34RKLUOUQ3/, I propose we go a tiny bit further.

  • The --database and --no-database options could be dropped entirely in favor of users deliberately calling sqliterepo_c

    • EL7 is the only significant beneficiary, and EL7 will be EOL in a year
    • As per the proposal that was submitted to fedora-devel, createrepo_c would not necessarily generate EL7-compatible repos by default due to the treatment of comps metadata anyway - this would be an even less disruptive than that as yum is perfectly capable of handling repos without sqlite metadata, it is merely preferred if present.
  • sqliterepo_c could be split into a new package so that it could be dropped at some point in the future without breaking createrepo_c's semantic versioning

    • Or maybe it makes sense to just remove entirely, now, as per the above points? Splitting the package off is just a conservative option.

Pulp currently does use createrepo_c's sqlite metadata support, but we're going to drop it in the near future.

@kontura The original proposal here is finished, should we close this and file new issues for dropping --no-database?

@kontura The original proposal here is finished, should we close this and file new issues for dropping --no-database?

That sounds good. 👍