Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

marked as duplicate by Oli Oct 21 '11 at 10:43

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 11 down vote accepted

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.

share|improve this answer
Isn't there a way without tweaking the build process? Just like faking an entry in apt's database? – FUZxxl Mar 11 '11 at 15:11
@FUZxxl That's what I'm talking about in the second paragraph. But before you go onto that, as I've said, checkinstall does a lot more for you than just satisfying a dependency. – Oli Mar 11 '11 at 15:23
@FUZxxl I've added a portion about equivs – Oli Mar 11 '11 at 15:28

You should have used dhmake or sudo check install instead of sudo make install. That way you create a deb (check install also installs the deb) of the later lilypond version ^^.

If you still have the source (and the object files/make file etc after your compilation), you can still do that without having to download again.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.