Ethereal-dev: [Ethereal-dev] Re: Building with gtk2 and packaging

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Fri, 30 Jan 2004 23:31:28 +0100
Anders Broman (TN/EAB) wrote:

Hi,
I thought I'd get your opinion/input first before sending to the list if you don't mind.
Why do you think, this shouldn't be on the list? Others might have good ideas too ;-)

1)I thought that the readme.win32 should be updated with stuff about gtk2 see the diff file below -comments ?

2) I struggled a bit to underrstand how to build the installer as all this with makefile and such is new to me
I included something about this to.
Any comments on the text ? Is this worth to include ?

Different topic slightly unrelatted: I built ethereal with both gtk+ and gtk2, and made an installers as well, all worked quite nicly.
Then I installed them both as an experiment, as they install in the same directory some files got overwritten which may cause problems.
This made me think about how we could treate this and I see some options:
1) As now - chose which packet to install.
2) 1 packet with ethereal.exe ande ethereal2.exe and you can choose which verson to run.

In my opinion 2 has some merrits as both versions have the same Glib it would only be the gtk related *.dll's that differs, we could actually
release this version?

Best regards
Anders
<<readme.diff>>
I was thinking about the same things too.

In the Readme.win32 we should add:

- an explanation, that there are two GTK versions around: 1 and 2 with maybe some explanation about the differences - an explanation, that GTK version 1 is currently the "main line" and version 2 is experimental
- the text from your diff about the zip files
- the text from your diff about the NSIS (it *is* worth to include)

As I'm working on some targets for Makefile.nmake which will make temp dirs and copy the required files into it, so we might not need the first part of your diff about the "common files / gnu".

Problems with 2) from above:
- the installer will be much bigger!
- when both versions are installed, how does the user start each version? Two icons, ...?

The size of the installer (even the recent version) could be hardly reduced, if we would put the dissections and alike in some DLL(s), and have only the GUI code be seperate (for Ethereal1, Ethereal2, Tethereal).

Although this feature are frequently requested for other reasons too, this will be a lot of work I fear.

Regards, ULFL

--- readme.win32	2004-01-23 03:38:04.000000000 +0100
+++ readme.new.win32.txt	2004-01-30 09:43:24.233482300 +0100
@@ -119,6 +119,33 @@
 those DLLs are found - when you run Ethereal.  This includes gtk-*.dll,
 glib-*.dll, gmodule-*.dll, gdk-*.dll, intl.dll, and iconv-*.dll.  As of
 the 20000805 GTK+/GLIB distribution, gthread-*.dll is no longer needed.
+For gtk2.* the following set up is the easiest:
+
+Put the aformentioned .dll's in a directory "/program files/common files/Gnu
+then put the files in the following dirs:
+
+/program files/common files/Gnu/libatk-1.0-0.dll
+/program files/common files/Gnu/libgdk_pixbuf-2.0-0.dll
+/program files/common files/Gnu/libgdk-0.dll
+/program files/common files/Gnu/libgdk-win32-2.0-0.dll
+/program files/common files/Gnu/libglib-2.0-0.dll
+/program files/common files/Gnu/libgmodule-2.0-0.dll
+/program files/common files/Gnu/libgobject-2.0-0.dll
+/program files/common files/Gnu/libgtk-0.dll
+/program files/common files/Gnu/libgtk-win32-2.0-0.dll
+/program files/common files/Gnu/libpango-1.0-0.dll
+/program files/common files/Gnu/libpangowin32-1.0-0.dll
+/program files/common files/Gnu/wiretap-0.0.dll
+/program files/common files/Gnu/zlib1.dll
+
+/program files/common files/Gnu/etc/gtk-2.0/gdk-pixbuf.loaders
+/program files/common files/Gnu/etc/gtk-2.0/gtk.immodules
+/program files/common files/Gnu/etc/pango/pango.modules
+
+Add /program files/common files/Gnu to your path.
+
+Note the wiretap*.dll must be in your path as well and if wiretap is changed
+be shure to put the new one in your path.
 
 The Win32 Binary distribution, available from
 
@@ -183,6 +210,7 @@
     wpdpack_3_0.zip                       C:\ethereal-win32-libs
     zlib121-dll.zip                       C:\ethereal-win32-libs\zlib121-dll
 
+
 (to use the default locations, the directories in question should be
 created, and each zip file should be unpacked into the corresponding
 directory).  If you only want to change the C:\ethereal-win32-libs
@@ -196,6 +224,18 @@
 The gettext runtime package provides intl.dll, which is needed by
 GLib 2.2.3.
 
+If you want to try a build with GTK+2.x these Extra librarys are needed 
+
+    Package                               Default Location
+    -------                               ----------------
+    gtk+-2.2.4.zip			  c:\ethereal-win32-libs\gtk2
+    gtk+-dev-2.2.4.zip			  c:\ethereal-win32-libs\gtk2
+    pango-1.2.5.zip			  c:\ethereal-win32-libs\gtk2	
+    pango-dev-1.2.5.zip			  c:\ethereal-win32-libs\gtk2
+    atk-1.4.0.zip			  c:\ethereal-win32-libs\gtk2	
+    atk-dev-1.4.0.zip			  c:\ethereal-win32-libs\gtk2
+
+
 Instructions for MS Visual C++
 ----------------------------
 Modify the config.nmake file in the top directory of the Ethereal source
@@ -307,6 +347,15 @@
 
 	http://www.python.org/
 
+If you want to build an installer you need to get NSIS from
+
+http://nsis.sourceforge.net/home/
+
+After installing it, you will probably have to modify the config.nmake
+file to specify where the binaries are installed and wether to use the modern UI or not.
+In the ethereal directory, type "nmake -f makefile.nmake packaging" to build the installer. 
+
+
 
 Instructions for Cygwin
 -----------------------