Possible Duplicate:
How to create a meta-package that automatically installs other packages?

I want to use Frescobaldi (an editor for Lilypond), but the packaged release of lilypond (2.12.3; lilypond is like TeX for scoresheets) in the official repos is a bit old, since I want to use some brand-new features. So I just cloned their git repo and installed it from there.

Now my question is, how can I tell apt, that I satisfied the dependency on lilypond manually, so that it doesn't tries to install another copy?


For where you're actually providing the dependency, I'd use checkinstall to do the installation. checkinstall basically replaces make install and generates a proper .deb package and then installs that. Not only does that allow you to remove or upgrade the package in a better way (when the time comes), it satisfies dependencies from other applications.

The alternative is writing a little dummy package that doesn't provide any files but claims to provide whatever you want. The easiest way I can see is using an application called equivs:

sudo apt-get install equivs
equivs-control lilypond

# edit your fake package so it has the right versions, names, description, etc
nano lilypond

equivs-build lilypond
sudo dpkg -i lilypond-dummy*.deb

There's a third route that is easy but the potentially harmful: just install it from the standard repos and then replace its files with the ones you generate. Lock the version of the package so it won't get upgraded. This has the scope to go wrong so only do it if you can't checkinstall or otherwise fake the package first.