Как создать просто пакет Debian (просто сжать / извлечь источники или любые файлы с упаковкой Debian)
Мне нужно создать новый пакет .deb проекта Realxtend (https://github.com/realXtend/naali). Это огромный проект с множеством зависимостей и автоматическим сценарием bash (/tools/Linux/build-deps.bash) для загрузки, компиляции и установки всех программ deps и исполняемых файлов. Поэтому я пробую много учебников, но часто у меня возникают ошибки, и я застреваю, потому что учебники устарели (главным образом, с новым файлом правил) ... а также потому, что я не являюсь инициатором разработки.
Итак, для начала, мне просто нужно создать файл .deb точно так же, как простой архив, то есть не интерпретировать какой-либо процесс сборки, «make-файл» или другие вещи. Я хотел бы просто сжать / распаковать файл .deb, содержащий весь проект, уже настроенный со всеми зависимостями, например, файл .zip с любой папкой, распаковать весь контент сразу после архива.
У меня есть 2 папки / naali и / naali-deps с различными файлами (exe, src, lib, ...), настроенные для запуска build-deps.bash на Ubuntu Precise x64. я бегуdh_make
, очистите и заполните файлы Debian (журнал изменений, контроль, авторские права), создайте ключ gpg и запуститеsudo debuild -us -uc -k0xCODE
(я слышал «sudo», это «плохо», но я не знаю без ...)
Я получаю это:
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package realxtend
dpkg-buildpackage: source version 0-1
dpkg-buildpackage: source changed by sylvain Bicherel <[email protected]>
dpkg-source --before-build realxtend-0
dpkg-buildpackage: host architecture amd64
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
dh_clean
dpkg-source -b realxtend-0
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building realxtend using existing ./realxtend_0.orig.tar.gz
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/Extras/CDTestFramework/License.txt.bak
dpkg-source: warning: ignoring deletion of directory naali-deps/build/bullet-2.81-rev2613/autom4te.cache
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/traces.1
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/output.1
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/requests
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/traces.0
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/output.0
dpkg-source: info: building realxtend in realxtend_0-1.debian.tar.gz
dpkg-source: info: building realxtend in realxtend_0-1.dsc
debian/rules build
dh build
dh_testdir
dh_auto_configure
dh_auto_build
dh_auto_test
fakeroot debian/rules binary
dh binary
dh_testroot
dh_prep
dh_installdirs
dh_auto_install
dh_install
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installman
dh_installcatalogs
dh_installcron
dh_installdebconf
dh_installemacsen
dh_installifupdown
dh_installinfo
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
dh_shlibdeps
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package realxtend: unknown substitution variable ${shlibs:Depends}
dh_md5sums
dh_builddeb
dpkg-deb : construction du paquet « realxtend » dans « ../realxtend_0-1_amd64.deb ».
dpkg-genchanges >../realxtend_0-1_amd64.changes
dpkg-genchanges: including full source code in upload
dpkg-source --after-build realxtend-0
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
warning: the authors of lintian do not recommend running it with root privileges!
W: realxtend source: configure-generated-file-in-source naali-deps/build/celt-0.11.1/config.status
W: realxtend source: configure-generated-file-in-source naali-deps/build/celt-0.11.1/config.log
W: realxtend: new-package-should-close-itp-bug
W: realxtend: empty-binary-package
Finished running lintian.
... так что мне нужна помощь по:
1) Знаете ли вы обновленный и полный учебник (для новичка), кроме «Debian New Maintainer» и irc / maillist, например # debian-dev ... -> см. Ссылку на Phpdna и для конкретных пакетов с источниками, где я понимаю свою ошибку и использованиеdpkg-source
cmd:http://debian-handbook.info/browse/wheezy/sect.source-package-structure.html
2) Как сделать «дебианизацию» моего проекта? -> сdh_make
тогдаdpkg-buildpackage -rfakeroot
это (а) хороший способ
3) Где мои ошибки? -> предупреждение о пустых файлах-файлах нормально, тогда неправильный cmd: needdpkg-source
неdpkg-deb
4) Что мне делать с $ {shlibs: Depends}? -> автоматическая библиотека lib-deps-links, сейчас я не против
5) Почему у меня есть пустой бинарный пакет? -> на самом деле, все данные, которые уже собраны, остаются в .orig.tar.gz в моем случае
Большое спасибо, если вы можете рассказать мне о магии пакета .deb.
РЕДАКТИРОВАТЬ: Итак, я нашел последний cmd мне нужно, простоdpkg-source -x projet-version.dsc
, Я не понимал, что содержимое файла .deb только меняется, и я застрял сdebuild
а такжеdpkg-deb -...
cmds для сборки, а не для извлечения источников (и любых файлов).
Решение :
sudo apt-get install debhelper build-essential dh-make
создать папку / проект с другой папкой, в которой содержится весь проект с именем / project-versiondh_make --createorig
в / project-version +rm -rf *ex *EX README*
в / debian + заполнить правильно / debian / {rules; copyright; changelog}dpkg-buildpackage -rfakeroot
с участием-us -uc
или же-k0x[GPG-KEY]
в / project-versionХранить всегда вместе {project_version.orig.tar.gz (все проекты данных); project_version.debian.tar.gz (modifs); project_version_all / any.deb (modifs); project_version_arch.changes (meta); project_version.dsc (meta)}Бегатьdpkg-source -x projet-version.dsc
извлечь проектИтак, теперь добавьте несколько автоматических сценариев и, как только это произойдет, я отмечу, что решено.