Вход:  Пароль:  
FreeSource: Мусорка/AltLinux?/Sisyphus?/NewPM?/Main ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Внимание! Это всего лишь наброски будущего концепт-кара.


Эта страница содержит описание пакетного менеджера нового поколения — Master.


Здесь будет выложено всё что будет требоваться от него.


Для начала, надо отделить котлеты от мух. Т.е. весь потенциал этой системы будет разложен по полочкам (разрезан на кучку отдельных приложений). И так, по порядку:
1) Пакетный менеджер. Это пакетный менеджер самого низкого уровня. Он умеет только ставить пакеты, удалять их и проверять целостность системы. Как пример из уже существующих систем, rpm или dpkg, только более лёгкая и менее функциональная. Нехватка функциональности будет компенсироваться остальными частями системы. Подробнее: http://wiki.sisyphus.ru/NewPM/MasterLevelA


2) Пакетный менеджер более высокого уровня. Умеет ставить пакеты удовлетворяя зависимости. Как пример из уже существующих систем, apt.
3) Сборщик пакетов. Штука для сборки пакетов. Как пример уже существующих систем, rpmbuild и debuild.


Различные тулзы для облегчения жизни:


4) Проверщик пакетов (на этапе сборки и просто так). Как пример уже существующих, rpmlint и sisyphus_check.
5) Конвертер spec файлов rpm в наш формат
6) Конвертер бинарных пакетов rpm в наш формат
7) Безопасный сборщик пакетов (hasher).
8) Пересборщик всего (или части) репозитория (в hasher'е конечно!).
9) bootstrap пересборщик (подробнее об єтом я напишу позже).


Подробнее по каждому пункту:


2) Список критериев которым должен удовлетворять пакетный менеджер высокого уровня:
a) рекурсивная установка пакетов
b) рекурсивное удаление пакетов
c) рекурсивное полное обновление системы


3) Список критериев которым должен удовлетворять сборщик пакетов:
a) уметь собирать пакеты :)
b) умение работать не от root


4) Список критериев для проверщика пакетов:


7) hasher
hasher придётся немного попатчить, но всё должно работать как работало.


Список критериев к реализации:
1) Критические части системы должны быть написаны на чистом C / C?++. К критическим частям относятся пакетные менеджеры низкого и высоко уровней.
2) эта штука должна собираться с -Wall -Werror по умолчанию (пусть компилятор сделает своё грязное дело...)
3) вся документация должна быть написана в формате La Te X? и переведена на английский.
4) полный набор стесс-тестов


Описание формата файлов спецификации для сборки: http://wiki.sisyphus.ru/NewPM/SpecFormat
Описание формата бинарных пакетов и пакетов с исходниками: http://wiki.sisyphus.ru/NewPM/PackageFormat


Пара замечаний по функционалу (зависимости, поиск пакетов): http://wiki.sisyphus.ru/DmitryStropaloff


Ссылки:
RPM http://www.rpm.org/
dpkg http://packages.debian.org/stable/base/dpkg
apt (RPM) https://moin.conectiva.com.br/AptRpm
apt (debian) http://packages.debian.org/stable/base/apt
yum http://linux.duke.edu/projects/yum/
poldek http://poldek.pld-linux.org/
pkgutils http://www.fukt.bth.se/~per/pkgutils/
xpkg http://www.xpkg.org/
pacman http://www.archlinux.org/pacman
jacman http://www.andy-roberts.net/software/jacman/
synaptic http://www.nongnu.org/synaptic/
checkinstall http://asic-linux.com.mx/~izto/checkinstall/
alien http://kitenet.net/programs/alien/
lintian http://lintian.debian.org/
rpmlint http://people.mandriva.com/~flepied/projects/rpmlint/


kemerge http://kemerge.sourceforge.net/
porthole http://porthole.sourceforge.net/


mach http://thomas.apestaart.org/projects/mach/
RPM Delta Compression Virtual Update Repository http://www.wombat.ie/software/rpmdc/
Conary http://www.rpath.com/technology/techoverview/ http://wiki.conary.com/


 
Файлов нет. [Показать файлы/форму]
Комментарии [Скрыть комментарии/форму]
Добавить комментарий: