1998-08-30 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION (LIBGTOP_VERSION_CODE): Added. This is a numerical
constant ("1.234.567" -> 1234567) to be used in C preprocessor
conditionals.
1998-08-29 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION (LIBGTOP_INTERFACE_AGE, LIBGTOP_BINARY_AGE): Added.
* configure.in (LIBGTOP_INTERFACE_AGE, LIBGTOP_BINARY_AGE): AC_SUBST.
(LT_RELEASE, LT_CURRENT, LT_REVISION, LT_AGE): AC_SUBST.
(LT_VERSION_INFO): Sets `-version-info' for libtool.
* */Makefile.am: We now use the correct `-version-info' parameter
for libtool.
1998-08-17 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/procmap (glibtop_map_entry): Added `offset' and
`perm' fields.
* src/inodedb: New directory.
* src/inodedb/README: New file - read it to know what this is about.
* configure.in (--with-libgtop-inodedb): New `configure' parameter.
* include/glibtop/inodedb.h: New file.
* sysdeps/common/inodedb.c: New file.
1998-08-07 Martin Baulig <martin@home-of-linux.org>
* src/server: Removed.
* src/daemon/{server, version}.c: New files.
* src/daemon/Makefile.am: Added `libgtop_server'; this has been
moved here from `src/server' since it shares some source code files
with the `libgtop_daemon'.
* LIBGTOP-VERSION: Added `LIBGTOP_SERVER_VERSION'.
* src/daemon/gnuserv.c, lib/open.c: Improved version check between
client and server.
* include/glibtop/output.h: Removed.
* sysdeps/stub_suid: New directory. This is mainly used as example
for people porting libgtop to other systems.
* sysdeps/common/sysdeps_suid.c: New file.
Defines `glibtop_init_hook_p'.
* sysdeps/osf1/*.c (glibtop_init_<no-suid-feature>_s): New functions.
(glibtop_init_<suid-feature>_p): New functions.
1998-08-06 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/*.h: Using `GLIBTOP_GUILE' instead of `HAVE_GUILE'
so one should be able to use libgtop without guile in an application
even if guile is installed.
* sysdeps/common/mountlist.c: Fixed some `xstrdup' problems.
* lib/open.c: Now correctly reading server features for
`GLIBTOP_METHOD_PIPE'.
* sysdeps/freebsd: New directory.
1998-07-29 Martin Baulig <martin@home-of-linux.org>
* guile/ChangeLog: New file.
* features.def: New format - now includes type of return value
and parameters.
* lib/lib.awk: Changed to use new `features.def'.
* sysdeps/guile/guile.awk: Dito;
* sysdeps/guile/names/guile-names.awk: Dito.
* libgtopConf.sh.in: Added
`LIBGTOP_NAMES_LIBS', `LIBGTOP_NAMES_INCS',
`LIBGTOP_GUILE_NAMES_LIBS', `LIBGTOP_GUILE_NAMES_INCS',
`LIBGTOP_MAJOR_VERSION', `LIBGTOP_MINOR_VERSION'
`LIBGTOP_VERSION', `libgtop_sysdeps_dir'.
* acinclude.m4 (AC_LC_SYSDEPS): Removed since this has been
replaced with `GNOME_LIBGTOP_SYSDEPS' long ago.
* LIBGTOP-VERSION: New file.
* */Makefile.am (INCLUDES): Removed; now defined in `configure.in'.
* sysdeps/names/mountlist.c: New file.
* lib/{init, open}.c (GTOP_SERVER): Renamed to `LIBGTOP_SERVER'.
* configure.in (INCLUDES): Added definition.
(libgtop_want_names): Always true; `libgtop_names.la' is now
always created since some other programs rely upon it - but
have to use `LIBGTOP_NAMES_LIBS' and `LIBGTOP_NAMES_INCS' to
use it in your application.
(libgtop_want_guile_names): Always true; but you have to use
`LIBGTOP_GUILE_NAMES_LIBS' and `LIBGTOP_GUILE_NAMES_INCS' to
use it in your application.
(LIBGTOP_LIBS): Removed `-lgtop_names' and `-lgtop_guile_names'.
(LIBGTOP_NAMES_LIBS): New variable. Use it to link your
application with the names interface.
(LIBGTOP_NAMES_INCS): New variable. Also #defines `GLIBTOP_NAMES'
which is now required if your application wants to use the names
interface.
(LIBGTOP_GUILE_NAMES_LIBS): New variable. Use it to link your
application with the guile names interface.
(LIBGTOP_GUILE_NAMES_INCS): New variable. Also #defines
`GLIBTOP_NAMES' and `GLIBTOP_GUILE_NAMES' which are now required
if your application wants to use the guile names interface.
* Splitted `libgtop_sysdeps.la' into `libgtop_sysdeps.la' and
`libgtop_sysdeps_suid.la'.
Everything that needs to be suid/sgid is in `libgtop_sysdeps_suid.la'
and the rest in `libgtop_sysdeps.la'.
The functions from `libgtop_sysdeps_suid.la' have the `_p' prefix and
the ones from `libgtop_sysdeps.la' the `_s' prefix.
The suid library uses `glibtop_open_p' and `glibtop_close_p', the
normal one `glibtop_init_s' (found in lib/init.c), `glibtop_open_s'
and `glibtop_close_s'.
* Added `libgtop_suid_common.la' containing stuff from sysdeps/common
that is required from the suid server (currently everything from
error.c and xmalloc.c).
This means, we can add some more stuff to `libgtop_common.la' without
the risk that it may be dangerous in the suid server.
* The ``library order'' is much clearer now:
-> `libgtop.la' (from lib/) contains user-level stuff;
all functions except `glibtop_init_r' have the `_l'
suffix.
-> `libgtop_common.la' (from sysdeps/common/) contains stuff
that is common among the sysdeps directories.
use anything from `libgtop_sysdeps.la' and
`libgtop_sysdeps_suid.la'.
-> `libgtop_sysdeps.la' (from sysdeps/<sysdeps_dir>/) contains
everything from the sysdeps directory that doesn't need to
be suid/sgid.
-> `libgtop_suid_common.la' (from sysdeps/common/) is used from
the suid server instead of `libgtop_common.la'.
-> `libgtop_sysdeps_suid.la' (from sysdeps/<sysdeps_dir>/) contains
everything from the sysdeps directory that needs to be in the
suid server.
* To summarize: the server is linked only with functions that need
to be suid and everything else is linked only with functions that
do not need to be suid.
Martin
1998-07-22 Martin Baulig <martin@home-of-linux.org>
* lib/init.c (glibtop_init_s): Added this init function of
the sysdeps directory `libgtop_sysdeps.la'.
* lib/open.c (glibtop_open_l): Unconditionally calling
`glibtop_init_s' after server initialization.
* lib/lib.awk: Removed references to functions from
`libgtop_sysdeps_suid.la' to avoid undefined symbols.
* sysdeps/stub/open.c (glibtop_open_s): Renamed this
function from `glibtop_open_r'.
* sysdeps/stub/close.c (glibtop_close_s): Renamed this
function from `glibtop_close_l'.
* sysdeps/kernel/open.c (glibtop_open_s): Renamed this
function from `glibtop_open_r'.
* sysdeps/kernel/close.c (glibtop_close_s): Renamed this
function from `glibtop_close_l'.
* sysdeps/linux/open.c (glibtop_open_s): Renamed this
function from `glibtop_open_r'.
* sysdeps/linux/close.c (glibtop_close_s): Renamed this
function from `glibtop_close_l'.
* sysdeps/osf1/Makefile.am (lib_LTLIBRARIES): Added
`libgtop_sysdeps_suid.la' for the suid server.
* sysdeps/osf1/open_suid.c (glibtop_open_p): New file.
Contains all stuff that was formerly in `open.c'.
* sysdeps/osf1/open.c: Moved everything from here into
the new file `open_suid.c'.
* sysdeps/osf1/open.c (glibtop_open_s): New function.
* sysdeps/osf1/close_suid.c (glibtop_close_p): New file.
* sysdeps/osf1/close.c (glibtop_close_s): New function.
* sysdeps/osf1/*.c: Using the new init, open and close
functions.
* sysdeps/sun4/Makefile.am (lib_LTLIBRARIES): Added
`libgtop_sysdeps_suid.la' for the suid server.
* sysdeps/sun4/nosuid.c (glibtop_open_s, glibtop_close_s): New file
* sysdeps/sun4/*.c: All functions now have the `_p' suffix.
* sysdeps/common/Makefile.am (lib_LTLIBRARIES): Added
`libgtop_suid_common.la' which only contains stuff that is
needed in the suid parts.
* sysdeps/common/xmalloc.c: Using `glibtop_error_io_r' instead
of `glibtop_error_r'.
* sysdeps/{kernel, linux, osf1, sun4, stub}/init.c: Removed.
`glibtop_init_s' has been moved into `lib/init.c' since it's the
same in all the sysdeps directories.
* src/server/main.c: It is now an error to request a feature that
does not need the suid server.
* src/proxy: Removed.
1998-07-14 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
* configure.in (AC_PROG_AWK): Replaced this test with explicit test
for `gawk' and `awk' since `mawk' doesn't work.
1998-06-14 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/gnuserv.h: New file. Imported from xemacs 20.3.
* sysdeps/common/gnuslib.c: New file. Imported from xemacs 20.3
* lib/gnuclient.c: New file. Imported from xemacs 20.3
* sysdeps/daemon/gnuserv.c: New file. Imported from xemacs 20.3
* sysdeps/daemon: New directory.
* configure.in (LIBGTOP_LIBS, LIBGTOP_GUILE_LIBS): Added
`$X_LIBS -lXau' when we have xauth.
1998-06-13 Martin Baulig <martin@home-of-linux.org>
* kernel: New directory. Contains some kernel code to
implement a new system call table () to fetch information
directly from the Linux kernel.
* sysdeps/kernel: New directory. Uses the table () function
from the `kernel' directory to fetch things directly from
the Linux kernel.
* sysdeps/Makefile.am (DIST_SUBDIRS): Added `kernel'.
* configure.in: Removed `build_CC' again.
1998-06-08 Martin Baulig <martin@home-of-linux.org>
* support: Added again.
* Makefile.am (SUBDIRS): Added `support' again.
* configure.in: First, we check for gnome. If it is not
found, we run GNOME_SUPPORT_CHECKS; otherwise use
`$GNOME_LIBDIR -lgnomesupport'.
1998-06-05 Martin Baulig <baulig@taurus.uni-trier.de>
* support: removed that directory.
* configure.in: we check whether '-lgnomesupport' is
included in $GNOME_LIBS and add it together with
$GNOME_LIBDIR to LIBSUPPORT in this case.
Gnome (gnome-libs) is now required to build libgtop,
added short comment to configure.in how to revert this
change.
* Makefile.am: removed `support' subdir.
1998-06-03 Martin Baulig <baulig@merkur.uni-trier.de>
* libgtop.spec: New file.
* Makefile.am (EXTRA_DIST): Added `autogen.sh' and
`libgtop.spec'.
* configure.in (LIBGTOP_INCS): is now identically to
`LIBGTOP_GUILE_INCS'.
* include/glibtop/global.h: only including intl headers
while compiling libgtop.
Merging changes from LIBGTOP_STABLE_0_20 into the main trunk.
* include/glibtop/open.h (GLIBTOP_OPEN_NO_OVERRIDE):
tells `glibtop_open' to use the default server and not
to check the environment variables.
* include/glibtop/sysdeps.h (_glibtop_sysdeps):
renamed 'dummy' member to 'features'.
* include/glibtop/command.h (GLIBTOP_CMND_SYSDEPS):
added definition here.
* configure.in (@machine_incs@): always use
`-I$(top_srcdir)/sysdeps/@sysdeps_dir@'; it's no
longer conditional.
* examples/Makefile.am: removed the '_linux' examples.
* src/server/main.c: we now use the '__p' functions,
but only if the appropriate 'GLIBTOP_SUID_<feature>'
has a non-zero value.
* configure.in: added 'gtop_guile_found', 'gtop_want_names',
'gtop_want_guile_names' and 'gtop_want_examples' for use in
'gtopConf.sh.in'; added 'include' and 'include/glibtop' subdirs.
* configure.in: 'GTOP_INCS' and 'GTOP_LIBS' now really
point to the places where everything gets installed and
no longer to the build directory, so that they can be
used in 'gtopConf.sh'.