Opened 4 years ago
Last modified 4 years ago
#62137 assigned defect
weechat @3.0+tls: path-style dependency for certsync/curl-ca-bundle doesn't work
Reported by: | cooljeanius (Eric Gallager) | Owned by: | cardi (calvin ardi) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | Cc: | ||
Port: | weechat |
Description
weechat's +tls variant has a path-style dependency to allow either certsync or curl-ca-bundle to satisfy it:
depends_run-append path:etc/openssl/cert.pem:curl-ca-bundle
However, this doesn't work for me. I have certsync installed, and the file being checked for exists:
$ stat /opt/local/etc/openssl/cert.pem 16777221 86049698 -rw-r--r-- 1 root admin 0 260086 "Jan 23 19:16:07 2021" "Jan 23 19:15:38 2021" "Jan 23 19:15:38 2021" "Jan 23 19:15:38 2021" 4096 512 0 /opt/local/etc/openssl/cert.pem $ port installed certsync The following ports are currently installed: certsync @1.1.3_0 (active) $
...and yet MacPorts still thinks the dependency is unsatisfied:
DEBUG: Starting logging for curl-ca-bundle DEBUG: macOS 10.15 (darwin/19.6.0) arch i386 DEBUG: MacPorts 2.6.4 DEBUG: Xcode 12.3 DEBUG: SDK 10.15 DEBUG: MACOSX_DEPLOYMENT_TARGET: 10.15 DEBUG: Checking for conflicts against curl-ca-bundle DEBUG: Searching for dependency: certsync DEBUG: Found Dependency: receipt exists for certsync Error: Can't install curl-ca-bundle because conflicting ports are active: certsync DEBUG: conflicting ports while executing "_mporterrorifconflictsinstalled $mport" Error: Follow https://guide.macports.org/#project.tickets to report a bug.
I also have curl-ca-bundle installed, but it's not active, so that shouldn't be affecting anything:
$ port installed curl-ca-bundle The following ports are currently installed: curl-ca-bundle @7.71.0_0 $ sudo port -udc deactivate curl-ca-bundle Password: DEBUG: Copying /Users/ericgallager/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences DEBUG: Image error: port curl-ca-bundle is not active. invoked from within "throw registry::image-error "Image error: port ${name} is not active."" (procedure "deactivate" line 25) invoked from within "deactivate $name "" "" 0 $optionslist" (procedure "portimage::deactivate_composite" line 3) invoked from within "portimage::deactivate_composite $portname $composite_version [array get options]" Error: port deactivate failed: Image error: port curl-ca-bundle is not active.
Change History (6)
comment:1 Changed 4 years ago by mf2k (Frank Schima)
Cc: | cardi removed |
---|---|
Owner: | set to cardi |
Status: | new → assigned |
comment:2 Changed 4 years ago by jmroot (Joshua Root)
comment:3 Changed 4 years ago by cooljeanius (Eric Gallager)
This part?
DEBUG: Found Dependency: path: /opt/local/etc/openssl filename: cert.pem regex: ^cert.pem$ DEBUG: epoch: in tree: 0 installed: 0 DEBUG: curl-ca-bundle 7.74.0_0 exists in the ports tree DEBUG: curl-ca-bundle 7.71.0_0 is the latest installed DEBUG: no version of curl-ca-bundle is active DEBUG: Merging existing variants '' into variants DEBUG: new fully merged portvariants: DEBUG: Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/macports/release/tarballs/ports/net/curl
comment:4 follow-up: 5 Changed 4 years ago by cooljeanius (Eric Gallager)
ok, so uninstalling curl-ca-bundle completely allows me to upgrade weechat. I'd still think that merely deactivating it and activating certsync should be sufficient, though.
comment:5 follow-up: 6 Changed 4 years ago by cardi (calvin ardi)
I've inherited this port recently, so I'm not very familiar with the decisions behind the path-style dependency. (I did see that the dependency was added/discussed in #44672.)
Is the issue here that when cert-ca-bundle is installed and inactive and certsync is installed and active, weechat @3.0_0+tls fails to install?
And when cert-ca-bundle is uninstalled and certsync is installed and active (?), weechat successfully installs?
comment:6 Changed 4 years ago by cooljeanius (Eric Gallager)
Replying to cardi:
I've inherited this port recently, so I'm not very familiar with the decisions behind the path-style dependency. (I did see that the dependency was added/discussed in #44672.)
Is the issue here that when cert-ca-bundle is installed and inactive and certsync is installed and active, weechat @3.0_0+tls fails to install?
And when cert-ca-bundle is uninstalled and certsync is installed and active (?), weechat successfully installs?
Yes, I think that's about it. To be fair, this might not actually be an issue with weechat specifically, it might be a general issue with MacPorts' handling of path-style dependencies overall. But I'm not sure.
The actually relevant part of the log will be where it says something like this: