Upload
alexander-shigin
View
402
Download
0
Embed Size (px)
DESCRIPTION
Блиц-доклад на rootconf 2009. Как использовать пакетные менеджеры с distutils и ruby gems. Еще чуть--чуть про setuptools.
Citation preview
2
В чем проблема
написать программу — начало пути
главная цель: использование
когда машин много, установка становится проблемой
Пакетные менеджеры
есть почти везде
решают проблемы установки, обновления и удаления программ
решают по разному, но обычно работают
Python
изначально странная установка модулей
по умолчанию модули для 2.4, 2.5 и 2.6 — это абсолютно разные модули
даже если они ничем не отличаются
Python: distutils
решает проблему установки
но по своему:
только в python 2.5 появились зависимости
в поставке только bdist_rpm
странная архитектура
до autoconf далеко
distutils: rpm
иногда установка сломана
из __os_install_post убрать brp-python-bytecompile
зависимости надо прописывать «ручками»
distutils: deb
bdist_deb появился в 2004 году, но до сих пор не включен в поставку
easy_dep, stdeb
distutils: FreeBSD
собственная обвязка для портов
dist2free: страшный, но работает
http://github.com/shigin/dist2free/tree/master
документация доступна в wiki
Python: setuptools
заточен под eggs
встроенные модули и FreeBSD
зависимости с первого дня
setuptools: easy_install
умеет обновлять пакеты
но не ведет их базы
не умеет удалять
Python: pip
люди опять не хотят понять, что надо создавать «нативные» пакеты
он новый и пока его не используют
Ruby: gems
нативные пакеты в TODO
уже 4 года
gems: парадокс
FreeBSD уже всё поняли
deb: dpkg-gem, dkpg-rails
rpm: gem2rpm