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

Bug#42236: marked as done ([PROPOSAL] method for shlibs to work with libfoo.so)



Your message dated Sat, 18 Sep 1999 18:03:10 -0700
with message-id <19990918180310.C18363@icarus.soark.net>
and subject line Weekly policy summary
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

The original bug report and the message used to close the bug are attached.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Darren Benham
(administrator, Debian Bugs database)

--------------
Received: (at submit) by bugs.debian.org; 31 Jul 1999 12:12:23 +0000
Received: (qmail 31846 invoked from network); 31 Jul 1999 12:12:21 -0000
Received: from ppp-189.mod.cableone.net (HELO icarus2.soark.net) (mail@24.116.6.189)
  by master.debian.org with SMTP; 31 Jul 1999 12:12:21 -0000
Received: from knghtbrd by icarus2.soark.net with local (Exim 3.02 #1 (Debian))
	id 11AXzr-0005rg-00; Sat, 31 Jul 1999 05:12:15 -0700
Date: Sat, 31 Jul 1999 05:12:15 -0700
From: Joseph Carter <knghtbrd@debian.org>
To: submit@bugs.debian.org
Subject: [PROPOSAL] method for shlibs to work with libfoo.so
Message-ID: <19990731051214.A20731@debian.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Mailer: Mutt 0.95.6i
X-Operating-System: Linux icarus2 2.2.10-ac11
X-No-Junk-Mail: I do not want to get *any* junk mail.

Package: debian-policy
Version: 3.0.1
Severity: wishlist

Occasionally one runs across a library libfoo.so (no soname..)  I came
across two of them working on glquake and it really annoyed me that I
couldn't figure out why dpkg-shlibdeps was having a problem with it.
Leaving the argument on irc out of it, dealing with shlibs without a
soname where you have to isn't a difficult thing to do.

Turns out that the problem is ldd.  If the binary is linked with the
library without a soname, the first thing that matches that will be used,
causing problems all around.  =/  For some non-free packages (those
without source) this is a real PITA.  And there are cases where some free
softwares use them too (alsaplayer) for internal libs.  Because the Right
Thing To Do IMHO is to support these if possible/reasonable, I propose we
make an addition to the shlibs file format.

Currently the format of the shlibs file is libname soname dependency.  For
those cases where it is necessary to use a library without a soname, I
suggest we use a soname of ".".  Why .?  Because we won't ever have a
libfoo.so.. (I hope) and it sounded good at the time.


Of course, as they say, if you want something done right, do it yourself.
If I just proposed this and we all thought it was reasonable and we made
it policy, it'd still not likely be implemented soon because nobody else
has the time.  So:

--- dpkg-shlibdeps.orig	Sat Jul 31 03:42:04 1999
+++ dpkg-shlibdeps	Sat Jul 31 03:42:38 1999
@@ -104,6 +104,10 @@
 	    push(@libf,$execf[$i]);
 	    push(@libpaths,$3) if !$libpathadded{$3}++;
 	    $nthisldd++;
+	} elsif (m,^\s+(\S+)\.so\s+=>\s+(/\S+)(\s+\(0x.+\))?$,) {
+	    push(@libname,$1); push(@libsoname,"."); push(@libpath,$2);
+	    push(@libf,$execf[$i]);
+	    push(@libpaths,$2) if !$libpathadded{$2}++;
 	} else {
 	    &warn("unknown output from ldd on \`$exec[$i]': \`$_'");
 	}


One caveat:  The file must still be in the dpkg database.  Perl is one of
those things, you either get it or you don't.  I don't.  =>  So this patch
does nothing for the problem that you have to have a shlib installed in
order to use it---even if it's part of a multi-binary package you're
building.  Sorry, someone else has to fix that evilness.  That's the price
of using ldd.  =/

