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

Require system lzma and libarchive #181

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

pinotree
Copy link

  • require lzma and libarchive as system libraries, dropping their local download by default; they are available as standard libraries in Linux distros (and also in other Unix systems)
  • require some tools (autotools, patch, etc) only when building squashfuse ourselves
  • add a USE_SYSTEM_XDGUTILS for consistency with other ExternalProject's

xz is a standard part of Linux distros; hence, make it a required
dependency, without using an external copy of it.
libarchive is a standard part of Linux distros; hence, make it a
required dependency, without using an external copy of it.
Search and require the tools needed for the custom build of squashfuse
only in case we need to do the custom build of it, and not in all the
cases (i.e. when using a system version).

This avoids extra build time requirements when using a system version
of squashfuse.
Mimics what is done for other dependencies.
@TheAssassin
Copy link
Member

If you really want to remove the local build options, you either need to make sure these libraries are available and recent enough in https://github.com/AppImageCommunity/AppImageBuild, our build environment.

The modified project no longer links the two libraries in question statically, which is likely to cause issues. Unfortunately, CMake's built-in pkg-config support doesn't support imported targets for static libraries as of yet, and neither does our own function.

@pinotree
Copy link
Author

If you really want to remove the local build options, you either need to make sure these libraries are available and recent enough in https://github.com/AppImageCommunity/AppImageBuild, our build environment.

Hmm I saw that ci/install-deps.sh already had the system packages for them and assumed it was enough - OK, will take a look at AppImageBuild.

The modified project no longer links the two libraries in question statically, which is likely to cause issues.

Can you please expand on the reasons why this would be problematic? Usually you want to dynamically link to this kind of system libraries, as it makes less problematic to update users of them in case of e.g. bugfixes/CVEs/etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants