summaryrefslogtreecommitdiff
path: root/NEWS
blob: f886566e516ebbd9643b01d51e59f91ff06786e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
$Id$

Jun/01/1998
===========

	* We have some new ``suffix rules'':

	  '__l' is a function defined in the client part;
	  '__s' is a function defined in the sysdeps part and
	  '__p' is a function that needs special priviledges.
	  '__r' is mapped either on '__p' or on '__s'.
	  the function without suffix is mapped on '__l'.

	* We now decide at runtime whether or not using the server
	is required for a particular function. All user programs
	now call the '__l' function defined in '-lgtop' (in the lib
	subdir). These functions either use 'glibtop_call__l' to
	call the server or call the '__r' function.

	* A function in the sysdeps directory now has the '__s' suffix
	if it do not need any priviledges (and thus can be called directly
	from client code) and the '__p' suffix otherwise (when it has to
	be called from the server).

	* If you call one of these functions:

	  -> use the '__p' suffix to be sure to get the SUID-safe one
	     (used in the server).
	  -> use the '__s' suffix to be sure to get a function that
	     doesn't need any priviledges.
	  -> use the '__r' suffix otherwise (it is mapped either on the
	     '__p' or on the '__s' one).

	Only use the '__p' and '__s' functions in a 'GLIBTOP_SUID_<feature>'
	conditional, otherwise you'll get undefined symbols !

	* The server is now started from 'glibtop_init__r', but only when
	it's really needed; for instance on DEC OSF/1 you only need it
	for the proc* features - if you program only fetches the CPU usage,
	now server will be started.

	* Sorry, at the moment everything is a little bit unstable, I'm doing
	heavy changes. I've just some great ideas which still need some work:

	  -> I want to have a SUID server that only implements those features
	     that need to be SUID; everything else uses the sysdeps code directly.

	  -> If a program only uses stuff that do not need the server, the
	     server will not be started at all.

	  -> I'm working on some kind of proxy server that can be used on a remote
	     host; in feature one can then use the MDI stuff from ghex in gtop to
	     have notebook pages displaying processes from different hosts.

	* Well it is as much unstable that it only works under Linux at the moment.

