簡體   English   中英

如何為靜態文件創建本機Debian軟件包?

[英]How do I create a native Debian package for static files?

我需要為軟件項目Debianize一些靜態資源,但是對可用信息感到困惑,可以使用一些指導。 以下是我一直在閱讀的資料:

Debian新維護者指南似乎是最合適的,特別是本章 ,但它的教學演示對我來說無效; 它更像是一個重新學習的參考而不是一個未知的指南。 我發現的大部分信息同樣適用於將包裹包含在我不需要的公共存儲庫中。 為了讓一些善良的人可以向我展示方式,我創建了一個小項目statrec ,它舉例說明了我需要創建的包類型。 它的源代碼樹看起來像這樣:

statrec/
├── LICENSE
├── README.md
├── share
│   ├── gilgamesh.txt
│   └── thoreau.txt
└── VERSION

我需要,但無法推斷如何:

  • statrec/share安裝到/usr/share/statrec/VERSION/
  • 創建或修改符號鏈接從/usr/share/statrec/current//usr/share/statrec/VERSION/然后
  • 卸載以前版本的statrec。

我理解如何完成其​​中的一些,可能使用哪些工具,但感覺過多的信息過度平行

我會說最簡單的事情是:

  1. 創建一個makefile,它將根據您的需要安裝文件,以遵守任何DESTDIR設置,並且DESTDIR默認目標執行任何操作。 有點像:

     all: # nothing to build install: cp -r share/* $(DESTDIR)/usr/share/statrec/$(VERSION) 

    DESTDIR很重要; 它不會安裝到系統,而是安裝到dpkg將打包的臨時目錄。 所有符號鏈接都必須指向最終目標(沒有$(DESTDIR)前綴)。

  2. dh_make --native做它的業務(它將創建另一個將調用第一個makefile的makefile debian/rules )。

  3. 看看debian下的文件。 特別是debian/changelog可能需要編輯(這是debuild / dpkg-buildpackage從中獲取版本號的地方,因此必須填寫)。

    我相信debuild自動使用fakeroot ,對於dpkg-buildpackage你必須手動指定它。 甚至不要把它作為真正的根運行。

  4. 使用debuilddpkg-buildpackage -rfakeroot來構建它

無需關心卸載,因為dpkg將處理這個問題。

更新:我建議dh_make --native ,因為我理解這個問題只是在少數debian系統上安裝一些數據文件。 如果它應該分發,我建議只需要在irc.debian.org#debian IRC頻道上詢問,並可能將它留給Debian Developer(只有Debian開發人員可以上傳到Debian存檔,他們通常希望自己處理包裝) 。

另外,如果它是軟件的一部分而不是獨立的一堆數據文件,安裝應該是使用一個通用makefile的軟件的一般安裝的一部分,應該只有一個 Debian源包,只有debian/controldebian/*.files應指定哪些文件轉到應用程序包(即“Architecture:any”)以及哪些文件轉到數據包(即“Architecure:all”,通常是后綴-data )。

你應該閱讀debian-handbook中的第15.2.2節。

我發現為我自己的項目創建一個.install文件並跳過Makefile部分是有幫助的

我發現saurik(cydia /越獄名聲)“托管Cydia存儲庫”指南對創建自己的.deb文件很有用。 請看這里: http//www.saurik.com/id/7

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM