|
62e14e7580
|
kernel+libos+apps: Support block devices and disallow seeking character devices or pipes
continuous-integration/drone/push Build is failing
|
2023-05-26 20:27:47 +02:00 |
|
|
38fae0c97b
|
ls: Show file modes visually
continuous-integration/drone/push Build is passing
|
2023-05-26 18:22:50 +02:00 |
|
|
4dcee8f828
|
sh: Print "exit" on EOF only when the shell is in interactive mode
continuous-integration/drone/push Build is passing
|
2023-05-26 17:29:41 +02:00 |
|
|
3a51807fa6
|
kernel+stat: Handle pipes correctly in stat()
continuous-integration/drone/push Build is passing
|
2023-05-23 20:54:25 +02:00 |
|
|
1a6ad11462
|
kernel+libc+libos+ls: Add readlink()
continuous-integration/drone/push Build is passing
|
2023-05-23 15:42:38 +02:00 |
|
|
b61307e5cb
|
ls: Add -1 and --directory
continuous-integration/drone/push Build is passing
|
2023-05-23 14:53:38 +02:00 |
|
|
04d074538f
|
ls: Don't do caching now that password/group file reading is more reasonable
continuous-integration/drone/push Build is passing
|
2023-05-20 22:10:01 +02:00 |
|
|
597aada09e
|
ls+stat: Handle symbolic links properly
continuous-integration/drone/push Build is passing
|
2023-05-20 21:49:25 +02:00 |
|
|
4ec1af5e51
|
apps: Add ln
|
2023-05-20 21:49:25 +02:00 |
|
|
47d505dcbb
|
libc: Add getline() and getdelim()
continuous-integration/drone/push Build is passing
|
2023-05-20 15:36:30 +02:00 |
|
|
5117b410db
|
apps: Add time
continuous-integration/drone/push Build is passing
|
2023-05-20 12:48:25 +02:00 |
|
|
1db60b5a82
|
sh: Print a message on exit
continuous-integration/drone/push Build is passing
|
2023-05-20 12:07:56 +02:00 |
|
|
3db0c4fed2
|
apps: Add ps
continuous-integration/drone/push Build is passing
|
2023-05-18 21:59:38 +02:00 |
|
|
0dbfbe6395
|
libc+apps: Avoid calling endpwent() and endgrent() after every call to get{pw,gr}{nam,uid,gid}
|
2023-05-18 21:47:46 +02:00 |
|
|
1f4c4928cc
|
kernel+libc+apps: Add mount and umount syscalls, libc wrappers, and utilities
continuous-integration/drone/push Build is passing
|
2023-05-17 20:30:15 +02:00 |
|
|
e7d482e78a
|
kernel+init: Add a VFS mount system and auto-populate the devfs
|
2023-05-17 19:40:37 +02:00 |
|
|
65d3195caa
|
libos: Allow ArgumentParser users to specify they want leftover arguments
continuous-integration/drone/push Build is passing
|
2023-05-13 13:22:10 +02:00 |
|
|
5911b052dc
|
libluna: Add more options to to_dynamic_unit()
continuous-integration/drone/push Build is passing
Also, make the output look more like how it is on linux.
|
2023-05-13 12:01:09 +02:00 |
|
|
a5ad8e16de
|
ls: Add the --human-readable flag
|
2023-05-13 11:15:28 +02:00 |
|
|
300d68088b
|
libos: Add FileSystem::stat()
continuous-integration/drone/push Build is passing
|
2023-05-12 23:47:20 +02:00 |
|
|
1035b91a3d
|
su: Do not change directory/set variables by default, instead add a --login option
continuous-integration/drone/push Build is passing
|
2023-05-11 20:11:09 +02:00 |
|
|
a935039e78
|
sh: Prioritize /etc/passwd over the USER environment variable
|
2023-05-11 20:10:10 +02:00 |
|
|
4a3a92e9d4
|
libc: Move chmod from unistd.h to sys/stat.h
continuous-integration/drone/push Build is passing
Apparently that's where it's supposed to be.
|
2023-05-11 19:40:34 +02:00 |
|
|
efc6d03f23
|
kernel+libc: Add support for unnamed pipes
continuous-integration/drone/push Build is passing
|
2023-05-10 22:48:31 +02:00 |
|
|
cd86d1d6d0
|
apps+initrd: Add a login utility and make it run at startup
|
2023-05-06 22:03:50 +02:00 |
|
|
b742a08cbe
|
su: Set the USER and SHELL variables
continuous-integration/drone/push Build is passing
|
2023-05-06 12:19:54 +02:00 |
|
|
77560bbc3e
|
kernel+tools: Allow loading files with different owners + add a more dynamic install script
continuous-integration/drone/push Build is passing
|
2023-05-06 12:11:35 +02:00 |
|
|
d7fee26aa2
|
initrd+libc: Add /etc/group and grp.h
|
2023-05-06 12:01:47 +02:00 |
|
|
3eb78aa5f3
|
libos+init: Add a new Path class to handle both file descriptors and file paths
continuous-integration/drone/push Build is passing
|
2023-05-03 17:37:26 +02:00 |
|
|
d9b7e8edc0
|
init: Read and launch service files in order using sort()
continuous-integration/drone/push Build is passing
|
2023-05-02 20:56:28 +02:00 |
|
|
6beea7f817
|
ls: Avoid printing an empty line when a directory is empty
continuous-integration/drone/push Build is passing
|
2023-05-02 11:00:28 +02:00 |
|
|
0fad179485
|
apps+libc+libos: Remove _LUNA_SYSTEM_ERROR_EXTENSIONS and reorder headers
continuous-integration/drone/push Build is passing
libluna/libos headers can now go after errno.h, so there's no reason to keep them separate.
|
2023-05-02 10:51:53 +02:00 |
|
|
376247ba8a
|
libluna: Add String::from_string_view()
continuous-integration/drone/push Build is passing
|
2023-05-01 20:03:16 +02:00 |
|
|
53ec448e33
|
ls: Add the -l flag
|
2023-05-01 20:01:05 +02:00 |
|
|
48df90e636
|
libos+apps: Use os::*print* instead of (f)printf
continuous-integration/drone/push Build is passing
|
2023-05-01 19:32:00 +02:00 |
|
|
967758d464
|
libc: Implement setenv() and unsetenv()
continuous-integration/drone/push Build is passing
|
2023-04-30 14:46:34 +02:00 |
|
|
ac4bbd135b
|
libos: Add Directory::list()
continuous-integration/drone/push Build is passing
|
2023-04-28 22:41:44 +02:00 |
|
|
3e277b5d6f
|
libos: Introduce os::Directory
|
2023-04-28 21:16:43 +02:00 |
|
|
80914f0bb9
|
ArgumentParser: Add support for version information
continuous-integration/drone/push Build is passing
|
2023-04-28 16:33:05 +02:00 |
|
|
7c8f195088
|
base64: Rename --allow-garbage to --ignore-garbage
continuous-integration/drone/push Build is passing
|
2023-04-26 22:37:55 +02:00 |
|
|
9d33e22ae0
|
apps: Add base64
|
2023-04-26 20:58:04 +02:00 |
|
|
cb28e2a385
|
libos: Add a convenience function for opening a file or standard input
|
2023-04-26 20:41:03 +02:00 |
|
|
5b69ce554c
|
init: Add a few more configuration options for services
continuous-integration/drone/push Build is passing
Notably, redirecting a service's standard streams and waiting for a service to finish before continuing boot.
|
2023-04-25 21:00:12 +02:00 |
|
|
b8ca749a6c
|
su: Default to root if no username is provided
continuous-integration/drone/push Build is passing
|
2023-04-24 22:24:07 +02:00 |
|
|
919c9dd3cf
|
sh: Build a more elaborate prompt using the system hostname and username
continuous-integration/drone/push Build is passing
|
2023-04-24 22:13:06 +02:00 |
|
|
403b0f6b94
|
kernel+libc+init: Add a way to modify the system hostname
continuous-integration/drone/push Build is passing
|
2023-04-24 21:20:44 +02:00 |
|
|
cfb4baab4b
|
apps: Add uname
continuous-integration/drone/push Build is passing
|
2023-04-24 21:02:04 +02:00 |
|
|
cf8a8c145a
|
init: Remove redundant continue statement
continuous-integration/drone/push Build is passing
|
2023-04-23 21:15:23 +02:00 |
|
|
c075aa77b9
|
init: Allow empty lines in service files
|
2023-04-22 15:19:37 +02:00 |
|
|
257c2ffd0a
|
init: Add a configurable service system instead of always starting /bin/sh
continuous-integration/drone/push Build is passing
|
2023-04-22 13:56:08 +02:00 |
|
|
841fc25137
|
kernel+init: Add a framebuffer special device file
continuous-integration/drone/push Build is passing
|
2023-04-21 18:18:15 +02:00 |
|
|
58dc23e4d9
|
apps: Add stat
continuous-integration/drone/push Build is passing
|
2023-04-21 18:04:17 +02:00 |
|
|
15b76f94f4
|
chown: Parse the owner and group properly
continuous-integration/drone/push Build is passing
|
2023-04-20 20:08:49 +02:00 |
|
|
eb58b4acc8
|
libos: Add support for --help to ArgumentParser
continuous-integration/drone/push Build is passing
|
2023-04-19 19:16:45 +02:00 |
|
|
d56e8baca5
|
libos+rm: Add recursive removal of directories
continuous-integration/drone/push Build is passing
|
2023-04-19 18:20:44 +02:00 |
|
|
67e9543675
|
os: Add FileSystem::change_directory
continuous-integration/drone/push Build is passing
|
2023-04-18 18:46:19 +02:00 |
|
|
b7a0ad8ffb
|
sh: Remove stray variable
continuous-integration/drone/push Build is passing
|
2023-04-18 18:43:50 +02:00 |
|
|
00832163d4
|
libos: Add Process::exec
continuous-integration/drone/push Build is passing
|
2023-04-18 18:39:37 +02:00 |
|
|
6ce125d286
|
libos: Add a Process class
continuous-integration/drone/push Build is passing
|
2023-04-18 18:16:24 +02:00 |
|
|
fbb7de7156
|
sh: Do not leak memory when using cd
continuous-integration/drone/push Build is passing
|
2023-04-18 16:49:05 +02:00 |
|
|
4baee3a91f
|
sh: Close script file on exec
|
2023-04-18 16:42:43 +02:00 |
|
|
407e81b107
|
cat: Read into buffers instead of lines
|
2023-04-18 16:41:58 +02:00 |
|
|
1733fc810d
|
mkdir: Use os::FileSystem and add -p flag
continuous-integration/drone/push Build is passing
|
2023-04-13 18:33:56 +02:00 |
|
|
fb3430c56a
|
apps: Use os::FileSystem
|
2023-04-13 18:33:43 +02:00 |
|
|
60c6e764a4
|
libos+apps: Add some missing functionality to File and eliminate any trace of C from cat and edit
continuous-integration/drone/push Build is passing
|
2023-04-13 17:31:21 +02:00 |
|
|
26ff964ec1
|
libos: Add a new main() function
|
2023-04-13 17:04:59 +02:00 |
|
|
d97bf991d1
|
libos: Add a very bare-bones C++ RAII File class
|
2023-04-12 21:46:10 +02:00 |
|
|
3618a41bcd
|
apps: Add rm
continuous-integration/drone/push Build is passing
|
2023-04-12 18:11:43 +02:00 |
|
|
1b4f48b92c
|
sh: Display the working directory as part of the prompt
continuous-integration/drone/push Build is passing
|
2023-04-11 22:45:33 +02:00 |
|
|
3a45f4af53
|
su: Change the current directory to the user's home on login
continuous-integration/drone/push Build is passing
|
2023-04-11 22:15:46 +02:00 |
|
|
dfce93c18f
|
ls: List the current directory by default instead of the root directory
|
2023-04-11 22:13:54 +02:00 |
|
|
66c2896652
|
su: Use termios ioctls to turn off echoing and read a password
continuous-integration/drone/push Build is passing
|
2023-04-09 11:24:34 +02:00 |
|
|
46be0bd458
|
apps: Install su as setuid
continuous-integration/drone/push Build is passing
|
2023-04-08 17:01:26 +02:00 |
|
|
8b45766aaa
|
su: Use user names and read from the password file instead of using raw user IDs
|
2023-04-08 16:31:33 +02:00 |
|
|
3867a29a10
|
apps: Add mkdir, chown and chmod
continuous-integration/drone/push Build is passing
|
2023-04-08 14:47:58 +02:00 |
|
|
46ee0eb937
|
sh: Show hashtag on root's prompt
|
2023-04-08 14:47:50 +02:00 |
|
|
3da1849c99
|
kernel+libc: Add set* and get* syscalls for UIDs and GIDs
|
2023-04-08 13:50:18 +02:00 |
|
|
95a93a7f66
|
sh: Parse arguments
|
2023-04-08 12:09:43 +02:00 |
|
|
0eab03848c
|
sh: Remove unused include
continuous-integration/drone/push Build is passing
|
2023-04-07 15:41:37 +02:00 |
|
|
9bb1720cca
|
libc: Add execvp() and execvpe()
continuous-integration/drone/push Build is passing
|
2023-04-07 15:39:10 +02:00 |
|
|
3a28771520
|
kernel+libc+apps: Add support for environment variables
|
2023-04-07 15:03:38 +02:00 |
|
|
4cac49038c
|
sh: Use StringBuilder instead of C-like manual joining
|
2023-04-07 12:11:28 +02:00 |
|
|
d07b00a892
|
all: Move all warning flags to a common CMake variable
|
2023-04-07 12:02:49 +02:00 |
|
|
8e8706be27
|
sh: Use try_move instead of try_set
Looks like Vector does not like being copied. I'll have to look into that later...
|
2023-04-07 11:52:59 +02:00 |
|
|
1f0e185904
|
kernel: Use try_set_value(_or_error) in various places
|
2023-04-07 10:55:04 +02:00 |
|
|
c752b2b343
|
libos: Put everything under the os namespace
|
2023-04-07 10:40:46 +02:00 |
|
|
e99ba4df36
|
date: Make the --date option require a value
continuous-integration/drone/push Build is passing
|
2023-03-30 21:39:42 +02:00 |
|
|
64bca780a7
|
kernel: Add /dev/zero
continuous-integration/drone/push Build is passing
|
2023-03-30 21:19:16 +02:00 |
|
|
61f969c60c
|
ls: Explicitly initialize booleans to false
|
2023-03-29 22:19:53 +02:00 |
|
|
43f90c4f88
|
cat: Use ArgumentParser
continuous-integration/drone/push Build is passing
|
2023-03-29 22:10:51 +02:00 |
|
|
e6645ed607
|
StringView+apps: Add a _sv literal suffix to not confuse function overloads
C++ was being naughty and implicitly casting our fallback const char* to a boolean.
|
2023-03-29 22:10:01 +02:00 |
|
|
75c48e996a
|
ArgumentParser+date: Add value arguments
continuous-integration/drone/push Build is passing
|
2023-03-29 21:46:07 +02:00 |
|
|
d68f6bd76b
|
ArgumentParser+ls: Add switch arguments
continuous-integration/drone/push Build is passing
|
2023-03-29 19:25:11 +02:00 |
|
|
a164dcc160
|
libos: Add libos + very basic ArgumentParser
continuous-integration/drone/push Build is passing
libluna but for stuff that interests only userspace, like an argument parser or files or stuff like that.
|
2023-03-29 18:27:02 +02:00 |
|
|
724dab636c
|
apps: Switch to C++
continuous-integration/drone/push Build is passing
|
2023-03-29 17:56:56 +02:00 |
|
|
7b0b3dabc4
|
apps: Add ls
continuous-integration/drone/push Build is passing
|
2023-03-29 01:07:58 +02:00 |
|
|
a43550fb9a
|
apps: Add date
continuous-integration/drone/push Build is passing
|
2023-03-24 21:48:43 +01:00 |
|
|
54a4ebe5bb
|
sh+edit: Miscellaneous fixes
continuous-integration/drone/push Build is passing
|
2023-03-24 20:53:53 +01:00 |
|
|
e76ccd6c4c
|
kernel+libc+init: Add getppid() and wait()
continuous-integration/drone/push Build is passing
|
2023-03-24 17:39:55 +01:00 |
|
|
7efcc06090
|
kernel+init+sh: Implement parent processes and waitpid(-1, ...)
continuous-integration/drone/push Build is passing
|
2023-03-24 17:37:04 +01:00 |
|