我有一个程序需要为每个 ubuntu 版本重新编译。
目前我正在使用 Ubuntu 的 PPA 打包它,仅用于当前发行版。
最终,我必须为以前的 ubuntu 版本提供包。
我不知道如何做到这一点。
Ubuntu PPA 构建服务器是如何工作的——它是否只查看最新更改日志条目(在 debian/changelog 文件中)中的分布字段来确定应该构建包的分布?
debian 规范允许将多个发行版添加到发行版字段中。但这对我没有帮助。
一些 ubuntu 文档谈到将发行版名称编码为版本号(在 debian 更改日志文件中)。
但这在实践中如何运作?有新版本的程序可用,然后呢?我是否为每个发行版添加一个新的更改日志条目,并且 PPA buildserver 在 dput'ing 之后为每个发行版自动构建新包?还是 PPA 构建服务器只查看第一个更改日志条目?
见标题。
我使用 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 中的版本构建,但我也想为其他版本构建。
怎么做?

如果我有一个用 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) 我有一个名为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 包时,我会得到这些文件
以及 i386 的等价物。这个关于上传到 PPA 的页面说文件 .dsc、.changes 和 .debian.tar.gz 将被上传。
这是我的困惑。我如何使这些文件具有上述版本?即带有“ppa”后缀?当然,我觉得手动重命名 Artha 的源包提取目录似乎不是正确的方法。
我还应该debuild -S -sd还是debuild -S -sa?Launchpad …
我想创建一个适合多个操作系统版本的 debian 源代码包。
\n最初,我的目标是动能,并采用以下变更日志格式:
\ngfxi (1.3-1) kinetic; urgency=medium\n\n * Add install and uninstall targets to Makefile.\n\n...\nRun 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).\nRun Code Online (Sandbox Code Playgroud)\n所以我将更改日志条目更改为:
\ngfxi (1.3-2) jammy kinetic lunar; urgency=medium\n\n * Add jammy and lunar releases.\n...\nRun Code Online (Sandbox Code Playgroud)\n该debuild -S命令成功,但是当我使用 …