FRIGN
f9846a9a6b
Split up is*rune() and to*rune() functions into individual source files
...
This optimizes the binary size for each tool that uses these functions.
Previously, if a program just used one single function, maybe even a
one-liner, it would statically compile in all lookup-tables, bloating
the binary by up to 20K.
All these changes are derived from a local libutf where I do the
primary changes. So I hope that I can merge these things into libutf
sooner or later, as discussed on the ml.
2015-02-11 15:48:18 +01:00
Evan Gates
bc07f1b9b5
Add initial implementation of sed(1)
...
No manpage yet.
2015-02-10 10:35:22 +00:00
Eon S. Jeon
6b93b14fba
support llvm-ar
...
llvm-ar doesn't understand flags prefixed with dashes.
2015-02-03 10:08:26 +00:00
Hiltjo Posthuma
66e1bbccf3
Makefile: stricter regex replace for sbase VERSION
2015-02-01 16:33:46 +01:00
sin
0934e7f6ed
Add .Os sbase and sed replace to .Os sbase $(VERSION) in make install
2015-01-31 19:37:03 +00:00
Hiltjo Posthuma
4a920a5960
remove sbase-VERSION from man page, fix sponge.1 date
2015-01-31 14:20:02 +01:00
FRIGN
fd562481f3
Convert estrto{l, ul} to estrtonum
...
Enough with this insanity!
2015-01-30 16:52:44 +01:00
sin
add25a464f
Add strtonum() in preparation to nuking estrtol() and friends
2015-01-30 13:48:33 +00:00
sin
b90ca482a0
Add estrtoul()
2015-01-30 13:24:41 +00:00
FRIGN
b8b9d983c8
Add unescape() to libutil
...
formerly known as resolveescapes(), it is of central use to numerous
programs.
This drops a lot of LOC.
2015-01-29 21:52:44 +01:00
sin
bc9c752df5
Import strsep() from musl libc
2015-01-25 17:48:11 +00:00
FRIGN
a582cb8a2f
Rewrite tr(1) in a sane way
...
tr(1) always used to be a saddening part of sbase, which was
inherently broken and crufted.
But to be fair, the POSIX-standard doesn't make it very simple.
Given the current version was unfixable and broken by design, I
sat down and rewrote tr(1) very close to the concept of set theory
and the POSIX-standard with a few exceptions:
- UTF-8: not allowed in POSIX, but in my opinion a must. This
finally allows you to work with UTF-8 streams without
problems or unexpected behaviour.
- Equivalence classes: Left out, even GNU coreutils ignore them
and depending on LC_COLLATE, which sucks.
- Character classes: No experiments or environment-variable-trickery.
Just plain definitions derived from the POSIX-
standard, working as expected.
I tested this thoroughly, but expect problems to show up in some
way given the wide range of input this program has to handle.
The only thing left on the TODO is to add support for literal
expressions ('\n', '\t', '\001', ...) and probably rethinking
the way [_*n] is unnecessarily restricted to string2.
2015-01-10 14:26:30 +00:00
sin
e296329773
Rename crond to cron
2014-12-16 11:04:07 +00:00
sin
8d2c5dd9a3
Import crond from http://git.2f30.org/scron/tree/
2014-12-09 16:05:38 +00:00
sin
5d1e46fefa
Implement POSIX 2008 compliant logger(1)
2014-12-04 11:36:40 +00:00
sin
f141da6190
Bring back OpenBSD make compatibility in Makefile
...
Thanks @quing
2014-12-01 17:37:44 +00:00
Evan Gates
1bd598c9ed
sort BIN, that was bugging me
2014-12-01 17:18:56 +00:00
sin
d13e5c2be3
Remove redundant deletions from clean target
2014-11-30 11:57:38 +00:00
sin
5b5bb82ec0
Factor out readrune and writerune
2014-11-21 16:31:16 +00:00
sin
ce86a05f36
Import strcasestr() from musl and remove -D_GNU_SOURCE
2014-11-20 23:46:06 +00:00
sin
5197affac5
Remove col(1)
...
Not quite necessary to have this in sbase at the moment. We can do
a clean implementation when required.
This implementation also has some bugs that they have been fixed
in OpenBSD -current but I am too lazy to backport (we also had local
changes to col(1)).
printf(1) as imported from OpenBSD will stay for now because I need
it for booting my system.
2014-11-20 13:57:52 +00:00
sin
0d7c2351b4
Remove csplit(1)
...
Get rid of it for now as it is not really widely used. We can do
a simple implementation when time comes.
Remove the table from README because it is not easy to edit unless
you use emacs.
2014-11-20 13:52:18 +00:00
sin
2c42905f63
Make libutf.a and libutil.a different
2014-11-19 10:51:29 +00:00
Evan Gates
84b08427a1
remove agetline
2014-11-18 21:05:28 +00:00
Evan Gates
cca0522872
clear suffix list then add only .o and .c in that order to avoid use of builtin .c inference rule skipping .c.o
2014-11-18 20:18:05 +00:00
sin
fda3ed9a56
Remove .POSIX from Makefile
2014-11-18 19:28:04 +00:00
sin
027052f5e5
Rename util/ to libutil/
2014-11-17 16:48:34 +00:00
sin
cb7cbde722
Add compat.h
2014-11-17 15:46:28 +00:00
sin
56709a2414
Import libutf from http://git.suckless.org/libutf
2014-11-17 15:46:01 +00:00
sin
ba70777b56
Remove binlib and bin from PHONY
2014-11-17 14:46:52 +00:00
sin
74ac827587
Require GNU make to build sbase
...
We seem to have problems building individual tools across various
make implementations. If anyone can step up and fix this we will
remove the dependency on GNU make.
2014-11-17 13:54:24 +00:00
sin
a84cbe9e1c
Avoid messed up output because of trailing spaces
2014-11-17 13:22:54 +00:00
sin
ba89dc565f
Add .PHONY targets
2014-11-17 13:02:32 +00:00
sin
0d0624b855
Use $(RANLIB) in Makefile
2014-11-17 12:24:03 +00:00
sin
2ee3ae5994
Use LIB, LIBSRC and LIBOBJ and derive SRC, OBJ and MAN from BIN
2014-11-17 12:14:25 +00:00
sin
4a97e0b526
List libutil.a first to be a bit more clear
2014-11-17 10:50:45 +00:00
sin
1b0d2c1ab3
Make clean more verbose
2014-11-17 10:39:02 +00:00
sin
e1c044e298
Do not append CPPFLAGS to CFLAGS
2014-11-17 10:38:37 +00:00
sin
2fd6e769dd
Rename util.a to libutil.a
2014-11-17 10:37:07 +00:00
sin
9a9d6bb0dc
Make build process more verbose
2014-11-17 10:36:39 +00:00
Hiltjo Posthuma
ce90cc57d4
util: add eregcomp: show descriptive error message on regcomp error
2014-11-16 14:36:41 +00:00
sin
67fcc79046
Use queue.h in grep(1)
2014-11-16 12:39:15 +00:00
sin
2982d88533
Import ealloc.c from ubase
2014-11-14 18:10:05 +00:00
sin
3de142ba70
Delete dist when cleaning
2014-11-14 14:41:05 +00:00
sin
300eedc50a
Add README and TODO to dist target
2014-11-14 11:58:42 +00:00
sin
ee55fbe9e9
Just make $(HDR) a prereq for $(OBJ)
...
The result is always correct but it might do redundant builds.
Not really an issue as sbase builds very fast. The alternative is
to track the header deps manually but this is already incomplete and
unlikely to be kept up to date.
2014-11-13 18:28:18 +00:00
sin
2c7516c716
Sort HDR in Makefile
2014-11-13 18:21:19 +00:00
Evan Gates
5cf965ffbf
return exit status of command in sbase-box
2014-11-08 13:50:55 +00:00
Hiltjo Posthuma
b6b8fe9591
separate humansize into a util function
...
also show 1 decimal of human size string like: 4M -> 4.4M
2014-10-18 23:56:51 +01:00
Brandon Mulcahy
7a73da6864
Add logname(1)
2014-10-17 15:36:27 +01:00
Markus Teich
314885836c
Add link(1)
2014-10-17 15:36:16 +01:00
sin
c0b9a8533f
Import csplit(1) from OpenBSD
...
Modified slightly to conform to the sbase style.
2014-10-16 12:22:36 +01:00
sin
d1a1c42eb3
Update only the modified objects in util.a
2014-10-16 11:33:05 +01:00
sin
a6793ced1b
Another EXIT_SUCCESS nuked
2014-10-02 23:49:19 +01:00
sin
a48b850d3f
Import col(1) from OpenBSD with minor modifications
...
Remove getopt, use arg.h.
2014-09-29 19:52:31 +01:00
sin
618aecd2ec
Import expr(1) from OpenBSD
...
Cleanup + manpage to be done.
2014-09-29 13:44:49 +01:00
sin
fe41494ed3
Import printf(1) from OpenBSD
2014-09-28 15:12:15 +01:00
Tuukka Kataja
8b87d0098a
Add unexpand(1)
2014-06-09 17:00:13 +01:00
Hiltjo Posthuma
2ab2d2ee3b
remove afgets
...
Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
2014-06-01 18:03:20 +01:00
Hiltjo Posthuma
d12e953f18
add agetline, separate estrtod to util
...
Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
2014-06-01 18:01:45 +01:00
Hiltjo Posthuma
560340341f
make parsemode() generic
...
use for uudecode and chmod
Signed-off-by: Hiltjo Posthuma <hiltjo@codemadness.org>
2014-04-09 15:40:32 +01:00
sin
bc0de5e7e5
Rename mc(1) to cols(1)
...
There is an obvious name collision with the popular file manager
midnight commander.
2014-03-12 14:47:38 +00:00
sin
17338bfbb8
id(1) is not portable - move it to ubase
2014-02-27 14:30:21 +00:00
sin
386aa62b94
Remove who(1) from sbase
...
It now lives in ubase.
2014-02-14 15:08:52 +00:00
dsp
7008d751b2
Initial commit of the uudecode tool and man page
...
Currently it operates only on regular files and does not
support Base64.
2014-02-02 20:50:31 +00:00
sin
aab53ef197
Add uuencode(1)
2014-01-31 15:29:11 +00:00
sin
f4609e2836
Remove stat(1) from sbase as it is not portable
...
This utility uses major()/minor() and they are not portable.
It belongs in ubase.
2014-01-30 16:26:40 +00:00
sin
fb12183c52
Add strlcpy()/strlcat()
...
Refactor recurse() routine in preparation to moving tar(1) over
to use it instead of the ftw() interface.
2014-01-30 14:55:05 +00:00
sin
43057f3a39
Remove mknod(1) from sbase
...
mknod(1) is not POSIX and it is not portable so it should be
in ubase instead of sbase.
2014-01-28 16:53:53 +00:00
Silvan Jegen
38f429a3d2
Add the tr program including man page
2014-01-20 11:22:28 +00:00
sin
4bdf9a9658
Add initial version of xargs(1)
2014-01-04 00:04:05 +00:00
sin
34f7a688cb
Add barebones mktemp(1)
2013-11-13 11:06:55 +00:00
sin
09fcbfc338
Add primitive du(1)
...
Defaults to a 512-byte blocksize.
2013-10-16 18:18:02 +01:00
sin
cabbf6141e
Allow sbase-box to be called as sbase-box tool args...
2013-10-08 23:32:29 +01:00
Truls Becken
576a5ce55e
Add cut(1)
2013-10-08 20:41:32 +01:00
sin
bf17657544
Remove chvt(1) from sbase as it is not portable
...
chvt(1) has been moved to ubase.
2013-10-07 16:43:48 +01:00
sin
ddec3259aa
Add setsid(1) by arg
2013-10-05 14:58:55 +01:00
sin
7be94fd3c8
Add hostname(1)
2013-10-05 14:58:55 +01:00
sin
d0c87f6d3e
Add stat(1)
2013-10-05 14:58:55 +01:00
sin
0ed2a55003
Add strings(1)
2013-10-05 14:58:55 +01:00
sin
cd592c9f23
Add initial support for id(1)
2013-10-05 14:58:55 +01:00
sin
36afa1e169
Replace VERSION in manpages with the actual version
2013-10-05 13:51:45 +01:00
sin
87cde4bcb2
Print the available targets for sbase-box
2013-10-05 13:51:45 +01:00
sin
9e5718282a
Add sha512sum(1)
2013-08-04 11:00:34 -04:00
sin
4da54928e7
Add sha256sum(1)
2013-07-20 13:20:16 -04:00
David Galos
0fcb939408
Compatibility with OpenBSD. Thanks, Steve Dee!
2013-07-18 15:28:08 -04:00
David Galos
2c75eb98d9
Adding tar.
2013-07-18 11:15:35 -04:00
sin
9ac01f59be
Add crypt.[ch] and update md5sum and sha1sum
...
Factor out the code from md5sum and sha1sum into a util function.
Use FILE * instead of a file descriptor. This will make it a bit
easier/more consistent when we implement support for the -c option.
2013-07-18 09:51:17 -04:00
stateless
eec1b415d5
Add sha1sum
...
No support for -c at the moment.
2013-07-05 17:31:43 -04:00
stateless
50054a652c
Add md5sum
...
No support for -c at the moment.
2013-07-05 17:29:43 -04:00
David Galos
1fbe4e95ed
Adding mknod(1)
2013-07-03 02:02:36 -04:00
David Galos
eadefcf0f8
Adding sponge(1). Thanks, Jakob Kramer.
2013-07-02 13:24:35 -04:00
Jesse Ogle
0f523ec9c6
Added cal and updated Makefile
...
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-06-19 21:13:28 +02:00
stateless
e28c17c7cc
Add expand(1)
...
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-06-19 20:01:10 +02:00
stateless
12116cccc4
Add comm
...
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-06-19 20:00:10 +02:00
stateless
f66b47bc6f
Add readlink
...
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-06-16 07:46:01 +02:00
Lorenzo Cogotti
75c97de593
Various fixes, add renice command.
...
This commit adds the renice command and its man page,
it also introduces some fixes:
* Makes nice command more solid, it also makes it respect POSIX return values.
* Fixes estrtol, which produced a misleading error on out of range errors.
* Fixes chgrp.1 NAME section.
Signed-off-by: Christoph Lohmann <20h@r-36.net>
2013-06-14 19:01:04 +02:00
Christoph Lohmann
9df408f8c6
Adding who, chroot, env and split.
...
Thanks "Galos, David" <galosd83@students.rowan.edu>!
2013-06-14 18:55:25 +02:00
Christoph Lohmann
2c162042b1
Adding some utilities.
...
Thanks "Galos, David" <galosd83@students.rowan.edu>!
2013-05-30 21:29:56 +02:00
Christoph Lohmann
c9aac796c8
Fixing the ARG macros and adding nice.
...
Thanks "Galos, David" <galosd83@students.rowan.edu>!
2013-05-29 20:52:39 +02:00