Re: [dev] [sbase] Defining scope of sbase and ubase

2024-03-09 Thread Eolien55
Mattias Andrée  wrote:
> I think there should be one directory called "portable" containing only tools
> from sbase, and one directory called "linux" containing the tools from ubase
> and maybe even symlinks to the tools in "portable". This structure would allow
> us to add implementations for other operating systems as well. If we add
> symlinks to the tools in "portable" to "linux", each directory could have
> it's own makefile. But I'm not sure this is preferable over a single Makefile
> in the root directory.

This is a great idea! Your mail on the other branch is a great idea too.
I think we should have platform-specific libutil for unportable functions
in ubase's libutil (so, linux/libutil, openbsd/libutil and so on, if we
do actually add implementations for other OSes), and a top-level libutil
too.

This could maybe allow adding platform-agnostic implementations of some utils
(not all because some APIs are so different that it requires full rewrites,
but maybe some, such as clear, stty, tput, or dd maybe).

I will start hacking on it, and will post the git repository for it
when it builds correctly.

I'm not sure how you combine two repositories into one while keeping the
history though.

Regards,
Elie Le Vaillant



Re: [dev] [sbase] Defining scope of sbase and ubase

2024-03-08 Thread Eolien55
Страхиња Радић  wrote:
> The problem of having separate *box executables could be solved by creating 
> an 
> "umbrella" *box project, perhaps having sbase, ubase and [insert_letter]base 
> as 
> git submodules, and deciding what to build based on the contents of config.mk.

The problem is that sbase and ubase each include a version of libutil, whith 
some
functions which are the same, and some other wich serve the same function but
vary in implementation due to version history.

git submodules are kinda meh I think for this problem, because it wouldn't 
change
the problem of source code duplication (and of versions drifting apart) between
the 2 projects, as libutil is part of both sbase and ubase trees (not mereley 
the
umbrella-box project).

I believe we should put what are currently sbase and ubsase in a single git 
repository,
sharing all that is portably sharable, but still separating utilities that are 
portable
from linux-specific ones.

I think sbase and ubase should try to provide useful, well-implemented, suckless
utilities. If we want POSIX utilities, let's add them! But I don't think we 
should
restrain us from doing that. sbase's sponge and cols is so useful I'm constantly
using them, even though I normally use busybox.

Regards,
Elie Le Vaillant