Marc Cornellà
534ec60bfd
Set default git-config values known to fix repository issues
...
- core.autocrlf=false -> #4069
- fsck.zeroPaddedFilemode -> #4963
Fixes #4069
Fixes #4963
2019-10-21 17:00:04 +02:00
Marc Cornellà
fd4571d1b0
installer: allow chsh to work in termux
2019-09-08 21:35:45 +02:00
Marc Cornellà
702a594df3
installer: don't rely on tput for coloring
...
tput is error-prone and may not be needed, since all the formatting
codes used are standard across all types of terminals.
2019-06-09 16:33:06 +02:00
Marc Cornellà
b944fee6ea
installer: ask user about changing the shell to zsh
2019-06-03 17:18:25 +02:00
Marc Cornellà
0824dcc9fb
installer: allow for tput errors
...
tput may throw errors on invalid $TERM values, for example.
This shorthand syntax allows for that as well as for if tput
doesn't exist.
2019-06-03 17:18:25 +02:00
Zach Whitten
2e54ba2dfb
installer: restore previous default shell with uninstall
...
Co-authored-by: Antonio QUINTAVALLE <antonio.quintavalle@amadeus.com>
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
2019-06-03 17:18:25 +02:00
Marc Cornellà
66d6d08841
installer: improve message formatting and color
2019-06-03 17:18:25 +02:00
Marc Cornellà
b931d6a9db
installer: change to --unattended argument and add docs
2019-06-03 17:18:25 +02:00
Marc Cornellà
065844fdc0
installer: comment changes
2019-06-03 17:18:25 +02:00
Marc Cornellà
1cf42a506f
installer: add option to not run zsh at the end
...
Co-authored-by: Liquidsoul <liquidsoul@liquidsoul.fr>
Co-authored-by: Alexander Polynomdivision <digitalmail555@googlemail.com>
Co-authored-by: loket <loket@cruftlab.io>
Co-authored-by: Connor Demille <subtlepseudonym@gmail.com>
2019-06-03 17:18:25 +02:00
Marc Cornellà
a40d93295f
installer: don't run zsh at the end
...
Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
2019-06-03 17:18:24 +02:00
Marc Cornellà
794ff4a62d
installer: add ability to skip the default shell change
...
Co-authored-by: Marshall Ford <inbox@marshallford.me>
Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
2019-06-03 17:18:24 +02:00
Andrew Janke
43b3126b5c
installer: use timestamped backups to preserve all old zshrcs
2019-06-03 17:18:24 +02:00
Marc Cornellà
153f5e11ed
installer: use default color sequences on missing tput
...
Supposed to be POSIX-compatible. Proved to work in dash, yash and whatever
alpine uses. See https://unix.stackexchange.com/a/371873
2019-06-03 17:18:24 +02:00
Marc Cornellà
220d69b2ce
installer: allow configuration of remote URL to clone from
2019-06-03 17:18:24 +02:00
Andrew Janke
aa27430e10
installer: add ability to install from forked & branched repos
...
This facilitates testing of changes to the core installation code: you'll be
able to do a roundtrip test of install and uninstall using the working code on
your branch.
Controlled by passing $REPO and $BRANCH environment variables to install.sh.
2019-06-03 17:18:24 +02:00
Marc Cornellà
a6a093ba2a
installer: improve zsh binary path search in setup_shell
...
This changes the behavior to default to the binary found first in $PATH,
then checking it's actually in the shells file (/etc/shells).
If that fails go back to the previous behavior, but actually check that
the path obtained exists in the filesystem.
Co-authored-by: Joel Kuzmarski <leoj3n@gmail.com>
2019-06-03 17:18:24 +02:00
Fran
9d2b3ce79f
installer: fix for Solus OS and systems with no /etc/shells
...
Co-authored-by: Fredrik Fornwall <fredrik@fornwall.net>
2019-06-03 17:18:24 +02:00
Marc Cornellà
62216aaa8f
installer: use guard clauses in setup_shell for better readability
...
Guard clauses are if constructs that return early if there is an error
that prevents continuing. This way there isn't a big nesting of if
expressions.
2019-06-03 17:18:23 +02:00
Raf Czlonka
8e10ac4d73
installer: make sure shell in /etc/shells is not commented
...
Otherwise we risk a situation where a full path to `zsh` is commented, i.e.:
#/usr/local/bin/zsh
2019-06-03 17:18:23 +02:00
Luca S
73f29087f9
installer: replace the current shell with the new ZSH instance
...
This replaces the currently running process with the new one using `exec`
instead of creating a new process. This way, when the user `exit`s out of
the new shell it will not pop them back into the shell from which ohmyzsh
was installed from.
2019-06-03 17:18:23 +02:00
Marc Cornellà
1fdd5351fb
installer: abstract error messages
2019-06-03 17:18:23 +02:00
Marc Cornellà
576499a5ad
installer: fix for failed chsh quitting the installation
2019-06-03 17:18:23 +02:00
Marc Cornellà
a7bd1f99ae
installer: extract most code into functions
2019-06-03 17:18:23 +02:00
Marc Cornellà
f94443925d
installer: reorganise and add comments
2019-06-03 17:18:23 +02:00
Marc Cornellà
73ef051aae
installer: use tabs to allow future heredocs
...
This will allow us to use tab stripping heredocs with `<<-'.
See http://www.tldp.org/LDP/abs/html/here-docs.html#EX71A
Add editorconfig file to enforce this style.
See http://editorconfig.org for more information.
2019-06-03 17:18:22 +02:00
Marc Cornellà
9a832cccef
installer: use exit-on-error from the beginning
2019-06-03 17:18:22 +02:00
Guillermo Azurdia
9b2410fbcf
Remove dots from installer URLs ( #7780 )
2019-04-18 23:08:07 +02:00
Marc Cornellà
c23ab00990
upgrade: fix lock-out on first upgrade check
...
This early return made it so the lock wasn't removed, therefore locking out
the upgrade script from ever entering the upgrade routine.
Fixes #6138
Note: the logic needs some rework.
2019-04-07 20:39:25 +02:00
Robby Russell
f319aa845d
Updating Oh My Zsh shop URLs ( #7619 )
...
* Updating Oh My Zsh shop URLs
Linking directly to the Oh My Zsh inventory vs the top-level store with non-OMZ items.
* Updating link to Oh My Zsh products in the install script
* Updating link to Oh My Zsh shop products in the upgrade script
* Getting rid of 't-' in shirts for now
2019-02-25 19:22:07 -06:00
Jackson Delahunt
026e4e499e
installer: make TEST_CURRENT_SHELL use basename ( #7514 )
...
Fixes #7492
2019-01-15 19:01:34 +01:00
Janosch Schwalm
19b925e741
use https everywhere ( #6574 )
...
* use https everywhere
* use https links on the files that are left
Also, removed some broken links and updated redirections.
2018-08-07 20:42:01 +02:00
Joel Kuzmarski
8f95637e67
Login shell after install ( #5314 )
...
Otherwise these files are not sourced:
1. /etc/zprofile
2. ~/.zprofile
3. /etc/zlogin
4. ~/.zlogin
5. ~/.zlogout
6. /etc/zlogout
2018-07-01 18:39:30 +02:00
Chao Du
de8299d6c4
Fixed Issue #4550 : Move ~/.zsh-update file to $ZSH_CACHE_DIR
2018-06-15 23:43:21 +02:00
Dan Wallis
fec0089cdd
Quote $ZSH where necessary in install script ( #6587 )
...
Quote $ZSH where necessary in install script
2018-06-13 02:02:48 +02:00
Gert de Pagter
2b7a41b0d2
Update the update prompt ( #6825 )
...
`[Oh My Zsh] Would you like to check for updates? [Y/n]: ` does not make sense,
since answering yes will download/apply the new updates instead of checking for them.
2018-05-15 11:26:59 +02:00
ningwei1993
8f0ff4bb63
fix bug for check zsh ( #6798 )
2018-05-07 00:39:28 +02:00
Marc Cornellà
c4981bae0a
installer: check if zsh in path instead of /etc/shells
...
Fixes #4955
Closes #5931
Closes #6398
Co-authored-by: Void <vst4rbot@gmail.com>
Co-authored-by: Kaleb Elwert <belak@coded.io>
2018-05-05 22:03:57 +02:00
Marc Cornellà
4fec0a46e7
[installer] use command -v
to check for git
...
Quick fix to the script not finding git due to hash.
Solves #6697 .
2018-04-17 22:14:23 +02:00
Doug Yun
2526d71c56
Use HTTPS for Planet Argon links ( #6326 )
2017-11-01 06:21:07 -07:00
Fabian Wolff
1f64fa92f5
Convert "if then" statements to "if; then" one-liners
2016-10-03 12:05:10 +02:00
Fabian Wolff
4fa6be0230
Use rmdir instead of rm -r
2016-10-03 12:05:10 +02:00
Fabian Wolff
40bfe5a412
Implement a locking mechanism to avoid multiple update prompts ( fixes #3766 )
2016-10-03 12:05:10 +02:00
Fredrik Fornwall
9772f8e10d
Replace /bin/sh with sh for portability ( #5291 )
...
This makes things work even on system lacking /bin/sh, such as on
non-rooted Android systems.
2016-08-09 02:39:11 +02:00
Felipe Vargas
551abfcbb4
Remove undesirable hardcoding of PATH into zshrc ( #4925 )
...
See robbyrussell@b67961d
2016-06-16 21:56:34 +02:00
Andrew Janke
483f1208a5
installer: fix ordering of cygwin msys git check ( #4557 )
2016-05-31 00:53:54 +02:00
Robin Hallabro
18ca953f12
Use consistent wording when updating
...
When the user is asked to update oh-my-zsh it says "[Oh My Zsh] Would
you like to check for updates? [Y/n]:". When the user agreed to update
the next text would say "Upgrading Oh My Zsh" which is inconsistent
with the question.
2015-12-15 03:46:46 +01:00
Marc Cornellà
ef031dfe8f
Merge pull request #4207 from mpscholten/master
...
Also accept any forms of yes as an answer to the "do you want to update?" prompt
2015-11-29 14:34:14 +01:00
LE Manh Cuong
c25002a13f
Removing source
command
2015-11-04 20:36:53 +07:00
LE Manh Cuong
53a63355be
Change coding style
2015-10-23 14:15:03 +07:00
LE Manh Cuong
45cd2df31f
Update uninstall.sh
...
- Need dot `.` for POSIX compliant instead of `source`
- Use modern syntax for command substitution
- Fix missing double quotes
2015-10-23 09:03:24 +07:00
Marc Cornellà
d06f4d0893
Fix backwards logic in uninstaller once and for all
...
Really this time :P
Fixes #4533
2015-10-21 16:46:38 +02:00
Marc Cornellà
4e42e1f7e1
Fix conditional in uninstall prompt
2015-10-21 11:28:12 +02:00
Marc Cornellà
b2010a0ae6
Fix syntax error in confirmation prompt of uninstall.sh
...
We need to use POSIX syntax. This file is no longer executed with zsh.
Fixes #4483 .
2015-10-21 11:24:12 +02:00
Marc Cornellà
ca5632bce1
Fix syntax error in #4515 on certain shells
...
Drops the `function` keyword and uses only `func(){}` syntax as per the
POSIX specification:
http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_09_05
Related: #4531
2015-10-21 10:48:02 +02:00
Marc Cornellà
78dc858396
Revert "Make install script safer"
...
This reverts commit c9d93757e8
, which
makes it fail with a syntax error:
sh: 1: Syntax error: "(" unexpected
2015-10-21 10:36:40 +02:00
Marc Cornellà
fdb0e239d4
Merge pull request #4507 from WhyEee/fix-no-tput
...
Fix install.sh/upgrade.sh for tput-less systems
2015-10-20 23:30:29 +02:00
Marc Cornellà
b3c10b925e
Merge pull request #4505 from arvindch/checked-upgrade
...
Check for git before trying to upgrade OMZ
2015-10-20 23:29:00 +02:00
Brian J Brennan
c9d93757e8
Make install script safer
...
This changeset wraps all of the commands in tools/install.sh in a
function and then calls that function as the last line of the
script.
The current install instructions ask the user to download the install
script using `curl` and pass the result to `sh`. This is totally
fine (as long as both the instructions and the script itself are served
using HTTPS), but the script should be written in a way such that it
doesn't start trying to actually *do* anything until the very last line.
The reason is due to the way `curl` work: if the socket drops before the
request is complete (server abruptly hangs up, client's internet flakes
out, etc.), `curl` will return the partial data that it received. Here
is an example of that:
![partial file execution](https://cldup.com/qU_Mnh2GmT.png )
A way this might cause issues for tools/install.sh is if the connection drops
after cloning but before the repository (L53-56). The .zshrc
configuration will not be copied and the shell will not be changed, but
if the user tries to run the install script again it will claim
oh-my-zsh is already installed (L31-39).
While this is not a particularly dangerous error condition (the user can
just delete .oh-my-zsh and re-run), it can certainly be confusing for
new users. This also helps future-proof the script for a time when it
might need to use a "dangerous" command, e.g. `rm`, and we want to make
sure it happens in the most transactional way possible.
2015-10-20 14:18:22 -04:00
Marc Cornellà
8c73eb4f44
Merge pull request #4419 from apjanke/installer-termcap-hack
...
installer: ignore errors in color setup, for FreeBSD portability
2015-10-20 08:30:14 +02:00
Yannick Eckey
75e619b724
Fix install.sh/upgrade.sh for tput-less systems
...
@fcrozat's original fix assumes `which` not to output anything to STDOUT
in case the command is not found. That is not necessarily true on all
systems. A better solution is to check the return value instead.
Fixes #4376
2015-10-16 22:27:46 +02:00
Arvind Chembarpu
e59e1c8417
Check for git before trying to upgrade, as per #4504
2015-10-16 23:19:55 +05:30
Rodrigo Chiossi
6b73f5ec75
Ask for confirmation before uninstall
...
Prompt the user before removing oh-my-zsh from the system
2015-10-05 18:32:42 -03:00
Andrew Janke
f94fee5a7f
installer: don't bail on errors in color setup
...
This is a hack to keep the installer working on systems without tput/terminfo.
2015-09-28 08:35:25 -04:00
Robby Russell
935948cf3b
Merge pull request #3646 from apjanke/installer-cygwin-support-3
...
Add Cygwin support to installer.
2015-09-26 09:35:39 -07:00
Andrew Janke
96ff86142e
Merge branch 'master' into installer-cygwin-support-3
...
Conflicts:
tools/install.sh
2015-09-23 18:53:05 -04:00
Frederic Crozat
95296bb0c5
also handle missing tput in upgrade script.
2015-09-22 16:46:22 +02:00
Frederic Crozat
884a879562
Do not fail if tput is not available
...
Fixes issue #4376
2015-09-21 20:02:57 +02:00
Andrew Janke
6cddf7202b
Merge branch 'master' into installer-portable-colors
2015-09-19 15:07:36 -04:00
Robby Russell
56cdec7534
Merge pull request #3889 from leycec/compaudit
...
Repair `zsh` Path Permissions on `oh-my-zsh` Startup under Cygwin
2015-09-19 08:40:34 -07:00
Andrew Janke
82c76f6b5c
Merge changes from #4241 into installer-portable-colors
...
Conflicts:
tools/install.sh
tools/upgrade.sh
2015-09-03 12:50:55 -04:00
Andrew Janke
502f08b5e1
Add Cygwin support to installer.
...
* Balk at incompatible Windows/MSYS git
* Test for chsh presence before trying to use it
* Replace non-portable `[[ ... ]]` and `[ x = *pattern* ]` constructs
2015-09-03 12:47:02 -04:00
Robby Russell
ccaaa992c7
Merge pull request #4241 from heartinpiece/master
...
Check if Zsh is installed prior to installing Oh My Zsh
2015-08-30 21:44:38 -07:00
Robby Russell
a228604e69
Merge pull request #4249 from KrauseFx/patch-1
...
Use https instead of http
2015-08-30 21:38:33 -07:00
Robby Russell
b3f167d998
Merge pull request #3613 from apjanke/remove-sed-i
...
Installer: Remove "sed -i" for portability and hygiene
2015-08-30 09:13:04 -07:00
Andrew Janke
fe92ea98e0
installer: switch twitter link to https
2015-08-27 17:17:43 -04:00
Felix Krause
de47e2df69
Use https instead of http
2015-08-16 19:29:58 +02:00
Chang Hyun Park
58d2f9335d
Check if Zsh is installed prior to installing Oh My Zsh
...
Check if Zsh is installed before installing anything else.
New-commers, or people who don't read the disclaimers(ex. me) will go
straight to stack overflow if chsh -s returns an error.
2015-08-12 16:47:37 +09:00
Marc Scholten
d351c76b04
Also accept any forms of yes as an answer to the "do you want to update?" prompt
2015-08-03 14:50:57 +02:00
leycec
e8caf22beb
Cygwin-specific "chsh" installation issue fixed.
...
Installation previously assumed the existence of a "chsh" command in the current
${PATH}. Since Cygwin does *NOT* provide this command, installation now tests
for the existence of this command before attempting to run it.
2015-07-20 00:56:19 -04:00
leycec
da395c5837
Secure umask enforced during installation.
...
For safety, a umask of 022 prohibiting both group and other writability is now
enforced during OMZ installation. In theory, this should reduce the likelihood
of subsequent compinit() failures due to insecure directory permissions under
all platforms except for default Cygwin installations (in which Windows ACLs
override POSIX umasks).
2015-07-20 00:56:19 -04:00
Andrew Janke
8cf610089d
installer: use terminfo for portable escape sequences
...
Do not use terminal visual effects if not connected to a terminal.
2015-07-06 20:18:32 -04:00
Andrew Janke
19ea867a3a
install.sh: use portable printf instead of echo
2015-07-06 19:44:59 -04:00
HeroCC
6a1b8320fe
No input for Update Check defaults to Yes
2015-06-10 14:36:52 +02:00
Pablo Tamarit
03b8c199e5
Fix 'chsh' by checking '/etc/shells' instead of using 'which'
...
fix test for chsh in install
in case $SHELL is zsh but not the last one in /etc/shells
fixes #3026 fixes #3779 fixes #3780
2015-05-05 19:49:19 +02:00
Andrew Janke
1246c3e08b
install.sh: Replace nonstandard "sed -i" with sed + mv commands. Makes portable to systems whose sed lacks "-i", like OpenBSD.
2015-02-20 02:34:54 -05:00
Robby Russell
d2667bd0a2
Merge pull request #3353 from mizabrik/master
...
Save ZSH path in newly created .zshrc
2015-02-10 11:21:15 -08:00
Nicholas T.
5cb0ed98d1
Fast installation time by shallow copying git repo
...
Use `--depth=1` to clone just the lastest version rather than every version in git.
2015-01-15 09:09:41 +10:00
Mark Feltner
83553597a1
fix(tools/check_for_upgrade): Don't source profile
...
Reverts #2296 , but mostly #1883 .
There is no need to source ~/.profile when this script is read. oh-my-zsh writes no configuration data in ~/.profile.
If the user wishes to use data within ~/.profile, then they should source it in another place.
Fixes #2315
2014-12-15 18:45:50 +01:00
mizabrik
c6a8b2ea6d
Save ZSH path in newly created .zshrc
2014-11-28 19:40:56 +03:00
Robby Russell
57ff83db59
Merge pull request #2946 from moinakg/master
...
Solaris portability tweaks.
2014-11-06 09:26:48 -08:00
Moinak Ghosh
3a39732845
Change to epoch target in days instead of seconds.
2014-10-14 12:05:01 +05:30
Moinak Ghosh
90762eee49
Convert epoch_target from days to seconds.
2014-09-17 11:11:48 +05:30
Moinak Ghosh
5f38a537ce
Update Solaris changes to use OSTYPE and zsh datetime module.
2014-09-16 22:29:52 +05:30
Robby Russell
c1cd9cb126
Merge pull request #3049 from strycore/master
...
Prevent chsh from running when $SHELL is already zsh
2014-08-31 11:42:40 -07:00
Robby Russell
671bd0cf4f
Link to swag in installer... shameless profiting
2014-08-31 11:32:07 -07:00
Robby Russell
9f8d7d85c2
Adding link to the store for swag in upgrade process
2014-08-31 11:30:30 -07:00
Mathieu Comandon
91ba6d9887
Don't try running chsh if user already runs zsh
2014-08-21 12:47:48 +02:00
Fredrik Fornwall
dac2a6e27a
Replace /usr/bin/env with env
...
Some environments (such as Android) does not have /usr/bin.
2014-08-20 23:52:05 +02:00
Moinak Ghosh
5e328e3a9c
Solaris portability tweaks.
2014-07-11 18:41:49 +05:30