Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More Xamarin Things #9174

Merged
merged 3 commits into from
Jan 26, 2015
Merged

More Xamarin Things #9174

merged 3 commits into from
Jan 26, 2015

Conversation

jamesottaway
Copy link
Contributor

The commit history should explain everything.

Let me know if anything here is contentious.

@vitorgalvao
Copy link
Contributor

Your xamarin-mdk appears to be a duplicate of the already present mono-mdk.

In addition, the xamarin-jdk cask isn’t very clear to me. I found no mention of it on the homepage you pointed to.

@jamesottaway
Copy link
Contributor Author

Ah, I should have made it more clear why I was adding those two new Casks.

The appcast used in these Casks includes references to 'Mono Framework' and 'Java SDK', but point their download URLs at a Xamarin-hosted version.

They don't seem to be modified in any way from their upstream counterparts from the Mono and Oracle websites respectively, but they are the versions which anyone using Xamarin's GUI bootstrap installer tool will receive, so I wanted to make the same dependencies available here.

Unfortunately I couldn't find a page on the Xamarin website referring to these dependencies, so I left the homepage stanza pointing to their upstream counterparts.

@fanquake fanquake added the cask label Jan 23, 2015
@vitorgalvao
Copy link
Contributor

They don't seem to be modified in any way from their upstream counterparts (…) they are the versions which anyone using Xamarin's GUI bootstrap installer tool will receive.

They are, then, duplicates, and will require double the effort to update plus anyone updating one would have to know they both exist. That is highly inefficient. Please remove the duplicates.

@jamesottaway
Copy link
Contributor Author

I've removed them from this PR, but would they make sense in caskroom/homebrew-versions?

The reason I think they should exist is so that someone can exactly replicate using the GUI installer for Xamarin, which consumes the appcast to install specific versions of these dependencies.

@vitorgalvao
Copy link
Contributor

But aren’t they the exact same packages, as you said? How would it then make a difference?

Merging this in the meantime, as there’s no reason the conversation needs to hold this up any longer.

vitorgalvao added a commit that referenced this pull request Jan 26, 2015
@vitorgalvao vitorgalvao merged commit c49859b into Homebrew:master Jan 26, 2015
@vitorgalvao vitorgalvao mentioned this pull request Jan 26, 2015
5 tasks
@jamesottaway jamesottaway deleted the xamarin branch January 27, 2015 00:24
@jamesottaway
Copy link
Contributor Author

How would it then make a difference?

Installing the existing java Cask gives you Java 8, but the URL in the Xamarin appcast gives you Java 7.

The Mono MDK listed in the Xamarin appcast installs the same version as the existing mono-mdk Cask, but the URL points to download.xamarin.com so there's no way to be sure they haven't patched the dependency in some way.

Ideally there won't be any incompatibility issues between Xamarin and the versions of Java and Mono already available here, but I think it is a good idea to have a xamarin-jdk and a xamarin-mdk Cask available, meaning we can exactly replicate the result of running the GUI installer.

Given the tradeoff I'm proposing between duplication and confidence that we can replicate the Xamarin installer process, I thought maybe it would make more sense over in caskroom/homebrew-versions.

@vitorgalvao
Copy link
Contributor

so there's no way to be sure they haven't patched the dependency in some way

Sure there is: we check their sha256. If they match they’re the same, if they don’t they’re not.

However, I’m getting more and more convinced that this warrants more discussion, so here’s what we’ll do: I ask that you download them both, check their shasum, and get back to me with the results. If they differ, there’s a reason to add them. If they don’t, however, I’ll summarise this issue and open a new one to ask the opinion of other maintainers on the issue of adding such duplicates.

@jamesottaway
Copy link
Contributor Author

I'll see how the Java checksum compares with the Xamarin one, but I don't think the Mono one will work since the mono-mdk Cask uses sha256 :no_check.

@vitorgalvao
Copy link
Contributor

Checked the one on the mono-mdk cask manually. sha256 is 089d5621bc9ff95de7221536f1d3019a8d5cd076bce9479458e029e23e849324.

@jamesottaway
Copy link
Contributor Author

This is what I get for the two JDK downloads:

❯ curl -SL http://download.oracle.com/otn-pub/java/jdk/7u71-b13/jdk-7u71-macosx-x64.dmg -o oracle-jdk-7u71-macosx-x64.dmg --cookie "oraclelicense=accept-securebackup-cookie"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100  185M  100  185M    0     0  1741k      0  0:01:49  0:01:49 --:--:-- 1554k
❯ curl -SL http://download.xamarin.com/Installer/MonoForAndroid/jdk-7u71-macosx-x64.dmg -o xamarin-jdk-7u71-macosx-x64.dmg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  185M  100  185M    0     0   878k      0  0:03:36  0:03:36 --:--:--  862k
❯ openssl dgst -sha256 oracle-jdk-7u71-macosx-x64.dmg
SHA256(oracle-jdk-7u71-macosx-x64.dmg)= bcb50e474671931f63510a94666d0d66c55a2bd4ee7a4e372e20d45986899aed
❯ openssl dgst -sha256 xamarin-jdk-7u71-macosx-x64.dmg

SHA256(xamarin-jdk-7u71-macosx-x64.dmg)= 70a18547b529a111c4e5cf133532082e142908819b0d61e273c21dee86fcc87a

@jamesottaway
Copy link
Contributor Author

The checksums are different for the two versions of the Mono MDK too, but this one was expected:

❯ curl -SL -o xamarin-MonoFramework-MDK-3.12.0.68.macos10.xamarin.x86.pkg http://download.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-3.12.0.68.macos10.xamarin.x86.pkg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  210M  100  210M    0     0  1015k      0  0:03:31  0:03:31 --:--:-- 1413k
❯ curl -SL -o mono-MonoFramework-MDK-3.12.0.macos10.xamarin.x86.pkg http://download.mono-project.com/archive/3.12.0/macos-10-x86/MonoFramework-MDK-3.12.0.macos10.xamarin.x86.pkg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  209M  100  209M    0     0  1121k      0  0:03:11  0:03:11 --:--:-- 1064k
❯ openssl dgst -sha256 xamarin-MonoFramework-MDK-3.12.0.68.macos10.xamarin.x86.pkg
SHA256(xamarin-MonoFramework-MDK-3.12.0.68.macos10.xamarin.x86.pkg)= 9591affdb4a342cbba3da0a1d7013592f1c801e2deb7eb70ec9cc1545dda468a
❯ openssl dgst -sha256 mono-MonoFramework-MDK-3.12.0.macos10.xamarin.x86.pkg
SHA256(mono-MonoFramework-MDK-3.12.0.macos10.xamarin.x86.pkg)= 089d5621bc9ff95de7221536f1d3019a8d5cd076bce9479458e029e23e849324

@vitorgalvao
Copy link
Contributor

Seems like they belong after all. Thank you for your patience in this, could you please open a new PR with them?

As for the homepages, I’ve checked both xamarin-ios and xamarin-android and their homepages redirect to http://xamarin.com/platform. Would that be an appropriate page for the ones you’re about to add?

@jamesottaway
Copy link
Contributor Author

Yeah, definitely, I'll use that URL for the homepage stanza. I didn't realise they'd changed their IA, so thanks for the heads up.

I was thinking that the new xamarin-jdk and xamarin-mdk Casks would live in homebrew-versions since they are special "versions" of the package as required by the Xamarin toolchain. Is this right, or would you rather I created them here in homebrew-cask?

@vitorgalvao
Copy link
Contributor

Lets keep them in the main repo. We had a similar discussion regarding the iOS and Android versions and opted to keep them here, so it makes sense to continue that.

@jamesottaway
Copy link
Contributor Author

could you please open a new PR with them

Done. Thanks again for your help!

@miccal miccal removed the cask label Dec 23, 2016
@Homebrew Homebrew locked and limited conversation to collaborators May 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants