Hi,

I've just faced an interesting issue.
As anybody knows, openSUSE Leap 15.3 partially inherits ready binary packages from SUSE Linux Enterprise, and partially has its own packages building from sources at OBS. This bundle is called openSUSE Leap 15.3 distro, and both binary rpms and source rpms (http://download.opensuse.org/source/distribution/leap/15.3/ is empty now, but I suppose something eventually will appear here) are provided to end users. Lots was discussed about it.

Now, let me please introduce the following simple experiment.

Create an empty OBS subproject and assign openSUSE:Leap:15.3/standard as a repo to it.
Then link e2fsprogs package from openSUSE:Leap:15.3 to your new empty home subproject:

    osc linkpac openSUSE:Leap:15.3 e2fsprogs home:matwey:x

In other words, let's just rebuild e2fsprogs from Leap 15.3 against Leap 15.3. There is a little sense to do this because we expect that the result will be the same.
So, wait for rebuilding and... see the error. I left a link to my version of the log: https://build.opensuse.org/build/home:matwey:x/openSUSE_Leap_15.3/x86_64/e2fsprogs/_log

[   52s] autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION
[   52s] ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
[   52s] configure.ac:857: warning: AM_INTL_SUBDIR is m4_require'd but not m4_defun'd
[   52s] aclocal.m4:69: AM_GNU_GETTEXT is expanded from...
[   52s] configure.ac:857: the top level
[   53s] configure:6517: error: possibly undefined macro: AM_INTL_SUBDIR
[   53s]       If this token and others are legitimate, please use m4_pattern_allow.
[   53s]       See the Autoconf documentation.
[   53s] autoreconf: /usr/bin/autoconf failed with exit status: 1
[   53s] error: Bad exit status from /var/tmp/rpm-tmp.eU0KwE (%build)

So, now we have a binary package (e2fsprogs) and sources for it, and we cannot rebuild the binary from the sources. The reason is that gettext 0.20 is currently supplied by openSUSE:Leap:15.3, but at some point in the SLE's past it was 0.19. And I bet that e2fsprogs was built against gettext 0.19 when the AM_GNU_GETTEXT macro worked without an error. But it came from SLE and we don't have the build logs (or have we?)
However, the only we can see as a Leap 15.3 is a 'snapshot' of packages. So I expect the same behaviour when some end user will obtain the srpm for e2fsprogs and will try to rebuild it on his/her own box. Unfortunately, I don't know if e2fsprogs is a single one such case.

This kind of inconsistency has a negative impact on having ports for non-SLE architectures (like armv7l), complicates end-user impact on debugging and modifying(?) stuff, and smells not quite well when we are talking about 'open source principles'.

So, my question is how to avoid such issues and eventually have self-consistent  Leap 15.3.

--
With best regards,
Matwey V. Kornilov