Re: [hackers] [PATCH v2][sbase] Add man(1)

From: Mattias Andrée <maandree_AT_kth.se>
Date: Wed, 1 Feb 2017 11:04:17 +0100

On Wed, 1 Feb 2017 10:35:10 +0100
Laslo Hunhold <dev_AT_frign.de> wrote:

> On Wed, 1 Feb 2017 10:28:06 +0100
> Mattias Andrée <maandree_AT_kth.se> wrote:
>
> Hey Matthias,
>
> > diff --git a/config.def.h b/config.def.h
> > new file mode 100644
> > index 0000000..14e1440
> > --- /dev/null
> > +++ b/config.def.h
> > _AT_@ -0,0 +1,19 @@
> > +/* See LICENSE file for copyright and license details.
> > */ +
> > +#define GROFF "/usr/bin/groff"
> > +
> > +#define GUNZIP "exec /usr/bin/gunzip"
> > +#define UNCOMPRESS "exec /usr/bin/uncompress"
> > +#define BUNZIP2 "exec /usr/bin/bunzip2"
> > +#define UNXZ "exec /usr/bin/unxz"
> > +#define UNLZMA "exec /usr/bin/unlzma"
> > +#define LUNZIP "exec /usr/bin/lzip -d"
> > +#define UNLZ4 "exec /usr/bin/unlz4"
> > +
> > +#define MANPATHTRANS "/=/usr"
> > +#define MANPATH "/usr/local/share/man:/usr/share/man"
> > +#define MANSECT
> > "3p:3:0:2:1:8:n:l:5:4:6:7:x:9:a:b:c:d:e:f:g:h:i:j:k:l:m:o:p:q:r:s:t:u:v:w:u:y:z"
> > +#define MANBINSECT "1:8" +#define MANETCSECT "5"
> > +#define MANCOMP
> > "gz="GUNZIP":z="GUNZIP":Z="UNCOMPRESS":bz2="BUNZIP2":xz="UNXZ":lzma="UNLZMA":lz="LUNZIP":lz4="UNLZ4
> > +#define MANPAGER "exec /usr/bin/less" diff --git
> > a/man.1 b/man.1
>
> isn't adding man(1) a bit of an overkill? I mean, no
> offense, but you make a lot of assumptions about the
> environment there (e.g. the PATH, which you just
> "overwrite" as "/usr/bin").
>
> Maybe you all discussed this IRC, but as I already said
> Matthias, I really am impressed every time you propose
> changes like these. Not everybody could churn out such a
> program. However, in case it is rejected, I fear you are
> discouraged from working on sbase or other suckless
> projects, especially given the magnitude of man(1) and
> other endeavours. Feel free to start a thread here on the
> ml, asking for the need of such tools before starting
> work on them.
>
> With best regards
>
> Laslo
>

I feel that it is kind of a given that man(1) is needed (why
else are we writing man pages) however, it can be argued in
which project to put it. The man-db implementation everyone's
using is just way too overkill.

If the users doesn't use /usr/bin, he just change that in
config.h, and even remove the path from it and replace exec[lv]
with exec[lv]p. However, I specified the path as a (paranoid)
security measure. Apart from that, the the only assumption is
the path to the man pages, which is required, and /etc which
is standard enough and man(1) can do with this being incorrect.

I did think about asking this time, but I reckoned, if you
don't see any need for a man(1) at suckless at all, I'll just
upload as personal project; because I definitely want a simple
implementation myself.

I skipped apropos(1) (man -k) and whatis(1), because I never
use them, so this implementation doesn't have a cache of all
man pages, which makes this implementation very simple and
less the difficult parts are handles by less(1) and groff(1)
(which sadly also need a replacement, but I will probably
not to that myself, at least not this year).

Received on Wed Feb 01 2017 - 11:04:17 CET

This archive was generated by hypermail 2.3.0 : Wed Feb 01 2017 - 11:12:25 CET