[gpm]Re: new release: gpm-1.19.5

Nico Schottelius nicos@pcsystems.de
Thu, 27 Sep 2001 07:29:17 +0200


Hey guys,

There must be more people thinking and seeing the same Alesandro
does!
Although Alessandro critices many things, this mail is the best thing
maintainers can recieve!

shortly shown were problems exist and what's their reason!


> > Once again there is a new release of GPM!
>
> It has a few bugs added. Some may be older (like 1.19.4 that I didn' look at).
>
> * After running ./configure in the "make" it re-runs autoconf and configure.
>         autoconf may be not installed in the user's computer.

hmm...maybe it's just too late in the night, but
on my system I ./configure was not rerun by make.


> * Tries to link gpm with libgpm. That's not needed. The resulting binary
>         looks linked to lgpm (this means that if you have no libgpm in
>         your library path the newly compiled daemon won't run

fixed. there was @LIBS@ where it wasn't needed.

> * Tries to make t-mouse.el in src/ , but it's in contrib/emacs
>         (not that it's not a contrib source, it's a core gpm feature

I wanted to seperate 'real' sources from other stuff, so I moved it
to contrib. I did not mean to move it outside gpm,

> * The various "ex_tex" etc stuff is bugged, comparison always fails
>         (no $$ in Makefile)

fixed & removed.
I choosed another method:

configure.in:
AC_CHECK_PROG(dvips,dvips,dvips,true)

and in the Makefiles I call
$(dvips) , which is either dvips, if installed, or true.

that will always do the job.



> * Liblow.c defines non-static vcname and consolename.

yes. that's not okay.


> It pollutes application name space.

i don't even know why I made them global!
I moved them into Gpm_Open() and changed their type
to static.

> Same for check_devfs and set_devfs, should be static into     liblow.c

How would you fix that most elegant ?
#define lib_check_devfs static check_devfs  ?



> * src/Makefile: LSRC should list the lib sources, new stuff is added to
>         LOBJ instead (no bug, just unclean)

I my Makefile is

LSRC = liblow.c libhigh.c libxtra.c

and

LOBJ = $(LSRC:.c=.o) debuglog.o devfs.o @CURSES_OBJS@

which is exactly what you wrote above.
I am confused.

> * liblow.c::Gpm_Open: the comment asks what's isdigit() needed: it's in
>         the next line, where you set conn->vc=atoi() .

this is an old comment. I wrote it, before I took over maintaince. I didn't
remove it.
Now it's away.

> * mouse_test.c has the buggy check_devfs: opened fd is not closed, not opened
>         is closed.

oh! I forgot about that! thanks a lot!
There should be no more devfs code in any other file than devfs.c.
BTW, mouse_test.c does not even need the check.

> * This in gpm.c:
>                    chmod(GPM_NODE_CTL,0700);
>         allows only root to connect to the server

I included this from a security patch. There it's told that this is used for
security reasons. (gpm-1.19.1-secenhance.patch)

I think we should not use one of those lines. I think we should work with a
mouse group.
chmod(GPM_NODE_CTL,0770);

and chown it to mouse.
If group mouse does not exist, use 0777,



> * The new headers don't protect against double-inclusion

You are right. I will include that into the next release.

> * defines.h replicates a lot of stuff from gpm.h

I know. I partly wanted to cleanup the source.
At the end there will be no doubled code anymore anywhere.

> * ChangeLog doesn't use the right format. It should list what has been
>         changed in each file (otherwise people can't look for a specific
>         file that they are interested in)

My fault. I changed my old entries and now everybody can see
where I changed things.

> >    o new daemon name
>
> Sorry?  Didn't find it.

Like Eastern in Germany I don't want to show you where the egg
is. You will find it very soon ;)

> /alessandro "finding bugs is easier than maintaining a program"

maintaining a programs requires people finding bugs :)

Nico