Espy has a patch that removes the need for trying to translate the output
of ldd, so maybe that can better be made to account for libs in the
debian/*/ directories..


Sorry this proposal isn't more coherent.  If you can make sense out of it
and would like to try to suggest exact wording changes to the policy, be
my guest please!  Otherwise I am just hoping to start the discussion and
get minds rolling in the right direction.  So consider this a
meta-proposal for the moment..  =p

-- 
Joseph Carter <knghtbrd@debian.org>             Debian GNU/Linux developer
GnuPG: 2048g/3F9C2A43 - 20F6 2261 F185 7A3E 79FC  44F9 8FF7 D7A3 DCF9 DAB3
PGP 2.6: 2048R/50BDA0ED - E8 D6 84 81 E3 A8 BB 77  8E E2 29 96 C9 44 5F BE
--------------------------------------------------------------------------
<zpx> it's amazing how "not-broken" debian is compared to slack and rh

---------------
Received: (at 42236-done) by bugs.debian.org; 19 Sep 1999 01:08:14 +0000
Received: (qmail 26060 invoked from network); 19 Sep 1999 01:07:41 -0000
Received: from ppp-33.mod.cableone.net (HELO icarus.soark.net) (24.116.6.33)
  by master.debian.org with SMTP; 19 Sep 1999 01:07:41 -0000
Received: by icarus.soark.net (Postfix, from userid 1000)
	id 46BC8951A; Sat, 18 Sep 1999 18:03:11 -0700 (PDT)
Date: Sat, 18 Sep 1999 18:03:10 -0700
From: Joseph Carter <knghtbrd@debian.org>
To: 42236-done@bugs.debian.org
Subject: Re: Weekly policy summary
Message-ID: <19990918180310.C18363@icarus.soark.net>
References: <[🔎] 19990917121759.A21389@kitenet.net>
Mime-Version: 1.0
Content-Type: multipart/signed; micalg=sha1;
	protocol="application/pgp-signature"; boundary="oJ71EGRlYNjSvfq7"
User-Agent: Mutt/1.0pre2i
In-Reply-To: <[🔎] 19990917121759.A21389@kitenet.net>
X-Operating-System: Linux icarus 2.2.12
X-No-Junk-Mail: I do not want to get *any* junk mail.


--oJ71EGRlYNjSvfq7
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 17, 1999 at 12:17:59PM -0700, Joey Hess wrote:
> Method for shlibs to work with libfoo.so (#42236)
>   * Stalled.
>   * Proposed by Joseph Carter; seconded by Anthony Towns, Aaron Van
>     Couwenberg and Zephaniah E. Hull.
>   * This is a proposal to make binary-only shared libs that have no
>     soname work with dpkh-shlibdeps. The idea is to detect such
>     packages and use "." for the soname in the shlibs file.
>     ( Joseph has a better idea that just requires a patch to
>     dpkg-shlibdeps, so this proposal may be unnecessary. )

This is not necessary.  I offered a better solution here a week or two ago
involving a slightly different patch that would deal with the case of
libfoo.so being a symlink (which under current policy it'd have to be
anyway) by following it and using the name of its link to determine the
correct library name and soname.

Since the solution is technically superior and does not require
modifications to policy, that patch should (and will) be sent to the BTS
for inclusion in dpkg, possibly after some minor cleanups if anyone feels
they are necessary.

--=20
Joseph Carter <knghtbrd@debian.org>             Debian GNU/Linux developer
GnuPG: 2048g/3F9C2A43 - 20F6 2261 F185 7A3E 79FC  44F9 8FF7 D7A3 DCF9 DAB3
PGP 2.6: 2048R/50BDA0ED - E8 D6 84 81 E3 A8 BB 77  8E E2 29 96 C9 44 5F BE
--------------------------------------------------------------------------
We the people of the Debian GNU/Linux distribution, in order to form a
more perfect operating system, establish quality, insure marketplace
diversity, provide for the common needs of computer users, promote
security and privacy, overthrow monopolistic forces in the computer
software industry, and secure the blessings of liberty to ourselves and
our posterity, do ordain and establish this Constitution for the Debian
GNU/Linux System.


--oJ71EGRlYNjSvfq7
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.0 (GNU/Linux)
Comment: The default gpg comment sucks!  ;>

iEYEAREBAAYFAjfkNk4ACgkQj/fXo9z52rMCFQCfeKNz3pFrcoIQMzw9thgWE+nc
UqEAn2FGEzfmBhe6V6hwlx/nMe9Na9cK
=Kck4
-----END PGP SIGNATURE-----

--oJ71EGRlYNjSvfq7--


Reply to: