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

Integrate external dependencies as vcpkg managed dependencies and remove vcpkg from submodule #173

Open
4 tasks
mjcr99 opened this issue Sep 24, 2024 · 1 comment
Labels

Comments

@mjcr99
Copy link
Member

mjcr99 commented Sep 24, 2024

Related Issues

Description

After the development carried on here #65, many OS dependencies related to librpm are being added as seen in this workflow:

sudo apt-get install -y wget gnupg lsb-release software-properties-common libsystemd-dev
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18
sudo apt-get update
sudo apt-get install -y clang-tidy-18 autopoint libtool zlib1g-dev \
libgcrypt20-dev libmagic-dev libpopt-dev libmagic-dev libsqlite3-dev \
liblua5.4-dev gettext libarchive-dev

This can be avoided by letting vcpkg manage these dependencies, this way the amount of external dependencies managed by the OS will be reduced.

In addition, we are going to adapt the build to be able to remove the vcpkg code as a submodule, as this recommendation was deprecated and there are other ways to adapt the project to avoid having vcpkg as a submodule.

Tasks

  • Research to integrate as many external dependencies as possible into vcpkg. And adapt vcpkg to the project, avoiding it as a submodule:
    • Try to reduce as much as possible the external dependencies needed.
    • Find the best way to adapt vcpkg to the project, avoiding it as a submodule.
  • Modify the workflows and actions necessary to implement the new adaptation. And adapt the build code for vcpkg:
    • Modify the compilation with the new method to avoid vcpkg as a submodule.
    • Test it with GHA and locally.
  • Ensure that the pipeline supports all required platforms:
    • Platforms: Windows, Linux, and macOS.
  • Documentation:
    • Document the necessary steps to follow this procedure (update BUILD.md, and if other documentation exists, update it as well).
@MarcelKemp MarcelKemp changed the title Integrate librpm dependencies as vcpkg managed dependencies Integrate external dependencies as vcpkg managed dependencies and remove vcpkg from submodule Sep 24, 2024
@cborla
Copy link
Member

cborla commented Oct 3, 2024

Note that some OSes already have libbz2-dev and others do not, being required for librpm.

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

No branches or pull requests

4 participants