[MacPorts] #74254: Found one of the reasons for failing to the infamous `Failed to verify signature for MacPorts source`.
MacPorts
noreply at macports.org
Sun Jul 26 17:01:10 UTC 2026
#74254: Found one of the reasons for failing to the infamous `Failed to verify
signature for MacPorts source`.
-------------------------------------------------+--------------------
Reporter: Lisias | Owner: (none)
Type: defect | Status: new
Priority: Not set | Milestone:
Component: base | Version: 2.12.5
Keywords: TMPDIR checksum signature signature | Port:
-------------------------------------------------+--------------------
I had been plagued with this message for some time, but none of the found
resolutions I found fixed my problem (like #49233 and #50867): by some
reason, macports were being unable to check signatures after a SYNC (no
matter a rsync or https):
{{{
---> Updating MacPorts base sources using rsync
receiving file list ... done
sent 36 bytes received 69 bytes 42.00 bytes/sec
total size is 27013120 speedup is 257267.81
receiving file list ... done
sent 36 bytes received 76 bytes 44.80 bytes/sec
total size is 512 speedup is 4.57
Error: Failed to verify signature for MacPorts source!
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: /opt/local/bin/port: port selfupdate failed: Failed to verify
signature for MacPorts source!
}}}
Similar problem was also preventing me from installing/updating ports.
The ticket #50867 gave me an idea, however... Reading the tcl
documentation, I learnt that TCL creats tmp files on the `$TMPDIR` to save
`stdout` and `stderr` from a `exec` command, and so I dug into macports
source and voilà: my rig was borking exactly on `run_unprivileged {exec
{*}$command}` from procs `macports::verify_signature_signify` and
`macports::verify_signature_openssl`.
This is an environment problem, i.e., by some reason my rig is not feeding
MacPorts with `$TMPDIR` and a change somewhere in the 1.12.x line was
caught by it - assuming it wasn't something I did myself on my rig and
updating MacPorts at the same time was a coincidence.
I'm still trying to figure out if it's something I did, or something
changed on MacPorts, but in the mean time and out of despair :P I brute
forced my way with two changes in
`/opt/local/libexec/macports/lib/macports1.0/macports.tcl`:
{{{
proc macports::verify_signature_signify {file pubkey signature} {
set ::env(TMPDIR) "/tmp"
set verified 0
<yada yada yada>
}
proc macports::verify_signature_openssl {file pubkey signature} {
set ::env(TMPDIR) "/tmp"
set openssl [findBinary openssl $macports::autoconf::openssl_path]
<yada yada yada>
}
}}}
Again, I know this is not a fix, **it's a dirty hack**. But it put my rig
back on tracks while I try to figure out why it happened at first place -
available time is always a problem nowadays.
In a way or another, I aim to document the issue here in the hope to help
someone else in the future, as #50867 did to me.
I intend to fully diagnose the root cause of this problem (being a change
on my rig, being something on MacPorts). Just don't hold your breath. :)
--
Ticket URL: <https://trac.macports.org/ticket/74254>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list