[devel] I: Замена APT - Deepsolver!
Michael Pozhidaev
msp на altlinux.ru
Вт Мар 27 03:11:58 MSK 2012
Hello, Андрей Черепанов!
> Во-первых, есть мой пакет packageinstall, который ставит пакеты в графическом
> интерфейсе. Там столько костылей и подпорок для текущего apt, что надо
> переделывать.
> Во-вторых, zerg@ хорошо бы было заменить установку из его apt-indicator через
> Synaptic на нечто более лёгкое.
> В-третьих, клиент по установки приложений (который aen@ спит и видит)
> стопорится как раз из-за компонента установки пакетов.
Это то же самое, что мы уже обсуждаем, называя клиентом а-ля магазин
приложений? Как уже писал в deepsolver at lists, нам нужно:
1. Традиционный GUI в стиле synaptic, который неплохо бы получить, как
говорит zerg@, на халяву. Тут я с zerg@ согласен, потому что они в целом
все где-то делают одно и то же, но надо понять, кому какое API
требуется. Шансы с synaptic я оценивал бы как очень слабые. Это будет с
одной стороны очень мучительная работа, а с другой стороны с самого
начала это не похоже на хорошее production решение.
2. Упрощенный клиент, в котором показываются пакеты, имеющие
desktop-файлы. Замысел в том, чтобы скрыть массу пакетов, бесполезных в
самостоятельном виде.
> 1. Доступ к поиску/установке/удалению из C++ (желательно иметь биндинги и из
> Python). Для разработки удобнее чтобы для написания клиента нужно было
> подключить библиотеку и использовать её функции.
> 2. Природная асинхронность операций предполагают использование системы
> сигналов для информирования об ошибках и прогрессе. Это нужно чтобы в клиенте
> показывать прогресс и реагировать на возможные ошибки. На Qt это делается с
> помощью сигналов/слотов. Как здесь - тебе решать, я и на callback-функции
> согласен. Уже это будет большим шагом вперёд по сравнению с парсингом apt-
> pipe.
Так понимаю, что на деле есть очень много деталей, которые тяжело сразу
предусмотреть, но пока ты не написал ничего сверхъестественного. По
замыслу у нас есть два центральных класса: OperationCore и
IndexCore. Первый должен отвечать за всё, что касается установки
удаления, загрузки индексов и поиска информации о пакетах. Второй
отвечает за всё, что касается построения индексов. Сейчас эти классы
есть, но пока пустые. По ходу дела в них будет появляться реальное
содержание, за которым стоит следить. Следить можно на сайте в разделе
API, который буду всегда держать актуальным.
Из текущих просьб к этому API уже была просьба ldv@ давать останавливать
процесс после каждой стадии: после вычисления списков пакетов, после их
доставки в кэш, и т. д.
PS
Пошли в deepsolver at lists?
--
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/
Подробная информация о списке рассылки Devel