openSUSE / rpm-config-SUSE

GNU General Public License v2.0
2 stars 18 forks source link

%requires_eq|ge(): Report error if package version cannot be determined #64

Closed e4t closed 3 weeks ago

e4t commented 1 year ago

The %requires_eq|ge() macros silently dropped dependencies when the package whose dependency was to be determined could not be found. Thus the missing dependency could go undetected. Make sure an error is reported in such cases.

Signed-off-by: Egbert Eich eich@suse.com

DimStar77 commented 1 week ago

This conflicts with python-singlespec rewriting mechanisms

e.g python -sip now fails to build - %requires_eq python-sip would be rewritten later on (before the deps are really created) to the relevant pythonXYZ flavors - with this change now, it fails early on, claiming python-sip6 cannot resolve (https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:N/python-sip/standard/x86_64)

bnavigator commented 1 week ago

https://github.com/openSUSE/python-rpm-macros/issues/185

Conan-Kudo commented 1 week ago

If it were up to me, we wouldn't have any of these macros. They're generally pretty terrible.

bnavigator commented 1 week ago

"These macros" are decades old, used in thousands of packages and unless you volunteer to replace them we are stuck with them.

DimStar77 commented 1 week ago

Found another regression:

%requires_ge tcl tk used to properly interpret the list and create two entries for it.

The new macro seems to stumble over this construct (still creating the two deps, but also a dependency on 'Requires' (likely a new-line missing somewhere)