Package name
boringssl
openRuyi version
0.20251124.0-4.10
Describe the bug
1. Missing dependency: boringssl-devel does not require boringssl
boringssl-devel ships cmake config files that reference /usr/lib64/libcrypto.so and /usr/lib64/libssl.so, but installing boringssl-devel does not pull in the boringssl runtime package. This causes find_package(OpenSSL CONFIG) to fail immediately because the library files simply don't exist on the system.
2. Incorrect .so file ownership
Per standard RPM packaging conventions, the expected layout is:
| Package |
Expected |
Actual |
boringssl |
libcrypto.so.<version> (versioned .so) |
libcrypto.so (unversioned) |
boringssl-devel |
libcrypto.so → libcrypto.so.<version> (symlink) |
nothing |
The unversioned .so should be a symlink owned by the devel package, not the real library owned by the runtime package.
Here is what the current packages actually provide:
# rpm -ql boringssl-0.20251124.0-4.10.or.riscv64.rpm | grep .so
/usr/lib64/libcrypto.so
/usr/lib64/libssl.so
# rpm -ql boringssl-devel-0.20251124.0-4.10.or.riscv64.rpm | grep .so
Steps to reproduce
dnf install -y boringssl-devel cmake gcc
mkdir /tmp/test
cat > /tmp/test/CMakeLists.txt << 'EOF'
cmake_minimum_required(VERSION 3.13.4)
project(test VERSION "0.1" LANGUAGES C CXX)
find_package(OpenSSL REQUIRED CONFIG)
EOF
cmake -S /tmp/test -B /tmp/test/build
Expected behaviour
-
dnf install boringssl-devel should automatically install boringssl as a dependency.
-
File layout should follow the standard convention:
boringssl:
/usr/lib64/libcrypto.so.<version>
boringssl-devel:
/usr/lib64/libcrypto.so -> libcrypto.so.<version>
Requires: boringssl = %{version}-%{release}
Fix Suggestions
- In boringssl-devel.spec: add Requires: boringssl%{?_isa} = %{version}-%{release}
- In boringssl.spec: ensure libraries are built with a SONAME version and installed as libcrypto.so.
- In boringssl-devel.spec: add the unversioned symlinks pointing to the versioned libraries in the runtime package
Screenshots
No response
Relevant log output
CMake Error at /usr/lib64/cmake/OpenSSL/OpenSSLTargets.cmake:100:
The imported target "OpenSSL::Crypto" references the file
"/usr/lib64/libcrypto.so"
but this file does not exist.
Additional context
No response
I assert that this issue is relevant for openRuyi
Package name
boringssl
openRuyi version
0.20251124.0-4.10
Describe the bug
1. Missing dependency:
boringssl-develdoes not requireboringsslboringssl-develships cmake config files that reference/usr/lib64/libcrypto.soand/usr/lib64/libssl.so, but installingboringssl-develdoes not pull in theboringsslruntime package. This causesfind_package(OpenSSL CONFIG)to fail immediately because the library files simply don't exist on the system.2. Incorrect .so file ownership
Per standard RPM packaging conventions, the expected layout is:
boringssllibcrypto.so.<version>(versioned .so)libcrypto.so(unversioned)boringssl-devellibcrypto.so→libcrypto.so.<version>(symlink)The unversioned
.soshould be a symlink owned by the devel package, not the real library owned by the runtime package.Here is what the current packages actually provide:
Steps to reproduce
Expected behaviour
dnf install boringssl-develshould automatically installboringsslas a dependency.File layout should follow the standard convention:
Fix Suggestions
Screenshots
No response
Relevant log output
Additional context
No response
I assert that this issue is relevant for openRuyi