debian.org / О Debian Где взять Debian Поддержка Уголок разработчика Новости Wiki

Автор Тема: Создание deb пакеты из исходников  (Прочитано 3551 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xbsd

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 242
Создание deb пакеты из исходников
« : 14 Август 2012, 16:03:00 »
Всем привет!
Задался целью собрать deb пакет из исходных кодов, скаченных с сайта разработчик, на примере zabbix 2.0.2 .
Все манипуляции производятся на тестовой машине с debian sqeeze, запущенной под VirtualBox.
user@ftp-debian:~/src/debian/zabbix-2.0.2$ uname -a
Linux ftp-debian 2.6.32-5-686 #1 SMP Sun May 6 04:01:19 UTC 2012 i686 GNU/Linux
За основу было взято следующее руководство: IntroDebianPackaging.
Итак.
1. Скачал архив с исходными кодами zabbix-2.0.2.tar.gz в каталог ~/src/debian и распаковал его.
2. В каталоге zabbix-2.0.2 создал подкаталог debian. И в нем разместил файлы changelog, созданный командой dch --create -v 1.0.1 --package zabbix; compat, содержайщий только цифру 8; с файлом control возникли трудности, а именно не понятно чем его создавать (текстовым редактором? а содержимое писать ручками? или есть некий "генератор" шаблона?) ну да ладно, создал руками, вписал содержимое из мануала.. Получилось вот что
Source: zabbix
Maintainer: xbsd <xbsd@gmail.com>
Section: misc
Priority: optional
Standards-Version: 2.0.2
Build-Depends:

Package: zabbix
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: greet user
 hithere greets the user, or the world.
Не понятно что писать в разделе Build-Depends. В мануале zabbix ничего не сказано о зависимостях в процессе сборки. Зато хорошо описаны требования к софту для корректной работы zabbix сервера: apache, php5, mysql-server-5.1, mysql-client-5.1, php-gd, php-bcmath, php-ctype, php-xml, php-xmlreader, php-xmlwriter, php-session, php-net-socket, php-mbstring, php-gettext, php5-mysql. Как на основании этого списка корректно заполнить строку Depends в файле conrtol ?
Так же для работы zabbix сервера необходимо создать пользователя и группу zabbix, как автоматизировать этот процесс, чтобы при установке полуенного deb пакета пользователь и группа создались автоматически? Кстати и база данных тоже должна как-то создаться...

Вот.
Благодарю за внимание. Надеюсь мои вопросы не остануться без ответов :)
 

Оффлайн lameritos

  • Новичок форума
  • Сообщений: 1
Re: Создание deb пакеты из исходников
« Ответ #1 : 11 Сентябрь 2012, 17:27:07 »
нашол вот такую статью =) сам сейчас этим занемаюсь =)


http://alexey.sveshnikov.ru/blog/2010/03/29/zabbix-debianization/
 

Оффлайн xbsd

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 242
Re: Создание deb пакеты из исходников
« Ответ #2 : 21 Сентябрь 2012, 09:29:46 »
и как, у вас получилось?
на днях вернусь к вопросу. был в командировке, некогда было заниматься. Тем более раньше занимался этим по собственной инициативе, а теперь назрела практическая необходимость.
 

Оффлайн Lum

  • Пользователь
  • *
  • Сообщений: 29
Re: Создание deb пакеты из исходников
« Ответ #3 : 22 Сентябрь 2012, 16:59:04 »
Можно просто взять дебианизацию из  официального репозитория и адаптировать версии сборочных зависимостей и debian/rules для squeeze
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3346
  • Buster TDE & Buster LXDE & stretch KDE
