diff --git a/README.md b/README.md index 78d11adb..db6eebd3 100644 --- a/README.md +++ b/README.md @@ -96,21 +96,21 @@ Reading package lists... Done ## Installation -On Ubuntu you can install `The Fuck` with installation script [*experimental*]: - -```bash -wget -O - https://raw.githubusercontent.com/nvbn/thefuck/master/install.sh | sh - && $0 -``` - On OS X you can install `The Fuck` with [Homebrew][homebrew]: ```bash brew install thefuck ``` -## Manual installation +On Ubuntu you can install `The Fuck` with: + +```bash +sudo apt update +sudo apt install python3-dev python3-pip +sudo -H pip3 install thefuck +``` -Install `The Fuck` with `pip`: +On other systems you can install `The Fuck` with `pip`: ```bash sudo -H pip install thefuck diff --git a/install.sh b/install.sh index 25600a67..366e4ae6 100755 --- a/install.sh +++ b/install.sh @@ -1,61 +1,4 @@ #!/bin/sh -should_add_alias () { - [ -f $1 ] && ! grep -q thefuck $1 -} - -installed () { - hash $1 2>/dev/null -} - -install_thefuck () { - # Install OS dependencies: - if installed apt-get; then - # Debian/Ubuntu: - sudo apt-get update -yy - sudo apt-get install -yy python-pip python-dev command-not-found python-gdbm - - if [ -n "$(apt-cache search python-commandnotfound)" ]; then - # In case of different python versions: - sudo apt-get install -yy python-commandnotfound - fi - else - if installed brew; then - # OS X: - brew update - brew install python - else - # Generic way: - wget https://bootstrap.pypa.io/get-pip.py - sudo python get-pip.py - rm get-pip.py - fi - fi - - # thefuck requires fresh versions of setuptools and pip: - sudo pip install -U pip setuptools - sudo pip install -U thefuck - - # Setup aliases: - if should_add_alias ~/.bashrc; then - echo 'eval $(thefuck --alias)' >> ~/.bashrc - fi - - if should_add_alias ~/.bash_profile; then - echo 'eval $(thefuck --alias)' >> ~/.bash_profile - fi - - if should_add_alias ~/.zshrc; then - echo 'eval $(thefuck --alias)' >> ~/.zshrc - fi - - if should_add_alias ~/.config/fish/config.fish; then - thefuck --alias >> ~/.config/fish/config.fish - fi - - if should_add_alias ~/.tcshrc; then - echo 'eval `thefuck --alias`' >> ~/.tcshrc - fi -} - -install_thefuck +echo "Installation script is deprecated!" +echo "For installation instruction please visit https://github.com/nvbn/thefuck" diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py deleted file mode 100644 index 9463077d..00000000 --- a/tests/functional/test_install.py +++ /dev/null @@ -1,25 +0,0 @@ -import pytest -from thefuck.utils import get_installation_info - -envs = ((u'bash', 'thefuck/ubuntu-bash', u''' -FROM ubuntu:latest -RUN apt-get update -RUN apt-get install -yy bash -'''), (u'bash', 'thefuck/generic-bash', u''' -FROM fedora:latest -RUN dnf install -yy python-devel sudo wget gcc -''')) - - -@pytest.mark.functional -@pytest.mark.skip_without_docker -@pytest.mark.parametrize('shell, tag, dockerfile', envs) -def test_installation(spawnu, shell, TIMEOUT, tag, dockerfile): - proc = spawnu(tag, dockerfile, shell) - proc.sendline(u'cat /src/install.sh | sh - && $0') - proc.sendline(u'thefuck --version') - version = get_installation_info().version - assert proc.expect([TIMEOUT, u'thefuck {}'.format(version)], - timeout=600) - proc.sendline(u'fuck') - assert proc.expect([TIMEOUT, u'No fucks given'])