ПрожЭкт

Команда

головаответственность
Guest Oneвеб-часть, конечные ява-, питон- ит.п. приложухи
Diver связь с апстримом, веб-часть
diGer толстый хостинг, портирование натива и полунатива
3dEyes портирование Qt-софта
beos legacy-софт, тестирование

Цели и мотивы

С одной стороны у всех есть куча разного софта, мелких реп, архивов, которые либо устарели либо забыты. С другой стороны наконец-то появился пакетник, который позволяет централизовать архивы добра и вписать его в историю человечества. Главное не распылятся, а собрать все наши наработки в рамках единой системы с единой точкой входа. Видимо, выходом усилий должен стать сайт с репозиториями подомный этому.

Требования

1) Репозиторий должен наполнятся и обновлятся относительно просто, иначе заебёмся.
2) Группа ответственных лиц должна иметь относительно полный доступ к инфраструктуре, чтоб выбывание ключевого человека не ухлопало проект. Как минимум каждый должен мочь развернуть систему на новом месте из бэкапа.

Структура

Guest One считает следующий подход разумным:
1) линейка бинарных реп: x86_gcc2 x86 (x86_64 etc ...)
2) одна any-arch репа c явой, пистоном и прочим lowe
3) возможно следует выделить в отдельную репу костыли типа openjdk_x86_aliases, UpdateHaikuOS.sh и прочие грязные хаки
4) отделная репа с запароленым доступом для софта с тёмными лицензиями

3dEyes считает разумным выенести Qt-софт в отдельную репу.

Diver считает, что чем меньше реп, тем лучше.

Наличные сайты и домены

qube.ru
haikuware.ru
qt-haiku.ru
haiku.uwolke.ru
myfreenet.ru

Хотелки Guest One

Сейчас у меня есть следующие цепочки зависимостей, которые я бы хотел заресолвить, дабы получить доступ к конкретному софту (и к куче софта той же природы):

Narcissu       <-- ponscipter
Tsukihime CD   <-- ONSlaught <--- [бага с 7z в портере]
Magical Diary  <-- Ren'Py    <-+- pyopengl
                               +- pygame [done]
Spiral Knights <-- lwjgl     <---  JOGL

Детали: Типы пакетов

Разнообразный софт потребует разных типов пакетов. Под них надо заготовить шаблончики.

Простое приложение = /apps + /data

Интерпретируемое anyarch приложение (питон, ява, луа, квесты и новеллы на стандартных движках) = /apps + ланчер + зависимость типа cmd:intrpreter (cmd:java, cmd:python2), сам интерпритатор в бинарной репе. Конечная цель - пропихнуть интерпритаторы в гайкопорты.

Инсталлер/Каркас для коммерческих прог = ланчер в /apps и пустая папка в non-packaged. Ланчер показывает окошко с инструкциями откуда скачать и куда распаковать, чтоб работало (или делает это сам, но с показми лицензий и т.п.). Гибридизируется с предыдущими видами пакетов.

Бандл - пакет со всеми зависимостями внутри. Для сложжных случаев.