相关疑难解决方法(0)

如何创建和管理多架构 PPA?

我有一个程序需要为每个 ubuntu 版本重新编译。

目前我正在使用 Ubuntu 的 PPA 打包它,仅用于当前发行版。

最终,我必须为以前的 ubuntu 版本提供包。

我不知道如何做到这一点。

Ubuntu PPA 构建服务器是如何工作的——它是否只查看最新更改日志条目(在 debian/changelog 文件中)中的分布字段来确定应该构建包的分布?

debian 规范允许将多个发行版添加到发行版字段中。但这对我没有帮助。

一些 ubuntu 文档谈到将发行版名称编码为版本号(在 debian 更改日志文件中)。

但这在实践中如何运作?有新版本的程序可用,然后呢?我是否为每个发行版添加一个新的更改日志条目,并且 PPA buildserver 在 dput'ing 之后为每个发行版自动构建新包?还是 PPA 构建服务器只查看第一个更改日志条目?

launchpad packaging ppa

16
推荐指数
3
解决办法
2027
查看次数

如何将多个 ubuntu 版本的软件包自动上传到 Launchpad?

见标题。

我使用 dput 并在我的 /etc/dput.cf 中:

[ppa]
fqdn        = ppa.launchpad.net
method      = ftp
incoming        = ~onto/onto/ubuntu/
login           = anonymous
allow_unsigned_uploads  = 0
Run Code Online (Sandbox Code Playgroud)

但它只为 debian/changes 中的版本构建,但我也想为其他版本构建。

怎么做?

package-management launchpad packaging ppa

7
推荐指数
1
解决办法
1849
查看次数

如何为 C++ 程序创建 PPA?

我的议程 1.0 截图

如果我有一个用 NetBean 创建的 c++/gtkmm 项目,我怎样才能从这个包到 PPA?

我已经创建了目标文件结构(*.desktop、iconfile、ui glade 文件)。

二进制去/opt/extras.ubuntu.com/myagenda/bin/myagenda

还有一个空地文件文件夹,必须转到/opt/extras.ubuntu.com/myagenda/bin/myagenda/ui.

桌面文件转到/usr/share/applications/myagenda.desktop. 图标转到/usr/share/icons/hicolor/scalable/apps/myagenda.svg

如您所见,只有少量文件。

现在,如何管理所有这些东西,在 PPA 上创建包,它知道在哪里以及如何将这些文件放到他们的目标中?

??? opt
?   ??? extras.ubuntu.com
?       ??? myagenda
?           ??? bin
?           ?   ??? myagenda
?           ??? ui
?               ??? item_btn_delete.png
?               ??? item_btn_edit.png
?               ??? myagenda.png
?               ??? myagenda.svg
?               ??? reminder.png
?               ??? ui.glade
??? usr
    ??? share
        ??? applications
        ?   ??? myagenda.desktop
        ??? icons
            ??? hicolor
                ??? scalable
                    ??? apps
                        ??? …
Run Code Online (Sandbox Code Playgroud)

ppa application-development

6
推荐指数
1
解决办法
1272
查看次数

对上传到 PPA 的包进行版本控制

我有一个名为Artha的包,我将它作为 x86 和 x86_64 架构的源代码和(deb)二进制文件分发,即我有制作 deb 文件的经验。我收到了很多关于设置 PPA 的请求。我想我会为即将发布的版本做这件事。Ubuntu 存储库中的 Artha 版本为 1.0.2,我正在尝试为 Artha 1.0.3 创建 PPA。

我阅读了Launchpad 的Personal Package Archive文档,现在已经设置了 PPA,但是这个版本控制页面说对于已经在 Ubuntu 存储库中的像 Artha 这样的包,命名artha-1.0.2-1ubuntu1为 PPA 版本应该是artha-1.0.3-1ubuntu1ppa1,这样当 Ubuntu 的存储库更新到 1.0.3 时Artha,它取代了我的 PPA 包。

当我通常制作我的 .deb 包时,我会得到这些文件

  • artha_1.0.3.orig.tar.bz2
  • artha_1.0.3-1.debian.tar.gz
  • artha_1.0.3-1.dsc
  • artha_1.0.3-1_amd64.build
  • artha_1.0.3-1_amd64.changes
  • artha_1.0.3-1_amd64.deb

以及 i386 的等价物。这个关于上传到 PPA 的页面说文件 .dsc、.changes 和 .debian.tar.gz 将被上传。

这是我的困惑。我如何使这些文件具有上述版本?即带有“ppa”后缀?当然,我觉得手动重命名 Artha 的源包提取目录似乎不是正确的方法。

我还应该debuild -S -sd还是debuild -S -sa?Launchpad …

launchpad packaging ppa

6
推荐指数
1
解决办法
1343
查看次数

debian/changelog 是否必须特定于版本?

我想创建一个适合多个操作系统版本的 debian 源代码包。

\n

最初,我的目标是动能,并采用以下变更日志格式:

\n
gfxi (1.3-1) kinetic; urgency=medium\n\n  * Add install and uninstall targets to Makefile.\n\n...\n
Run Code Online (Sandbox Code Playgroud)\n

手册中:

\n
 distributions lists one or more space-separated distributions where this version should be\n       installed when it is uploaded; it is copied to the Distribution field in the .changes\n       file.  distributions must be terminated by a semicolon (U+003B \xe2\x80\x98;\xe2\x80\x99).\n
Run Code Online (Sandbox Code Playgroud)\n

所以我将更改日志条目更改为:

\n
gfxi (1.3-2) jammy kinetic lunar; urgency=medium\n\n  * Add jammy and lunar releases.\n...\n
Run Code Online (Sandbox Code Playgroud)\n

debuild -S命令成功,但是当我使用 …

launchpad ppa source-packages changelog

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