-
Notifications
You must be signed in to change notification settings - Fork 81
build(deps): Migrate LibArchive dependency to task-based installation: #1122
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
base: main
Are you sure you want to change the base?
Changes from all commits
280ba24
0f97d9b
0f686fd
88f1eed
2cacc5d
2597a21
3a53973
3ff8669
8a2407b
3233f2f
f61890b
e78c035
5fdbc12
cb47228
8f5d04d
5046d0d
e65b433
d54a1ea
2bb246b
515e400
a21c9ce
c6e03c0
bc61453
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -17,8 +17,10 @@ dnf install -y \ | |||||||||||||||||||||
make \ | ||||||||||||||||||||||
mariadb-connector-c-devel \ | ||||||||||||||||||||||
openssl-devel \ | ||||||||||||||||||||||
python3-devel \ | ||||||||||||||||||||||
python3-pip \ | ||||||||||||||||||||||
unzip | ||||||||||||||||||||||
unzip \ | ||||||||||||||||||||||
zlib-devel | ||||||||||||||||||||||
Comment on lines
+20
to
+23
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chainAvoid system LibArchive; add pkg-config to prevent resolver drift Given this PR migrates LibArchive to task-based installs and relies on pkg-config for discovery, installing the system
Apply this diff to add pkg-config (within this hunk); remove python3-pip \
- unzip \
- zlib-devel
+ unzip \
+ zlib-devel \
+ pkgconf-pkg-config Would you like me to provide a quick verification script that inspects PKG_CONFIG_PATH precedence and resolves which libarchive.pc will be used by CMake? 🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "PWD: $(pwd)"
target="components/core/tools/scripts/lib_install/centos-stream-9/install-prebuilt-packages.sh"
if [ -f "$target" ]; then
echo "=== File: $target ==="
nl -ba "$target" | sed -n '1,240p'
else
echo "File $target not found. Searching for similar files..."
rg -n "install-prebuilt-packages.sh|centos-stream-9" || true
echo "Listing lib_install dir..."
ls -R components/core/tools/scripts/lib_install || true
fi
echo
echo "=== Search repo for libarchive-devel, pkgconf-pkg-config, pkg-config, PKG_CONFIG_PATH ==="
rg -n "libarchive-devel|pkgconf-pkg-config|pkg-config|PKG_CONFIG_PATH" || true Length of output: 165 🏁 Script executed: #!/bin/bash
set -euo pipefail
target="components/core/tools/scripts/lib_install/centos-stream-9/install-prebuilt-packages.sh"
echo "PWD: $(pwd)"
echo "Target: $target"
if [ -f "$target" ]; then
echo "=== File exists; printing up to 400 lines ==="
sed -n '1,400p' "$target" || true
else
echo "File not found; searching for matching files..."
rg -n --hidden "install-prebuilt-packages.sh|centos-stream-9" || true
fi
echo
echo "=== Listing directory ==="
ls -la components/core/tools/scripts/lib_install/centos-stream-9 || true
echo
echo "=== Repo search for libarchive / pkg-config related tokens ==="
rg -n --hidden "libarchive-devel|pkgconf-pkg-config|pkg-config|PKG_CONFIG_PATH|libarchive.pc|libarchive" || true Length of output: 23782 🏁 Script executed: #!/bin/bash
set -euo pipefail
file="components/core/cmake/Modules/FindLibArchive.cmake"
echo "Printing $file"
sed -n '1,240p' "$file" || true
echo
echo "Printing FindLibLZMA.cmake for comparison"
sed -n '1,240p' components/core/cmake/Modules/FindLibLZMA.cmake || true
echo
echo "Printing components/core/CMakeLists.txt around libarchive setup"
sed -n '1,320p' components/core/CMakeLists.txt || true Length of output: 17490 Avoid system LibArchive; add pkg-config to prevent resolver drift CentOS Stream 9 install script installs libarchive-devel but does not ensure pkg-config; CMake relies on pkg-config for picking the task-installed libarchive. Also, FindLibArchive.cmake currently prepends PKG_CONFIG_PATH with a semicolon which will not produce correct precedence on Unix.
python3-pip \
- unzip \
- zlib-devel
+ unzip \
+ zlib-devel \
+ pkgconf-pkg-config
📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
|
||||||||||||||||||||||
|
||||||||||||||||||||||
if ! command -v pipx >/dev/null 2>&1; then | ||||||||||||||||||||||
python3 -m pip install pipx | ||||||||||||||||||||||
|
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.
🧹 Nitpick (assertive)
Replace TODO with explicit security rationale; optionally centralize required version
The version pin is correct, but the TODO should be replaced by a short rationale referencing the security fixes motivating 3.8.1. Optionally, define the required version once to ease future bumps.
Apply this diff:
🤖 Prompt for AI Agents