[英]Create a debian package to install python scripts to /usr/local/bin in Ubuntu
我尝试创建一个python应用程序的debian包,如下所示:
setup.py就像
#!/usr/bin/env python
from distutils.core import setup
setup(name='foo',
version='1.0.0',
description='Foo example',
author='Kuan-Kai Chiu',
author_email='ntu.kchiu@gmail.com',
scripts=['src/foo.py']
)
如何将foo.py安装到/ usr / local / bin而不是安装到/ usr / bin ? 我知道在运行python setup.py install时有一个选项--install-scripts = / usr / local / bin ,但是我必须对我的python应用程序进行debianize,似乎无法指定install-scripts前缀。
提前致谢!
如果您只想在/usr/local/bin/
安装文件,请删除setup.py
因为它并不是真正需要的。 如果你在你的软件包中使用dh
(你可以看看你是否在你的debian/rules
文件中检查它。如果你没有使用它,你应该:-),那么你只需要提供dh_install
(请参阅其联机帮助页 ),其中包含install
文件。 这个文件的语法非常简单,你必须指定你想要安装什么 ,以及在哪里 。 您可以通过在程序包的根目录中发出以下命令来执行此操作:
$ echo "src/foo.py usr/local/bin" > debian/install
现在,由于您要在/usr/local/
下安装脚本,这违反了Debian策略,其中一个dh_*
工具将失败。 这个工具是dh_usrlocal
。 修复非常简单。 我们只需告诉debian/rules
我们不想运行它,我们可以通过覆盖它的行为来实现。 这就是你的最终debian/rules
应该如何:
#!/usr/bin/make -f
# -*- makefile -*-
%:
dh $@
override_dh_usrlocal:
而已。 运行dpkg-buildpackage
,你应该在../
全新的软件包。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.