2011-01-05 27 views
4

我想創建一個包含一些軟件的FreeBSD二進制包。所有我感興趣的是說FreeBSD pkg_create如何

「目錄X中的某些文件需要進入目錄Y」,保留其下的目錄層次結構。如有必要,我可以輕鬆指定裝箱單中的每個文件。

但是,這似乎非常難以實現,因爲我無法找到-s,-S @cwd和@srcdir參數的組合,這些參數完成了我想要的操作。它要麼在目錄Y中查找文件(在編譯系統中不存在),要麼將文件打包到目錄X中,這也不是我想要的。

在你回答「只是創建一個端口」之前,我並不是很想創建一個「端口」。一個「港口」與我們正在做的事情沒有任何關係。這不是第三方分發的軟件包,也不是第三方提供的用於源分發的跨平臺應用程序。

我想要做的就是製作一個二進制包,將某些文件安裝到文件系統中的指定位置。這太難了嗎?

這是在FreeBSD 7.3下。

+0

你有沒有找到一個工作解決方案?我在類似的地方,但我打算做一個可再發行的軟件包。但是我不想創建一個端口,因爲我已經有了二進制文件。因此「Make package」並沒有真正做到我想要的。 – mandrake 2012-02-20 08:56:41

回答

4

只需直接創建一個包。可以通過pkg_create(以及在'find'風格的pkg列表中生成或管道;或者創建一個簡單的程序包(像pub/FreeBSD/ports/amd64/packages-6.3-release/Allwidentd-1.03_1.tbz一樣簡單例如)由目錄與:

+CONTENTS 
     see example or man page 
+COMMENT 
     foo 
+DESC 
     foo 
+MTREE_DIRS 
     /set type=dir uname=root gname=wheel mode=0755 
     . 
     bin 
     .. 
     etc 
     .. 
     .. 

然後:

your files.. 

後來的相對到/ usr /本地就拿包像上面爲在那裏發生的事情上面是那麼。只需'tar & gz'-ed up - and presto - pacakge。

Dw。