xcode-install icon indicating copy to clipboard operation
xcode-install copied to clipboard

Sudo pre-approval for installation

Open KrauseFx opened this issue 6 years ago • 10 comments

As part of https://github.com/fastlane/ci/pull/819 we need to have a way to pre-approve the sudo needed for installing Xcode, As fastlane.ci will run in headless mode.

We had the idea to offer 2 ways to make this work

1) Tell user to run a given command

The command will be shown on the fastlane.ci dashboard after onboarding, after onboarding a project, asking the user: Hey, should we manage Xcode versions for you?

The command should do the following:

  • If necessary, modify the permission of files/folders (if that's an ok thing to do) to enable sudo-less installation of future versions (I didn't do the research yet what folders that would be, and how it could work
  • Maybe: the command would ask for the root password required to install the Device Support on the first launch of Xcode, that's unfortunately needed to get things running. Once we have that stored in the Keychain, we can use that for every future Xcode installation, until the password is changed. This might not be perfect, as storing the root password in the Keychain feels a little off

2) Ask for the root password on the fly via the web UI

This is for people who don't want to or don't have access to the terminal of the fastlane.ci machine. This will make it easier for them, if they're ok with transferring the password via web.


As part of this project, we were thinking of starting with approach 1. Part of this probably requires some changes in xcode-install (e.g. probably modify of permissions of the folder we install Xcode versions in), and the rest would be part of fastlane.ci to keep the xcode-install gem clean & focused.


These are just my early thoughts, I'm very open to ideas and feedback, on how to best approach this, and where to go from here.

Personally I think that sudo-less Xcode installation would be useful for anyone, not just fastlane.ci users - I'd set this up on my local machine also 👍

What do y'all think?

KrauseFx avatar May 12 '18 07:05 KrauseFx

is that solve the problem of installing xcode from non-sudo user?

ykhandelwal913 avatar Jun 15 '18 19:06 ykhandelwal913

@YogiKhan Primarily we want to make it work for fastlane.ci, but as a result, it would probably make it possible to do sudo-less Xcode installation as part of fastlane also

KrauseFx avatar Jun 15 '18 19:06 KrauseFx

thanks @KrauseFx ..This tool is really amazing and will save lot of work for us. As of now it is blocking us to provide the password. I want to run that tools using non-sudo and jenkins.

ykhandelwal913 avatar Jun 15 '18 20:06 ykhandelwal913

@KrauseFx by when can we expect that feature? I know its opensource and it depends on the time you get to work on.

ykhandelwal913 avatar Jun 18 '18 05:06 ykhandelwal913

Probably a few weeks/months, make sure to follow the https://github.com/fastlane/ci repo, and check out the active PRs 👍

KrauseFx avatar Jun 18 '18 12:06 KrauseFx

few questions: 1. list doesnot display beta version, does it mean we can't install the xcode beta version with this tool? 2. Along with xcode, does it install command line tools for that version? if not, how can we install it? 3. Also , is it possible to show only applicable version for particular macos version? ex: xcode9.3 is not support for sierra, so if someone running sierra, xcversion should not display xcode9.3+ or atleast say it is not supported on your running macos version.

ykhandelwal913 avatar Jun 20 '18 07:06 ykhandelwal913

  1. list doesnot display beta version, does it mean we can't install the xcode beta version with this tool?

No, Apple only provides the most recent beta

  1. Along with xcode, does it install command line tools for that version? if not, how can we install it?

It will

  1. Also , is it possible to show only applicable version for particular macos version? ex: xcode9.3 is not support for sierra, so if someone running sierra, xcversion should not display xcode9.3+ or atleast say it is not supported on your running macos version.

This would be possible, but we're not working on it

KrauseFx avatar Jun 20 '18 12:06 KrauseFx

@KrauseFx are there any progress update on this issue? we would also like a sudo-less xcode install for setting up our jenkins build nodes automatically :)

Buju77 avatar Oct 08 '18 16:10 Buju77

Sorry, no, the fastlane.ci project was put on pause https://twitter.com/FastlaneTools/status/1040256947394621442

KrauseFx avatar Oct 08 '18 19:10 KrauseFx

ah ok, i see. thx.

On Mon, 8 Oct 2018 at 21:17, Felix Krause [email protected] wrote:

Sorry, no, the fastlane.ci project was put on pause https://twitter.com/FastlaneTools/status/1040256947394621442

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/KrauseFx/xcode-install/issues/279#issuecomment-427949146, or mute the thread https://github.com/notifications/unsubscribe-auth/AAQQbcwTeAzbBjmuIiJJESnCnFjUZ7W8ks5ui6TMgaJpZM4T8UeQ .

Buju77 avatar Oct 08 '18 21:10 Buju77