Skip to content

feat: Add loong64 architecture support to debian/control#23

Open
Zeno-sole wants to merge 2 commits intodeepin-community:masterfrom
Zeno-sole:master
Open

feat: Add loong64 architecture support to debian/control#23
Zeno-sole wants to merge 2 commits intodeepin-community:masterfrom
Zeno-sole:master

Conversation

@Zeno-sole
Copy link
Copy Markdown
Contributor

Add loong64 (LoongArch) architecture support to multiple packages in debian/control, enabling libvirt to be built for loong64 systems. The following Build-Depends and binary package Architecture fields are updated:

  • libglusterfs-dev, librados-dev, librbd-dev, qemu-utils (Build-Depends)
  • libvirt-login-shell, libvirt-daemon-driver-qemu, libvirt-daemon-driver-lxc, libvirt-daemon-driver-storage-gluster, libvirt-daemon-driver-storage-rbd (Architecture)

Log: Add loong64 architecture support to debian/control

Influence:

  1. Verify libvirt builds successfully on loong64 architecture
  2. Ensure all loong64-specific binary packages are generated correctly
  3. Validate no regression on existing architectures (amd64, arm64, etc.)
  4. Check gluster/rbd storage drivers compile on loong64
  5. Confirm qemu-utils dependency resolves on loong64

feat: 为 debian/control 添加 loong64 架构支持

在 debian/control 中为多个包添加 loong64 (龙芯) 架构支持,
使 libvirt 能够在 loong64 系统上构建。更新了以下 Build-Depends
和二进制包 Architecture 字段:

  • libglusterfs-dev, librados-dev, librbd-dev, qemu-utils (Build-Depends)
  • libvirt-login-shell, libvirt-daemon-driver-qemu, libvirt-daemon-driver-lxc, libvirt-daemon-driver-storage-gluster, libvirt-daemon-driver-storage-rbd (Architecture)

Log: 为 debian/control 添加 loong64 架构支持

Influence:

  1. 验证 libvirt 在 loong64 架构上能成功构建
  2. 确保所有 loong64 特定的二进制包能正确生成
  3. 验证现有架构 (amd64, arm64 等) 没有回归
  4. 检查 gluster/rbd 存储驱动在 loong64 上能正确编译
  5. 确认 qemu-utils 依赖在 loong64 上能正确解析

Add loong64 (LoongArch) architecture support to multiple packages
in debian/control, enabling libvirt to be built for loong64 systems.
The following Build-Depends and binary package Architecture fields
are updated:
  - libglusterfs-dev, librados-dev, librbd-dev, qemu-utils (Build-Depends)
  - libvirt-login-shell, libvirt-daemon-driver-qemu,
    libvirt-daemon-driver-lxc, libvirt-daemon-driver-storage-gluster,
    libvirt-daemon-driver-storage-rbd (Architecture)

Log: Add loong64 architecture support to debian/control

Influence:
1. Verify libvirt builds successfully on loong64 architecture
2. Ensure all loong64-specific binary packages are generated correctly
3. Validate no regression on existing architectures (amd64, arm64, etc.)
4. Check gluster/rbd storage drivers compile on loong64
5. Confirm qemu-utils dependency resolves on loong64

feat: 为 debian/control 添加 loong64 架构支持

在 debian/control 中为多个包添加 loong64 (龙芯) 架构支持,
使 libvirt 能够在 loong64 系统上构建。更新了以下 Build-Depends
和二进制包 Architecture 字段:
  - libglusterfs-dev, librados-dev, librbd-dev, qemu-utils (Build-Depends)
  - libvirt-login-shell, libvirt-daemon-driver-qemu,
    libvirt-daemon-driver-lxc, libvirt-daemon-driver-storage-gluster,
    libvirt-daemon-driver-storage-rbd (Architecture)

Log: 为 debian/control 添加 loong64 架构支持

Influence:
1. 验证 libvirt 在 loong64 架构上能成功构建
2. 确保所有 loong64 特定的二进制包能正确生成
3. 验证现有架构 (amd64, arm64 等) 没有回归
4. 检查 gluster/rbd 存储驱动在 loong64 上能正确编译
5. 确认 qemu-utils 依赖在 loong64 上能正确解析

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 9, 2026

TAG Bot

TAG: 10.7.0+really9.10.0-1deepin9
EXISTED: no
DISTRIBUTION: unstable

@Zeno-sole
Copy link
Copy Markdown
Contributor Author

/integrate

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 9, 2026

AutoIntegrationPr Bot
auto integrate with pr url: deepin-community/Repository-Integration#3974
PrNumber: 3974
PrBranch: auto-integration-25595754125

@deepin-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from zeno-sole. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

In qemuFirmwareFetchParsedConfigs(), a single unparseable firmware
descriptor JSON file caused the entire firmware discovery to fail
with -1. This prevented ARM aarch64 UEFI firmware from being found
when virt-manager requests firmware='efi', even though valid aarch64
descriptors existed.

The root cause is that the 9.10.0 code uses goto error when
qemuFirmwareParse() returns NULL, while 10.7.0 gracefully skips
the bad descriptor and continues processing remaining files.

This fix restores the 10.7.0 behavior: iterate over all descriptor
files, skip any that fail to parse, and accumulate only the
successfully parsed firmwares.

Patch: fix-firmware-descriptor-parsing.patch

Log: Fix ARM UEFI firmware discovery failure caused by strict
firmware descriptor parsing

Influence:
1. Test ARM aarch64 VM creation with firmware='efi' via virt-manager
2. Verify UEFI firmware autoselection works on aarch64
3. Ensure x86_64 UEFI firmware still works correctly
4. Confirm firmware descriptor parse errors are logged but do not
   block discovery of other valid descriptors
5. Test with missing or malformed JSON files in /usr/share/qemu/firmware/

fix: 跳过格式异常的固件描述符而非中止固件发现

在 qemuFirmwareFetchParsedConfigs() 中,单个无法解析的固件描述符
JSON 文件会导致整个固件发现流程失败并返回 -1。这阻止了 ARM
aarch64 UEFI 固件的发现,即使存在有效的 aarch64 描述符。

根本原因是 9.10.0 代码在 qemuFirmwareParse() 返回 NULL 时使用
goto error,而 10.7.0 会优雅地跳过有问题的描述符并继续处理
剩余文件。

此修复恢复了 10.7.0 的行为:遍历所有描述符文件,跳过解析失败
的文件,仅累积成功解析的固件。

补丁: fix-firmware-descriptor-parsing.patch

Log: 修复因固件描述符严格解析导致的 ARM UEFI 固件发现失败

Influence:
1. 测试通过 virt-manager 使用 firmware='efi' 创建 ARM aarch64 虚拟机
2. 验证 aarch64 上 UEFI 固件自动选择正常工作
3. 确保 x86_64 UEFI 固件仍然正常工作
4. 确认固件描述符解析错误被记录但不阻止其他有效描述符的发现
5. 测试 /usr/share/qemu/firmware/ 中存在缺失或格式异常的 JSON 文件

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Zeno-sole
Copy link
Copy Markdown
Contributor Author

/integrate

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants