This project is currently unmaintained. The core developers have moved to other projects. The system works very well and has a solid core.
If the status changes, please update this section.
aptexport is a python modules based on python-apt to collect packages and export the package list. Currently only json is supported.
python-apt from http://packages.debian.org/source/sid/python-apt is needed. This module is only useful on Debian based systems.
There's a command line tool called aptcacheexport. To see a installed packages in json format, do:
./aptcacheexport --only-installed --pretty
The exported format looks like:
{
"node": "<nodename>",
"packages": [
{
"name": "<packagename>",
"uri": "<uri>",
"version": "<version>",
"summary": "<summary>",
"sha256": "<sha256>",
"provider": "[apt|pip|gem|...]",
"architecture": "<i386|amd64>",
]
}
}
Here's an example of the exported format:
{
"node": "localhost.localdomain",
"packages": [
{
"name": "accountsservice",
"uri": "http://us.archive.ubuntu.com/ubuntu/pool/main/a/accountsservice/accountsservice_0.6.15-2ubuntu9_amd64.deb",
"summary": "query and manipulate user account information",
"version": "0.6.15-2ubuntu9",
"architecture": "amd64",
"sha256": "5d8e40ce35ea30f621573d40b17dcd21e3b974f2dd5e096c6c10701af8cdc5d0",
"provider": "apt",
},
...
]
}
To execute the whole testsuite (including pep8 and flake8), do:
make
To run a single testcase (in this example case test_aptexport_dummy_package from class JsonExportTests) with nose, do:
nosetests -s tests/tests.py:JsonExportTests.test_aptexport_dummy_package
There's also a testserver under the tests/ directory. To use the testserver, do:
./tests/testserver & ./tools/aptcacheexport -p -i -s http://127.0.0.1:8000/
The testserver has a timeout and stops automatically. If the server gets a POST request, the data from that request is loaded by json.