-
Notifications
You must be signed in to change notification settings - Fork 144
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
Move static libs and link files into dev packages #678
Conversation
Normally the "library" packages on Debian an RHEL contain only shared library files. Headers, static libraries, and shared library links go into the "development" package which is necessary to build software that uses the library (but not run it). On RHEL the static libraries are often moved into their own "-static" package to avoid bloating the "-devel" package (as dynamic linkage is customary). Historically, we've been putting everything into the "library" package but let's follow the conventions from now on. We already recommend to install "development" packages to develop software that uses Themis. Some language wrappers -- dynamic languages like Python and Ruby -- will need that as they resolve Themis dynamic library dynamically and need the symlink to be present.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this change affect BuildBot testing? @shadinua
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Completely reasonable 👍
Co-authored-by: vixentael <[email protected]>
By the way,
This is not necessarily true. Python docs, for example, suggest that |
Should not. Here we do not change building or installation flow how it looks from user (and CICD) side. |
Normally the “library” packages on Debian and RHEL contain only shared library files. Headers, static libraries, and shared library links go into the “development” package which is necessary to build software that uses the library (but not run it). On RHEL the static libraries are often moved into their own
-static
package to avoid bloating the-devel
package (as dynamic linkage is customary).Historically, we've been putting everything into the “library” package but let's follow the conventions from now on.
libthemis:
libsoter.so.0
andlibthemis.so.0
libthemis-devel:
libsoter.a
andlbthemis.a
libsoter.so
andlibthemis.so
symlinksWe already recommend to install “development” packages to develop software that uses Themis. Some language wrappers – dynamic languages like Python and Ruby – will need that as they resolve Themis dynamic library dynamically and need the symlink to be present.
Checklist
Change is covered by automated tests(somewhat? on Buildbot? maybe)