在Ubuntu 12.04 LTS上创建debian包

时间:2014-01-31 06:36:40

标签: ubuntu debian

之前我已经成功创建了debian软件包,这些软件包很简单。但是现在,我必须为我的应用程序创建相同的内容,这取决于外部包。 libwebkitgtk-1.0-0和jdk1.7.0是所需的外部包。我希望它们自动安装。我的软件也有某些数据,需要存储在用户的主目录中。

请指导我。

1 个答案:

答案 0 :(得分:2)

您的debian/control文件需要对其所需的其他软件包进行Depends:声明。 Apt将为您下载并安装它们,dpkg将拒绝安装,除非它们已安装。

Debian软件包没有用户主目录的条目。如果缺少必要的文件,也许创建一个包装器,用/usr/share/yourpackage/config/*的副本填充用户的主目录。

#!/bin/sh
test -d $HOME/.yourpackage ||
    cp -r /usr/share/yourpackage/config $HOME/.yourpackage
exec /usr/lib/yourpackage/yourpackage.bin "$@"

所以真正的二进制文件在yourpackage.bin中,这个包装器是/usr/bin/yourpackage

对于额外的点,请使用环境变量,这样路径就不会完全硬编码。对您自己来说可能比对您的用户更重要(使测试更容易),但要记住两者的需求。

(提示:${YOURPACKAGE_SITE_CONFIG-/usr/share/yourpackage/config}如果已设置,则会扩展为$YOURPACKAGE_SITE_CONFIG的值,否则会扩展为/usr/share/yourpackage/config。您可能希望对$YOURPACKAGE_CONFIG和{$YOURPACKAGE_BIN执行类似操作{1}}能够在构建目录中运行一个简单的测试,并覆盖所有三个。)