Проверка корректности записи пакета в репозитории

Ivan Borzenkov ivan1986 на list.ru
Пт Авг 31 10:13:41 UTC 2012


Здравствуйте.

Подскажите пожалуйста с таким вопросом, или подскажите более оптимальное
решение.
Пишу репозиторий deb пакетов, управляемый через веб интерфейс, чтобы в него
могли добавлять пакеты зарегистрировавшись на сайте.
Для пакета нужен адрес самого пакета (apt поддерживает Location) и запись в
Packages о нем.

То-есть что-то типа

Package: <name>
Version: <ver>
Architecture: ...
Maintainer: ...
Installed-Size: 42
Depends: apt
Section: repo
Priority: extra
Homepage: http://pkggen.no-ip.org/
Filename: pool/repo-self_0.20120620_all.deb
Size: 2680
SHA256: 7d58577bd1a70dadf39e8041870684db46b8afea75f5a0f87a9acca8d2a70cf1
SHA1: 68793891019ef5fcc5198e9b495802dedc1bd28f
MD5sum: a8ebd3fc5309b515b22fbc244e2aeab8
Description: package to add http://pkggen.no-ip.org/repo/
 add http://pkggen.no-ip.org/repo/ stable main
 .
 This package in auto generated

Проблема в том что пакеты могут быть большего размера и закачивать их для
генерации этой инфы на сервер очень бы не хотелось
Поэтому хочется чтобы этот результат генерировал пользователь - для этого
можно написать простейший скрипт и потом добавлял в поле на сайте или
параметром в API
Однако добавления чего-то не подходящего по формату приведет к тому что apt
будет сообщать об ошибке и это порушит весь репозиторий.

Подскажите как лучше использовать более-менее готовое решение для проверки,
я так понимаю что нужно смотреть в сторону libapt, но нормальной
документации на нее не нашел.
Мне нужна функция, которой скармливаешь файлик Packages или одну запись, а
она говорит - валидный он или нет.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <https://lists.ubuntu.com/archives/ubuntu-ru/attachments/20120831/772a4951/attachment.html>


Подробная информация о списке рассылки ubuntu-ru