Skip to content

Conversation

@tabrisnet
Copy link
Contributor

This is a cherry-pick, with a few teaks, from #25

  • apt-utils is needed, albeit it will be installed by mmdebstrap [we have to explicitly do so], as is locales
  • console-setup is from config/cli/common/debootstrap/packages
    • so is ca-certificates
  • e2fs-progs oddly isn't, but it is needed to do the FS resize that happens on first boot.
    • should this dependency be handled differently for different rootfs [btrfs, ext4, xfs, etc]?
  • initramfs-utils is needed for any kernel that I'm aware of. arguably armbian-bsp or linux-image should depend on this, but as its always needed, it should go into the rootfs cache.
  • gnupg2 is a virtual package that pulls in other GNU PG machinery, which afaik is needed for APT.
  • iproute2 seems obvious? maybe this could be demoted to Recommends
  • I'm not aware of any system able to avoid tzdata

the Recommends are just pulled from config/cli/common/main/packages

@github-actions github-actions bot added the 02 Milestone: First quarter release label Dec 8, 2025
@coderabbitai
Copy link

coderabbitai bot commented Dec 8, 2025

Walkthrough

The pull request modifies the debian/control file to expand the dependency and recommendation lists for the armbian-common package. Eleven new packages are added to the Depends field: apt-utils, ca-certificates, console-setup, e2fsprogs, initramfs-tools, iproute2, logrotate, linux-base, locales, gnupg2, and tzdata. Additionally, thirty-four packages are added to the Recommends field, including utilities and tools such as curl, jq, rsync, and wireless networking packages. The change maintains the existing package structure with no removals.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify all package names are spelled correctly and match actual Debian package names
  • Check for duplicate packages across the added Depends and Recommends lists
  • Ensure consistent formatting and alphabetical ordering if applicable
  • Confirm that critical infrastructure packages (e.g., initramfs-tools, linux-base) are appropriate as hard dependencies rather than recommendations

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding dependencies and recommends to armbian-common from armbian/build's CLI config.
Description check ✅ Passed The description is directly related to the changeset, providing context for why each dependency is being added and referencing the source configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between d91080a and 3c6ca64.

📒 Files selected for processing (1)
  • debian/control (1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: tabrisnet
Repo: armbian/apa PR: 25
File: debian/control:23-23
Timestamp: 2025-12-06T21:01:15.459Z
Learning: In the armbian/apa repository's debian/control, iputils-ping is temporarily added to armbian-common's Depends as a workaround for a capability issue where /bin/ping cannot create raw sockets. The proper solution involves: (1) PR #27, (2) removing the chmod u+s workaround code from armbian/build (armbian/build#9033), and (3) adding libcap2-bin to armbian/build's debootstrap package list so that iputils-ping's postinst script can use setcap to properly configure /bin/ping. Once these pieces are complete and merged, iputils-ping should be removed from armbian-common's Depends as it will no longer be needed.
📚 Learning: 2025-12-06T21:01:15.459Z
Learnt from: tabrisnet
Repo: armbian/apa PR: 25
File: debian/control:23-23
Timestamp: 2025-12-06T21:01:15.459Z
Learning: In the armbian/apa repository's debian/control, iputils-ping is temporarily added to armbian-common's Depends as a workaround for a capability issue where /bin/ping cannot create raw sockets. The proper solution involves: (1) PR #27, (2) removing the chmod u+s workaround code from armbian/build (armbian/build#9033), and (3) adding libcap2-bin to armbian/build's debootstrap package list so that iputils-ping's postinst script can use setcap to properly configure /bin/ping. Once these pieces are complete and merged, iputils-ping should be removed from armbian-common's Depends as it will no longer be needed.

Applied to files:

  • debian/control
🔇 Additional comments (5)
debian/control (5)

25-25: Confirm package name (minor documentation discrepancy).

The PR objectives mention "initramfs-utils" but the code correctly uses "initramfs-tools" (the actual Debian package name). This is just a documentation discrepancy in the PR description, not a code issue. The implementation is correct.


37-79: Verify Recommends section for package appropriateness.

The Recommends additions appear reasonable for a CLI system, with filesystem-specific tools and wireless packages appropriately marked as optional. However, clarification is needed on:

  1. init: Confirm whether explicitly recommending the init virtual package is necessary given systemd is the standard init system.
  2. sudo: Verify whether sudo's placement in Recommends is intentional or if it should be in Depends as a core administrative tool.
  3. systemd-resolved: Verify compatibility with network-manager's DNS handling if both are expected to be installed.

19-36: Confirm whether the underlying capability issue has been resolved.

This cherry-pick from PR #25 omits iputils-ping from the Depends list, yet PR #25 added it as a temporary workaround for /bin/ping raw socket capability issues. The workaround should only be removed once PR #27, armbian/build#9033, and the libcap2-bin addition to armbian/build are complete. Verify that all three fixes are merged and working before confirming this omission is intentional.


21-28: Address the absence of iputils-ping and reconsider filesystem-specific dependencies.

This appears to be missing iputils-ping from Depends, which is currently needed as a temporary workaround for /bin/ping raw socket capability issues until the proper libcap2-bin solution (involving armbian/build changes and PR #27) is completed. Once those pieces are merged, it can be removed.

Regarding other Depends additions:

  • e2fsprogs (filesystem-specific): Since armbian-common targets multiple filesystem types across different boards, consider whether filesystem tools should be conditional or moved to armbian-bsp where they can vary by board configuration.

  • initramfs-tools: Verify if kernel packages already pull this in as a dependency, creating potential redundancy.

  • iproute2: While valid for basic networking, confirm whether this should remain in Depends or be demoted to Recommends based on minimalism requirements.


34-34: gnupg2 is an appropriate dependency. It's a real transitional package in Debian that depends on gnupg, not a virtual package. Using it as a Depends entry is standard and correct.

Likely an incorrect or invalid review comment.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added size/small PR with less then 50 lines Needs review Seeking for review labels Dec 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

02 Milestone: First quarter release Needs review Seeking for review size/small PR with less then 50 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant