- *? *programmingИтак, вопрос. Есть менеджер пакетов, у пакетов могут быть зависимости от того, что было установлено системным менеджером. Что лучше?
• опрашивать только разрешенные (включенные) плагины в момент установки, что они предоставляют (и удовлетворяются ли зависимости) — весьма легко сделать;
• обязать что-либо предоставляющие плагины класть файлики в каком-нибудь своем формате в /usr/share/leechcraft/installed — геморно.
Твои мнения, жуйк? Все установленные vs разрешенные?from idead, 13 months ago
Replies (13)
- @0xd34df00d:@Tishka17 Для включения они так и так должны быть включены, это проверяется ядром личкрафтов.
- @0xd34df00d:@NetBUG Вооо. А откуда мне знать, что под каким дистрибутивом надо сделать? )
- @Tishka17:@0xd34df00d в общем, я не понял что ты спросил
- @0xd34df00d:@Tishka17 Нуэ. Есть менеджер пакетов в юзер-спейсе. Позволяет ставить пакеты с иконками-расширениями-скриптами-етц в ~/.leechcraft. Они, очевидно, могут зависеть от пакетов, поставленных системными методами. Вопрос в том, как определять, что поставлено системными методами — опрашивать каждый загруженный плагин на предмет того, что он предоставляет, или парсить файлы в специальной папочке.
- @NetBUG:@0xd34df00d Охохо, это вообще получится интересная штука.
Получается, в сборку для каждого дистра будет входить каталог с отличающимся от дистра к дистру набором файликов (компонент — описание зависимостей). По дефолту оно простейшее — плагин xxx требует libxxx, libxxxx и xxxx-dev. Затем по мере тестирования на осях будут добавляться строчки вида "Для того, чтобы поставить данные зависимости, выполните yaourt -S libxxx libxxxx xxxx-dev" либо "sudo apt-get install libxxx". Rfr-nj nfr/ - @0xd34df00d:@Tishka17 О поставленных юзером пакетный манагер и так знает, ибо они поставлены его средствами, ничего парсить не нужно.
- @Tishka17:@0xd34df00d ну он же где-0то хранит инфу о них. Почему бы в таком же виде при установке системой не генерить инфу.from work, 13 months ago, in reply to /9
- @0xd34df00d:@NetBUG Хм, ваще можно указывать зависимость в каком-то унифицированном виде, и просто периодически обновлять маппинг вид → дистроспецифичный пакет. Наверное. Надо впилить в манагер пакетов передачу произвольной инфы — новости передавать, а-ля glsa, или еще чо.from idead, 13 months ago, in reply to /7
- @0xd34df00d:@Tishka17 Да. в SQL-базе. При установке INSERT INTO installed VALUES :package_id;, проверка — SELECT COUNT (package_id) FROM installed WHERE package_id = :package_id;, и так далее.
Проверить установленные зависимости — соответствующая хрень с джойнами, учитывая, что все зависимости хранятся в няшном распарсенном и готовом к употреблению виде в таблице deps.
При установке системным манагером максимум, что я могу — положить файлик куда-нибудь в /usr/share/leechcraft, и потом его парсить. А чтобы в этом файлике поддерживать актуальную версию зависимости, придется уже трахаться с генерацией этого файла в компил-тайме и все такое.from idead, 13 months ago, in reply to /11