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

Use 'make install' for packaging #455

Merged
merged 1 commit into from
Apr 24, 2019
Merged

Conversation

ilammy
Copy link
Collaborator

@ilammy ilammy commented Apr 10, 2019

Replace explicit 'file maps' for packaging with make install invocations. This ensures that we always package the same files that get installed when building from source.

The list of files to be packaged is still maintained separately as we do split them into "libthemis" and "libthemis-dev" packages. Note that the split is not entirely correct: the static libraries and symbolic links should go into development package as well. However, for now we keep the old split for compatibility.

We use the newly added DESTDIR capability to install into a temporary staging directory and then collect the files from there. Now we also no longer need to create symbolic links manually. However, stripping binaries still has to be performed, and we still need to construct pre- and postinstall scripts. Let's do it inline to save the trouble.

@ilammy ilammy added infrastructure Automated building and packaging installation Installation of Themis core and wrapper packages labels Apr 10, 2019
Makefile Outdated Show resolved Hide resolved
Replace explicit 'file maps' for packaging with "make install"
invocations. This ensures that we always package the same files
that get installed when building from source.

The list of files to be packaged is still maintained separately as we
do split them into "libthemis" and "libthemis-dev" packages. Note that
the split is not entirely correct: the static libraries and symbolic
links should go into development package as well. However, for now we
keep the old split for compatibility.

We use the newly added DESTDIR capability to install into a temporary
staging directory and then collect the files from there. Now we also
no longer need to create symbolic links manually. However, stripping
binaries still has to be performed, and we still need to construct
pre- and postinstall scripts. Let's do it inline to save the trouble.
@ilammy ilammy force-pushed the ilammy/make-install-packages branch from cbe1d8b to 8697207 Compare April 16, 2019 15:52
@ilammy ilammy marked this pull request as ready for review April 16, 2019 15:53
@ilammy
Copy link
Collaborator Author

ilammy commented Apr 16, 2019

Finally, this is also ready for review.

Copy link
Collaborator

@Lagovas Lagovas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@shadinua
Copy link
Contributor

Great work, thanks!

Copy link
Contributor

@vixentael vixentael left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: definitely should trigger builds on buildbot and check errors there

@vixentael vixentael merged commit 56e28c6 into master Apr 24, 2019
@vixentael vixentael deleted the ilammy/make-install-packages branch April 24, 2019 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Automated building and packaging installation Installation of Themis core and wrapper packages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants