Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/relrod/pkgbot
An IRC bot that lets you query the package database of many distributions/repositories.
https://github.com/relrod/pkgbot
Last synced: 12 days ago
JSON representation
An IRC bot that lets you query the package database of many distributions/repositories.
- Host: GitHub
- URL: https://github.com/relrod/pkgbot
- Owner: relrod
- Created: 2012-06-19T08:49:44.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2014-05-21T04:22:36.000Z (over 10 years ago)
- Last Synced: 2024-10-04T21:21:57.083Z (about 1 month ago)
- Language: Python
- Size: 148 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pkgbot
An IRC bot which provides information about packages in various distros'
repos.# Using it
The bot is written in Python and requires the following modules:
* twisted
* requests
* beautifulsoupOn Fedora and RHEL, this can be obtained with:
`yum install python-twisted python-requests python-BeautifulSoup`(On RHEL/CentOS this requires EPEL.)
There's a set of scripts that determine how to obtain search results
for a given distro.This is all still a work in progress, but I'd like to have at least two
ways to obtain package information:- Call a web service API (e.g. the one on apps.fedoraproject.org/packages)
- Periodically obtain (and use) a package database to search.
- This is for distros that don't offer a web interface to their pkgdb.In an irc channel, you can query the bot using:
* .pkg fedora 17 kernel
* .pkg archlinux firefox
* .pkg ubuntu bash
* .pkg debian emacs
* ... etc.# How it works
How it works internally varies greatly based on which distro is being queried.
Distro/Repo
Key (to query bot with)
Summary
Arch Linux*
archlinux
Queries the JSON API at
https://www.archlinux.org/packages/search/json/?name=[...]
* Does not currently support "AUR" packages.
# What distros are supported?
Everything listed in the above table is currently supported. However, I would
like to support the following soon, as well:* Fedora
* EPEL
* Debian
* Ubuntu
* FreeBSD
* NetBSD
* Homebrew (OS X)
* [your favorite distro here]I'd also eventually like to support a `.provides` command that takes a distro
argument and a file path argument, and determines which package owns the file.
Example:```
< relrod> .provides fedora-17 /usr/bin/firefox
< pkgbot> relrod: firefox
```# License & Hacking
Licensed under GPLv2+.
When hacking please ensure all tests pass (when they exist).
Also please ensure that your code passes PEP8 tests.
A good .git/hooks/pre-commit hook is: `find -name '*.py' | xargs pep8`
(and ensure the hook is `chmod +x`).