Sparkle
Sparkle copied to clipboard
Sparkle generate_appcast no longer detects my latest builds
Description of the problem
I recently updated Sparkle to version 1.23.0. The latest generate_appcast
no longer detects my latest software builds. It unpacks them correctly, it just doesn't insert it into the appcast.
Do you use Sandboxing in your app?
No.
Version of Sparkle.framework
in the latest version of your app
1.23.0
Version of Sparkle.framework
in the old version of app that your users have (or N/A)
N/A
Sparkle's output from Console.app
default 00:29:47.322701-0800 generate_appcast Adding securityd connection to pool, total now 1
default 00:29:47.323036-0800 secd generate_appcast[24031]/1#1 LF=0 copy_matching Error Domain=NSOSStatusErrorDomain Code=-25303 "attribute ptcl not found in class genp" (errKCNoSuchAttr / errSecNoSuchAttr: / The attribute does not exist.) UserInfo={NSDescription=attribute ptcl not found in class genp}
Steps to reproduce the behavior
- Build latest version of Cog from g.losno.co/chris/Cog
- Sign it with my key
- Notarize and staple it
- Package it with ditto
This produces https://f.losno.co/Cog-b7eb48e32.zip - which generate_appcast unpacks, but does not index in the appcast file: https://f.losno.co/cog/mercury.xml - which is remotely displayed here: https://kode54.net/cog
Delete Sparkle's cache from ~/Library/Caches
. If that doesn't help, you may have wrong info in Info.plist
.
I have deleted the caches. And I haven't changed my Info.plist style since the last build I produced. Do I need to inline the Info.plist for someone to look at it?
Which Sparkle version did you use before? Can you try which is the latest one that works?
I see you're using the same short version for all releases, and only change internal version. Maybe there's a bug that uses short version string?
And you're formatting your builds as git versions. We've recently added support for comparing these… but I'd expect that to fix things, not break them :)
Yeah, I don't really know what to do with the short version string. I've been habitually using the same "0.08" since I forked it six years ago. I wish I knew what to do exactly, since I also just recently, as of a year or less, been formatting the internal version from the Git tag at build time, rather than my build scripts doing it post-build, since it needs to be there prior to signing.
E: I was using a Sparkle master commit from around October 5, 2019. That was the last working version I had, so approximately 1.22.0 with a few commits. I can try stepping back to that.
E2: Downgrading to 1.22.0 fixed generate_appcast
detecting my builds. I'm also attempting to roll out EdDSA signatures, so I don't know how well that will work. I see only the main binary has an edSignature and still has the DSA signature, while deltas only have DSA signatures.