0

我在这里要疯了。我已经构建了一个不需要任何实际编译的工具 - 它只是一个 Perl 脚本 - 当我bzr builddeb在它上面运行时,我得到一个 WORKING .deb 文件,它将我的脚本 - zfsync - 复制到 /usr/bin/zfsync 什么时候我跑dpkg -i zfsync_1.0.0-0ubuntu3_all.deb

但是,当我运行bzr builddeb -S然后dput生成的 source.changes 文件到我的 PPA 时,它构建没有错误......但是 apt-get install zfsync 导致“成功”安装,只有我的二进制文件实际上没有放在 /usr/垃圾桶!

我有一个 debian/install 文件,其中只包含zfsync usr/bin其他内容。出于绝望,我创建了一个简单的 Makefile,如果make install运行,它也会将 zfsync 复制到 /usr/bin。不过,似乎没有任何帮助,而在 Canonical 可怕的基于手臂的 PPA 农场上的半小时“构建”时间让我失去了理智。

当我执行 apt-get source zfsync 时,查看获取的源目录显示没有任何debian/install文件。我不知道为什么 PPA 会剥离该文件,但它显然是 - 没有它,我的脚本实际上并没有被安装。

拜托,请问那里有包装大师吗?帮助!

4

1 回答 1

0

我仍然不知道它为什么要搞砸我——我一直在遵循 Ubuntu 包装指南——但最终我得到了它的工作。

我最终做的是:apt-get source zfsync进入一个完全不同的目录,然后调查那里的内容。

除了包含我所有东西的“zfsync-1.0.0”文件夹外,还有一个“zfsync”文件夹,usr/share/doc里面有但根本没有usr/binusr/bin/zfsync我在“zfsync”文件夹中手动创建,确定“debian/install”中有“zfsync usr/bin”,然后做了 a bzr init, abzr commit和 a dput ppa:jrssnet/zfsync zfsync_1.0.0-0ubuntu5_source.changes...,五到十分钟后,成功!Ubuntu 的构建过程实际上不仅产生了一个 .deb,而且还产生了一个 .deb,它实际上安装了我该死的脚本。:)

于 2013-08-10T11:32:45.773 回答