我需要創建Realxtend項目(https://github.com/realXtend/naali)的一個新的.deb軟件包。這是一個很大的依賴性和自動bash腳本(/tools/Linux/build-deps.bash)下載,編譯並安裝所有DEPS和可執行一項巨大的工程。所以,我嘗試了很多教程,但我經常和我又立刻陷入一些錯誤,因爲教程過時(新的「規則」文件爲主)......還因爲我不是一個開發initialy。如何創建一個簡單的Debian軟件包(只是壓縮/提取物來源或Debian軟件包的文件)
因此,對於開始,我只需要創建一個.deb文件,就像一個簡單的歸檔,即不解釋任何構建過程,「makefile」或其他類型的東西。我想只是壓縮/解壓縮一個.deb文件,其中包含已經配置了所有依賴項的所有項目,比如帶有任何文件夾的.zip文件,解壓緊接着存檔的所有內容。
我有2個文件夾/ naali和/ naali-deps與配置與運行build-deps.bash在Ubuntu Precise x64上的各種文件(exe,src,lib,...)。 我跑dh_make
, 清潔和填充/ Debian的文件(更新日誌,控制,版權), 創建GPG密鑰並運行sudo debuild -us -uc -k0xCODE
(我聽到「須藤」這是「壞」,但我不知道沒有...)
我得到這個:
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新維護者」和IRC你知道一個更新的和完整的教程(爲新手)等/ maillist像#debian-dev ... - >看到Phpdna的鏈接和特定的資源包裝,我明白了我的錯誤和使用dpkg-source
cmd:http://debian-handbook.info/browse/wheezy/sect.source-package-structure.html
2)如何使我的項目'debianization'? - >與dh_make
然後dpkg-buildpackage -rfakeroot
,這是(一)好方法
3)我的錯誤在哪裏? - >空二進制文件lintian警告是正常的,然後錯誤的CMD:需要dpkg-source
,而不是dpkg-deb
4)我應該做的$ {shlibs:Depends}? - >一個自動lib-deps鏈接的東西,我現在不介意
5)爲什麼我有一個空的二進制包? - >實際上,所有已建立的數據都留在.orig.tar.gz中,在我的情況下爲
非常感謝,如果你能指教.deb包魔術。
編輯: 所以我找到了我需要的最終cmd,只是dpkg-source -x projet-version.dsc
。我不明白只是的.deb文件內容的變化和我stucked與debuild
和dpkg-deb -...
CMDS不建設提取物的來源(和任何文件)。
解決方案:
sudo apt-get install debhelper build-essential dh-make
- 與另一個文件夾進入創建文件夾/項目包含一個名爲所有項目/項目版本
- 在
dh_make --createorig
/項目版本+rm -rf *ex *EX README*
在/ Debian的+正確填寫/ debian/{rules; copyright; changelog} dpkg-buildpackage -rfakeroot
with-us -uc
or-k0x[GPG-KEY]
in/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(元)}
- 運行
dpkg-source -x projet-version.dsc
提取項目
所以,現在,去與它添加一些自動腳本,並儘快將更迭,我將迎來解決。
非常感謝Phpdna!因此,我最終通過這些最小指令得到了一個1.5Go歸檔.deb文件,如果我通過上下文菜單提取內容(或提取cmd),但它不能與'dpkg-dep -i project.deb'cmd一起使用或者雙擊打開Ubuntu軟件中心。這是否正常(缺少需要insall/cp和.desktop文件的目錄路徑)? 對於本教程的'deb helper'部分,我總是有一個幾乎空的.deb。但我認爲我需要在新的'rules'文件中'overwrite_dh_install'的'make'cmds的內容。我很快嘗試。 –
對不起。我忍不住不使用Ubuntu? – Bytemain