Package Search
Package searches can be performed by issuing HTTP GET requests of the form
/rpc?v=5&type=search&by=field&arg=keywords
where keywords is the
search argument and field is one of the following values:
-
name
(search by package name only) -
name-desc
(search by package name and description) -
maintainer
(search by package maintainer) -
depends
(search for packages that depend on keywords) -
makedepends
(search for packages that makedepend on keywords) -
optdepends
(search for packages that optdepend on keywords) -
checkdepends
(search for packages that checkdepend on keywords)
The by parameter can be skipped and defaults to name-desc
.
If a maintainer search is performed and the search argument is left empty, a list of orphan packages is returned.
Package Details
Package information can be obtained by issuing HTTP GET requests of the form
/rpc?v=5&type=info&arg[]=pkg1&arg[]=pkg2&…
where pkg1, pkg2, …
are the names of packages to retrieve package details for.
Request Methods
Historically, the type=multiinfo
v=5
GET request has supported a
particular ordering of arguments. The POST request argument ordering
cannot be guaranteed, and so its behavior is different. Differences are
described below:
-
GET
-
type=multiinfo
arguments are parsed by iterating the query string from last to first key, looking for anarg
orarg[]
. Once one is found, behavior diverges depending on which is found first: thearg
parameter is used as the sole argument or thearg[]
parameters are built into a list until a non-argument key is encountered. -
POST (experimental)
-
All provided instances of
arg
andarg[]
given totype=multiinfo
are supported in unison:curl -d 'v=5' -d 'type=info' -d 'arg=one' -d 'arg[]=two' -d 'arg[]=three' ...
All other valid query types are supported without change.
Examples
-
search
-
/rpc?v=5&type=search&arg=foobar
-
search
by maintainer -
/rpc?v=5&type=search&by=maintainer&arg=john
-
search
packages that have boost asmakedepends
-
/rpc?v=5&type=search&by=makedepends&arg=boost
-
search
with callback -
/rpc?v=5&type=search&arg=foobar&callback=jsonp1192244621103
-
info
-
/rpc?v=5&type=info&arg[]=foobar
-
info
with multiple packages -
/rpc?v=5&type=info&arg[]=foo&arg[]=bar