Lobase Save Abandoned

Port of the OpenBSD userland to Linux.

Project README

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.

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

Open Source Agenda is not affiliated with "Lobase" Project. README Source: Duncaen/lobase
Stars
88
Open Issues
8
Last Commit
6 years ago

Open Source Agenda Badge

Open Source Agenda Rating