51 Commits

Author SHA1 Message Date
Barijaona Ramaholimihaso 9c70044847 Allow last minute correction of DMG look 2025-07-20 22:20:59 +03:00
Barijaona Ramaholimihaso 92c335ffe2 Codesign the .dmg file 2025-07-13 19:31:11 +03:00
Barijaona Ramaholimihaso dccaddf16a Use DMG files instead of TGZ for app archives
.dmg files built with ULFO format (supported since macOS 10.11) can be
made with file sizes similar to gzipped archives and are more familiar
for most end users.

The DMGBackground.psd file is just a non operational archive of the
background image used to obtain the DS_Store file through Finder
operations.
2025-07-12 20:40:08 +03:00
Eitot 21360e2619 Use $PROJECT_DERIVED_FILE_DIR instead of $OBJROOT
$PROJECT_DERIVED_FILE_DIR is a more specific directory than $OBJROOT; the folder is located within the Vienna.build folder.
2025-06-27 19:57:35 +03:00
Eitot 1cdbd827b4 Remove unused autorevision.h generation 2025-06-27 19:57:35 +03:00
Eitot 7eebbc92f1 Put two temporary files in $DERIVED_FILE_DIR instead of /tmp 2025-06-27 19:57:35 +03:00
Eitot d1a71f4855 Link to HTTPS-URLs where available 2025-04-25 10:13:52 +02:00
Eitot 3281d6ae0b Strip extended attributes during the creation of the release tar file
- Adds `--no-xattrs` to strip attributes
- Replaces the `-a` (auto-compress) mode with explicit formats
2024-02-18 11:26:54 +01:00
Barijaona Ramaholimihaso a819d98394 Fix build process ( Sparkle 2.4.2, Xcode 14.3.1) 2023-07-09 20:40:22 +03:00
Barijaona Ramaholimihaso f304a2f4ef Update latest version for macOS 10.12 to 3.8.8 2023-07-09 20:11:01 +03:00
Barijaona Ramaholimihaso 11f012e351 Merge pull request #1697 from Eitot/feature/swift-package
Convert CombinePredicateTranslations script to Swift package plug-in
2023-07-08 09:13:07 +03:00
Barijaona Ramaholimihaso c3f837e3ac Remove Sparkle's legacy DSA signature
Version 3.8.0 Beta 2 and later are able to update using the new EdDSA key.
Older versions will be able to update in two passes: to version 3.8.7
through legacy DSA signature, and afterwards to the latest version through
EdDSA.

Very old versions will have Sparkle check for https://vienna-rss.sourceforge.net/changelog.xml
which has also been updated with current URLs
(same for changelog_beta.xml and changelog_rc.xml)
2023-07-02 04:11:58 +03:00
Barijaona Ramaholimihaso 8e37806c65 Add legacy Sparkle items for older macOS versions 2023-07-02 04:11:58 +03:00
Barijaona Ramaholimihaso 446db52cd1 Improve release process
- Switch to default location for project's derived data, as suggested in
  https://developer.apple.com/forums/thread/678974 to avoid slow
  resolution of package graphs;
- Search Sparkle binaries in ${HOME}/Library/Developer/Xcode/DerivedData
- Fix unfit localization of publication date in app feed; 
- Remove old scripts, clarify which scripts are used in project;
- Make execution of scripts in "Prepare Upload" target independent of
  dependency analysis.
