google / earthenterprise

Google Earth Enterprise - Open Source
Apache License 2.0
2.67k stars 889 forks source link

Add EL6/EL7 check to RPMs #700

Open tst-ccamp opened 6 years ago

tst-ccamp commented 6 years ago

Currently an EL6 RPM will attempt to install on an EL7 system and vice versa. Instead of attempting this and getting a random unrelated error, it should print a message stating that it is incompatible with the current system.

tst-ppenev commented 6 years ago

Hm. I don't know how that could be implemented. E.g., trying to install an EL 6 package on Cent OS 7 fails during dependency resolution, which occurs before anything you could put in a package gets executed.

tst-ccamp commented 6 years ago

This is really just to improve the error reporting. It says "can't find package". It would be better if it says "You are installing on the wrong platform".

tst-ppenev commented 6 years ago

I don't see a reasonable way to change the error reporting. There's nothing inherent in a distribution version that tells you whether a package can be installed on your system or not. The package manager doesn't perform such a test.

Package dependencies, and things like processor architecture do tell you if a package can be installed on your system. The package manager does perform these tests, and the one relevant in our case is package dependencies, which is already the reason trying to install on the wrong distribution version fails.

There was a suggestion to add a dependency on the redhat-release and centos-release package with a specific version range. I don't think Fusion or Server currently need these packages to run, but you could add a failed dependency whose name looks like a distribution name, and has a version.

I don't think that would make the error message much better. You'll just have an additional failed dependency to look for. It may also be confusing to package maintainers, since Open GEE wouldn't really need those packages.