FENIX_coreutils/TODO
2021-08-02 23:43:14 -05:00

239 lines
No EOL
5.3 KiB
Text
Executable file

BUGS
****
cal skips first week on months with first day on sat
Yeah. Honestly, I'm not sure right now. But, then again, my
brain is currently fried in multiple ways, so, we'll check
again in the morning.
-Kat
cal gets months on some years wrong
For instance, if you run `./cal 08 08`, the first day of the
month is off by one day. It's weird, and I don't know why it
happens.
-Kat
TODOS
*****
wc needs multibyte support
It's supposed to have a flag, -m, that counts characters, as
opposed to -c which counts bytes (ASCII characters, if you
will). We need to add in support for -m proper, using some
form of multibyte.
-Kat
cal needs the ability to show a whole year calendar
This needs to be done eventually.
-Kat
sh probably needs to be trashed and restarted
When I started it, it was from a small online tutorial on the
basics of how shells work. It was more a demonstration of
things like forking and the execvp and waitpid functions. It
wasn't actually intended to grow into a proper shell. As it
stands this is just going to keep getting cobbled together
until it collapses under its own weight. It's probably better
to restart now, parse input using lex and yacc instead of
doing it ourselves, and work from there on implementation
of everything. We know the basics of how a shell does its
thing (fork, execvp, waitpid), now to use that with newer
knowledge of building language parsers with things like lex
and yacc, getting command line arguments with getopts, and
other things that will lead to a proper, fully-formed shell.
-Kat
UTILITIES
*********
O - Done . - In progress > - To be done ? - Maybe?
| - Working X - Needs fixing # - Incomplete M - man page needed
UTILITY STATUS
======= ======
admin >
ar >
asa O |
at >
awk >
basename O |
batch >
bc . #M
cal . X#M
calendar ?
cat O |
cflow >
chgrp . X#M
chmod >
chown >
cksum O |
cmp O |
comm >
compress >
cp >
crontab >
csplit >
ctags >
cut >
cxref >
date >
dd >
delta >
df >
diff >
dirname O |
du >
echo O |
ed >
ex >
expand O |
expr >
false O |
file >
find >
fold >
fort77 >
fuser >
gencat >
get >
getconf >
grep >
head O |
iconv >
id >
ipcrm >
ipcs >
join >
lex >
link O |
ln O |
locale >
localedef >
logger O | M
login >
logname O |
lp >
ls >
m4 >
mailx . #
make >
man >
mesg >
mkdir >
mkfifo O | M
mknod >
more >
mv >
netstat >
newgrp >
news ?
nice >
nl >
nm >
nohup >
od ?
paste >
patch >
pathchk >
pax >
ping >
pr >
printf >
prs >
ps >
pwd O |
qalter >
qdel >
qhold >
qmove >
qmsg >
qrerun >
qrls >
qselect >
qsig >
qstat >
qsub >
renice >
rev ?
rm >
rmdel >
rmdir O |
sact >
sccs >
sed >
sh . X#M
sleep O |
sort >
split >
strings >
strip >
stty >
tac ?
tail >
talk >
tee O |
tftp ?
time >
touch >
tput >
tr >
true O |
tsort >
tty O |
uname >
uncompress >
unexpand >
unget >
uniq >
unlink >
uucp >
uudecode >
uuencode >
uustat >
uux >
val >
vi >
wc O |
what >
who >
write >
xargs >
yacc >
zcat >
NOTES
*****
Some things may get added:
From the LSB:
chfn, chsh, dmesg, egrep, fgrep, groupadd, groupdel, groupmod,
groups, gunzip, gzip, hostname, install, killall, md5sum,
mknod, mktemp, mount, passwd, pidof, sendmail, seq, shutdown,
su, sync, tar, umount, useradd, userdel, usermod
In general:
a cobol compiler, a debugger, an assembler, look/spell, wall
And some need to get defined:
other
news/calendar - Both are referenced in the "Rationale" section of
The Open Group Base Specification Issue 7 as utilities that
weren't included. Both sound kinda interesting. I kinda want
to included them. Unfortunately, I have no clue what they are
or how they work. So, either I need to dig 'em up and find out,
or I need to define them myself.
*GOOD NEWS!* I found the heirloom utility set, which includes
both of these applications! Yay!
notes on things not in POSIX or other standards:
tac: it's basically cat but backwards
rev: Reverses a file line-by-line
So, POSIX-conformant applications are supposed to define the
_POSIX_C_SOURCE macro with value 200809L to enable POSIX features
and the macro _XOPEN_SOURCE with value 700 if they're XSI-compliant.
For any XSI-compliant utilities, we really should define the
_XOPEN_SOURCE macros; for any non-XSI-compliant applications, we
should really define the _POSIX_C_SOURCE macro until such a time
when/if they become XSI-compliant.