Re: Создание deb пакеты из исходников
« Ответ #4 : 16 Ноябрь 2012, 08:41:02 »
Не даёт мне покоя отставание Debian в области мультимедия. Вчера поставил Wheezy и пытаюсь собрать XBMC с функциями PVR & timeshift из git clone https://github.com/AndreyPavlenko/xbmc-build.git с помощью скрипта. Скрипт не для самых ленивых но как пишут на Ubuntu 12.10 удаётся собрать работоспособную программу. Уже доустановил кучу зависимостей но упёрся в проблему, понять которую не могу, если кто специалист, прошу помощи
Spoiler: ShowHide
make -C xbmc/visualizations/XBMCProjectM
make[1]: Entering directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM'
make -C libprojectM
make[2]: Entering directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[3]: Entering directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[4]: Entering directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[4]: Leaving directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[4]: Entering directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[4]: *** Нет правила для сборки цели `/usr/lib/i386-linux-gnu/libGL.so', требуемой для `libprojectM.so.2.00'.  Останов.
make[4]: Leaving directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[3]: *** [CMakeFiles/projectM.dir/all] Ошибка 2
make[3]: Leaving directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM/libprojectM'
make[1]: *** [libprojectM/libprojectM.so] Ошибка 2
make[1]: Leaving directory `/home/alex/x/xbmc-build/sources/xbmc/xbmc/visualizations/XBMCProjectM'
make: *** [xbmc/visualizations/XBMCProjectM] Ошибка 2
Русские дебианщики против цифрового слабоумия !
 

Оффлайн Alexey_F

  • Местный житель
  • ***
  • Сообщений: 153
Re: Создание deb пакеты из исходников
« Ответ #5 : 16 Ноябрь 2012, 23:21:59 »
make[4]: *** Нет правила для сборки цели `/usr/lib/i386-linux-gnu/libGL.so', требуемой для `libprojectM.so.2.00'.  Останов.

Что выдаёт греп по мейкфайлу?
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3346
  • Buster TDE & Buster LXDE & stretch KDE
Re: Создание deb пакеты из исходников
« Ответ #6 : 17 Ноябрь 2012, 20:28:32 »
Что выдаёт греп по мейкфайлу?
Стыдно признаться, но такой фишки я не знаю, пользуюсь только apt-file search Буду благодарен, если научите. Эту проблему я решил (уже не помню название библиотеки) но есть и другие.

