Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am looking for an open source repository which has a collection of direct links to all the important open source packages that one can download. Do you know if there is any?

If the question is not clear, an example might help: let's suppose you have to install on a machine libudev-dev by compiling it from source (yes, this is a real life situation, such as cross compiling). After some googling you find out that libudev-dev is part of systemd, so you go to http://www.freedesktop.org/wiki/Software/systemd then you discover that systemd needs PAM, so you get it from https://fedorahosted.org/releases/l/i/linux-pam/ then you find out it needs glib, you get it from http://ftp.gnome.org/pub/gnome/sources/glib/ which on its turn needs libffi ftp://sourceware.org/pub/libffi/ and you are already there...

So, is there a site who is sort of "indexing" all these software? The best one I found is the linux from scratch projects' site, but that does not what I want.

thanks, f.

share|improve this question
    
What Linux distribution are you using? That's what package managers (apt, yum, pacman etc) are for. –  terdon Dec 7 '12 at 12:38
    
I am no specific linux distro affiliate (regardless of it, to answer the question, I use Mint), but I just need to cross compile a bunch of linux packages to fit an inhouse hardware device with a MIPS processor and some exotic hardware in it... –  fritzone Dec 7 '12 at 12:52

1 Answer 1

up vote 3 down vote accepted

If you are using a debian based distribution (like Mint) you should be able to do this through apt. First, get the sources of the package you are interested in:

apt-get source <package>

Then, get the packages it depends on:

sudo apt-get build-dep <package>     

From the apt-get manpage:

   build-dep
       build-dep causes apt-get to install/remove packages in an attempt to
       satisfy the build dependencies for a source package. By default the
       dependencies are satisfied to build the package natively. If
       desired a host-architecture can be specified with the --host-architecture
       option instead.

This might be enough for you if you can specify the --host-architecture. Alternatively, you might install the package in question (normally, with all its dependencies) and then get the list of dependencies like so:

apt-cache depends package

Now, you can get the source of the package (as described above) and then the sources of each of the dependencies returned by the previous step.

Make sure you have enabled the source repositories in /etc/apt/sources.list for each repo you want to use, you will need a deb-srcline:

deb http://packages.linuxmint.com/ maya main upstream import backport romeo
deb-src http://packages.linuxmint.com maya main upstream import backport romeo   
share|improve this answer
    
Looks promising, but after sudo apt-get source libudev-devI get Picking 'udev' as source package instead of 'libudev-dev' E: Unable to find a source package for udev ... what did I miss out? –  fritzone Dec 7 '12 at 13:49
    
@fritzone, sorry forgot to mention the deb-src line, see updated answer. –  terdon Dec 7 '12 at 13:57
    
hm.. partially works now. I can get the source for rabbitvcs :) but I cannot for libudev-dev ... :( do you know in which src repo is this located? –  fritzone Dec 7 '12 at 14:09
    
I think it is in the Ubuntu repo and not in Mint's. Have you added an src line for the main Ubuntu repository? –  terdon Dec 7 '12 at 14:14
    
Now I have and Now it works :) Thanks a lot! –  fritzone Dec 7 '12 at 14:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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