编译 ROS-O #4
编辑
保持
有多个(部分)独立的努力来构建 ROS-O。这是我所知道的列表:
|
3
答复:3 条评论 · 11条回复
我主要在 https://kkgithub.com/lucasw/ros_from_src/tree/robot_state_publisher/ubuntu_2204 中切换到在 debian 包之上构建(我现在在 22.10 上)——看起来我应该看看有什么不同。我有大量的分叉,也许 ros-one-packages 可以使用它还没有的包(尽管来自分叉的许多 PR 已经上游,那些可能没有的 PR 应该进入 ros-o 以获得更好的可见性,但数量庞大令人生畏,分叉和修补并继续前进非常快)。 |
1
保持作者
然后分叉到 ros-o。鼓励;)这样做。
清理合并的 PR 分支并将私有存储库中需要的分支迁移到此组织将是一个非常好的主意。我听说你说这个数字很大。我仍然有各种未提交的补丁(可能与您类似的列表),我还没有推动这些补丁在 debian bookworm 上构建。 我个人的计划是让当前的 ros-o-builder 存储库集编译,包括 jsk_rviz_plugins,然后在 ros-debian 软件包上建立一个类似的系统,用于 debian 测试(这将涉及更多细节)。 |
👍1
编辑
GitHub - lucasw/jsk_visualization at boost_placeholders(我忘了为其中任何一个做公关吗?)对你有用吗,还是有其他事情坏了? |
保持作者
我不在那里使用你的分叉,但如果我这样做,我会测试并将它们迁移到 ros-o(除非你到那时已经这样做了)。
至少上游没有 PR,也没有你最近提交的内容......
jsk 堆栈的依赖项列表非常繁重,我还没有完成所有这些。 |
👍1
编辑
在这个针对 ubuntu 和 debian(测试/不稳定?)系统的存储库中维护一个合并的 repos.yaml 怎么样,它每晚构建,甚至可能用于 github 操作(如 https://kkgithub.com/jspricke/ros-deb-builder-action 或类似操作)中的每次推送。最好有一个单一的事实来源(定义为我们少数人之间达成的协议)来构建所有尚未通过 apt 获得的 ros-o 所需的所有包,PR 和提交将突出显示添加新支持的包(如 ros_numpy),或从外部分支(如我的一个)更改为“官方”ros-o 分支。 它可能像 https://kkgithub.com/lucasw/ros_from_src/blob/robot_state_publisher/ubuntu_2204/base_repos.yaml(可能减去我对 ros_comm 和 depth_image_proc 所做的一些更改,但如果有人感兴趣,可以将它们放入 ros-o)或 ros-one-packages/sources.repos at main · jspricke/ros-one-packages · GitHub。 我认为必须有覆盖 yamls 来支持某些版本的 Ubuntu(对我来说,我可能会从 22.10 向前滚动到 23.04,但动作构建可以确保旧版本不会被破坏)。我对它不是很熟悉,但我认为 Ubuntu 缺少 debian-unstable 中的 debian 发布的软件包,因此需要一个包含所有这些的额外 repo yaml,甚至可能是每个 Ubuntu 版本覆盖的 repos.yaml。 现在,使用 repo 和分支名称 yaml 条目的快速和松散是可以的,但这可能会导致各种中断,因为任何触发的构建都可能引入新的中断更改,尤其是对于 ros-o 之外的不受控制的 repos,也许可能有一个稳定的变体,每个 repo 提交 shas,而不仅仅是分支。 如果构建需要数小时,则可能会有一组层,其中较低级别的包构建频率较低,但它们的构建工件可以拉入更常规的构建中。 |
1
6条回复
显示 1 条上一条回复
有什么理由不把它移到 ros-o 中吗? |
保持
保持作者
我仍然认为 ros-o-builder 是我的个人试错领域,但我现在已经走得很远了,并计划很快把它搬到这里。 除了构建错误和未解决的问题之外,仍然需要解决的一个重要方面是软件包的 Web 存储。github 对 git 中管理的文件大小强制执行 100MB 的硬性限制,我知道现在只有一个包违反了这个限制(eigenpy,moveit 的依赖项)。因此,如果没有技巧,我们还不能直接添加 MoveIt。著名的“社区”注册管理机构的限制也相当低,如果我们尝试使用它们,我希望我们很快就会遇到它们。 |
👍1
编辑
你看过 Cloudsmith | Universal, cloud-native software artifact management 还是 https://packagecloud.io/?听起来他们有这么多 GB 的免费开源选项,如果需要,也许有一个(简单的?)升级过程,正在阅读 rclone/rclone#2153 中关于它们的信息 |
写:
我确实问过,但遗憾的是没有兴趣举办这个。 我很高兴取得了更大的成功。 |
保持
感谢您的出色初始工作。在您的工作基础上,我进一步推动了基于 GHA 的 ros-builder:
我无法证实这一点。对我来说,只有 1.1M。我已经成功构建了一个包含 MoveIt 和 MTC 的 ROS1 发行版: 我也在考虑在 github 之外托管 debian 存储库。我从我们的教职员工那里得到了一个网络服务器,需要在接下来的几天里设置它...... 我有兴趣参与这个组织。作为第一步,我可以迁移到这里。 |
1
2条回复
编辑
保持作者
大进步!我看到您为 jammy 构建了 ros2 兼容包。
根据 ,特征 dbgsym 包就是这么大。我看到你没有部署这些包。
我猜你在这方面处于有利地位。可悲的是,我没有从与我交谈过的另外两个人那里得到任何进一步的跟进。诚然,我也没有为了一个研究项目而进一步推动这一点。
我刚刚邀请你加入这个组织。
如果您需要补丁来在更新的发行版上构建软件包,请将存储库分叉到 ros-o,理想情况下它只包含一个分支(目前它们大多被称为 ,但这并不重要)并将您的修复推送到那里。
我认为这应该是第二步。:) |
保持
很抱歉还没有回复。我被其他任务分散了注意力......感谢您邀请我加入 ros-o 组织。 我还进一步改进了我的 ros-build-action。 |