Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Build5 : synthesize debates around pull requests #121 and #122, prep new build #123

Merged
merged 10 commits into from

3 participants

@barijaona
Owner

No description provided.

@dak180 dak180 commented on the diff
Release Instructions.txt
((25 lines not shown))
+ 1. Review all recent code changes and make sure you should not change `MACOSX_DEPLOYMENT_TARGET` in "Configs/Project-All.xcconfig" in order to protect users whose machines do not match minimum OS X requirements from a counter-productive "upgrade".
+ 2. Make sure that the "CHANGES" file is up to date.
+ 3. Copy the most recent part of "CHANGES" in a new text document and process it with Markdown to get a new "notes.html".
+ 4. Commit anything unstaged
+ 5. Make a new tag using `git tag -s`, respecting the above mentioned convention (if you do not have a gpg key, you can use `git tag -a` instead).
+ 6. Run `make clean`.
+ 7. Run `make release`.
+ 8. Upload the contents of `Deployment/Uploads` (found in the build directory) using the following steps.
+ (Note: I'm using Vienna 3.0.0_beta2, 3.0.0_rc1 and 3.0.0 as examples here.)
+
+ 1. Login to SourceForge's file system with your admin account. `sftp <username>@frs.sourceforge.net` where `<username>` is your SourceForge user name, then `cd /home/frs/project/vienna-rss/`.
+ 2. Create a new folder : for beta releases, it will be something of the form `TestVersions/3.0.0_beta2/` ; for release candidate releases, it will be like `TestVersions/3.0.0_rc1/` ; and for stable releases, something like `ReleasedVersions/3.0.0/`. _Ensure that any directories you have created are set to be group writable_.
+ 4. Upload the two .tgz files and the .html file from the build/Deployment/Uploads folder to the newly created folder (filenames should look like "Vienna3.0.0_beta1.tgz", "Vienna3.0.0_beta1.5b272a6-dSYM.tgz" and "noteson3.0.0_beta1.html")
+ 4. Verify the downloads. Load the SourceForge Downloads page for Vienna at <https://sourceforge.net/projects/vienna-rss/files/>, download new zip files, uncompress them, and run the apps.
+ 5. For stable releases only : from the Sourceforge site, edit the "Properties" of "Vienna3.0.0.tgz" and set it as default download for Mac OS X. Don't do this for beta releases!
+ 6. Login to the Vienna web site. `sftp <username>@web.sourceforge.net` where `<username>` is your SourceForge user name.
@dak180 Collaborator
dak180 added a note

I think a better way to handle this is to use 302 temporary redirects on the website and keep the actual files on the sf file upload portion (this assumes that sparkle works with 302s but I seem to recall that it does).

Furthermore when there is not a beta changelog_beta.xml should be a symlink to changelog_rc.xml and when there is not a release candidate changelog_rc.xml should be a symlink to changelog.xml

@barijaona Owner

From a user's point of view, there is strictly no reason to be confronted to these mysterious XML files. So I deliberately chose to hide them from the downloads list.

@barijaona Owner

Updated : I added explanations on the management of the 3 changelogXX files.

@dak180 Collaborator
dak180 added a note

Anything in the directory old_files is hidden form normal browsing (if I recall correctly).

@barijaona Owner

No, this directory can currently be browsed. But it might be a good idea to conceal these files somewhere there, where most users will not be tempted to look...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@dak180 dak180 commented on the diff
Resources/Vienna-Info.plist
@@ -102,8 +102,6 @@
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>ViennaApp</string>
- <key>SUFeedURL</key>
- <string>https://github.com/downloads/ViennaRSS/vienna-rss/changelog.xml</string>
@dak180 Collaborator
dak180 added a note

I think that this is a mistake and putts too much complexity on the user as apposed to the devs; see latter comments for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@dak180 dak180 commented on the diff
configs/scripts/Sparkle-setup.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
@dak180 Collaborator
dak180 added a note

I think this is the wrong way to do this; the right way being something like what Transmission (Adium is another good example of this) does, where there is a gui for setting an override url in the preferences so users can choose if they want Betas, RCs or just Stable releases.

@barijaona Owner

Yes, I also thought we could later add a user setting for choosing .

But anyway, each kind of build needs a default behavior regarding . So doing it this way is logical and harmless.
You can also consider this hack as a feature request for autorevision :smile:

@dak180 Collaborator
dak180 added a note

If you check out what transmission does, they in fact, do set it to use beta updates as the default on beta builds.

This sort of thing is too specific to be a good candidate to go into autorevision its self; this is exactly the sort of thing that scripts driving autorevision should be doing, though it may be a good idea to add a number of examples of such scripts for people to work off of.

@barijaona Owner

As I said, I do like the idea. But I also have timing constraints and priorities.

We need to have a new beta released pretty soon, to check if database problems reported by some users are solved or not. So I prefer to keep it this way for now, and improve later.

If you have time to implement this user interface, feel free to do it. I'll be more than happy to pull it whenever it is available.

@dak180 Collaborator
dak180 added a note

I guess what I am trying to get at is that if this is a temporary measure then this seems too much like a permanent solution to make me comfortable; temporary solutions should, by my lights, introduce enough pain to require the switch to a permanent solution rather than alowing a sub standard one to exist any longer that it absolutely must.

I would advocate changing the static SUFeedURL to point at the changelog_beta.xml file instead for now, so that we are forced to adopt the right solution before a stable release happens.

@barijaona Owner

I am pretty sure you will find a good solution soon, anyway ! :smiley:

@barijaona Owner

BTW @dak180 : if you find a clean solution, for compiling only the native architecture when building Development, I would be more than happy !

@dak180 Collaborator
dak180 added a note
@dak180 Collaborator
dak180 added a note
@barijaona Owner

dak180 wrote :

the only problem is that you can get certain compile time issues that only show up under one architecture

I intend to compile for all architectures at least twice a month, so compile time issues will inevitably be spotted.
On the other side, I compile Development many times a day... So the balance seems clear to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@mstroeck mstroeck merged commit 74dbffa into ViennaRSS:master
@mstroeck
Owner

I agree, @barijaona. Getting out a new build has priority over immediate perfection of this issue :-)

@barijaona barijaona deleted the barijaona:build5 branch
@barijaona
Owner

It's late here, but I have to take note of 3 problems :

  • we must not exclude .DS_Store files when we create the tgz archive, as this breaks code signing
  • when it is hosted inside frs.sourceforge.net, the notesXXX.html file gets downloaded, instead of being displayed by Sparkle
  • Sourceforge redirect to an http:// link, and Sparkle does not recognize the download as valid. So we probably need to reestablish the DSA signature before the next beta is released !
@dak180
Collaborator
@dak180
Collaborator

@barijaona having run the test I can now say that a custom ResourceRules.plist is going to be the solution to your first a second point:

$ codesign -vvv ~/Downloads/Vienna.app 
/Users/dak180/Downloads/Vienna.app: valid on disk
/Users/dak180/Downloads/Vienna.app: does not satisfy its designated Requirement
@barijaona
Owner

Thanks for your input on these questions, @dak180.

@dak180
Collaborator

@barijaona check out https://github.com/dak180/vienna-rss/compare/topic/build-system and let me know if that fixes the codesign / Sparkle issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.
View
11 CHANGES
@@ -8,6 +8,17 @@ most recent build should be at the top of this file.
Thanks!
+3.0.0 Beta 7
+------------
+- Reorganized on disk layout
+- Reorganized build system and version numbering (thanks to dak180)
+- Revised documentation (English and French)
+- Revised German translation (thanks to biphuhn)
+- Should be more safe for the database
+- Fix issues with dates
+- Fix some problems with layouts
+- Fix problems with certain feeds
+
3.0b.2821
--------
- Refreshes do not interfere anymore with user's reading experience
View
5 README.md
@@ -5,6 +5,11 @@ Vienna
Vienna can connect directly to the websites you want to track and/or sync with a Google Reader account.
+Downloading binaries
+--------------------
+
+Admins upload release and test versions at [Sourceforge](https://sourceforge.net/projects/vienna-rss/files/).
+
Getting support
---------------
View
34 Release Instructions.txt
@@ -1,3 +1,5 @@
+Instructions for building and uploading Vienna binaries to Sourceforge
+
## One time setup step: ##
- To ensure that releases are properly codesigned make sure that you have properly edited `configs/CS-ID.xcconfig` for your setup.
@@ -7,21 +9,41 @@
## Tag Formatting ##
Tags should be in one of the following formats:
+
- Normal release: (3.0.0)
v/3.0.0
+
- Beta release (Second beta for 3.0.0)
v/3.0.0_beta2
+
- Release candidate (first for 3.0.0)
v/3.0.0_rc1
## Steps to release Vienna: ##
- 1. Make sure `CHANGES` is up to date.
- 2. Copy the most recent part of `CHANGES` in a new text document and process it with Markdown to get a new `notes.html`.
- 3. Make a new tag using `git tag -s` (if you do not have a gpg key you can use `git tag -a` instead).
- 4. Run `make clean`.
- 5. Run `make release`.
- 6. Upload the contents of `Deployment/Uploads` (found in the build directory).
+ 1. Review all recent code changes and make sure you should not change `MACOSX_DEPLOYMENT_TARGET` in "Configs/Project-All.xcconfig" in order to protect users whose machines do not match minimum OS X requirements from a counter-productive "upgrade".
+ 2. Make sure that the "CHANGES" file is up to date.
+ 3. Copy the most recent part of "CHANGES" in a new text document and process it with Markdown to get a new "notes.html".
+ 4. Commit anything unstaged
+ 5. Make a new tag using `git tag -s`, respecting the above mentioned convention (if you do not have a gpg key, you can use `git tag -a` instead).
+ 6. Run `make clean`.
+ 7. Run `make release`.
+ 8. Upload the contents of `Deployment/Uploads` (found in the build directory) using the following steps.
+ (Note: I'm using Vienna 3.0.0_beta2, 3.0.0_rc1 and 3.0.0 as examples here.)
+
+ 1. Login to SourceForge's file system with your admin account. `sftp <username>@frs.sourceforge.net` where `<username>` is your SourceForge user name, then `cd /home/frs/project/vienna-rss/`.
+ 2. Create a new folder : for beta releases, it will be something of the form `TestVersions/3.0.0_beta2/` ; for release candidate releases, it will be like `TestVersions/3.0.0_rc1/` ; and for stable releases, something like `ReleasedVersions/3.0.0/`. _Ensure that any directories you have created are set to be group writable_.
+ 4. Upload the two .tgz files and the .html file from the build/Deployment/Uploads folder to the newly created folder (filenames should look like "Vienna3.0.0_beta1.tgz", "Vienna3.0.0_beta1.5b272a6-dSYM.tgz" and "noteson3.0.0_beta1.html")
+ 4. Verify the downloads. Load the SourceForge Downloads page for Vienna at <https://sourceforge.net/projects/vienna-rss/files/>, download new zip files, uncompress them, and run the apps.
+ 5. For stable releases only : from the Sourceforge site, edit the "Properties" of "Vienna3.0.0.tgz" and set it as default download for Mac OS X. Don't do this for beta releases!
+ 6. Login to the Vienna web site. `sftp <username>@web.sourceforge.net` where `<username>` is your SourceForge user name.
@dak180 Collaborator
dak180 added a note

I think a better way to handle this is to use 302 temporary redirects on the website and keep the actual files on the sf file upload portion (this assumes that sparkle works with 302s but I seem to recall that it does).

Furthermore when there is not a beta changelog_beta.xml should be a symlink to changelog_rc.xml and when there is not a release candidate changelog_rc.xml should be a symlink to changelog.xml

@barijaona Owner

From a user's point of view, there is strictly no reason to be confronted to these mysterious XML files. So I deliberately chose to hide them from the downloads list.

@barijaona Owner

Updated : I added explanations on the management of the 3 changelogXX files.

@dak180 Collaborator
dak180 added a note

Anything in the directory old_files is hidden form normal browsing (if I recall correctly).

@barijaona Owner

No, this directory can currently be browsed. But it might be a good idea to conceal these files somewhere there, where most users will not be tempted to look...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ 7. Upload `changelog.xml` (or `changelog_beta.xml` or `changelog_rc` accordingly) via sftp to `/home/project-web/vienna-rss/htdocs`.
+ 8. If you upload a release candidate, change changelog_beta.xml to be a symlink to the new changelog_rc.xml ; and if you upload a release, change changelog_rc.xml to be a symlink to the new changelog.xml
+ 9. Ensure also that these files are set to be group writable.
+ 10. Run the previous version of Vienna, and make sure that the Sparkle update mechanism works correctly to display and download the latest version. After updating, check again to make sure Sparkle is showing that you have the latest version.
+ 11. Post an announcement of the new release on the CocoaForge Vienna forum at <http://forums.cocoaforge.com/viewforum.php?f=18> and/or <http://vienna-rss.org>.
+
+
View
2  Resources/Vienna-Info.plist
@@ -102,8 +102,6 @@
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>ViennaApp</string>
- <key>SUFeedURL</key>
- <string>https://github.com/downloads/ViennaRSS/vienna-rss/changelog.xml</string>
@dak180 Collaborator
dak180 added a note

I think that this is a mistake and putts too much complexity on the user as apposed to the devs; see latter comments for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
<key>SmartCrashReports_CompanyName</key>
<string>OpenCommunity</string>
<key>SmartCrashReports_EmailTicket</key>
View
29 Vienna.xcodeproj/project.pbxproj
@@ -45,7 +45,7 @@
isa = PBXAggregateTarget;
buildConfigurationList = EAAF335914BDE402002A8837 /* Build configuration list for PBXAggregateTarget "Archive and Prep for Upload" */;
buildPhases = (
- EAAF336614BEF4DF002A8837 /* Release to Github */,
+ EAAF336614BEF4DF002A8837 /* Release for upload */,
);
dependencies = (
43501CFF165D82ED0018EDB7 /* PBXTargetDependency */,
@@ -940,6 +940,7 @@
344D9C020C3D4B2200498CA1 /* MainMenu.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = MainMenu.nib; path = Interfaces/MainMenu.nib; sourceTree = SOURCE_ROOT; };
3A23F13315276935008AF863 /* NSNotificationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; name = NSNotificationAdditions.h; path = src/NSNotificationAdditions.h; sourceTree = SOURCE_ROOT; };
3A23F13415276935008AF863 /* NSNotificationAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSNotificationAdditions.h; path = src/NSNotificationAdditions.h; sourceTree = SOURCE_ROOT; };
+ 3A5482F7168F5F4800887F91 /* Sparkle-setup.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = "Sparkle-setup.sh"; path = "configs/scripts/Sparkle-setup.sh"; sourceTree = "<group>"; };
3ABA673414C7536D00251925 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
3AFC9FEF152B7AF2004B0537 /* libSystem.B.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libSystem.B.dylib; path = usr/lib/libSystem.B.dylib; sourceTree = SDKROOT; };
430C4ADB1661753F0079C9FC /* autorevision.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = autorevision.h; path = src/autorevision.h; sourceTree = SOURCE_ROOT; };
@@ -1047,7 +1048,7 @@
439824191666B37000FFE219 /* autorevision.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = autorevision.sh; path = configs/scripts/autorevision.sh; sourceTree = SOURCE_ROOT; };
4398241A1666B37000FFE219 /* Changes-and-Notes.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "Changes-and-Notes.sh"; path = "configs/scripts/Changes-and-Notes.sh"; sourceTree = SOURCE_ROOT; };
4398241B1666B37000FFE219 /* Make-ID-Template.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "Make-ID-Template.sh"; path = "configs/scripts/Make-ID-Template.sh"; sourceTree = SOURCE_ROOT; };
- 4398241C1666B37000FFE219 /* Release-to-Github.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "Release-to-Github.sh"; path = "configs/scripts/Release-to-Github.sh"; sourceTree = SOURCE_ROOT; };
+ 4398241C1666B37000FFE219 /* Release-for-upload.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "Release-for-upload.sh"; path = "configs/scripts/Release-for-upload.sh"; sourceTree = SOURCE_ROOT; };
4398241D1666B37000FFE219 /* Translations.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = Translations.sh; path = configs/scripts/Translations.sh; sourceTree = SOURCE_ROOT; };
4398241E1666B3DB00FFE219 /* Acknowledgements.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = Acknowledgements.rtf; sourceTree = SOURCE_ROOT; };
439824201666B3DB00FFE219 /* CHANGES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGES; sourceTree = SOURCE_ROOT; };
@@ -2113,11 +2114,12 @@
439824171666B31700FFE219 /* Scripts */ = {
isa = PBXGroup;
children = (
+ 3A5482F7168F5F4800887F91 /* Sparkle-setup.sh */,
439824181666B37000FFE219 /* Acknowledgements.sh */,
439824191666B37000FFE219 /* autorevision.sh */,
4398241A1666B37000FFE219 /* Changes-and-Notes.sh */,
4398241B1666B37000FFE219 /* Make-ID-Template.sh */,
- 4398241C1666B37000FFE219 /* Release-to-Github.sh */,
+ 4398241C1666B37000FFE219 /* Release-for-upload.sh */,
4398241D1666B37000FFE219 /* Translations.sh */,
);
name = Scripts;
@@ -3390,6 +3392,7 @@
8D15AC300486D014006FF6A4 /* Sources */,
8D15AC330486D014006FF6A4 /* Frameworks */,
8D15AC2B0486D014006FF6A4 /* Resources */,
+ 3A5482F6168F5C1700887F91 /* Sparkle autoupdate setup */,
AAEF2001085D685900A0E675 /* Copy Shared Support Files */,
52FDC71F0C559C7700F9F29B /* Acknowledgements */,
43EE8617165EF9D7000997FB /* Translations */,
@@ -4073,6 +4076,20 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 3A5482F6168F5C1700887F91 /* Sparkle autoupdate setup */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Sparkle autoupdate setup";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = ". configs/scripts/Sparkle-setup.sh";
+ };
430C4ACE166172BD0079C9FC /* Run Autorevision */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -4147,19 +4164,19 @@
shellPath = /bin/sh;
shellScript = ". configs/scripts/Acknowledgements.sh";
};
- EAAF336614BEF4DF002A8837 /* Release to Github */ = {
+ EAAF336614BEF4DF002A8837 /* Release for upload */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
- name = "Release to Github";
+ name = "Release for upload";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/bash;
- shellScript = ". configs/scripts/Release-to-Github.sh";
+ shellScript = ". configs/scripts/Release-for-upload.sh";
};
/* End PBXShellScriptBuildPhase section */
View
18 changelog.xml
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
- <channel>
- <title>Vienna Changelog</title>
- <link>http://www.vienna-rss.org/vienna_chglist.html</link>
- <description>Vienna Changelog.</description>
- <language>en-us</language>
- <copyright>Copyright 2007, Steve Palmer</copyright>
- <item>
- <title>Vienna $(VIENNA_VERSION_NUMBER).$(BUILD_NUMBER)</title>
- <pubDate>Thu, 5 Jul 2007 00:00:00 +0100</pubDate>
- <link>http://kent.dl.sourceforge.net/sourceforge/vienna-rss/Vienna$(VIENNA_VERSION_NUMBER).$(BUILD_NUMBER).zip</link>
- <enclosure sparkle:version="$(BUILD_NUMBER)" url="http://kent.dl.sourceforge.net/sourceforge/vienna-rss/Vienna$(VIENNA_VERSION_NUMBER).$(BUILD_NUMBER).zip"
-type="application/octet-stream"/>
- <sparkle:releaseNotesLink>http://www.vienna-rss.org/noteson$(VIENNA_VERSION_NUMBER).$(BUILD_NUMBER).html</sparkle:releaseNotesLink>
- </item>
- </channel>
-</rss>
View
3  configs/Project-All.xcconfig
@@ -14,3 +14,6 @@ PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = YES
GCC_PRECOMPILE_PREFIX_HEADER = YES
GCC_PREFIX_HEADER = src/Vienna_Prefix.pch
+
+BASE_URL_TYP = https
+BASE_URL_LOC = downloads.sourceforge.net/project/vienna-rss
View
2  configs/scripts/Changes-and-Notes.sh
@@ -22,7 +22,7 @@ fi
cd "${VIENNA_UPLOADS_DIR}"
if [ -f "${VIENNA_NOTES}" ] ; then
- cp -a "${VIENNA_NOTES}" "noteson${N_VCS_TAG}.${VCS_SHORT_HASH}.html"
+ cp -a "${VIENNA_NOTES}" "noteson${N_VCS_TAG}.html"
fi
exit 0
View
45 configs/scripts/Release-to-Github.sh → configs/scripts/Release-for-upload.sh 100755 → 100644
@@ -1,18 +1,30 @@
#!/bin/bash
. "${OBJROOT}/autorevision.tmp"
-BUILD_NUMBER="2821"
+BUILD_NUMBER="2821" # Magic number; do not touch!
N_VCS_NUM="$(echo "${BUILD_NUMBER} + ${VCS_NUM}" | bc)"
-N_VCS_TAG="$(echo "${VCS_TAG}" | sed -e 's:^v/::')"
+N_VCS_TAG="$(echo "${VCS_TAG}" | sed -e 's:^v/::')" # for urls/files
+V_VCS_TAG="$(echo "${N_VCS_TAG}" | sed -e 's:_beta: Beta :' -e 's:_rc: RC :')" # for display
VIENNA_UPLOADS_DIR="${BUILT_PRODUCTS_DIR}/Uploads"
-DOWNLOAD_BASE_URL="https://github.com/downloads/ViennaRSS/vienna-rss"
-TGZ_FILENAME="Vienna${N_VCS_TAG}.${VCS_SHORT_HASH}.tgz"
+DOWNLOAD_BASE_URL="${BASE_URL_TYP}://${BASE_URL_LOC}" # values set in project-all.xcconfig
+TGZ_FILENAME="Vienna${N_VCS_TAG}.tgz"
dSYM_FILENAME="Vienna${N_VCS_TAG}.${VCS_SHORT_HASH}-dSYM"
-if [[ "${VCS_TAG}" == *_beta* ]]; then
- VIENNA_CHANGELOG="changelog_beta.xml"
-else
- VIENNA_CHANGELOG="changelog.xml"
-fi
+case "${N_VCS_TAG}" in
+ *_beta*)
+ VIENNA_CHANGELOG="changelog_beta.xml"
+ DOWNLOAD_SUB_DIR="TestVersions"
+ ;;
+ *_rc*)
+ VIENNA_CHANGELOG="changelog_rc.xml"
+ DOWNLOAD_SUB_DIR="TestVersions"
+ ;;
+ *)
+ VIENNA_CHANGELOG="changelog.xml"
+ DOWNLOAD_SUB_DIR="ReleasedVersions"
+ ;;
+esac
+DOWNLOAD_TAG_DIR="${N_VCS_TAG}"
+DOWNLOAD_BASE_URL="${DOWNLOAD_BASE_URL}/${DOWNLOAD_SUB_DIR}/${DOWNLOAD_TAG_DIR}"
# codesign setup
function signd {
@@ -23,7 +35,7 @@ function signd {
local appth="${BUILT_PRODUCTS_DIR}/Vienna.app"
# Sign and verify the app
- if [ ! -z "${idetd}" ]; then
+ if [ ! -z "${resrul}" ]; then
cp -a "${resrul}" "${appth}/ResourceRules.plist"
codesign -f -s "${idetd}" --resource-rules="${appth}/ResourceRules.plist" -vvv "${appth}"
rm "${appth}/ResourceRules.plist"
@@ -32,7 +44,7 @@ function signd {
fi
codesign -vvv --verify "${appth}"
else
- echo "warning: No code signing identity configured; code will not be signed."
+ echo "warning: No code signing identity configured; code will not be signed." 1>&2
fi
}
@@ -52,6 +64,7 @@ mkdir -p "${VIENNA_UPLOADS_DIR}/${dSYM_FILENAME}"
cp -a *.dSYM "${VIENNA_UPLOADS_DIR}/${dSYM_FILENAME}"
cd "${VIENNA_UPLOADS_DIR}"
tar -czf "${dSYM_FILENAME}.tgz" --exclude '.DS_Store' "${dSYM_FILENAME}"
+rm -rf "${VIENNA_UPLOADS_DIR}/${dSYM_FILENAME}"
# Zip up the app
@@ -63,8 +76,10 @@ mv "${TGZ_FILENAME}" "${VIENNA_UPLOADS_DIR}"
# Output the sparkle change log
cd "${VIENNA_UPLOADS_DIR}"
+
pubDate="$(LC_TIME=en_US date -jf '%FT%T%z' "${VCS_DATE}" '+%a, %d %b %G %T %z')"
TGZSIZE="$(stat -f %z "${TGZ_FILENAME}")"
+
cat > "${VIENNA_CHANGELOG}" << EOF
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
@@ -75,12 +90,12 @@ cat > "${VIENNA_CHANGELOG}" << EOF
<language>en-us</language>
<copyright>Copyright 2010-2012, Steve Palmer and contributors</copyright>
<item>
- <title>Vienna ${N_VCS_TAG} :${VCS_SHORT_HASH}:</title>
+ <title>Vienna ${V_VCS_TAG} :${VCS_SHORT_HASH}:</title>
<pubDate>${pubDate}</pubDate>
- <link>${DOWNLOAD_BASE_URL}/Vienna${N_VCS_TAG}.${VCS_SHORT_HASH}.tgz</link>
+ <link>${DOWNLOAD_BASE_URL}/${TGZ_FILENAME}</link>
<sparkle:minimumSystemVersion>${MACOSX_DEPLOYMENT_TARGET}.0</sparkle:minimumSystemVersion>
- <enclosure url="${DOWNLOAD_BASE_URL}/Vienna${N_VCS_TAG}.${VCS_SHORT_HASH}.tgz" sparkle:version="${N_VCS_NUM}" sparkle:shortVersionString="${N_VCS_TAG} :${VCS_SHORT_HASH}:" length="${TGZSIZE}" type="application/octet-stream"/>
- <sparkle:releaseNotesLink>${DOWNLOAD_BASE_URL}/noteson${N_VCS_TAG}.${VCS_SHORT_HASH}.html</sparkle:releaseNotesLink>
+ <enclosure url="${DOWNLOAD_BASE_URL}/${TGZ_FILENAME}" sparkle:version="${N_VCS_NUM}" sparkle:shortVersionString="${V_VCS_TAG} :${VCS_SHORT_HASH}:" length="${TGZSIZE}" type="application/octet-stream"/>
+ <sparkle:releaseNotesLink>${DOWNLOAD_BASE_URL}/noteson${N_VCS_TAG}.html</sparkle:releaseNotesLink>
</item>
</channel>
</rss>
View
24 configs/scripts/Sparkle-setup.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
@dak180 Collaborator
dak180 added a note

I think this is the wrong way to do this; the right way being something like what Transmission (Adium is another good example of this) does, where there is a gui for setting an override url in the preferences so users can choose if they want Betas, RCs or just Stable releases.

@barijaona Owner

Yes, I also thought we could later add a user setting for choosing .

But anyway, each kind of build needs a default behavior regarding . So doing it this way is logical and harmless.
You can also consider this hack as a feature request for autorevision :smile:

@dak180 Collaborator
dak180 added a note

If you check out what transmission does, they in fact, do set it to use beta updates as the default on beta builds.

This sort of thing is too specific to be a good candidate to go into autorevision its self; this is exactly the sort of thing that scripts driving autorevision should be doing, though it may be a good idea to add a number of examples of such scripts for people to work off of.

@barijaona Owner

As I said, I do like the idea. But I also have timing constraints and priorities.

We need to have a new beta released pretty soon, to check if database problems reported by some users are solved or not. So I prefer to keep it this way for now, and improve later.

If you have time to implement this user interface, feel free to do it. I'll be more than happy to pull it whenever it is available.

@dak180 Collaborator
dak180 added a note

I guess what I am trying to get at is that if this is a temporary measure then this seems too much like a permanent solution to make me comfortable; temporary solutions should, by my lights, introduce enough pain to require the switch to a permanent solution rather than alowing a sub standard one to exist any longer that it absolutely must.

I would advocate changing the static SUFeedURL to point at the changelog_beta.xml file instead for now, so that we are forced to adopt the right solution before a stable release happens.

@barijaona Owner

I am pretty sure you will find a good solution soon, anyway ! :smiley:

@barijaona Owner

BTW @dak180 : if you find a clean solution, for compiling only the native architecture when building Development, I would be more than happy !

@dak180 Collaborator
dak180 added a note
@dak180 Collaborator
dak180 added a note
@barijaona Owner

dak180 wrote :

the only problem is that you can get certain compile time issues that only show up under one architecture

I intend to compile for all architectures at least twice a month, so compile time issues will inevitably be spotted.
On the other side, I compile Development many times a day... So the balance seems clear to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+
+# Config
+. "${OBJROOT}/autorevision.tmp"
+N_VCS_TAG="$(echo "${VCS_TAG}" | sed -e 's:^v/::')" # for urls/files
+V_VCS_TAG="$(echo "${N_VCS_TAG}" | sed -e 's:_beta: Beta :' -e 's:_rc: RC :')" # for display
+
+case "${N_VCS_TAG}" in
+ *_beta*)
+ SU_FEED_URL="http://vienna-rss.org/changelog_beta.xml"
+ ;;
+ *_rc*)
+ SU_FEED_URL="http://vienna-rss.org/changelog_rc.xml"
+ ;;
+ *)
+ SU_FEED_URL="http://vienna-rss.org/changelog.xml"
+ ;;
+esac
+
+INFO="${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/../Info.plist"
+
+/usr/libexec/PlistBuddy $INFO -c "add SUFeedURL string $SU_FEED_URL"
+/usr/libexec/PlistBuddy $INFO -c "set :SUFeedURL $SU_FEED_URL"
+exit ${?}
View
69 notes.html
@@ -11,10 +11,23 @@
<h1>Version notes</h1>
+<h2 id="beta7">3.0.0 Beta 7</h2>
+
+<ul>
+<li>Reorganized on disk layout</li>
+<li>Reorganized build system and version numbering (thanks to dak180)</li>
+<li>Revised documentation (English and French)</li>
+<li>Revised German translation (thanks to biphuhn)</li>
+<li>Should be more safe for the database</li>
+<li>Fix issues with dates</li>
+<li>Fix some problems with layouts</li>
+<li>Fix problems with certain feeds</li>
+</ul>
+
<h2 id="b.2821">3.0b.2821</h2>
<ul>
-<li>Refreshes do not interfere anymore with user&#8217;s reading experience </li>
+<li>Refreshes do not interfere anymore with user&#8217;s reading experience</li>
<li>Remember columns positions between relaunches</li>
<li>New default style</li>
<li>Add Instapaper and Pocket (ReadItLater) plugins</li>
@@ -30,5 +43,59 @@ <h2 id="b.2821">3.0b.2821</h2>
<li>When clicking a RSS link or the RSS button, take into account user&#8217;s preference for subscribing (locally or on Google Reader)</li>
<li>Other miscellaneous fixes</li>
</ul>
+
+<h2 id="b.2820">3.0b.2820</h2>
+
+<ul>
+<li>When closing a tab, close its content</li>
+<li>Fix the &#8220;last refreshed&#8221; filter</li>
+<li>Fix parsing some date strings</li>
+<li>Enable commands &#8220;Get Info&#8221;, &#8220;Unsubscribe&#8221;, &#8220;Resubscribe&#8221; with Google Reader feeds</li>
+<li>If a feed is submitted through a button or a link, guess if it should be subscribed locally or on Google Reader</li>
+</ul>
+
+<h2 id="b.2819">3.0b.2819</h2>
+
+<ul>
+<li>Fix other nasty crashes on Mountain Lion</li>
+</ul>
+
+<h2 id="b.2818">3.0b.2818</h2>
+
+<ul>
+<li>Fix some nasty crashes on Mountain Lion which occurred when closing tabs</li>
+<li>Fix the &#8220;Check for newer versions of Vienna at startup&#8221; preference</li>
+<li>Make the knob of the vertical scrollbar more visible when reading long lists on Lion/Mountain Lion</li>
+<li>Other minor bugfixes and code cleaning</li>
+</ul>
+
+<h2 id="b.2817">3.0b.2817</h2>
+
+<ul>
+<li>Fix fetching of icons associated to feeds.
+<em>Note</em> : users of previous versions are invited to use the &#8220;Refresh Folder Images&#8221; menu item</li>
+<li>Better accessibility for people with visual impairment through VoiceOver</li>
+<li>Completely logout from Google Reader when the &#8220;Sync with Google Reader&#8221; preference is unchecked</li>
+<li>Builds are now signed with Developer IDs delivered by Apple, to meet Mountain Lion&#8217;s Gatekeeper default requirements.</li>
+</ul>
+
+<h2 id="b.2816">3.0b.2816</h2>
+
+<ul>
+<li>Google Reader support ! Each feed can either be local (especially authenticated feeds, which are not handled by Google Reader), or hosted on Google Reader</li>
+<li>64 bit support</li>
+<li>Full Screen support on Mac OSX Lion and Mountain Lion</li>
+<li>Fixes running on Leopard and on PowerPC</li>
+<li>Fixes feeds whose titles are XHTML or contain linefeeds/carriage returns</li>
+<li>Fixes Atom feeds with relative links</li>
+<li>Stay on Discrete Graphics mode on Macs having dual graphics cards</li>
+<li>Improved web browser experience (persistent cookies)</li>
+<li>Some functions which were only available on Report or Condensed layout are now available on Unified layout</li>
+<li>Increased timeout for feeds refresh</li>
+<li>Larger use of multi-threading</li>
+<li>Compiled with LLVM</li>
+<li>Binaries are now signed to avoid blockade by Mountain Lion&#8217;s gatekeeper default settings (for first run, you&#8217;ll have to right click and select &#8216;Open&#8217;)</li>
+<li>Many other bugfixes</li>
+</ul>
</body>
</html>
Something went wrong with that request. Please try again.