Дистрибутив для разработчика

Занимаюсь разработкой под web на Ruby On Rails - что примечательно развертывание проекта под rvm (типа emerge только в инфраструктуре ruby) требует даже на бинарном дистре кучу -dev пакетов и build тулзы.

Но вообще-то пока что своя рубашка ближе к телу, а я лично изза админского прошлого не отказываюсь от кальки. Например нетихо доставляет безгеморная установка разных версий питона, пыха, руби, постгреса и прочих, что в бинарных дистрах зачастую - только /usr/local только хардкор

Но как то надоело собирать пакеты с флагом -b и выкладывать их на локальную шару, чтобы остальной народ в компании мог обновиться.
Понятно, что мейнстрим кальки не будет собирать всякие dev-lang да еще и в разных версиях

Народ, как вы считаете, имеет смысл заморочиться и (в примитивнейшем случае) разродиться бинхостом для таких dev- тулз?

(вообще-то продублировал в форум кальки, но мне кажется там мало народу)

Ну а зачем вручную указывать

Ну а зачем вручную указывать флаг '-b', если в make.conf в FEATURES можно указать FEATURES="buildpkg", в этом случае будут собираться бинарные пакеты для всех собираемых (устанавливаемых) пакетов.

Ну а зачем в шару отдельно выкладывать, если можно сделать символьную ссылку на директорию, которая является "шарой", вот и всё.

ок, спасибо за FEATURES, под

ок, спасибо за FEATURES, под шарой именно Ваш вариант и имел в виду.

но вопрос не про это

Ну а в чём проблема, если в

Ну а в чём проблема, если в вашей организации (компании) нужен binhost для облегчения распространиния определённых версий программ - то делайте его или вас интересует вопрос со стороны создания binhost, который будет публично доступен всем желающим ?

ну просто можно just4fun

ну просто можно just4fun собрать дистр (который мы например будем ставить на новые компы для "новобранцев", а я дома с удовольствием буду обновлять домашний рабочий ноут), binhost это ж минимальный вариант.
так что я просто спрашаваю есть ли спрос, а заодно сразу видно, есть ли единомышленники, готовые помочь

У себя на работе держу

У себя на работе держу бинхост с тремя профилями. Очень удобно.

можете рассказать попобробней

можете рассказать попобробней о роде занятий и специфике профилей?

У нас ведется разработка на

У нас ведется разработка на Qt4, java, php. Соответственно я завел профиль с соответстующими USE-флагами и сделал set'ы с необходимым набором софта. для каждого профиля организовал chroot-окружение, в котором это все собирается. binhost доступен по ftp (использую pure-ftpd). собственно, все слизано с кальки.

отлично. вопрос билдов: как

отлично. вопрос билдов: как проверяется стабильность? ктото обкатывает? или есть какая-то система тестов для окружения? например образ разворачивается в виртуалку, там инсталлится что-то или уже находится в системе и затем прогоняется подобие тестов
например, что php_info - ок, вебсервер есть и отвечает, есть заголовки qt и тестовый (или вовсе реальный) проект билдится на нем?

Вы может понимаете, почему я спрашиваю.. эта тема очень близка с темой CI и билд серверов. Т.е. народ как то автоматизирует это. например высший класс - это travis.ci где виртуалки разворачиваются с реальными проектами в облаке. Ну вот и сама просится мысль, что например разворачивание рабочего места (на неэкзотическом железе) - должно быть 1-1 к разворачиванию билд сервера для проекта. нажал кнопку - машина с проектом, где проходят все тесты готова. Садимся и пишем код, ***дь :)

Где нибудь есть что-то готовое (полуготовое) для этого? Ну не с 0 же руками?
P.S
Я вполне понимаю комичность последней фразы в контексте генту ;)
но это только кажется. для меня генту - это не взять и руками все делать, а сделать "под Х потребности"

единственное, что я проверяю,

единственное, что я проверяю, это непротиворечивость бинарных пакетов. Если конкретно, то при обновлении выполняю команду

emerge -vuDNt @world --with-bdeps=y -j4 && emerge -c && eclean-pkg -d && emerge -pvKe --with-bdeps=y @world && echo OK || echo ERROR

То есть обновляю мир, подчищаю, удаляю из PKGDIR ненужные пакеты, и проверяю их непротиворечивость.
Собственно, для моих задач этого достаточно. У меня в отделе около 10 человек (разработчики) обновляются с этого бинхоста. плюс что-то около 20 боевых серверов, раскиданных по всему Сибирскому ФО. Пока (тьфу-тьфу) проблем не было. Единственное, что я не решил (и не уверен, что это нужно решать), это универсальная сборка ядра (как у кальки). Но мне сейчас проще для каждой машины ядро сконфигурировать руками, чем подбирать универсальный конфиг на все случаи жизни.

razum2um написал(а): отлично.

razum2um написал(а):
отлично. вопрос билдов: как проверяется стабильность? ктото обкатывает? или есть какая-то система тестов для окружения? например образ разворачивается в виртуалку, там инсталлится что-то или уже находится в системе и затем прогоняется подобие тестов
например, что php_info - ок, вебсервер есть и отвечает, есть заголовки qt и тестовый (или вовсе реальный) проект билдится на нем?

ИМХО у каждого своя кухня. Хотя вот это http://www.opennet.ru/opennews/art.shtml?num=32017 давно держу на примете, но еще не пробовал.

да, но на трависе тестируется

да, но на трависе тестируется куча проектов. в том числе и acceptance тесты на Xvfb.

это просто вопрос convention over configuration, очень мощный для рельс аргумент (во-первых), а во-вторых вспомните Спольски: деплой должен быть 1й кнопкой. запуск тестов - так же.

так, что если команда разработчиков жрет кактусы и не делает чего-то что ей упрощает жизнь - сами себе ежики

Я за binhost. Но сам по себе

Я за binhost. Но сам по себе бинхост не очень здорово, когда приходится сапортить более 2-3 машин с не совсем одинаковыми конфигурациями. Поэтому, с ним лучше юзать профили как писали выше или SСM. Я пролетел с профилями, остановившись на CMS, хотя профили наверное еще попробую.

1) можете более подробно

1) можете более подробно поделиться опытом?
2) если допустить, что у всех amd64, и нет экзотического оборудования (у всех кальковское ядро) - в чем конкретно сложность?

Ну если вкратце, то 1) на

Ну если вкратце, то
1) на всех хостах ядро одной версии. Но допускаю небольшую модификацию ядер из-за специфики hardened+виртуализация
2) профиль portage, mask, unmask, keywords, use везде одинаковый
3) актуальность портажа 2-3 месяца, не более
3) binhost один на всех
4) Стадии обновления: binhost->тестовые машины. Затем эти же обновления переходят постепенно, от наименее критичных до самых критичных машин. И так по циклу.
5) конфигурацию на сервисы и portage раздаю через bcfg2

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".