[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gdselect alpha 3 [libapt]



On Fri, 20 Nov 1998, Jason Gunthorpe wrote:
> 
> Did you make any progress? I have some more disk space now so if you can
> give some exact instructions on how to get it to compile I'd like to try
> it out.
> 

Yes, I actually rewrote the tree display a third time (this is getting
silly :-). This time I did what you originally suggested, or something
like it. I've chilled it out about 3 megabytes, so now gnome-apt is around
4.2 megs. The 20 or so libraries Gnome apps use make up about 2.8 megs
(most of that should stay on disk if unused, plus it's shared), then I
guess however big apt-pkg is, then the Gtk+ runtime and my data
structures. So further shrinkage would be on the order of K not M.

I haven't touched it in about a week though; the Gnome libraries are going
to be frozen Dec 15 (hopefully), and so I want to work on that stuff for a
while, putting gnome-apt on temporary hold.

To compile it:

Follow CVS instructions on cvs.gnome.org, I think va is one of the anon
mirrors so use that. You need these modules, built in this order:

glib
gtk+
imlib 
ORBit
gnome-libs

You'll need to be sure you have the newest .deb's for automake, autoconf,
and libtool. Also uninstall any .debs for gtk 1.1, imlib, etc. You can
leave gtk1.0 so Gimp keeps working, but you must kill the -dev for 1.0.

In each directory, you need to do:

ACLOCAL_FLAGS='-I /install/prefix/share/aclocal' ./autogen.sh \
--prefix=/wherever
make 
make install

autogen.sh runs the usual aclocal/autoheader/automake/autoconf deal. 
You'll probably get a bunch of warnings about AC_TRY_RUN; ignore these. 

Each module creates a "-config" script which goes in prefix/bin and must
be in your path. 

glib and gtk+ are basically standalone and have no library dependencies
aside from the obvious (X, Xpm). gtk+ requires glib of course.

ORBit requires only glib.

imlib requires gtk+ and a bunch of image libraries which are all in Debian
packages. jpeg, tiff, png, (un)gif. You can check the dependencies on 
the gdk_imlib package for the package names.

gnome-libs adds gettext and Berkeley DB to the dependencies, and depends
on the previous four modules. Debian packages are fine gettext and db.

glib and gtk are said to have up-to-date Debian packaging stuff in them, I
think you can just type debian/build and get a package but I haven't tried
it. 

The full set of flags for a program using gnome-libs on my system:

-rdynamic -L/home/hp/local/lib -L/usr/X11R6/lib -lgnomeui -lart_lgpl
-lgdk_imlib -ljpeg -ltiff -lungif -lpng -lz -lgnome -lgnomesupport -ldb
-lgnorba -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lzvt -lSM -lICE
-lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lm

So that should give you some idea. Most of those are part of Gnome, rather
than external, so it's not as bad as it looks. 

Once you've installed the libraries, gnome-apt is pretty simple; it works
the same as the other packages (autogen.sh, make). It assumes you're in
the Apt CVS tree, I think it links with -L ../apt/build/bin/ or something. 
make install works in theory but I wouldn't install it. :-)

I haven't actually built gnome-apt in a few days, so if it has undefined
symbols or something let me know and I'll fix it. Ask any other questions
too, there are lots of little pitfalls.

The good news is that Gnome/Gtk will definitely be entering a
feature/interface freeze by mid-December. So we should have a stable
interface to write to.

Stuff to try in gnome-apt:

 - the tree view appears; vertical scrolling thinks about working but
   mangles the selected item sometimes (the tree code got kind of 
   spaghetti on me, and I can't find the off-by-one error)
 - you can expand and collapse rows by double-clicking, there are
   no +/- buttons yet
 - you can toggle delete/keep/install; all three buttons are visible
   for every tree row whether they apply or not though
 - status bar shows number of packages chosen for install, etc.
 - right-click on tree view to get a menu; you should be able to show/hide
   individual columns in the tree view, and some but not all of the sort
   orders should work
 - there's a progress dialog on startup
 - if there are errors on startup that should be handled reasonably;
   if Apt needs to fix dependencies gnome-apt should ask whether to 
   do so and do so if requested.
 - Exit works (whee!)
 - there's an About box
 - there are little resizable windows for package description/information,
   but they are empty

Havoc

PS when you are thoroughly underwhelmed by gnome-apt's present
functionality :-), the most interesting Gnome modules are gtk-engines,
gnome-core, gnome-utils, and gnome-games. gnumeric and gwp are nice too,
they require gnome-xml and gnome-print though. 

If you install gtk-engines and gnome-core, you can use the 'gnomecc'
program to switch themes; the Apt tree view should reflect the current
theme just like other Gtk apps. You may have to resize the window to
trigger a redraw, I'm not handling the theme-change event right.



 



Reply to: