#109 Allow RPM builds for one _stream_ from different dist-git branches per %fedora version
Opened 2 months ago by praiskup. Modified 2 months ago

That said, it would be very convenient to define that some module builds:

components:
  rpms:
    first-package:
      rationale: Provides the core functionality.
      refs:
        fedora-28,fedora-29: 3.0-28  # special-case F{28,29}
        default: 3.0

Instead of:

components:
  rpms:
    first-package:
      rationale: Provides the core functionality.
      ref: 3.0 # everything build from one branch

The thing is that the package layouts can be really very different across
Fedora major versions; but we are forced to build the very same spec file
for each Fedora version from the same git refspec. That leads to ugly
conditions like '%if 0%{?fedora} > X' which really complicates both the
spec file maintenance and the overall readability. More, different people
can be responsible for different fedora versions.

Concrete example: PostgreSQL module ships 9.6 stream ATM. But it was
created against package-set provided by Fedora N, where N <= 30. In F30
though we provide different set of subpackages in 'postgresql.spec', and
we do some modularity changes that are not worth backporting to F29-. So,
it would be nice to have one branch (say 'stream-9.6') as the default
branch (for modular builds in f30+), and say ('stream-9.6-fc29') for the
older spec file layout.


While I would still propose putting everything in one SPEC with lots of ugly macros around it (considering we're trying to get away from release-style branching overall), if we implement something like this, I would prefer just branching the modulemd, I think.

For instance, you could be building from modules/postgresql:9.6-f28 for F28 and standard 9.6 for everything else. The former would need to define stream in the modulemd and have specific module-level dependencies, as would the other (excluding f28).

@psabata

I would prefer just branching the modulemd, I think.

As far as I understand it, I'd say this would be even more flexible.

@psabata

I would prefer just branching the modulemd, I think.

Do I get it right that this is not yet possible?

@psabata

I would prefer just branching the modulemd, I think.

Do I get it right that this is not yet possible?

It's not. MBS uses the branch name to determine the stream. While MBS lets you set your own stream in modulemd, in Fedora this is currently restricted by policy (or should be).

Login to comment on this ticket.

Metadata