我有一个要为 Debian 打包的 python 脚本。我在我写的地方使用了 debian/install 文件
auto_dice.py /usr/bin/
Run Code Online (Sandbox Code Playgroud)
Linitan 然后抱怨 .py 扩展名 (script-with-language-extension)。
然后我把它改成
auto_dice.py /usr/bin/autodice.py
Run Code Online (Sandbox Code Playgroud)
这会导致错误,因为它被解释autodice.py
为目录。
我怎样才能在那里重命名?我不想在源代码中重命名我的 python 脚本。
可能的重复:
如何将我的软件导入 Ubuntu?
我为 Ubuntu 创建了一个 Python 应用程序。我如何打包并提交它以可能包含在universe
存储库中?
我正在为我的 PPA 打包一些东西。上游源是一个.tar.gz
基于 Makefile的存档。
由于此包具有大量与体系结构无关的数据,因此让构建脚本生成两个包是明智的:
我该如何设置?我已经编辑了我的 Debiancontrol
文件以生成两个包,但我不知道如何将正确的文件放到正确的包中。
由于数据文件目前都是通过 Makefile 安装的,我在这里有点迷茫。
我有一个手动创建的.deb
,我想将它上传到 PPA。
我的问题如下:
如果是这样,
所以不久前我报告了 Compiz 的 Place Window 插件中的一个错误。对于受其影响的人来说,这是一个相当大的回归:从报告来看,主要是那些使用 Gnome-Fallback 的人。
不久之后,一个补丁浮出水面。我创建了一个 PPA 进行测试,到目前为止,所有参与的人都报告问题已解决。它甚至修复了另一个错误。我已经用标准的 Unity 桌面完成了测试,可以说(对于我的测试)没有可见的不利影响。
我想立即将其推送到 Ubuntu,主要有两个原因:
我希望尽快将此补丁推送到 Ubuntu 的 Compiz 版本,这样我们就可以将这些错误标记为已修复并继续我们的生活。
我不维护这个项目,它是一个上游的东西,但它对 Ubuntu 来说是相当不可或缺的。我可以去 Compiz 但我想如果他们接受补丁,它会在接近 Ubuntu 的任何地方之前几个月(至少一个版本)。
我希望他们看到我的请求,“是的,一切看起来都很棒,完成了”,就这样。我不想要 17 轮电子邮件来解决补丁的各个方面。更重要的是,我也不想浪费他们的时间。
我必须为他们提供什么?我的包装技术……可悲。这是我第一次尝试修补程序包以进行重新分发,所以我可能已经让每个人都知道每个打包错误。他们会对原始补丁感到满意吗(这样他们就可以自己应用它),还是我应该重新打包一些东西,以便差异/更改日志更清晰一些(我花了一些时间,而且版本控制无处不在)。
注意:这个问题是关于 Compiz 的,但我更喜欢答案是否也可以解决其他风格的包,所以我们有一个关于如何解决问题的权威和全面的线索。
下面的 bash 脚本是在大约 10 秒内编写的,但是打包它会花费我数小时浏览大量文本的时间,所以我问自己是否有一种我不知道的简单方法。
#!/usr/bin/env bash
echo "Hello World"
Run Code Online (Sandbox Code Playgroud) 我正在尝试打包一个单声道应用程序以作为 systemd 服务运行。
我已按照此处的说明进行操作:https : //wiki.debian.org/Teams/pkg-systemd/Packaging
我已将 dh-systemd (>= 1.5) 添加到我的 debian 控制文件构建依赖项中。
我已将 --with=systemd 添加到我的规则文件中,如下所示:
%:
dh $@ --with=cli --with=systemd
Run Code Online (Sandbox Code Playgroud)
我已将我的服务文件添加到名为 mypackage.service 的 debian 文件夹中,其中包含以下内容:
[Unit]
Description=My Service Description
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/mono /usr/lib/mypackage/myservice.exe
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
但是,构建会给出以下 lintian 警告和错误:
Now running lintian...
E: mypackage: postrm-does-not-call-updaterc.d-for-init.d-script etc/init.d/mypackage
W: mypackage: init.d-script-not-marked-as-conffile etc/init.d/mypackage
E: mypackage: init.d-script-not-included-in-package etc/init.d/mypackage
Run Code Online (Sandbox Code Playgroud)
由于几个原因,这让我感到困惑
更新
生成的postrm文件如下:
#!/bin/sh
set -e
# Automatically added by dh_systemd_start
if [ …
Run Code Online (Sandbox Code Playgroud) 在 Unity dash GIMP 2.8.10 中有一个图标并在启动器中使用不同的图标。
Dash 中的 GIMP
启动器中的 GIMP
我在“文件系统”中搜索了 GIMP 并得到了这个。
在打包其他应用程序时如何做到这一点?
我计划建立一个 PPA 或者可能将我的包提交给 Debian,但有一些我真的需要知道,我知道包通常会做一些事情/var/run/reboot-required
并列在/var/run/reboot-required.pkg
.系统通过该方法需要重新启动才能进行所有必要的更改?我需要在其中一个文件中设置一个标志还是比这更手动?我正在使用 GNOME 3.20 运行 Ubuntu GNOME 16.04。
从 Ubuntu 14.04 开始,至少有三个rename
命令:
rename
由util-linux
包提供,参见man rename.ulrename
由perl
包提供,见man prenamerename
由rename
包提供,参见man file-rename问题:
perl
包包含“完整”rename
命令或根本不包含任何rename
命令不是很简单吗?为什么这种看似不完整的分裂至少持续到 Ubuntu 17.04?这个问题已经在 U&L 上问过了(我后来发现了):
所有重命名有什么用:prename、rename、file-rename?