Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Помощь и поддержка > Поддержка платформы Linux \ Live

Ответ
 
Опции темы Опции просмотра
Старый 31.01.2011, 10:27   #1
Joky
Senior Member
 
Регистрация: 08.06.2010
Сообщений: 215
По умолчанию Создание deb-пакетов из исходников

Коллеги, помогите решить задачу.

Есть необходимость использования 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
Joky вне форума   Ответить с цитированием
   
Старый 31.01.2011, 12:24   #2
PetrovSE
Senior Member
 
Регистрация: 06.01.2011
Сообщений: 179
По умолчанию

Я делаю так:

0. Ставлю кучу библиотек из Readme

1.
Код:
./bootstrap
2.
Код:
./configure --prefix=/usr --enable-debug=no
3.
Код:
make -j2
4. Проверяем, что всё построилось
5.
Код:
sudo checkinstall --pkgname=xbmc-git --pkgversion=`git rev-parse --short HEAD`-update make install
Проверял и в lucid и в maverick.

P.S.
Если бы кто научил строить из "ppa-builder.sh" был бы сильно благодарен.
PetrovSE вне форума   Ответить с цитированием
Старый 31.01.2011, 13:23   #3
kerber
Senior Member
 
Регистрация: 05.02.2010
Адрес: Казань
Сообщений: 2,930
Отправить сообщение для kerber с помощью ICQ Отправить сообщение для kerber с помощью Skype™
По умолчанию

How to create your own Ubuntu XBMC packages
Вот тут написано как работать с ppa-builder.sh, пост конечно несколько старый, но содержимое думаю актуальное еще.
Также при желании можно зарегистрироваться на launchpad.net и создать свой проект, тогда комп не будет как "developer'ская станция"
__________________
Qnap TS-228A
Nvidia Shield TV
kerber вне форума   Ответить с цитированием
Старый 31.01.2011, 19:30   #4
PetrovSE
Senior Member
 
Регистрация: 06.01.2011
Сообщений: 179
По умолчанию

Инструкцию смотрел. Можно сказать, делал по ней.
Однако потерпел фиаско: он чего-то о-о-о-о-чень долго сканировал, потом ещё чего-то делал, я плюнул и собрал через make.
Деталей уже не помню, нужно будет повторить.
PetrovSE вне форума   Ответить с цитированием
Старый 31.01.2011, 19:43   #5
MATPOC
Senior Member
 
Регистрация: 27.12.2010
Адрес: Междуреченск, Кемеровская обл.
Сообщений: 291
По умолчанию

Пересборка пакетов в Debian GNU/Linux

Важно:

Цитата:
3. Изменение исходных текстов перед сборкой

во избежание конфликтов рекомендуется изменить номер версии,
используя команду dch из пакета devscripts:

dch --local имя

где "имя" является коротким именем, идентифицирующим вносящего изменение. После выполнения команды будет предложено указать комментарий для помещения в debian/changelog.
__________________
Intel Core2 Duo, ASUS Nvidia GT220, GMC AVC M1, Linux // M8S+ Amlogic S805, Tronsmart Vega S96 Amlogic S912
MATPOC вне форума   Ответить с цитированием
Старый 01.02.2011, 11:58   #6
Joky
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
Joky вне форума   Ответить с цитированием
Старый 01.02.2011, 12:22   #7
kerber
Senior Member
 
Регистрация: 05.02.2010
Адрес: Казань
Сообщений: 2,930
Отправить сообщение для kerber с помощью ICQ Отправить сообщение для kerber с помощью Skype™
По умолчанию

Можно такой вариант, но все равно dev пакеты ставить придется.
Код:
apt-get source xbmc
apt-get build-dep xbmc
Сольет xbmc исходный код и установит зависимости.
Заходим в папку которая получилась xbmc-*****-чего-то-там-еще, оттуда берем папку debian и кладем себе в исходники. Меняем версию в debian/changelog
Запсукаем
Код:
./bootstrap
потом
Код:
dpkg-buildpackage
Если все нормально, то через какое-то время получим нормальные deb пакеты.
Цитата:
Не нужен launchpad, не собираюсь я распространять эти пакеты, они мне нужны для личного пользования.
А никто и не говорит о распространении, для себя же.
__________________
Qnap TS-228A
Nvidia Shield TV
kerber вне форума   Ответить с цитированием
Старый 01.02.2011, 12:34   #8
Joky
Senior Member
 
Регистрация: 08.06.2010
Сообщений: 215
По умолчанию

То есть dpkg-buildpackage сам скомпилирует исходники и соберет нужные для установки файлы в пакет(ы)? Это хорошо, то что я и искал.
А где ему свои опции для configure добавить можно?
__________________
LibreELEC 9.2.6 -> Mini-PC GB-XM12-3227 -> SHARP LC-40LE700 & Yamaha RX-V367
Joky вне форума   Ответить с цитированием
Старый 01.02.2011, 12:37   #9
kerber
Senior Member
 
Регистрация: 05.02.2010
Адрес: Казань
Сообщений: 2,930
Отправить сообщение для kerber с помощью ICQ Отправить сообщение для kerber с помощью Skype™
По умолчанию

Все верно, сделает все сам. Параметры для configure находятся в debian/rules
__________________
Qnap TS-228A
Nvidia Shield TV
kerber вне форума   Ответить с цитированием
Старый 03.02.2011, 18:50   #10
PetrovSE
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
Если вместо шага 4 я сделаю "configure" и "make", то всё соберётся.
Спрашивается: чего ему надо?
PetrovSE вне форума   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 15:10. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.