Итак, представим ситуацию: к вам в руки попала программа на python. Вы ей попользовались, она вам понравилась, и надо бы ее установить в систему, чтобы она каждый раз была под рукой. Одна закавыка: нигде не описан способ как упаковать ее в rpm. Если про deb-формат расписано на каждом углу, то про rpm нигде ни слухом ни духом. Наиболее логичным представляется выбрать одно из направлений:
1. Ничего никуда не упаковывать, просто распаковать скрипт в домашний каталог и пользовать его оттуда. Неудобно, так как нужно делать ненужные телодвижения.
2. Закинуть скрипт в $PATH и забить на последствия. А известно, что где упал один фантик, скоро будет целая свалка, так что не стоит этого делать. Воплями о том, что не стоит делать из системы помойку завален весь рунет.
3. Создать дерево каталогов и собирать rpm согласно всей науке. Тернистый путь чреватый различными граблями.
В действительности все гораздо проще. Как известно все ужеукрадено придумано до нас. Главное знать как это использовать в своих целях. Если программа написана по ГОСТу, то в распакованном каталоге должен находится файл setup.py, он то нам и нужен. Итак, пишем в консоли:
$ python setup.py bdist --format=rpm
Итак, последует выхлоп в консоли в данной директории будет создано дерево каталогов, произойдет автоматическая сборка rpm-пакета, *.src.rpm и будет создан spec-файл. Вот, все проще некуда! Однако это еще не все; доступны следующие форматы пакетов:
gztar загзиппованный так-файл .tar.gz
ztar сжатый тар-файл .tar.z
tar тар-файл .tar
zip соответственно zip-архив :)
rpm Наш любимый формат rpm
pkgtool Это не для слаквари, а для Solaris
sdux хз, что такое, однако в документации сказано, что для HP-UX
wininst самораспаковывающийся архив для windows
msi инсталлятор windows
Если по каким-либо причинам вам в лом набирать такую длинную команду --format=чего-то там, то спешу обрадовать, есть более короткий путь, ведь автоматизация не стоит на месте. Можно написать проще:
bdist_rpm
и обе rpm-ки будут лежать в данном каталоге.
Если в Вас есть жажда славы, то можно увековечить свое имя мэнтейнера в данном пакете. Хоть один фиг никто его читать не будет, но все-равно приятно
python setup.py bdist_rpm --packager="Johnny Go <go@fucker.org>"
Вот такие дела :)
1. Ничего никуда не упаковывать, просто распаковать скрипт в домашний каталог и пользовать его оттуда. Неудобно, так как нужно делать ненужные телодвижения.
2. Закинуть скрипт в $PATH и забить на последствия. А известно, что где упал один фантик, скоро будет целая свалка, так что не стоит этого делать. Воплями о том, что не стоит делать из системы помойку завален весь рунет.
3. Создать дерево каталогов и собирать rpm согласно всей науке. Тернистый путь чреватый различными граблями.
В действительности все гораздо проще. Как известно все уже
$ python setup.py bdist --format=rpm
Итак, последует выхлоп в консоли в данной директории будет создано дерево каталогов, произойдет автоматическая сборка rpm-пакета, *.src.rpm и будет создан spec-файл. Вот, все проще некуда! Однако это еще не все; доступны следующие форматы пакетов:
gztar загзиппованный так-файл .tar.gz
ztar сжатый тар-файл .tar.z
tar тар-файл .tar
zip соответственно zip-архив :)
rpm Наш любимый формат rpm
pkgtool Это не для слаквари, а для Solaris
sdux хз, что такое, однако в документации сказано, что для HP-UX
wininst самораспаковывающийся архив для windows
msi инсталлятор windows
Если по каким-либо причинам вам в лом набирать такую длинную команду --format=чего-то там, то спешу обрадовать, есть более короткий путь, ведь автоматизация не стоит на месте. Можно написать проще:
bdist_rpm
и обе rpm-ки будут лежать в данном каталоге.
Если в Вас есть жажда славы, то можно увековечить свое имя мэнтейнера в данном пакете. Хоть один фиг никто его читать не будет, но все-равно приятно
python setup.py bdist_rpm --packager="Johnny Go <go@fucker.org>"
Вот такие дела :)
Комментариев нет:
Отправить комментарий