This repository has been archived by the owner on Jun 10, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 9
Duncaen/lobase
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
lobase ====== lobase is a port of the OpenBSD userland to Linux. Caution ------- There are subtle differences in GNU coreutils and the OpenBSD userland, replacing coreutils on Linux system without caution will result in issues with varying impact. If you build your own linux system from the ground up and you know that your scripts are all portable you can use lobase as main coreutils. Otherwise I suggest to use a prefixed installation and adding lobase to your users shell `PATH`. Installation ------------ $ autoreconf -fi $ ./configure $ make # make install To speed up the compilation use multiple make jobs: $ MAKE_JOBS=$(cat /proc/cpuinfo|grep processor|wc -l) $ make -j"$MAKE_JOBS" # make -j"$MAKE_JOBS" install Prefix Installation ------------------- You can install lobase into its own prefix and then use the `PATH` environment variable to prefer lobases binaries over the default coreutils for your users shell. $ ./configure --prefix=/usr/local/lobase Build and install lobase and then add lobases bin and sbin directories to your path. To make this permanent, set `PATH` in your shell profile. $ PATH=/usr/local/lobase/bin:/usr/local/lobase/sbin:$PATH Simple test to verify that lobase is used: $ which which /usr/local/lobase/bin/which Dependencies ------------ - autoconf - make (GNU Make) - cc (gcc, clang) - yacc (byacc, bison) - lex (flex) - libedit (bc) - libevent (cu) - libressl - libcrypto (bc,dc) - ncurses (bc,ul) - zlib (grep) Debian: # apt-get install libedit-dev libevent-dev libssl-dev libz-dev Void Linux: # xbps-install libedit-devel libevent-devel libressl-devel zlib-dev Not included ------------ Some projects already have portable versions and are not included in lobase. - acme-client https://github.com/kristapsdz/acme-client-portable - cwm https://github.com/chneukirchen/cwm - file https://github.com/brynet/file - libressl https://www.libressl.org/ - nc - mandoc http://mandoc.bsd.lv/ - man - apropos - sndio http://www.sndio.org/ - aucat - aucatctl - smtpd https://www.opensmtpd.org/ - ssh https://www.openssh.com/ Broken ------ - cu should be simple to fix - ftp TODO ---- - mk/bsd.prog.mk - add DPADD support - mk/bsd.lib.mk - install headers - build shared libraries? - libtool? lib --- liboutil Parts of OpenBSDs libutil libopenbsd Parts of OpenBSDs libc bin --- cat chmod Some small differences because OpenBSD support permissions for symlinks cp date dd No SIGINFO support, use SIGUSR1 instead df No support for raw devices on linux domainname echo ed expr hostname kill ksh ln ls No support for file flags (-o) md5 mkdir mv pax pwd rm rmdir sleep stty sync test sbin ---- mknod nologin usr.bin ------- apply awk banner basename bc biff cal calendar cap_mkdb cmp col colrm column comm compress csplit ctags cu cut dc deroff diff diff3 dirname du encrypt env expand false file find fmt fold from ftp getconf getent getopt grep head hexdump htpasswd id Does not support -R to show the current processes routing table indent join jot lam leave lndir logger logname look lorder mail mkdep mktemp newsyslog nice nl nohup paste patch pkg-config pr printenv printf readlink renice rev rs sdiff sed shar signify sort spell split stat Does not support file flags, generations and birthtime on linux tail There are small differences in how -f handles file truncations, kqueue provides events for file truncations, inotify just notifies about a file modification. tee telnet tftp time touch tr true tsort tty ul uname unexpand unifdef uniq units unvis uudecode uuencode vacation vis wc what which whois xargs xinstall Does not support file flags (-f) yes usr.sbin -------- chroot dev_mkdb mtree No file flags support rdate