cps-org / cps-org/cps-config

dylib requires in same cps file not working

Open
#64 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
21
Forks
8
PR merge metrics
No merged PRs in 30d

Description

I will eventually migrate my work of writing cps files for ubuntu into some integration tests here.

Here is a cps file I wrote from the below pc file.
```
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include/nss

Name: NSS
Description: Mozilla Network Security Services
Version: 3.68.2
Requires: nspr
Libs: -L${libdir} -lnss3 -lnssutil3 -lsmime3 -lssl3
Cflags: -I${includedir}
```

Here is the cps file I've written for this:
```json
{
"name": "NSS",
"cps_version": "0.10.0",
"version": "3.68.2",
"description": "Mozilla Network Security Services",
"default_components": ["nss3"],
"components": {
"nss3": {
"type": "dylib",
"includes": {"*": ["@prefix@/include/nss"]},
"location": "@prefix@/lib/x86_64-linux-gnu/libnss3.so",
"requres": [":nssutil3", ":smime3", ":ssl3"]
},
"nssutil3": {
"type": "dylib",
"location": "@prefix@/lib/x86_64-linux-gnu/libnssutil3.so",
},
"smime3": {
"type": "dylib",
"location": "@prefix@/lib/x86_64-linux-gnu/libsmime3.so",
},
"ssl3": {
"type": "dylib",
"location": "@prefix@/lib/x86_64-linux-gnu/libssl3.so",
},
}
}
```

Right now there is a problem with the requires is followed in archive types but not dylib types.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue provides CPS and PC examples but names no source files or tests. Reproduce the NSS-style component dependency case and trace how `requires` is processed for `dylib` versus archive components. Done means same-file dylib requirements are followed as they are for archive types, with coverage added as integration tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.