![]() |
|
![]() |
#1 |
Senior Member
Регистрация: 08.06.2010
Сообщений: 215
|
![]()
Коллеги, помогите решить задачу.
Есть необходимость использования XBMC путем компиляции из исходников, а не установки из официальных пакетов. Однако не хочется делать из HTPC developer'скую станцию (установка кучи ненужных пакетов), в связи с чем хочется сделать так - компилируем на другой машинке, делаем пакет(ы) и устанавливаем их на HTPC. Однако столкнулся с проблемами, которые пока не знаю как решить. 0. Сделал HTPC на базе Ubuntu Maverick. Из образа HTPC сделал виртуалку, чтобы системы совпадали и не вылезли проблемы несоответствия архитектуры. 1. В виртуалке скомпилировал из исходников (branch Dharma), запустил установку из под checkinstall - болт. Вроде как отрабатывает, однако создает пакет в 10кб, в котором только документация. Не пойму почему так. При этом make install все что надо копирует. Может checkinstall что-то в Maverick не нравится? Первая попытка запуска из под него заругалась, что не может создать каталог /usr/share/xbmc. Нашел совет сделать сначала make install, а потом использовать checkinstall. Попробовал, однако все равно выдавал ошибку, сработало sudo checkinstall ... sudo make install. Но с созданием неполного пакета (см. выше). 2. Решил разбираться со скриптом, который, насколько я понял, используется для компиляции пакетов в официальном PPA (SRCDIR/tools/Linux/packaging/ppa-builder.sh). Поразбиравшись с параметрами, запустил его с опциями --local --no-export maverick и указанием revision=35647. Увы, он делает копию сырцов, запускает bootstrap (в конце идет сообщение "Please (re)run configure..."), соответственно на стадии dh_clean ругается, что configure неправильный и выходит с ошибкой. В чем может быть дело?
__________________
LibreELEC 9.2.6 -> Mini-PC GB-XM12-3227 -> SHARP LC-40LE700 & Yamaha RX-V367 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Регистрация: 06.01.2011
Сообщений: 179
|
![]()
Я делаю так:
0. Ставлю кучу библиотек из Readme 1. Код:
./bootstrap Код:
./configure --prefix=/usr --enable-debug=no Код:
make -j2 5. Код:
sudo checkinstall --pkgname=xbmc-git --pkgversion=`git rev-parse --short HEAD`-update make install P.S. Если бы кто научил строить из "ppa-builder.sh" был бы сильно благодарен. |
![]() |
![]() |
![]() |
#3 |
Senior Member
|
![]()
How to create your own Ubuntu XBMC packages
Вот тут написано как работать с ppa-builder.sh, пост конечно несколько старый, но содержимое думаю актуальное еще. Также при желании можно зарегистрироваться на launchpad.net и создать свой проект, тогда комп не будет как "developer'ская станция"
__________________
Qnap TS-228A Nvidia Shield TV |
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: 06.01.2011
Сообщений: 179
|
![]()
Инструкцию смотрел. Можно сказать, делал по ней.
Однако потерпел фиаско: он чего-то о-о-о-о-чень долго сканировал, потом ещё чего-то делал, я плюнул и собрал через make. Деталей уже не помню, нужно будет повторить. |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Регистрация: 27.12.2010
Адрес: Междуреченск, Кемеровская обл.
Сообщений: 291
|
![]()
Пересборка пакетов в Debian GNU/Linux
Важно: Цитата:
__________________
Intel Core2 Duo, ASUS Nvidia GT220, GMC AVC M1, Linux // M8S+ Amlogic S805, Tronsmart Vega S96 Amlogic S912 |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: 08.06.2010
Сообщений: 215
|
![]()
Насколько я понял, они в основном собирают через pbuilder, который в нагрузку к девелоперским пакетам еще создает чистый образ указанной системы и в ней компилирует. То есть грузит систему еще больше, да и долго.
В скрипте ppa-builder.sh это опция, поэтому хотелось бы просто собрать пакеты. Не нужен launchpad, не собираюсь я распространять эти пакеты, они мне нужны для личного пользования. Жаль, буду тогда разбираться с checkinstall. Вот только после него нужно еще дорабатывать напильником, как минимум Depends нужно добавлять.
__________________
LibreELEC 9.2.6 -> Mini-PC GB-XM12-3227 -> SHARP LC-40LE700 & Yamaha RX-V367 |
![]() |
![]() |
![]() |
#7 | |
Senior Member
|
![]()
Можно такой вариант, но все равно dev пакеты ставить придется.
Код:
apt-get source xbmc apt-get build-dep xbmc Заходим в папку которая получилась xbmc-*****-чего-то-там-еще, оттуда берем папку debian и кладем себе в исходники. Меняем версию в debian/changelog Запсукаем Код:
./bootstrap Код:
dpkg-buildpackage Цитата:
__________________
Qnap TS-228A Nvidia Shield TV |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Регистрация: 08.06.2010
Сообщений: 215
|
![]()
То есть dpkg-buildpackage сам скомпилирует исходники и соберет нужные для установки файлы в пакет(ы)? Это хорошо, то что я и искал.
А где ему свои опции для configure добавить можно?
__________________
LibreELEC 9.2.6 -> Mini-PC GB-XM12-3227 -> SHARP LC-40LE700 & Yamaha RX-V367 |
![]() |
![]() |
![]() |
#9 |
Senior Member
|
![]()
Все верно, сделает все сам. Параметры для configure находятся в debian/rules
__________________
Qnap TS-228A Nvidia Shield TV |
![]() |
![]() |
![]() |
#10 |
Senior Member
Регистрация: 06.01.2011
Сообщений: 179
|
![]()
Вы меня извините, но я тупой.
Делаю так: 1. Качаю с git-а, для чистоты эксперимента ничего не меняю. 2. dch --local bla-bla Дополняю ченч-лог, сохраняю. 3. ./bootstrap Всё сработало. 4. dpkg-buildpackage -rfakeroot Начинает работать, делает чего-то и, бац, выпадает: Код:
dh: Unknown sequence configure (choose from: binary binary-arch binary-indep build clean install) make[1]: *** [configure] Error 255 Спрашивается: чего ему надо? |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|