打包筆記

 打包的情況有很多種,比如從倉庫下載源碼重新打包,也有作者只寫了makefile,也有qt程序的,也有不需要編譯的,也有除了源碼啥都沒有的。打包方法都不太一樣,不過這裏先記錄常規的打包方法,非常規的,沒法統一記錄。

  首先從倉庫下載一份源碼,這樣會下載一份包含debian文件的源碼,debian文件裏面記錄了打包所需要的規則,當然,也可能不是從debian倉庫下載的,只有源碼。

  如果只有源碼要使用dh_make 做debian初始化,具體使用命令格式是

dh_make -e [email protected] -f ../xxx.tar.gz

然後按照步驟一直下一步就生成一份標準格式了,然後自己修改,這個修改是很需要功力的,看完官方文檔我都修改不了啥東西。大多數我還是隻拿倉庫的。

1首先是解決依賴,使用命令

sudo apt-get build-dep xxx

可以解決大部分依賴,但是往往不能解決全部依賴,而且有時候是有問題的,所以要在編譯的時候,手動看缺少什麼,手動安裝

2 打包打包 debuild -sa -us -uc -nc(重新打包的時候使用nc)

3如果重新打包需要更新changes文件信息,不過僅僅自己使用,這一步也是不需要的

dpkg-genchanges -sa > ../*.changes

打包過程中有一些經常會遇到的是事情,這裏記錄一下

1代碼檢查不過,這個時候如果需要強行打包可以使用環境變量

DEB_BUILD_OPTIONS='nocheck'

2有的時候編譯需要指定c++版本,比如指定c++11,就在pro文件裏面添加

CONFIG         += c++11 link_pkgconfig

3有的時候需要改寫dh_auto編譯的相關步驟,這裏以改dh_auto_configure爲例

override_dh_auto_configure:
    dh_auto_configure -- QMAKE_CC=clang QMAKE_CXX=clang++

注意第二行是有tab空格的。

另外介紹寫倉庫使用命令reprepro,這個命令是倉庫管理命令,用法較多,具體用法再講

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章