Skip to content

Commit 936552c

Browse files
committed
Uses one script for mac and linux
1 parent 1f972c7 commit 936552c

File tree

4 files changed

+105
-113
lines changed

4 files changed

+105
-113
lines changed

README.md

+1-9
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,8 @@ docker run -it -p 127.0.0.1:8080:8080 -v "$PWD:/home/coder/project" codercom/cod
2222

2323
### Installation
2424

25-
#### Mac
26-
27-
```bash
28-
curl -s https://raw.githubusercontent.com/cdr/code-server/issue-1396/install_mac.sh | bash -s
29-
```
30-
31-
#### Linux
32-
3325
```bash
34-
curl -s https://raw.githubusercontent.com/cdr/code-server/issue-1396/install_linux.sh | bash -s
26+
curl -s https://raw.githubusercontent.com/cdr/code-server/issue-1396/install_helper.sh | bash -s
3527
```
3628

3729
### Requirements

install_helper.sh

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
4+
get_releases() {
5+
curl --silent "https://api.github.com/repos/cdr/code-server/releases/latest" |
6+
grep '"browser_download_url":\|"tag_name":'
7+
}
8+
9+
linux_install() {
10+
bin_path=$HOME/bin
11+
lib_path=$HOME/lib
12+
13+
releases=$(get_releases)
14+
package=$(echo "$releases" | grep 'linux' | grep 'x86' | sed -E 's/.*"([^"]+)".*/\1/')
15+
version=$(echo $releases | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
16+
17+
temp_path=/tmp/code-server-$version
18+
19+
if [ -d $temp_path ]; then
20+
rm -rf $temp_path
21+
fi
22+
23+
mkdir $temp_path
24+
cd $temp_path
25+
26+
echo "-- Downloading code-server v$version"
27+
wget $package > /dev/null
28+
29+
echo "-- Unpacking code-server release"
30+
tar -xzf code-server*.tar.gz > /dev/null
31+
rm code-server*.tar.gz
32+
33+
if [ -d $lib_path/code-server ]; then
34+
backup=$lib_path/BACKUP_$(date +%s)_code-server/
35+
mv -f $lib_path/code-server/ $backup
36+
echo "-- INFO: old code-server directory moved to $backup"
37+
fi
38+
39+
mkdir -p $lib_path/code-server
40+
41+
mv -f code-server*/* $lib_path/code-server/
42+
43+
if [ -d $bin_path/code-server ]; then
44+
rm $bin_path/code-server
45+
fi
46+
47+
mkdir -p $bin_path
48+
ln -f -s $lib_path/code-server/code-server $bin_path/code-server
49+
50+
rm -rf -f $temp_path
51+
52+
echo "-- Successfully installed code-server at $bin_path/code-server"
53+
echo "-- Ensure that $bin_path is present in your \$PATH"
54+
}
55+
56+
mac_install() {
57+
bin_path=/usr/local/bin
58+
lib_path=/usr/local/lib
59+
60+
releases=$(get_releases)
61+
package=$(echo "$releases" | grep 'darwin' | sed -E 's/.*"([^"]+)".*/\1/')
62+
version=$(echo $releases | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
63+
64+
temp_path=/tmp/code-server-$version
65+
66+
if [ -d $temp_path ]; then
67+
rm -rf $temp_path
68+
fi
69+
70+
mkdir $temp_path
71+
cd $temp_path
72+
73+
echo "-- Downloading code-server v$version"
74+
wget $package > /dev/null
75+
76+
echo "-- Unpacking release"
77+
unzip code-server-* > /dev/null
78+
rm code-server-*.zip
79+
80+
echo "-- Installing binary"
81+
if [ -d $lib_path/code-server ]; then
82+
backup=$lib_path/BACKUP_$(date +%s)_code-server/
83+
mv $lib_path/code-server/ $backup
84+
echo "-- INFO: moved old code-server lib directory to $backup"
85+
fi
86+
mkdir -p $lib_path/code-server
87+
mv ./code-server-*/* $lib_path/code-server/
88+
89+
rm -f $bin_path/code-server
90+
ln -s $lib_path/code-server/code-server $bin_path/code-server
91+
92+
rm -rf -f $temp_path
93+
94+
echo "-- Successfully installed code-server at $bin_path/code-server"
95+
96+
}
97+
98+
if [[ $OSTYPE == "linux-gnu" ]]; then
99+
linux_install
100+
elif [[ $OSTYPE == "darwin"* ]]; then
101+
mac_install
102+
else
103+
echo "Unknown operating system. Not installing."
104+
fi

install_linux.sh

-55
This file was deleted.

install_mac.sh

-49
This file was deleted.

0 commit comments

Comments
 (0)