dpkg-buildpackage製做deb軟件包

簡介html

    說白了,deb包就是debian Linux下的一個軟件包格式,從文件的角度來看,deb包就是deb格式的歸檔文件而已。shell

    其實我已經接觸debian系列的Linux很久了,可是說來也慚愧,我都沒有本身嘗試去手動打一個包。機緣巧合的是,個人組長R女士讓我作一個系統的幫助手冊軟件包,我當時就開開心心的攬下了這個活,我是一個作事喜歡理由或者藉口的人,若是上面二者都沒有,那麼我作事會很是消極。得虧此次不單單能做爲任務來交差,還能知足一下本身對deb打包的好奇心。瀏覽器

思路(想看打包方法的,直接跳過該部分)架構

    首先,這個包是一個軟件,那我仍是最好遵循軟件工程的原則來作這個軟件包。
app

 需求:1)從【開始菜單】進入在線幫助反饋,能夠在網頁上打開幫助頁面;工具

            2)F1快捷鍵一樣能夠調用瀏覽器打開幫助頁面;
post

            3)幫助頁面的內容爲操做系統的用戶幫助信息。
測試

            4)最終該安裝包的名字fakeroot_01-01_amd64.deb。
ui

分析:編碼


軟件設計:

                                        |開始菜單幫助入口|        |F1按鍵|

                                                      |                            |

                                                      |                  |Gnome應用程序keybinding|

                                                      |                        |gnome-help|

                                                      |                             |

                                      | ---              幫助應用程序                -------        |

編碼:

    關於這個軟件的編碼量基本集中在網頁部分,就不具體說明了。

    另外還有少許的腳本須要編寫。

測試:

    

    黑盒>

    1) 正常安裝;

    2) 按下F1,firefox瀏覽器會打開一個help-doc.html網頁;

    3) 在【開始菜單】入口中,點擊【在線幫助與反饋】,達到和上面同樣的效果;

    4) 最後簡單對幫助反饋頁面的內容進行一個簡單的測試,須要網頁可以達到預計的效果。

    5) 正常卸載。

發佈與提交

    在測試正常的狀況下,將軟件包提交構建組構建,以提供進一步的測試。

打包過程

    查閱相關文檔,確保源碼包中必須具有的基本目錄結構,目錄結構以下>

                       |-- DEBIAN
                            |   |-- control   #包含主要的軟件版本信息和維護者信息

                            |   |--changelog    #軟件包的修改記錄,它是有規範的,下面會給出
                            |   |--rules   #該文件及其重要,裏面包含了打包時執行的動做  
                            |   |-- postinst  #該腳本爲安裝軟件包時執行的處理腳本
                             |   |-- postrm   #該腳本爲卸載軟件包時執行的處理腳本
                                     |   |-- compat  #兼容性文件照者其它源碼包中的內容抄就ok了

                       |--usr

                          |--資源文件

1)步驟一 

假設當前在~下,建立基本目錄結構

~ $  mkdir fakeroot-1.11.0

~$   cd fakeroot-1.11.0

~/fakeroot-1.11.0$   mkdir  fakeroot      # you can use any name you like , actually , I recommend you to use a name relevant to your debian software

~/fakeroot-1.11.0$  mkdir  debian     # important control files should be in it

2)步驟二 

在debian目錄下建立控制信息

control文件

source: fakeroot     #源碼包名
section: devel   #工具類
Priority: optional  #優先級
Maintainer:  #維護者郵箱
Standards-Version: 1.11.0   #版本號

Package:fakeroot   #這個指的是編譯生成的二進制包名
Architecture: any   #軟件包適用的系統架構
Depends:  ***(oprator version)
Description : #給出你對這個軟件的描述

postinst文件

#!/bin/sh 

    code block      #do what you want to do on the post stage of excuting `dpkg -i fakeroot`

postrm文件

#!/bin/sh
   
   code block       # do what you want to do on the post stage of excuting 'dpkg -r fakeroot**'

rules文件

install: build階段

rm -r $(CURDIR)/debian/fakeroot*          #在build過程當中將fakeroot相關的中間文件刪除
mkdir -p $(CURDIR)/debian/fakeroot
cp -r $(CURDIR) /fakeroot/$(DEB_HOST_ARCH)/usr  $(CURDIR)/debian/fakeroot/    #將usr下的資源文件拷貝到資源文件下

3)步驟三

建立資源文件,這一部分是你實現軟件的核心部分文件了

在usr目錄下建立資源文件

 usr/share/applications          usr/share/cdos-help          usr/share/doc 

4) 步驟四

~/fakeroot-1.11.0 $ dpkg-buildpackage -fakeroot -uc -us

    前面的步驟若是所有執行成功的話,那麼執行上面的命令的話,會在上一層目錄生成fakeroot-1.11.0_amd64.deb。

到這一步,你的二進制包文件已經建立成功了。

總結

    通過以上的步驟,你想要建立的二進制包已經建立成功了。此時,你可使用dpkg命令來安裝和卸載它了。說到這裏,大概已經明白如何來建立二進制包的結構了吧。看千遍,不如本身動手作一遍,動手來作一作吧。

相關文章
相關標籤/搜索