2023-07-02 04:11:58 +03:00
Eitot 67fd7044f8 Convert CombinePredicateTranslations target to Swift Package plug-in
This requires macOS 13 and Xcode 14.3 (Swift 5.8). The ProcessPredicateLocalizations source uses Regex, which requires macOS 13 and Swift 5.7. The ProcessPredicateLocalizations source also uses "bare slash literals", which is an upcoming feature of Swift that requires the `.enableUpcomingFeature` setting (Swift 5.8+) to work in Swift 5.8.
2023-06-18 20:10:46 +02:00
Tassilo Karge 11dc176756 add command line tool to combine, expand and compare predicates 2023-01-08 21:29:25 +01:00
Barijaona Ramaholimihaso de63813b1e Update info regarding submission to Homebrew Casks
Cf. vienna.rb https://github.com/Homebrew/homebrew-cask/blob/master/Casks/vienna.rb
after changes introduced by https://github.com/Homebrew/homebrew-cask/pull/131816
and https://github.com/Homebrew/homebrew-cask/pull/131846
2022-09-18 09:03:04 +03:00
Barijaona Ramaholimihaso 93c845a4c6 Replace cask-repair script with brew bump-cask-pr
The cask-repair script is deprecated, while `brew bump-cask-pr` is
directly shipped with Homebrew.
2022-09-16 09:09:25 +03:00
Barijaona Ramaholimihaso a3cda68326 Remove extended attributes before archiving the app
Some versions of `tar` utility seem to preserve extended attributes,
while older versions might have difficulties dealing with them.

Issue #1611
2022-09-16 09:09:25 +03:00
Barijaona Ramaholimihaso b0c67ba525 Use .tgz for archives file extension
We stick to gzipped tarball for archives (still a good compromise
between compression level vs. memory and CPU required for decompressing),
but with a file extension which should be more familiar / explicit for
most users: .tgz instead of .tar.gz
2022-09-16 09:09:25 +03:00
Barijaona Ramaholimihaso d7797930df Use auto-compress option of tar command
Let `tar` determine the compression method to be used based on the file
extension given for the output archive.
This eases my comparative tests between various archive formats for
delivering Vienna.
2022-09-16 08:53:20 +03:00
Barijaona Ramaholimihaso 890008f112 Use notarytool instead of altool for notarization
altool is deprecated
2022-07-09 19:39:12 +03:00
Eitot 08bee57b55 Update Sparkle to version 2.0 beta 4
The XPC services are now bundled in the Sparkle framework.

Since Vienna is not using sandboxing, the SUEnableInstallerLauncherService key is set to false.
2021-10-24 16:52:41 +02:00
Barijaona Ramaholimihaso b547e067d7 Clarify autorevision script 2021-09-19 05:41:38 +03:00
Barijaona Ramaholimihaso b7563e94c6 Use Sourceforge for downloading binaries updates
As discussed at end of issues #1434 and #1485
2021-09-17 04:20:45 +03:00
Barijaona Ramaholimihaso fa1bed4325 Use file (not included in repo) for private key 2021-09-11 03:45:42 +03:00
Barijaona Ramaholimihaso 695b4705b1 Fix Github links 2021-09-11 03:43:36 +03:00
Barijaona Ramaholimihaso b0c06c322a Fix path of Sparkle binaries 2021-09-11 03:43:31 +03:00
Barijaona Ramaholimihaso 84c1d5f3e6 Fix and simplify codesigning
Also add a check before starting online notarization
2021-09-11 03:43:24 +03:00
Eitot 700af33822 Add Sparkle EdDSA key support 2021-09-07 07:15:16 +02:00
Eitot 66b7700262 Update Sparkle appcast format
Sparkle's documentation recommends using elements instead of attributes for these two values. This is claimed to be backwards-compatible.
2021-09-04 14:04:32 +02:00
Eitot 8f3ce4cec9 Migrate Sparkle to version 2.0 beta 1
Sparkle 2 uses XPC services, of which Vienna only needs the InstallerLauncher service. A prebuilt XPC bundle is provided in the SPM artifact, located under a SourcePackages directory in Vienna's derived-data path. The derived-data path or the SourcePackages directory cannot be referenced directly (i.e. there are no environment variables for these), so the path is referenced by going to BUILT_PRODUCTS_DIR instead and then two directories further up the directory hierarchy.