1998-06-01  Martin Baulig  <martin@home-of-linux.org>

	* sysdeps/common/sysdeps.c: now using '__r' functions,
	they are #defined either as the '__p' or the '__s' ones.

	* sysdeps/linux/*.c: changed call of 'glibtop_init__r',
	it now takes two additional arguments.

	* examples/{first.c, second.c}: now using 'glibtop_init'
	instead of 'glibtop_init__r'.

	* include/glibtop/sysdeps.h: added 'dummy' member so
	'GLIBTOP_SYSDEPS_<feature>' now start with 1.

	* include/glibtop/*.h: we now #define 'glibtop_get_<feature>'
	as 'glibtop_get_<feature>__l' and 'glibtop_get_<feature>__r'
	either as the '__p' or the '__s' function.

	* lib/*.c: removed #if's - we now decide at runtime
	whether to use the server or to call the appropriate
	function for the sysdeps directory.

1998-05-28  Martin Baulig  <baulig@merkur.uni-trier.de>

	* 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 (@machine_incs@): always use 
	`-I$(top_srcdir)/sysdeps/@sysdeps_dir@'; it's no
	longer conditional.

	* examples/Makefile.am: removed the '_linux' examples.
	
	* sysdeps/linux/*.c: renamed all functions implementing
	features to '__s'.
	
	* lib/*.c: renamed all functions implementing features
	to '__l'; we only emit code for those functions if the
 	corresponding 'GLIBTOP_SUID_<feature>' has a positive value.
	
	* include/glibtop/*.h: added some new function suffixes:
	'__l' is a function defined in the client part;
	'__s' is a function defined in the sysdeps part and
	'__p' is a function that needs special priviledges.
	'__r' is mapped either on '__l' or on '__s'.
	
	* sysdeps/linux/glibtop_server.h: New file -
	defines system dependent constants 'GLIBTOP_SUID_<feature>'
	being either 'GLIBTOP_SYSDEPS_<feature>'+1 depending upon
 	whether or not this feature requires using the server.

	* lib/sysdeps.c: removed that file; it is no longer
	needed.



May/21/1998
===========

* doc/gnome-hackers.sgml: This is a short intro on how to use libgtop
  in the GNOME project. It covers especially the use of its 'configure'
  script and the automatically generated 'gtopConf.sh'.

May/20/1998
===========

* 'gtopConf.sh' now defines 'GTOP_LIBS' and 'GTOP_INCS' in a manner
  that they contain everything that is needed to link some program with
  libgtop. It will use '-lgtop' only if the server is really needed and
  '-lgtop_sysdeps' otherwise;

* 'gtopConf.sh' additionally defines 'GTOP_GUILE_LIBS' and 'GTOP_GUILE_INCS'
  containing everything that is needed to link some program both with
  libgtop and its guile interface. They are identically to 'GTOP_LIBS'
  and 'GTOP_INCS' if building the guile interface is disabled or guile
  cannot be found on the system.

* 'configure' takes additional arguments '--enable-libgtop-server' and
  '--disable-libgtop-server' to use the server even when it's not needed
  or to disable it's use where it's needed.

* 'configure' takes an argument '--without-libgtop-guile' to disable
  guile support.

* 'configure takes an argument '--without-libgtop-names' to remove
  '-lgtop_names' (and '-lgtop_guile_names' when we have guile) from
  'GTOP_LIBS'; in this case these libraries are not even built.

May/19/1998
===========

* Libgtop is now in the GNOME CVS Repository.

May/17/1998
===========

* we have now 'const char *glibtop_types_* []' consisting
  of the C types of the corresponding files of '_glibtop_*'.

* added guile function '(glibtop-types-*)' and '(glibtop-descriptions-*)'.

May/10/1998
===========

* Port to DEC OSF1 3.0 has been made:

  cpu		(total, user, nice, sys, idle)
  mem		(total, used, free)

  loadavg	(loadavg)
  uptime	(uptime)

  msg_limits	(map, max, mnb, mni, tql)
  sem_limits	(mni, msl, opm, vmx, aem)
  shm_limits	(max, min, mni, seg)

  The following need the server to be SUID root:

  proclist	(total, number, size)
  procdata	(cmd, state, uid, pid, ppid, pgrp, tty, k_flags,
		 session, tpgid, sigignore, sigcatch, signal, nice, 
		 priority, resident, rss, vsize, utime, stime,
		 cutime, cstime, trs, drs)

May/07/1998
===========

* 'flags' member of sysdeps/linux/procdata.c is now
  'unsigned long flags [2]'.

* When we give glibtop_get_procdata () a pid of zero, only
  the flags are returned.

* We now use static constants instead of #defines for sysdeps flags.

May/03/1998
===========

* VPATH-Build now working; sometimes it's necessary to copy
  $(top_srcdir)/po/cat-id-tbl.c to $(top_builddir)/po.

* The library has been tested on the following systems:

  - i686-pc-linux-gnu
  - sparc-sun-sunos4.1.1
  - alpha-dec-osf1 (that's DEC OSF1 3.0 and 3.2)

* Compilation has been tested on the following systems (I have no root
  access there and cannot test the library because of this):

  - sparc-sun-solaris2
  - i386-bsdi

* Does no longer require Gnome.

* Guile-Parts are compiled only if guile can be found.

* Some of the executables are statically linked to copy them more easily
  between machines.

May/02/1998
===========

 * Global changes to the interfaces, all functions except glibtop_open()
   and glibtop_close() that took a server argument have now a '__r' suffix;
   the original name is now a macro that uses glibtop_global_server.

Apr/10/1998
===========
Added new directory sysdeps/guile/names. It is the guile interface
to the gtop_names library found in sysdeps/names. Changed
GLIBTOP_DESCRIPTIONS to GLIBTOP_NAMES and added GLIBTOP_GUILE_NAMES
to the header files.

Apr/09/1998
===========
Added new directories guile and names to sysdeps. In names are
some string constants about the data stored in the structures.
guile is a guile interface for the library. It is used in
examples/third (which has been completely rewritten).
The header files define things from names when GLIBTOP_DESCRIPTIONS
if defined and/or from guile when HAVE_GUILE is defined.

Apr/08/1998
===========

Added guile wrapper for the library (see examples/third).