Stephen Gran on 9 Feb 2006 00:15:23 -0000


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

Re: [PLUG] dpkg help needed


On Wed, Feb 08, 2006 at 01:41:12PM -0500, Art Alexion said:
> Since upgrading from KDE 3.4.3 to KDE 3.5.1, I have lost tellico, a nice
> collection manager.  It won't 'make' from source, and the debs fail
> dependencies.
> 
> I have found, however, that despite the dpkg errors, it runs.  But dpkg
> thinks it is broken, so other apt stuff complains.
> 
> I tried installing with 'dpkg --install --force-depends-version', but
> its as if I never used the --force option.  As this seems to be working,
> what do I need to do to clean up the apt database?

I've said it before, but ir bears repeating:  the dpkg --force options
are only to be used in desperation, and only when fully aware of the
consequences.  It's usually easier to file a bug pointing pointing out a
stupid dependency than it is to force these things to work.

That being said, `apt-get -f install` will tell you what it thinks the
right course of action is.  Probably, in this case, it is to remove the
offending package that you force installed.

The way I would try to force this back into a working order (if an
apt-get source tellico
apt-get build-dep tellico
cd tellico-* && dpkg-buildpackage -rfakeroot
really won't fix it, which is a bug as well :)

would be to take the deb, and extract all the important bits from it:

mkdir tellico
dpkg -x tellico_$version.deb tellico
dpkg -e tellico_$version.deb tellico

then fix it:
ldd tellico/path/to/tellico (check all libraries really are resolvable)
$EDITOR tellico/DEBIAN/control (adjust dependencies)

Then rebuild it:
dpkg -b tellico tellico_$current-version+1_$arch.deb

What you want to do is make sure that you really aren;t forcing a bad
depends by ensuring the libraries really are all resolvable by ldd,
otherwise you're just asking for trouble anyway.  If that part is fine,
fix the dependencies in the control file, and then repack the deb, but
with an incremented version number (so if the available version is
3.2-1, go for 3.2-1.1 or something)  This will ensure that your local
copy isn;t upgraded until a new Debian version appears, which should
hopefully fix the dependencies anyway.

When you are all done this ordeal, do me a favor and do file two bugs:
tellico: fails to build from source (include build failure logs)
tellico: stupid dependencies (analysis good, otherwise ldd output)

The FTBFS bug is severity serious, the other is probably severity
normal.  One of Debian's major problems going forward is that we (and by
we I mean me as well) allow upstream's broken library handling to
dictate quite a lot of how we manage dependencies.  Debian's libtool and
ld are smarter than most other distros, and we need to be more agressive
about fixing bugs caused by bad dt.NEEDED sections inherited from bad
toolchains.

Sorry for the rant, and I hope that is otherwise helpful,
-- 
 --------------------------------------------------------------------------
|  Stephen Gran                  | "In the fight between you and the       |
|  steve@lobefin.net             | world, back the world."  --Frank Zappa  |
|  http://www.lobefin.net/~steve |                                         |
 --------------------------------------------------------------------------

Attachment: signature.asc
Description: Digital signature

___________________________________________________________________________
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug