V Fri, Sep 10, 2021 at 02:26:20PM +0200, Petr Pisar napsal(a): > I'm relieved to announce an availability of the new module packaging format, > modulemd-packager, version 3. > [...] > WHAT IS CHANGING > ================ > > Since there was no place for the contexts in the old module format, a new, > input-only format "modulemd-packager", version 3, was designed and implemented > in MBS and other tools. At the opportunity of the format change, some other > pet peeves of the old format were solved. > > Changes in the format include: > > New document type and version: > > document: modulemd-packager > version: 3 > [...] > DNF handles outputs of both of them (the output format is distinguished with > "static_context: true" field), but it behaves differently. With the old > format, DNF can produce weird warnings or errors. Especially when your module > is required by another module. > > Will the old format be supporterd forever? I don't know. > > Does have the new format some drawbacks? A new drawback came out <https://bugzilla.redhat.com/show_bug.cgi?id=2004853>: Fedora 33 G.A. libmodulemd-2.9.4-3.fc33 does not yet support the new static_context field. Because DNF strictly validates modules found in repositories, libmodulemd will reject modules with the unknown field: Module yaml error: Unexpected key in data: static_context [line 9 col 3] and will ignore the module. That implies that DNF will handle packages of those module builds as non-modular before checking an RPM transaction: Installing: autoconf noarch 2.69-34.fc33 fedora 666 k Installing dependencies: perl-B x86_64 1.80-471.module_f33+12592+71aff0e2 updates-modular 189 k But then the transaction will be rejected because a strayed modular package is found: Running transaction check No available modular metadata for modular package 'perl-B-1.80-471.module_f33+12592+71aff0e2.x86_64', it cannot be installed on the system In short, Fedora 33 users who have not updated their system since 2020-12-16, won't be able to install packages which were (also) built in a module with the new format. This affects e.g. fresh off-line installations. A workaround is simple: update your system: # dnf upgrade or explicitly upgrade libmodulemd: # dnf --disable-repo 'updates*modular' upgrade libmodulemd before installing any packages. Since we cannot change G.A. installation media (ISO and qcow2 images), there is no remedy possible other than not pushing these updates to Fedora 33 repositories. You have two options: Either postpone the migration to the new format until Fedora 33 reaches its end of life (December, 2021?), or do not build the module for Fedora 33 (i.e. remove a context section with platform: f33). (That already happened with perl and perl-bootstrap modules. I will rebuild them and repush to stable, unless relengs untag them.) (That already happened with swig:4.0. Unpushing it from updates-testing should help.) I'm deeply sorry for this faux pas. -- Petr
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure