transmission
transmission copied to clipboard
Sparkle offers to download version 3.00 when using version 4.0.0-beta.1.dev
With e3b871216f444f0e1278fb38b9c7703c50a9f3c6:

CC @livings124
I think the plan was to not put betas into the auto-updater, so IDK if this is an avoidable problem or not.
If this can't be fixed, @livings124 please remove the milestone
Might also be Sparkle is unable to parse the version and so treats "4.0.0-beta.1(.dev)" as "0" or something, in turn thinking that "3.00" is greater...
This is marked as a 4.0.0-beta.2 bug.
What needs to be done to fix this issue?
I'm not reproducing today (but I was reproducing 3 days ago). Did Mike change something?
@mikedld ^
No, I would've commented here if I did.
Maybe fixed as a side effect of #4156? I'll reopen if it happens again.
Release builds are currently prepared using committed Xcode project, not CMake, so definitely unrelated.
I've always been using that feature with cmake builds only, as default Xcode builds aren't signed for it by default.
Well, I assume Xcode project was properly targeting 10.13 long before CMake, so... Also I fail to see the connection, e.g. 3.00 doesn't specify maximum OS version, only minimum: https://github.com/transmission/transmission.github.io/blob/68ee4462d242ea16b225734454ab7b8ddb537b45/appcast.xml#L10-L21
EDIT: I missed that the report was for a CMake build...
Actually, reproducing now on HEAD (d2125ee965bd9103b8a9a39b22f71735e4ce39d3).
Reopening, but removing the milestone.
Summary:
With cmake
I got the offer to download 3.00. (which is unexpected?)
With Xcode + developer signing
It tells me I have the latest, but when looking at the logs I get:
2022-11-16 01:38:04.762969+0800 Transmission[37101:9402121] [Sparkle] Error: Serving updates without an EdDSA key is insecure and deprecated. DSA support may be removed in a future Sparkle release. Please migrate to using EdDSA (ed25519). Visit Sparkle's documentation for migration information: https://sparkle-project.org/documentation/#3-segue-for-security-concerns
OK, I got a clue:
- cmake uses
libtransmission/version.h.inandmacosx/Info.plist.into build the version information - Xcode uses
sh update-version-h.shandmacosx/Info.plistto build the version information
Diving more into the differences:
When building with cmake:
CFBundleVersion = d2125ee965;
LSMinimumSystemVersion = "10.7.0";
When building with Xcode:
CFBundleVersion = "14714.4.0.0";
LSMinimumSystemVersion = "10.13";
So that confirms that the cmake build has incorrect values for both CFBundleVersion and LSMinimumSystemVersion. In other words, incorrect values for:
- BUILD_STRING_INFOPLIST
- MACOSX_DEPLOYMENT_TARGET
That might explain why my build versioning has been so messed up for the last few weeks.