FreeBSD pkg_create 如何

发布于 2024-10-10 13:52:42 字数 389 浏览 8 评论 0原文

我想创建一个包含一些软件的 FreeBSD 二进制包。我感兴趣的只是说

“目录 X 中的某些文件需要进入目录 Y ”,保留其下的目录层次结构。如有必要,我可以轻松指定装箱单中的每个文件。

然而,这似乎很难实现,因为我找不到 -s、-S @cwd 和 @srcdir 参数的组合来实现我想要的功能。它要么在目录 Y 中查找文件(构建系统上不存在),要么将文件打包到目录 X 中,这也不是我想要的。

在您回答“只需创建一个端口”之前,我对创建“端口”并不感兴趣。 “端口”与我们正在做的事情毫无关系。它不是供第三方分发的包,也不是供第三方分发源代码的跨平台应用程序。

我想做的就是制作一个二进制包来将一些文件安装在文件系统中的指定位置。是不是太难了?

这是在 FreeBSD 7.3 下。

I want to create a FreeBSD binary package containing some software. All I'm interested in doing is saying

"Some files in directory X need to go in directory Y " preserving the directory hierarchy beneath it. I can specify every file in the packing list easily if necessary.

However this seems awfully difficult to achieve, as I cannot find the combination of the -s, -S @cwd and @srcdir parameters which does what I want. It either looks in directory Y for the files (which doesn't exist on the build system), or packages the files to go in directory X, which is also not what I want.

Before you answer "just create a port", I'm not REMOTELY interested in creating a "port". A "port" is nothing whatsoever to do with what we're doing. It's not a package for distribution by third parties, nor a cross-platform application intended for source distirbution BY third parties.

All I want to do is make a binary package to install some files in a specified place in the filesystem. Is that too hard?

This is under FreeBSD 7.3.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

卷耳 2024-10-17 13:52:42

直接创建一个包就可以了。要么使用 pkg_create (并在“查找”样式的 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/local 的目录。只需将上面的包放入其中即可。一个包

Just create a package directly. Either with pkg_create (and generating or piping in a 'find' style pkg list; or alternatively create a trivial package (Fetch something like pub/FreeBSD/ports/amd64/packages-6.3-release/Allwidentd-1.03_1.tbz as a simple example) consisting of a directory with:

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

and then:

your files..

the later relative to /usr/local. Just take a package like above as to what goes in there. Above is then simply 'tar & gz'-ed up - and presto - a pacakge.

Dw.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文