Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I´am playing with Software Center's API, after seeing this post on askubuntu.

My question is: how can I get a list of all Ubuntu Software Center's apps?

From the other question I get this endpoint for retrieving all apps: http://software-center.ubuntu.com/api/2.0/applications/any/ubuntu/any/any/

But the problem is it looks like it only returns 580 apps.

But on appnr.com it seems their a lot more apps in the Ubuntu Software Center? like 30204 packages?

So then how can I get all Ubuntu Software Center's apps?

share|improve this question
    
Do you want all packages available or the ones with special attention in the software center only? Would you really need the API to use it or also the local package management cache? If you can use the local cache, which sources do you want to include? Just from main, or also from partner, multiverse, universe, extras.ubuntu.com, etc. –  gertvdijk Jan 17 '13 at 10:37
    
@gertvdijk he wants all so anything he has in his sources.list ;-) –  Rinzwind Jan 17 '13 at 10:41
    
The api mentioned is not a comprehensive listing. It is only for non-free (commercial) application listings. There is no api that I am aware of that will show all packages from all repositories in one view. You can parse the app-install-data as mentioned in the other askubuntu post. –  zoopster Jan 25 '13 at 14:39
add comment

1 Answer

up vote 2 down vote accepted

On local system

Using your local package management caches a simple use of some shell scripting:

apt-cache dumpavail | grep ^Package | cut -d " " -f 2 | sort | uniq

This just lists package names, so it's not the same as using the Software Centre API, but it will list all package names you can use later to query the API with, I guess. This lists 38820 packages on my system. Be aware that it may contain non-Ubuntu repository backed packages, so not all of them might be available in the SC.

Note: on amd64 systems with Multiarch enabled apt-cache will list many double ones, so that's why the uniq tool is used.


Online

Go to packages.ubuntu.com, see the section Browse through the lists of packages:, follow the link of the distribution (version), then click the link at the bottom of the page (All packages), e.g. packages.ubuntu.com/quantal/allpackages.

share|improve this answer
    
Cool thanks @gertvijk. Ok so their is none centre-place(online) to get all apps/ packages? So site like apps.ubuntu.com and appnr.com just has an copy of sources.list on their servers? –  Voidcode Jan 17 '13 at 20:26
    
@Voidcode Yes, packages.ubuntu.com will list some, see my updated answer. –  gertvdijk Jan 17 '13 at 20:40
    
Ok I can use this :) only thing more is if packages.ubuntu.com can return it in format like RSS or JSON like (archive during the last 7 days RSS-feed) packages.ubuntu.com/raring/main/newpkg?format=rss –  Voidcode Jan 17 '13 at 21:00
    
RSS is for news feeds... these are just package lists. Are you sure you're asking for the right thing? JSON-encoded, well, that's a little bit of a feature request. They can never have enough formats there as everyone has different needs. –  gertvdijk Jan 17 '13 at 21:03
    
I will say json or xml is the de facto standard for APIs on the web,... Yes.. I need this to an Android app I building. And I has make the AsyncTask to get all apps via json. But now I am thing-en it will be better to use SSH to get the users own sources.list... –  Voidcode Jan 18 '13 at 20:05
add comment

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.