The Lazarus package currently builds three RPMs: "lazarus", which contains the
IDE, and the "qt5pas" library, along with "qt5pas-devel".
qt5pas is, technically, a separate project with its own versioning - but since its
distributed alongside Lazarus, and Lazarus depends on it, it made sense to build them from
one SRPM.
In the spec, I specify a different Version: for qt5pas. This isn't a problem per-se,
but means that if I upgrade Lazarus (so Version goes up and Release goes back to 1), I get
a lower NVR for qt5pas. So I made a macro which gets calculated based on Lazarus's
NVR, so it won't go down, and used it as the Release:. So now I have:
- in qt5pas: "Release = %{qt5pas-release}"
- in lazarus: "Requires: qt5pas = %{qt5pas-version}-%{qt5pas-release}"
Now, the problem is: whenever a Mass Rebuild occurs, the releng scripts see the
"Release = %{qt5pas-release}" bit and just slap ".1" at the end, which
in turn causes the "Requires: qt5pas = %{qt5pas-version}-%{qt5pas-release}" bit
to be unsatisfiable.
While I could, obviously, just make a commit stripping the ".1" and rebuild the
package, this approach is wasteful in regards to both my time and koji processing power,
and unfriendly towards automation (as it means a mass rebuild will always produce broken
packages). So I'm now wondering what would be the best approach.
- Move qt5pas to a separate dist-git repo: Would solve the problem above, but make syncing
the packages harder.
- Drop the separate version for qt5pas and just use Lazarus's version (would need an
Epoch bump, probably). This would make the package's version not match what is
shipped.
Any other approach I could adopt?
Thanks in advance,
A.FI.