问题标签 [stdeb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
327 浏览

linux - 为使用“stdeb”创建的 debian 包提供自定义包名称

我正在尝试使用以下工具创建一个 debian 包。

astraw/stdeb

我可以使用站点中指定的默认名称创建包。我需要提供自定义名称。“--package”是我们需要使用的选项。问题是,虽然我看到使用自定义名称创建的 deb 包,但它也添加了一些垃圾值。前任:

novadocker_0.0.1~dev205-20151105_all.deb

这里

novadocker 是 --packagename 而 20151105 是 --debian-version。

我不确定如何删除 [_0.0.1~dev205-] 之间的其他值

我用来创建它的命令是:

有任何解决这个问题的方法吗 ?

0 投票
1 回答
732 浏览

debian-packaging - 如何使用 stdeb3/py2dsc 和 dpkg-buildpackage 将 python 应用程序与 systemd 单元一起打包?

我想做的是为 Python3 应用程序创建一个 Debian 包,并让该包安装相关的 systemd 服务,并在删除或更新包时删除/更新它。

我有一个 Python3 程序,我想将它捆绑到 Ubuntu 18.04 上的 Debian 包中。我已经能够使用 asetup.pypy2dsc附带的程序成功地做到这一点stdeb3

这会创建一个可安装的 .deb,并且除了py2dsc对 Python 3.6 的奇怪依赖之外,即使我使用的是 3.8,它也运行良好。

py2dsc创建一个 debian 暂存树,包括debian/rules

接下来我想让这个包安装一个 systemd 服务单元,它将运行 Python3 程序。我认为需要调用服务文件python3-mypackage.service来匹配<package-name>.service,因为py2dscpython3-包名称之前。

我做了一些研究,发现与其破解pre/postinst脚本,不如在dh命令中debian/rules添加--with systemd选项,并且我需要dh-systemd在我的 Ubuntu 18.04 系统上安装。为此,我在运行后暂停py2dsc,将相关条目添加到debian/rules,然后运行dpkg-buildpackage

由于我不明白的原因,dh-systemd输出中没有提到dpkg-buildpackage

我四处搜索,虽然我可以找到构建 python 包的示例,以及使用 systemd 单元构建包的示例,但我无法找到一个同时打包 python 项目和关联的 systemd 单元的示例,所以我'不知道从这里去哪里。我想知道使用是否与使用pybuild冲突--with systemd