Commit graph

148 commits

Author SHA1 Message Date
Kovid Goyal
910565aa7c
Mention the shell in the error message 2022-03-11 15:52:51 +05:30
pagedown
72718cbab7
Remove login shell name suffix restriction
Some shells do not end with sh, consistent with the python bootstrap
implementation.
2022-03-11 15:42:45 +08:00
pagedown
ea28951e0e
Fall back to run the shell without -l option 2022-03-11 15:42:34 +08:00
pagedown
39a78f6be3
Explicitly set STDOUT to binary mode 2022-03-11 15:42:23 +08:00
pagedown
fe8aaca320
Use POSIX LOGNAME environment variable 2022-03-11 15:42:09 +08:00
pagedown
f5cc58ea9d
Unset the safe source function in sh script and minor refactoring 2022-03-11 15:41:56 +08:00
Kovid Goyal
6789eb88e2
Fix replacement of symlinks to directories 2022-03-11 07:51:50 +05:30
Kovid Goyal
cac2c153c2
Fix #4809 2022-03-10 22:55:47 +05:30
Kovid Goyal
92abaad22c
Handle cross filesystem untarring in bootstrap.py 2022-03-10 22:43:54 +05:30
Kovid Goyal
f774841ee0
More robust copying of terminfo
Dont use symlinks in the tarball, instead create them
in the bootstrap scripts, only if needed.
2022-03-10 21:08:20 +05:30
Kovid Goyal
704717ff1d
Handle case of tty not being OK 2022-03-09 15:27:24 +05:30
Kovid Goyal
405c472d13
Cleanup previous PR 2022-03-09 14:59:08 +05:30
pagedown
4322825ac7
Add support for sh that does not support the -l login shell option
FreeBSD sh does not support using the -l option to run as a login shell.
2022-03-09 16:12:20 +08:00
Kovid Goyal
08bb63fa92
Ensure tdir is deleted on exit 2022-03-09 13:24:24 +05:30
pagedown
f1df7b1c1f
Use Python in preference to Perl 2022-03-08 13:59:32 +08:00
Kovid Goyal
65b9c69bd8
Use python in preference to perl
I know how to make python code robust, no clue about perl.
2022-03-08 11:05:02 +05:30
pagedown
0e3a11c53b
Use Perl in bootstrap.sh if available 2022-03-08 12:28:09 +08:00
pagedown
53d8d2aaad
Use the more explicit b64encode
Fix using ssh kitten to connect to OpenBSD.
2022-03-08 12:19:57 +08:00
Kovid Goyal
84303cbf2e
Use head -c only if available 2022-03-07 21:48:06 +05:30
Kovid Goyal
5e457da30b
Only use bz2 compression if bzip2 is available 2022-03-07 20:44:26 +05:30
Kovid Goyal
d037c0b0fc
OpenBSD compat 2022-03-07 20:14:02 +05:30
Kovid Goyal
90f5937413
Forgot to use the actual python variable 2022-03-07 19:41:18 +05:30
Kovid Goyal
cbbea37b0c
... 2022-03-07 19:37:30 +05:30
Kovid Goyal
79dd26a43a
... 2022-03-07 18:38:06 +05:30
Kovid Goyal
259e3076fa
Ensure python is searched for only once 2022-03-07 18:36:56 +05:30
Kovid Goyal
f2cb2422f0
Use python when base64 is not available 2022-03-07 18:34:02 +05:30
Kovid Goyal
f20ad7df01
Better error message when base64 is not found 2022-03-07 18:12:01 +05:30
Kovid Goyal
c9071a66ca
ssh kitten: Add an option to change the cwd at login 2022-03-07 12:24:37 +05:30
Kovid Goyal
b0ea960159
Dont use --no-same-owner when extracting tar archives
This flag is missing on OpenBSD and is the default on other platforms
when extracting as non-root. Make the uname/gname taringo field empty so
when extracting as root files will always be owned by root.
2022-03-07 12:10:45 +05:30
Kovid Goyal
0e7f1d60d6
Have bootstrap.sh preserve file permissions when untarring 2022-03-07 11:45:14 +05:30
Kovid Goyal
03c79502f9
Use uname -m for hostname in bootstrap.sh if needed 2022-03-07 11:24:44 +05:30
Kovid Goyal
d4d4e00f9d
Merge branch 'ksi' of https://github.com/page-down/kitty 2022-03-07 11:18:15 +05:30
Kovid Goyal
b52e5e795e
Dont use a double quote in bootstrap.py 2022-03-07 11:11:10 +05:30
Kovid Goyal
68df13d3fe
Fix recursive definitions in env vars not expanded 2022-03-07 11:07:26 +05:30
pagedown
43fd8cb13c
Unify exec function definition order 2022-03-07 11:36:52 +08:00
pagedown
397fbe7ad3
Avoid unnecessary which and fix typos 2022-03-07 11:30:12 +08:00
pagedown
3095e7a256
Remove trailing semicolons 2022-03-07 11:25:22 +08:00
pagedown
df9e893cbe
Explicitly use builtin and command 2022-03-07 11:24:18 +08:00
Kovid Goyal
2404eba11f
ssh kitten: Passthrough to ssh if run outside of kitty
Also, ensure that the ssh data request is only served if it is received
over the tty of the correct kitty window.
2022-03-07 06:48:18 +05:30
Kovid Goyal
00d2a8527f
Fix parsing of env vars in bootstrap.py 2022-03-06 15:05:40 +05:30
Kovid Goyal
a1ade8fc42
Dont use format strings in bootstrap.py 2022-03-06 14:47:44 +05:30
Kovid Goyal
7f9fec061a
bootstrap.py is now tested the same as bootsstrap.sh 2022-03-06 14:26:15 +05:30
Kovid Goyal
ec782d3296
More work on bootstrap.py 2022-03-06 13:23:30 +05:30
Kovid Goyal
2444864508
Make compiling of terminfo atomic 2022-03-06 13:04:57 +05:30
Kovid Goyal
1ccc50b21b
More work on bootstrap.py 2022-03-06 12:55:36 +05:30
Kovid Goyal
85c6d8f16e
More robust check for exec -a support 2022-03-06 12:20:06 +05:30
Kovid Goyal
14d391cc2e
Check $pipestatus for zsh as well 2022-03-06 11:43:33 +05:30
Kovid Goyal
8fe87a0df5
Search PATH when executing login shell 2022-03-06 11:13:40 +05:30
Kovid Goyal
675411df85
Start work on python bootstrap 2022-03-05 15:43:55 +05:30
Kovid Goyal
f94d33fa6a
... 2022-03-05 15:29:09 +05:30
Kovid Goyal
7fe110dff1
Move code to initialize TTY into its own function 2022-03-05 15:16:04 +05:30
Kovid Goyal
591f711886
DRYer 2022-03-05 15:10:09 +05:30
Kovid Goyal
1dc7fc8ac7
Note that zsh's read function is terminally broken 2022-03-05 14:56:57 +05:30
Kovid Goyal
01dd0416ac
Add an option to control the login shell 2022-03-05 11:16:15 +05:30
Kovid Goyal
0bd1676978
Some cleanup 2022-03-05 10:58:42 +05:30
Kovid Goyal
30e635a934
Use zsh's builtin functions to do I/O with TTY
Far more robust than the system tools
2022-03-05 10:31:00 +05:30
Kovid Goyal
6cba8e0166
remove unused variable 2022-03-04 14:52:55 +05:30
Kovid Goyal
0067726bbe
spelling 2022-03-04 13:52:33 +05:30
Kovid Goyal
95efeee7de
Also return user name when requesting bootstrap data 2022-03-04 12:16:45 +05:30
Kovid Goyal
108ccffcd8
assume grep is present 2022-03-04 10:13:23 +05:30
Kovid Goyal
c3ce0c26e7
... 2022-03-04 10:01:33 +05:30
Kovid Goyal
e0c984046c
EXEC_CMD must come after login_shell detection since it can use login_shell 2022-03-04 10:00:12 +05:30
Kovid Goyal
64d6337612
... 2022-03-04 09:54:17 +05:30
Kovid Goyal
603684211f
bootstrap should not fail if no tty present 2022-03-04 08:30:23 +05:30
Kovid Goyal
3f3efab221
Fix hostname detection when hostname binary not present 2022-03-04 07:22:59 +05:30
Kovid Goyal
ad7c251f56
Fix ln failing if link exists 2022-03-04 07:08:04 +05:30
Kovid Goyal
1c558be524
Port HISTFILE fix to ssh bash launcher 2022-03-03 21:24:45 +05:30
Kovid Goyal
b4cc38a1d9
Fix symlink extraction over ssh 2022-03-03 21:24:45 +05:30
Kovid Goyal
8867317b6a
Allow transferring files outside of HOME 2022-03-03 21:24:45 +05:30
Kovid Goyal
e5ba15949b
$size doesnt need to be global 2022-03-03 21:24:45 +05:30
Kovid Goyal
0e2125cda3
When die-ing bring cursor back to zero column explicitly since it could happen in raw mode 2022-03-03 21:24:45 +05:30
Kovid Goyal
95da414511
Avoid one record read 2022-03-03 21:24:45 +05:30
Kovid Goyal
ae48407b20
untar files atomically 2022-03-03 21:24:45 +05:30
Kovid Goyal
ae6665493a
Implement setting of env vars 2022-03-03 21:24:44 +05:30
Kovid Goyal
59f656e3ca
Allow controlling where on the remote computer the ssh kitten installs its data 2022-03-03 21:24:44 +05:30
Kovid Goyal
12658c4756
Make ssh data start request transmission more robust 2022-03-03 21:24:44 +05:30
Kovid Goyal
37c185462a
Handle error messages form terminal during bootstrap 2022-03-03 21:24:44 +05:30
Kovid Goyal
5c8651c7cd
bootstrap script should work even when stdout is redirected 2022-03-03 21:24:44 +05:30
Kovid Goyal
02a68e7541
Pass the value of shell_integration in the tarfile
Allows per host overrides and also avoids needing to read kitty.conf in
the ssh kitten
2022-03-03 21:24:44 +05:30
Kovid Goyal
6e5dbc5285
Test for handling of leading data 2022-03-03 21:24:44 +05:30
Kovid Goyal
fda9415873
Use a record separator to delimit the start of data
Needed because the user could press keys and send data to the tty
before kitty can send the ssh data
2022-03-03 21:24:44 +05:30
Kovid Goyal
4054163447
DRYer 2022-03-03 21:24:44 +05:30
Kovid Goyal
44baeb6924
Run login_shell detection tests with all available shells 2022-03-03 21:24:44 +05:30
Kovid Goyal
c00e8b1709
Add tests for the individual login_shell detection functions 2022-03-03 21:24:44 +05:30
Kovid Goyal
86b15ad693
fix detection of python when no python2 or python3 links present 2022-03-03 21:24:43 +05:30
Kovid Goyal
53c00ac631
Fix detection of login shell from passwd 2022-03-03 21:24:43 +05:30
Kovid Goyal
99d0c2d846
Get reading data working on macOS 2022-03-03 21:24:43 +05:30
Kovid Goyal
a71e7d7eb1
Simplify data transmission 2022-03-03 21:24:43 +05:30
Kovid Goyal
3c28a4f723
sh on macOS doesnt have echo -n 2022-03-03 21:24:43 +05:30
Kovid Goyal
c24e16e8cd
debug function 2022-03-03 21:24:43 +05:30
Kovid Goyal
198dd52700
Better error messages 2022-03-03 21:24:43 +05:30
Kovid Goyal
2dfea0f213
Fix a couple of conditions so they work in older dash 2022-03-03 21:24:43 +05:30
Kovid Goyal
78b553e55e
Add tests for turning off shell integration in the bootstrap script 2022-03-03 21:24:43 +05:30
Kovid Goyal
8ca3a511cc
Get the ssh bootstrap tests fully working 2022-03-03 21:24:43 +05:30
Kovid Goyal
ddb8753548
Work on enabling shell integration over ssh 2022-03-03 21:24:43 +05:30
Kovid Goyal
e73525d0a2
Start work on testing the bootstrap script 2022-03-03 21:24:43 +05:30
Kovid Goyal
f37d947dd5
more work on ssh data transmission 2022-03-03 21:24:42 +05:30
Kovid Goyal
2dd7c3b939
More work on ssh bootstrap 2022-03-03 21:24:42 +05:30