Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More accurate package dependencies #682

Merged
merged 4 commits into from
Jul 23, 2020
Merged

Conversation

ilammy
Copy link
Collaborator

@ilammy ilammy commented Jul 20, 2020

More accurate DEB dependencies

Strictly speaking, libthemis depends on the OpenSSL library, not the openssl binary. The openssl package installs the entire binary along with its man pages, etc. Instead, it is sufficient to depend only on the library.

The library package is typically called libssl1.1, with an ABI suffix. The default OpenSSL library version differs between distros so we cannot write it in Makefile, but we should depend on the OpenSSL library from the particular distribution. If we were using debhelper, this would have been resolved for us automagically, but we are using FPM. Therefore we
will use the dependencies of libssl-dev package as a proxy for the current default OpenSSL library name. This should be good enough.

More accurate RPM dependencies

Similar to Debian/Ubuntu situation, the openssl package on RHEL/CentOS installs the openssl binary. The package with libraries only is called openssl-libs, we should depend on that instead.

RPM packages typically do not include ABI information in the name, though the distros here typically do not ship multiple ABIs of a library either, so it's fine.

Checklist

  • Change is covered by automated tests (not really here, only on Buildbot)
  • The coding guidelines are followed
  • Changelog is updated

ilammy and others added 3 commits July 20, 2020 22:12
Strictly speaking, libthemis depends on the OpenSSL library, not the
"openssl" binary. The "openssl" package installs the entire binary
along with its man pages, etc. Instead, it is sufficient to depend
only on the library.

The library package is typically called "libssl1.1", with an ABI suffix.
The default OpenSSL library version differs between distros so we cannot
write it in Makefile, but we should depend on the OpenSSL library from
the particular distribution. If we were using debhelper, this would have
been resolved for us automagically, but we are using FPM. Therefore we
will use the dependencies of "libssl-dev" package as a proxy for the
current default OpenSSL library name. This should be good enough.
Similar to Debian/Ubuntu situation, the "openssl" package on RHEL/CentOS
installs the "openssl" binary. The package with libraries only is called
"openssl-libs", we should depend on that instead.

RPM packages typically do not include ABI infromation in the name,
though the distros here typically do not ship multiple ABIs of a library
either so it's fine.
@ilammy ilammy added core Themis Core written in C, its packages infrastructure Automated building and packaging O-Linux 🐧 Operating system: Linux installation Installation of Themis core and wrapper packages labels Jul 20, 2020
Makefile Outdated Show resolved Hide resolved
Co-authored-by: Dmytro Shapovalov <[email protected]>
@ilammy ilammy mentioned this pull request Jul 21, 2020
5 tasks
@ilammy ilammy merged commit 98ae844 into cossacklabs:master Jul 23, 2020
@ilammy ilammy deleted the accurate-deps branch July 23, 2020 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Themis Core written in C, its packages infrastructure Automated building and packaging installation Installation of Themis core and wrapper packages O-Linux 🐧 Operating system: Linux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants