Ethereal-users: Re: [Ethereal-users] RE: openssl dependencies for ethereal-base-0 .8.20

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

From: Guy Harris <gharris@xxxxxxxxx>
Date: Sat, 16 Feb 2002 16:35:39 -0800
On Sat, Feb 16, 2002 at 03:41:38PM -0800, Dave Erickson wrote:
> The Linux 7.2 installs of ethereal are confused, to say
> the least, because of the way the rpms are named on rpmfind,
> and because of the openssl dependencies.  e.g.
> wouldn't you expect ethereal-0.8.18-9.i386.rpm to be
> the complete install of ethereal, at least based on
> the name?  And shouldn't the install of ethereal be
> happy if it finds libcrypto.so.0 *or greater*?

I'd expect that

	1) an Ethereal RPM to include only Ethereal directly, and to
	   specify, as dependencies, only the *direct* dependencies
	   (the packages it's linked with, *NOT* any of the
	   packages that those packages in turn depend on, so that it'd
	   specify, if built with the UCD SNMP library, the UCD SNMP
	   library as a dependency, but *NOT* to specify libraries that
	   the UCD SNMP library depends on as dependencies, i.e. *NOT*
	   to specify the OpenSSL package as a dependency);

	2) those packages, in turn, to specify, as dependencies, only
	   their direct dependencies;

	3) the OpenSSL RPM would install libcrypto with an soname of
	   "libcrypto.so.0", not just with a real name of
	   "libcrypto.so.0.9.6c" (see

		http://www.linuxdoc.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

	   );

	4) the Ethereal binary would if linked with the "-lsnmp" shared
	   library, not be directly linked with "-lcrypto" if "-lcrypto"
	   is a shared library;

	5) the "-lsnmp" shared library would be linked with the
	   "-lcrypto" shared library;

so that

	1) the Ethereal RPM can be installed regardless of whether the
	   UCD SNMP RPM requires the OpenSSL RPM or not - the RPM
	   wouldn't include the transitive closure of "depends on", the
	   installer would compute that at installation time based on
	   whether the UCD SNMP library it'd install requires OpenSSL or
	   not, and pull in the OpenSSL RPM if and only if it's needed;

	2) you don't have to make the damn symbolic link to
	   "libcrypto.so.0.9.6c" yourself;

	2) the Ethereal binary will run regardless of whether the UCD
	   SNMP library requires -lcrypto or not - if it does require
	   it, the run-time linker will deduce that from the -lsnmp
	   library having been linked with -lcrypto, but Ethereal won't
	   *itself* have been linked with -lcrypto, so if the UCD SNMP
	   shared library *doesn't* require -lcrypto, the run-time
	   linker will correctly think Ethereal doesn't require it.

It appears that one or more of my 5 expectations above aren't met; if
not, I'd really like to know why, so that either

	1) people can fix things so that they're met in the future

or

	2) if there are technical reasons why they can't be met, people
	   can try to fix those technical reasons.