Skip to content

Conversation

@simonbyrne
Copy link
Member

The first commit fixes #10697 by using only the major.minor version in the .app filename.

The second formats the background of the .dmg window:

screen shot 2015-12-22 at 20 00 52

Comments/suggestions welcome.

@simonbyrne simonbyrne added the system:mac Affects only macOS label Dec 22, 2015
@ViralBShah
Copy link
Member

I will try this out.

Also wondering if we should backport this to 0.4 and perhaps even to 0.3 (along with the applescript terminal opening updates).

@tkelman
Copy link
Contributor

tkelman commented Dec 23, 2015

I see no reason for making another 0.3 release at this time.

@tkelman
Copy link
Contributor

tkelman commented Dec 23, 2015

I'm not sure what exactly, but something about this change appears to cause issues when I try to run it on the mac buildbot: https://build.julialang.org/builders/package_osx10.9-x64/builds/10

edit: I think you'll have to delete temp.dmg to avoid confusing the buildbot

@simonbyrne
Copy link
Member Author

Ah, okay, I can add that to the Makefile.

There's also this problem with the AppleScript used to do the formatting:

osascript window.applescript Julia-0.5.app
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
window.applescript: execution error: An error of type -10810 has occurred. (-10810)
make: [dmg] Error 1 (ignored)

I'll look into it to see what I can do.

@simonbyrne
Copy link
Member Author

Ah, the problem seems to be that the build server doesn't have permissions to launch WindowsServer:
https://stackoverflow.com/questions/9157980/postbuild-uiautomation-script-not-running-in-jenkins

We could either change the permissions, or we could use something like dmgbuild and ds_store? What would be easier?

@tkelman
Copy link
Contributor

tkelman commented Dec 23, 2015

Not sure, I usually have to ping @staticfloat on mac build questions.

We do have a sudo line in contrib/mac/app/Makefile already, so maybe it would be fine to add another.

@ViralBShah
Copy link
Member

dmgbuild does look interesting.

@staticfloat
Copy link
Member

@simonbyrne rather than use Applescript in the build process, can we take the files that it stores in the .dmg archive and just load that file in? E.g. cache the output of the applescript, and just copy that output in instead.

@simonbyrne
Copy link
Member Author

The output gets stored the .DS_Store file, which is an opaque binary format. I played around with dmgbuild last night, and it seems to give pretty good results (and is much easier to use than AppleScript), so I think that might be the best option. I'll update the PR in the next few days.

@simonbyrne
Copy link
Member Author

I've updated this to use dmgbuild, which is much simpler. It no longer uses sudo, but I've been unable to recreate the original problem in #9010 without manually disabling the "ignore ownership of this volume" option when opening the .dmg file.

It also changes the identity to be org.julialang.julia, which could be useful if we ever have other programs.

@tkelman
Copy link
Contributor

tkelman commented Jan 25, 2016

https://build.julialang.org/builders/package_osx10.9-x64/builds/33 (not started yet) will test this out on the buildbot. Best not to merge until it's verified to be working there.

@tkelman
Copy link
Contributor

tkelman commented Jan 25, 2016

This is unfortunate:
error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

No CLT-only option?

@simonbyrne
Copy link
Member Author

Hmm, that's annoying.

It seems like this is only needed for the python quartz framework, which is used for making fancy icons. I can see if we can get it to work without that.

@staticfloat
Copy link
Member

I'll just install Xcode as well.

On Mon, Jan 25, 2016, 12:38 Simon Byrne [email protected] wrote:

Hmm, that's annoying.

It seems like this is only needed for the python quartz framework, which
is used for making fancy icons. I can see if we can get it to work without
that.


Reply to this email directly or view it on GitHub
#14470 (comment).

@simonbyrne
Copy link
Member Author

That works too.

@tkelman
Copy link
Contributor

tkelman commented Jan 26, 2016

Can't you install subcomponents of a python package with square brackets?

@simonbyrne
Copy link
Member Author

I think that's only if the dependency is setup via extras_requires, which it doesn't appear to be.

@simonbyrne
Copy link
Member Author

Until we get this up and running, why don't I just keep the first patch (which is really the more pressing issue)?

@tkelman
Copy link
Contributor

tkelman commented Feb 11, 2016

Sounds reasonable.

Also sets identifier to org.julialang.julia
@simonbyrne
Copy link
Member Author

okay, done.

tkelman added a commit that referenced this pull request Feb 12, 2016
@tkelman tkelman merged commit 746fa80 into master Feb 12, 2016
@tkelman tkelman deleted the sb/dmg branch February 12, 2016 07:38
@simonbyrne
Copy link
Member Author

I've moved the background changes are on the sb/dmg-bg branch

@simonbyrne
Copy link
Member Author

@tkelman I just realised this might break Travis testing on packages: this changes the volume name from Julia to Julia-X.Y.Z, which could break this line:
https://github.com/travis-ci/travis-build/blob/e56f4ffdf8eb8fe2608659eef293e94340f71286/lib/travis/build/script/julia.rb#L45

I can either change the VOL_NAME back, or you could use the -mountpath option with hdiutil in the travis recipe.

@tkelman
Copy link
Contributor

tkelman commented Feb 12, 2016

I don't understand what the fix needs to be, and have no way of testing. I will hold off on backporting for 0.4.4 and wait for 0.4.5 then, but good catch. The nightly osx builder is not passing tests right now so we have some time to find a fix. If the Travis code can be modified in a way that works including for existing versions, can you please open a PR against travis-build and cc me?

Since you're more active than @staticfloat or @ninjin recently, would you want to help take over as a co maintainer of the travis setup? Either in addition or replacement depending what Elliot and Pontus think.

@staticfloat
Copy link
Member

I'm always happy to welcome new people into the fold. :)

@simonbyrne
Copy link
Member Author

I'd be happy to help out, though my travis experience is still somewhat limited.

Maybe we shouldn't backport this, as it could cause some confusion (i.e. julia-0.4.app would be a later version than julia-0.4.4.app)

@ViralBShah
Copy link
Member

I was actually thinking that we probably should backport this one.

@tkelman
Copy link
Contributor

tkelman commented Feb 15, 2016

Not until Travis is adjusted for it at a minimum. We've had 3, soon to be 4 releases of 0.4 with the existing convention here.

@tkelman
Copy link
Contributor

tkelman commented Feb 16, 2016

Bump @simonbyrne this needs fixing on the Travis side otherwise as soon as we get a new OSX nightly it'll start breaking on package tests.

@simonbyrne
Copy link
Member Author

Is there no way of testing the travis setup?

@tkelman
Copy link
Contributor

tkelman commented Feb 16, 2016

I can manually trigger a nightly that will include these changes (but won't get saved as 0.5-latest so travis won't use it immediately), then the steps in https://github.com/travis-ci/travis-build/blob/e56f4ffdf8eb8fe2608659eef293e94340f71286/lib/travis/build/script/julia.rb#L45 can be tested locally - but only on a mac.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

system:mac Affects only macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stable OS X releases should use Julia.app not Julia-X.Y.Z.app name for application bundle

5 participants