Sparkle 2 also uses a user-owned SPUStandardUpdaterController instance instead of a shared SUUpdater object. Since Vienna uses the Sparkle updater object in the main menu as well as the preferences window, it has to be used twice (s. https://sparkle-project.org/documentation/preferences-ui/). The preferences UI is controlled via Cocoa Bindings.

The Sparkle-setup.sh script is moved from a build action to a post-build action in the shared Vienna scheme, since Xcode does not guarantee that the Info.plist file is not copied over from source and preprocessed after the script is run (the result of which is that the update URL is not added). The workaround for the Xcode bug is no longer needed since Xcode 11.5.
2021-09-04 14:04:32 +02:00
Barijaona Ramaholimihaso 2aa948cd81 Use Team ID to identify team in notarize script
It's more legible and frequently seen in tutorials on upcoming
`notarytool` provided with Xcode 13.
2021-08-01 16:36:20 +03:00
Barijaona Ramaholimihaso e583a15793 Fix make's signature and notarization issues
- fix signature selection (the one defined in xcconfig) for deployment
- work around incorrect path for signing Sparkle's AutoUpdate.app
- make the script more verbose to ease investigation of the issue when
  notarization fails
2021-08-01 16:36:20 +03:00
Barijaona Ramaholimihaso 639ee33297 Fix path for build data 2021-07-30 22:47:58 +03:00
Barijaona Ramaholimihaso f941f18c0a Improve archive path handling for dSYM upload 2021-07-30 22:47:58 +03:00
Eitot 634d057324 Swap Bintray URLs with GitHub URLs
Bintray is discontinued as of 1 May 2021.
2021-05-01 13:05:37 +02:00
Barijaona Ramaholimihaso 96658d7d58 Clarify build locations 2020-07-30 08:12:53 +03:00
Barijaona Ramaholimihaso 9c3c280c6e Add feedback into Notarize script 2020-07-30 08:12:44 +03:00
Barijaona Ramaholimihaso da6dbd2272 Add Notarization target for deployment w/Makefile
Also rename ambiguous 'Deployment' target to 'Prepare Upload'
2020-01-25 22:49:17 +03:00
Barijaona Ramaholimihaso 3798d757b9 Save useful informations inside a note in archive
Might be useful in case we need to reload a version previously archived.
2020-01-25 21:24:16 +03:00
Barijaona Ramaholimihaso 6e74a32ac2 Modify the way we link Vienna and Deployment
Vienna is no longer a dependency of Deployment target.

Instead, we save informations about environment during Vienna Archive's
post-actions, and we make use of these saved informations in target
Deployment.
Notarisation submission should occur between these steps.
2020-01-25 21:24:16 +03:00
Barijaona Ramaholimihaso b3d0c245fe Enable hardened runtime on Sparkle part of the app
Prevent the message : “Autoupdate.app” and “fileop” must be rebuilt with
support for the Hardened Runtime.
cf. https://furbo.org/2019/08/16/catalina-app-notarization-and-sparkle/
2020-01-25 21:24:16 +03:00
Barijaona Ramaholimihaso e3c4103801 Add a phase to check git status in Vienna Deployment 2020-01-25 21:21:13 +03:00
Barijaona Ramaholimihaso e617bf9826 Update Release Instructions regarding CS-ID
Also remove an unused file.
2020-01-25 21:21:13 +03:00
Barijaona Ramaholimihaso 1cda916ee2 Remove Make-ID-Template.sh
No need for this anymore, as any attempt to build Vienna with Deployment
configuration and without CS-ID.xcconfig will fail.
2020-01-25 21:21:13 +03:00
Barijaona Ramaholimihaso 27adcf21df Remove signing in Release-for-upload script
App signing is performed in Vienna target, configuration Deployment.
2020-01-25 21:21:13 +03:00
Eitot 43e31539c4 Change localizations workflow
Running `xcodebuild -importlocalizations` from within Xcode causes an unavoidable interrupt. There appears to be no fix for this.
2019-03-25 01:51:46 +01:00
Barijaona Ramaholimihaso 7bc20f5764 Fix file extension and upgrade to 3.4.2 2018-07-24 19:10:25 +03:00
Barijaona Ramaholimihaso 8e579d7881 Fix Makefile and Release script
Note that :
- CS-ID.xcconfig has been moved into Scripts/Resources/
- Vienna Help is set to be manually signed
2018-05-13 13:38:49 +03:00