2014-01-31 67 views
1

早些时候,我成功创建了debian软件包,这很简单。但现在,我必须为我的应用程序创建相同的应用程序,这取决于外部程序包。 libwebkitgtk-1.0-0和jdk1.7.0是所需的外部软件包。我希望他们自动安装。另外我的软件有一定的数据,需要存储在用户的主目录中。在Ubuntu 12.04上创建Debian软件包LTS

请指导我。

回答

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 "[email protected]" 

所以真正的二进制是yourpackage.bin,这是包装/usr/bin/yourpackage

对于额外的点,请使用环境变量,以便路径不会完全硬编码。对你自己来说更重要(使测试更容易),而不是对你的用户来说更重要,但要牢记两者的需求。

(提示:${YOURPACKAGE_SITE_CONFIG-/usr/share/yourpackage/config}将扩大到$YOURPACKAGE_SITE_CONFIG的值,如果它被设置,否则/usr/share/yourpackage/config你可能想要做的$YOURPACKAGE_CONFIG$YOURPACKAGE_BIN类似的东西,以便能够在构建目录中覆盖了运行一个简单的测试。全部三个)。