2011-01-05 67 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。