标签: packaging

不同的“重命名”命令之间有什么区别?

从 Ubuntu 14.04 开始,至少有三个rename命令:

  1. renameutil-linux包提供,参见man rename.ul
  2. renameperl包提供,见man prename
  3. renamerename包提供,参见man file-rename

问题:

  • 这些命令之间究竟有什么区别?
  • 为什么有多个包使用相同的名称提供不同的命令——我想这不是偶然的,或者是吗?
  • perl包包含“完整”rename命令或根本不包含任何rename命令不是很简单吗?为什么这种看似不完整的分裂至少持续到 Ubuntu 17.04?

这个问题已经在 U&L 上问过了(我后来发现了):
所有重命名有什么用:prename、rename、file-rename?

packaging command-line perl rename

14
推荐指数
1
解决办法
1432
查看次数

软件包升级期间会发生什么?

我最近开始在 Launchpad 上为我的软件构建 Ubuntu 软件包。它们非常简单;它们中的大多数只包含一些通过 .install .preinst .postinst .prerm 和 .postrm 文件触发的文件和脚本。安装和删除似乎工作正常。但是,从一个版本升级到下一个版本很棘手。

升级包时到底发生了什么?和卸载旧版本安装新版本一样吗?是否删除了先前软件包中的所有文件,并替换为新软件包中 .install 列表中的文件?是否所有 .prerm、postrm、preinst、postinst 脚本都被执行?我如何区分应该只在“新安装”和升级期间发生的事情?

package-management packaging apt deb

13
推荐指数
1
解决办法
1547
查看次数

如何从 debian/changelog 中提取软件包版本?

解析源包的debian/changelog文件(或debian/control?)以获取包的版本号的最可靠方法是什么?就像是:

pkgver=$(dpkg-parsechangelog | magic_goes_here)
Run Code Online (Sandbox Code Playgroud)

我想提取版本号(并且只有版本号),以便我可以在脚本中对其进行操作。

我期待为此找到一个dpkg-*实用程序,但我还没有找到。

packaging deb source-packages

13
推荐指数
2
解决办法
8641
查看次数

dch 非交互模式

我试图找到一种dch在非交互模式下运行的方法,以便将debian/changelog文件创建和操作合并到一个 shell 脚本中。

与参数运行它时,它似乎只有-r ""它的作品(如指定位置)。但是,我需要使用不同的参数。

packaging

13
推荐指数
1
解决办法
2566
查看次数

为什么会存在 snap-packages - 真的有必要吗?

假设

老实说,我对 snap-packages 了解不多——但这与这个问题无关——见下文。我认为该系统与现有系统有很大不同。

改变有意义吗?

是否有实际需要,足够强大?也就是说 - 是否有一个新的用例,它足够重要以开发一种新的格式 - 以及相关的基础设施?

更改当前方法以涵盖新用例是否不可行?

还是我错过了重点?

我所看到的可能主要是营销 - 新名称和用于最小技术更改的介绍,以便有机会任何机构将其视为“新的和更好的”并且它可能会被实际使用。此外,新的软件包可能与现有格式非常接近,以至于它主要是对用户呈现方式的改变。当然,这可能是一个很好的解决方案。在这种情况下,这个问题就没有多大意义了。

然后,我希望这仍然足以回答侧面问题。如果问题对新用户没有帮助或混淆,请告诉我,我很乐意将其删除。

那么,它们为什么存在?


背景

我的第一反应是“这没有意义!”

这类似于在物理站点上,有人不高兴地问,为什么没有人在答案中讨论他出色的新想法的情况。它看起来很像疯子的想法;与实际的物理知识相去甚远,以至于很难找到一个起点。我写了一个没有用一个词触及他的想法的答案,但解释了为什么人们不会讨论假设疯狂的想法 - 不是第一个案例。我认为,答案实际上是切中要害。

如果我的假设是正确的,那么这个案例是类似的。

但是,也许不是 - 让我们看看。

package-management packaging apt snap

13
推荐指数
1
解决办法
1435
查看次数

如何使用 aptitude 安装软件包?

我看过一个 aptitude教程并阅读了手册页,但我就是不明白。启动 aptitude 后,“安装包 foo”怎么说?或者搜索名称中带有“foo”的所有包?

package-management aptitude packaging command-line

12
推荐指数
1
解决办法
3万
查看次数

我已经在 bugs.debian.org 上提交了一个 ITP 错误 - 现在我如何将包放入 Ubuntu?

我编写了一个开发库,希望将其包含在 Ubuntu 档案中。据我所知,最好的方法是首先将软件包放入 Debian,然后请求软件包同步。

这是ITP 错误

现在我该怎么做?

查看此页面,我看到了诸如“准备中的 419 天”和“上次活动 404 天前”之类的可怕内容。我的印象是将软件包放入 Debian 是一个缓慢的过程。

我能做些什么来加快这个过程吗?我已经尝试做尽可能多的工作来平滑这个过程 - 我有一个带有 Debian 打包的分支(它由 Lintian 获得,没有任何错误)。

community packaging debian official-repositories libraries

12
推荐指数
1
解决办法
683
查看次数

deb文件名的命名标准是什么?

我想找出 deb 文件名的标准。例如,我有一个名为foo_1.0.0-1_all.deb. 正如我在Debian FAQ 中发现的那样,有这样的约定:

<foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
Run Code Online (Sandbox Code Playgroud)

但这不是标准。它没有回答很多问题。例如:

  • 可以<foo>多久?
  • 中允许的字符是<foo>什么?
  • 可以包含哪些值<DebianArchitecture>

有没有详细描述 deb 文件名的标准?

package-management packaging deb

12
推荐指数
2
解决办法
1万
查看次数

向 USC 提交专有应用程序后如何添加依赖项?

我在专有许可下提交了我的应用程序“亮度控制器”,它已经发布。它包含一个可执行的 .py 文件。但是该应用程序取决于python-wxgtk2.8 我在评论字段中编写的内容,但打包人员可能忽略了它。有什么办法可以自己添加依赖项吗?
请注意,我没有对软件包进行 debian。我只是对亮度.py 文件进行了焦油处理并提交了它。 我可以用依赖文件制作一个 .deb 并提交它吗?
该应用程序最初是开源的,但我以专有方式提交它,这样我就不必打包它。

software-center packaging dependencies application-development

12
推荐指数
1
解决办法
178
查看次数

我的 PPA 的身份验证问题

我创建了一个包并将其上传到我的 PPA。构建完成后,我去安装它,但遇到了以下消息:

$ sudo apt-get install stackapplet
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  stackapplet
0 upgraded, 1 newly installed, 0 to remove and 31 not upgraded.
Need to get 17.7kB of archives.
After this operation, 106kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  stackapplet
Install these packages without verification [y/N]?
Run Code Online (Sandbox Code Playgroud)

为什么它会警告我未验证软件包?

package-management packaging apt ppa

11
推荐指数
1
解决办法
1290
查看次数