Monday, July 17, 2006

equivs (for yahoo messenger dependency workaround)

Circumvent Debian package dependencies
This package provides a tool to create Debian
packages that only contain dependency information.

If a package P is not installed on the system, packages
that depend on P cannot normally be installed. However,
if equivalent functionality to P is known to be installed,
this tool can be used to trick the Debian package management
system into believing that package P is actually installed.

Another possibility is creation of a meta package. When this
package contains a dependency as "Depends: a, b, c", then
installing this package will also select packages a, b and c.
Instead of "Depends", you can also use "Recommends:" or
"Suggests:" for less demanding dependency.

Please note that this is a crude hack and if thoughtlessly used,
it might possibly do damage to your packaging system. And please
note as well that using it is not the recommended way of dealing
with broken dependencies. Better file a bug report instead.


Cedega on Dapper
April 22nd, 2006.

The .deb package of Cedega will not install on Ubuntu’s Dapper, because of the missing “xlibs” dependency. Lots of workarounds are available on Ubuntu Forums and Transgaming’s support page. “Installing the Breezy version of xlibs” and “converting the .deb into .tgz and back to .deb” are examples of them. I like neither of them.

Introducing “equivs”. With equivs one can create dummy packages used to satisfy the (Debian) package administration. The process of creating a dummy involves two steps: creating a control file, and building the package. After installing this package with dpkg, the system “believes” the software to be installed, an will accept other packages depending on it.


-------------------------------------------------------------

So, let’s create a xlibs dummy package:

# sudo apt-get install equivs
# mkdir $HOME/temp ; cd $HOME/temp
# equivs-control xlibs
# pico xlibs
(contents of xlibs)

Section: misc
Priority: optional
Standards-Version: 3.5.10

Package: xlibs
Version: 6.8.2-77
Maintainer: Your Name

# equivs-build xlibs
# sudo dpkg -i xlibs_6.8.2-77_all.deb

No comments: