-
Notifications
You must be signed in to change notification settings - Fork 145
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
Update dotfiles script to automate xCode CLI tools #39
base: master
Are you sure you want to change the base?
Update dotfiles script to automate xCode CLI tools #39
Conversation
- Create a script to check if xCode is installed; if so inform the user, if not run automated install script of xCode CLI tools - Create a recursive script to automate xCode CLI tools; checks version of kernel to ensure user is on 13 or up (Mavericks) as thats when `xcode-select --install` was introduced. Issue: #33
Thanks! This looks great. I'm pretty swamped at the moment but will get to this when I next work on my dotfiles. |
No problem, you probably don't need this anymore, if you're on OSX 10.9+ & you use the newest version of Homebrew install. They are doing an xCode command line tools install for you now. Although one thing to note about that; it will break your Homebrew installation of If you're interested I've forked your repo and "improved" (depends on your perspective) upon it with more features, such as...
|
|
||
# Check if xCode is present | ||
check_xcode() { | ||
if type_exists 'gcc'; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I remember correctly, type_exists 'gcc'
will be true on OS X 10.9, even if XCode is not installed.
For OS X 10.9, I personally use:
if [ $(xcode-select -p &> /dev/null; printf $?) -ne 0 ]; then
xcode-select --install
# ...
fi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting, I get that xcode-select -p
prints out the location of the xCode developer directory if available, (and the redirect to the null device), but what does the printf $?
do? Isn't that supposed to print out the previous command?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does the
printf $?
do?
@chrisopedia printf $?
prints the exit code of the last executed command (in this case xcode-select -p &> /dev/null
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the assumption here then is that xcode select -p
will print out an exit code that is not equal to 0? What happens or is it possible that they could change their exit code? What about if there is no status number with their exit as in just plain exit
? Does that still pass?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens or is it possible that they could change their exit code? What about if there is no status number with their exit as in just plain exit? Does that still pass?
@chrisopedia in any UNIX based system every command returns an exit code (from 0
-255
). 0
means true/successful completion, while != 0
means false/something went wrong.
For more in-depth information, please read: http://tldp.org/LDP/abs/html/exit-status.html.
xcode select -p
will print out an exit code that is not equal to 0?
@chrisopedia xcode-select -p &> /dev/null; printf $?
will print out the exit code for xcode-select -p
no matter what value it is. Then, -ne 0
will check if that exit code is different then 0
, and if it is, then XCode will need to be installed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool @alrra I'll update my pull request with this new check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@chrisopedia again, please note that this is only for OS X 10.9+. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
K. Will do.
if not run automated install script of xCode CLI tools
of kernel to ensure user is on 13 or up (Mavericks) as thats when
xcode-select --install
was introduced.Issue: #33