Сообщение объединено: 17 Ноябрь 2012, 22:51:38
Spoiler: ShowHide
LD      xbmc.bin
-----------------------
XBMC built successfully
-----------------------
make[1]: Leaving directory `/home/alex/a/vdr/xbmc-build/sources/xbmc'
make -C lib/addons/script.module.pil
make[1]: Entering directory `/home/alex/a/vdr/xbmc-build/sources/xbmc/lib/addons/script.module.pil'
make[1]: Leaving directory `/home/alex/a/vdr/xbmc-build/sources/xbmc/lib/addons/script.module.pil'
   dh_auto_test
Google Test Framework not configured, skipping testsuite check.
   dh_testroot
   dh_prep
   dh_installdirs
   dh_auto_install
Copying XBMC binary to /home/alex/a/vdr/xbmc-build/sources/xbmc/debian/xbmc/usr/lib/xbmc/
You can run XBMC with the command 'xbmc'
Copying support and legal files...                                             
Done!
Copying system files to /home/alex/a/vdr/xbmc-build/sources/xbmc/debian/xbmc/usr/share/xbmc
   dh_installml                                                               
   dh_installdocs
   dh_installchangelogs
   dh_installexamples
   dh_installman
   dh_installcatalogs
   dh_installcron
   dh_installdebconf
   dh_installemacsen
   dh_installifupdown
   dh_installinfo
   dh_pysupport
dh_pysupport: This program is deprecated, you should use dh_python2 instead. Migration guide: http://deb.li/dhs2p
   dh_installinit
   dh_installmenu
   dh_installmime
   dh_installmodules
   dh_installlogcheck
   dh_installlogrotate
   dh_installpam
   dh_installppp
   dh_installudev
   dh_installwm
   dh_installxfonts
   dh_installgsettings
   dh_bugfiles
   dh_ucf
   dh_lintian
   dh_gconf
   dh_icons
   dh_perl
   dh_usrlocal
   dh_link
   dh_compress
   dh_fixperms
   dh_strip
   dh_makeshlibs
   debian/rules override_dh_shlibdeps
dh_shlibdeps -a -Xdvdplayer
dpkg-shlibdeps: ошибка: информация о зависимостях не найдена для /usr/lib/libGL.so.1 (используется debian/xbmc/usr/lib/xbmc/addons/visualization.glspectrum/opengl_spectrum.vis)
dh_shlibdeps: dpkg-shlibdeps -Tdebian/xbmc.substvars debian/xbmc/usr/lib/xbmc/system/ImageLib-i486-linux.so debian/xbmc/usr/lib/xbmc/system/libcpluff-i486-linux.so debian/xbmc/usr/lib/xbmc/system/libexif-i486-linux.so debian/xbmc/usr/lib/xbmc/system/players/paplayer/libsidplay2-i486-linux.so debian/xbmc/usr/lib/xbmc/system/players/paplayer/timidity-i486-linux.so debian/xbmc/usr/lib/xbmc/system/players/paplayer/SNESAPU-i486-linux.so debian/xbmc/usr/lib/xbmc/system/players/paplayer/nosefart-i486-linux.so debian/xbmc/usr/lib/xbmc/system/players/paplayer/stsoundlibrary-i486-linux.so debian/xbmc/usr/lib/xbmc/system/players/paplayer/vgmstream-i486-linux.so debian/xbmc/usr/lib/xbmc/system/players/paplayer/adpcm-i486-linux.so debian/xbmc/usr/lib/xbmc/system/libcmyth-i486-linux.so debian/xbmc/usr/lib/xbmc/system/hdhomerun-i486-linux.so debian/xbmc/usr/lib/xbmc/xbmc.bin debian/xbmc/usr/lib/xbmc/addons/library.xbmc.pvr/libXBMC_pvr-i486-linux.so debian/xbmc/usr/lib/xbmc/addons/visualization.projectm/projectM.vis debian/xbmc/usr/lib/xbmc/addons/library.xbmc.addon/libXBMC_addon-i486-linux.so debian/xbmc/usr/lib/xbmc/addons/screensaver.rsxs.plasma/Plasma.xbs debian/xbmc/usr/lib/xbmc/addons/visualization.glspectrum/opengl_spectrum.vis debian/xbmc/usr/lib/xbmc/addons/library.xbmc.gui/libXBMC_gui-i486-linux.so debian/xbmc/usr/lib/xbmc/addons/visualization.waveform/Waveform.vis debian/xbmc/usr/lib/xbmc/addons/screensaver.rsxs.euphoria/Euphoria.xbs debian/xbmc/usr/lib/xbmc/addons/screensaver.rsxs.solarwinds/Solarwinds.xbs debian/xbmc/usr/lib/xbmc/xbmc-xrandr returned exit code 2
make: *** [override_dh_shlibdeps] Ошибка 2
root@debian:/home/alex/a/vdr/xbmc-build#
такое впечатление что сырцы заточены явно не под дебиан.
« Последнее редактирование: 17 Ноябрь 2012, 22:51:38 от ferum »
Русские дебианщики против цифрового слабоумия !
 

Оффлайн Malaheenee

  • Ветеран
  • *****
  • Сообщений: 2565
  • Учтите, мы можем дать и вредный совет.
Re: Создание deb пакеты из исходников
« Ответ #7 : 18 Ноябрь 2012, 11:13:14 »
ferum, как собираете? В идеале, нужно собирать на чистой системе без всяких проприетарных драйверов.
Во-вторых, прочтите ридми и посмотрите опцию для отключения поддержки визуализации при сборке.
Debian Sid: XFCE x 1, openbox x 2.
Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн ferum

  • Ветеран
  • *****
  • Сообщений: 3346
  • Buster TDE & Buster LXDE & stretch KDE
Re: Создание deb пакеты из исходников
« Ответ #8 : 18 Ноябрь 2012, 14:13:17 »
Веду диалог с разработчиком скрипта, который заточил его под Ubuntu 12.10 но по знаниям между нами пропасть. Он мне написал:
 Ну так у вас все собралось. Упало на dh_shlibdeps - вычисление зависимостей для deb пакета. Попробуйте подредактировать скрипт и пропишите все нерезолвленные через -X.
Легко сказать...
В принципе мне достаточно выполнить make install но мне нужны deb пакеты, так как та система поставлена конкретно для компиляции и в проекте я хочу строить чистенькую систему под себя с удобным для меня окружением и надеюсь уже на другой машине.
Русские дебианщики против цифрового слабоумия !
 

Русскоязычное сообщество Debian GNU/Linux

Re: Создание deb пакеты из исходников
« Ответ #8 : 18 Ноябрь 2012, 14:13:17 »


Теги:
 

Создание своей сборки LiveCD

Автор makla4nik

Ответов: 2
Просмотров: 1563
Последний ответ 04 Апрель 2015, 22:40:36
от Datarza
Создание собственной не live сборки

Автор just.stranger

Ответов: 1
Просмотров: 982
Последний ответ 18 Июнь 2015, 13:32:22
от Utility