@@ -95,7 +95,6 @@ main() {
95
95
DRY_RUN \
96
96
METHOD \
97
97
ARCHIVE_INSTALL_PREFIX \
98
- SKIP_ECHO \
99
98
VERSION \
100
99
OPTIONAL
101
100
@@ -199,7 +198,9 @@ main() {
199
198
parse_arg () {
200
199
case " $1 " in
201
200
* =* )
202
- opt=" ${1# =* } "
201
+ # Remove everything after first equal sign.
202
+ opt=" ${1%% =* } "
203
+ # Remove everything before first equal sign.
203
204
optarg=" ${1#* =} "
204
205
if [ ! " $optarg " ] && [ ! " ${OPTIONAL-} " ]; then
205
206
echoerr " $opt requires an argument"
@@ -230,23 +231,17 @@ fetch() {
230
231
URL=" $1 "
231
232
FILE=" $2 "
232
233
233
- echo " + Downloading $URL "
234
-
235
234
if [ -e " $FILE " ]; then
236
- echo " + Using cached $FILE "
235
+ echo " + Reusing $CACHE_DIR / ${URL ##*/ } "
237
236
return
238
237
fi
239
238
240
- SKIP_ECHO=1
241
239
sh_c curl \
242
240
-#fL \
243
241
-o " $FILE .incomplete" \
244
242
-C - \
245
243
" $URL "
246
244
sh_c mv " $FILE .incomplete" " $FILE "
247
- unset SKIP_ECHO
248
-
249
- echo " + Downloaded into $FILE "
250
245
}
251
246
252
247
install_macos () {
@@ -290,18 +285,20 @@ install_aur() {
290
285
echo " Installing from the AUR."
291
286
echo
292
287
293
- prev_dir=" $PWD "
294
288
tmp_dir=" $( mktemp -d) "
295
- cd " $tmp_dir "
296
289
297
- echo " + Downloading PKGBUILD from https://aur.archlinux.org/cgit/aur.git/snapshot/code-server.tar.gz"
298
- SKIP_ECHO=1 sh_c ' curl -fsSL https://aur.archlinux.org/cgit/aur.git/snapshot/code-server.tar.gz | tar -xz --strip-components 1'
299
- unset SKIP_ECHO
300
- echo " + Downloaded into $tmp_dir "
301
- sh_c makepkg -si
290
+ echo " + Downloading PKGBUILD into $tmp_dir from https://aur.archlinux.org/cgit/aur.git/snapshot/code-server.tar.gz"
291
+ curl -fsSL https://aur.archlinux.org/cgit/aur.git/snapshot/code-server.tar.gz | tar -xzC " $tmp_dir "
292
+ VERSION=" $( . " $tmp_dir /code-server/PKGBUILD" && echo " $pkgver " ) "
293
+ rm -R " $tmp_dir "
302
294
303
- cd " $prev_dir "
304
- rm -Rf " $tmp_dir "
295
+ mkdir -p " $CACHE_DIR /code-server-$VERSION -aur"
296
+ sh_c cp -a " $tmp_dir /code-server/*" " $CACHE_DIR /code-server-$VERSION -aur"
297
+
298
+ echo " + Installing $CACHE_DIR /code-server-$VERSION -aur"
299
+
300
+ cd " $CACHE_DIR /code-server-$VERSION -aur"
301
+ sh_c makepkg -si
305
302
306
303
echo_systemd_postinstall
307
304
}
@@ -318,15 +315,14 @@ install_archive() {
318
315
sh_c=" sudo_sh_c"
319
316
fi
320
317
321
- SKIP_ECHO=1 sh_c mkdir -p " $ARCHIVE_INSTALL_PREFIX /lib" " $ARCHIVE_INSTALL_PREFIX /bin"
322
- unset SKIP_ECHO
323
-
324
318
if [ -e " $ARCHIVE_INSTALL_PREFIX /lib/code-server-$VERSION " ]; then
325
319
echo
326
320
echo " code-server-$VERSION is already installed at $ARCHIVE_INSTALL_PREFIX /lib/code-server-$VERSION "
327
321
echo " Remove it to reinstall."
328
322
exit 0
329
323
fi
324
+
325
+ " $sh_c " mkdir -p " $ARCHIVE_INSTALL_PREFIX /lib" " $ARCHIVE_INSTALL_PREFIX /bin"
330
326
" $sh_c " tar -C " $ARCHIVE_INSTALL_PREFIX /lib" -xzf " $CACHE_DIR /code-server-$VERSION -$OS -$ARCH .tar.gz"
331
327
" $sh_c " mv -f " $ARCHIVE_INSTALL_PREFIX /lib/code-server-$VERSION -$OS -$ARCH " " $ARCHIVE_INSTALL_PREFIX /lib/code-server-$VERSION "
332
328
" $sh_c " ln -fs " $ARCHIVE_INSTALL_PREFIX /lib/code-server-$VERSION /bin/code-server" " $ARCHIVE_INSTALL_PREFIX /bin/code-server"
@@ -336,14 +332,22 @@ install_archive() {
336
332
337
333
install_npm () {
338
334
if command_exists yarn; then
335
+ sh_c=" sh_c"
336
+ if [ ! -w " $( yarn global bin) " ]; then
337
+ sh_c=" sudo_sh_c"
338
+ fi
339
339
echo " Installing with yarn."
340
340
echo
341
- sh_c yarn global add code-server --unsafe-perm
341
+ " $ sh_c" yarn global add code-server --unsafe-perm
342
342
return
343
343
elif command_exists npm; then
344
+ sh_c=" sh_c"
345
+ if [ ! -w " $( npm config get prefix) " ]; then
346
+ sh_c=" sudo_sh_c"
347
+ fi
344
348
echo " Installing with npm."
345
349
echo
346
- sh_c npm install -g code-server --unsafe-perm
350
+ " $ sh_c" npm install -g code-server --unsafe-perm
347
351
return
348
352
fi
349
353
echo
@@ -431,9 +435,7 @@ command_exists() {
431
435
}
432
436
433
437
sh_c () {
434
- if [ ! " ${SKIP_ECHO-} " ]; then
435
- echo " + $* "
436
- fi
438
+ echo " + $* "
437
439
if [ ! " ${DRY_RUN-} " ]; then
438
440
sh -c " $* "
439
441
fi
@@ -465,8 +467,21 @@ echo_cache_dir() {
465
467
fi
466
468
}
467
469
470
+ echo () {
471
+ builtin echo " $@ " | humanpath
472
+ }
473
+
474
+ cat () {
475
+ humanpath
476
+ }
477
+
468
478
echoerr () {
469
479
echo " $@ " >&2
470
480
}
471
481
482
+ # humanpath replaces all occurances of $HOME with ~
483
+ humanpath () {
484
+ sed " s#$HOME #~#g"
485
+ }
486
+
472
487
main " $@ "
0 commit comments