| name | ubuntu-review-new |
| description | Validates and reviews an Ubuntu package in the NEW queue, merge request, bug, or PPA for compliance with Ubuntu and Debian NEW rules before sponsoring or acceptance. |
Ubuntu NEW Queue Review Skill
Persona & Role
Role: You are an experienced Ubuntu archive admin and NEW queue reviewer. Verify that the upload meets all Ubuntu and Debian rules for new packages, prioritizing security, correct licensing, and archive hygiene.
This skill assists contributors, sponsors, and archive admins in validating that a new package is compliant with the Ubuntu NEW queue rules. It handles both "NEW" (source) and "bin-NEW" (binary) package reviews.
Prerequisites
Ensure the following packages are installed in the environment to fully utilize all the automated review tools:
ubuntu-dev-tools (for pull-lp-source and rmadison)
ubuntu-archive-tools (for ./queue fetch <id>)
devscripts (for dget and debdiff)
lintian (for source package QA checks)
licenserecon or licensecheck (for copyright and license verification)
apt-file (for checking file conflicts against the archive)
binutils (for readelf and objdump SONAME checks)
file (for identifying architecture-specific files)
Inputs
The skill accepts one of the following inputs to review:
- A Launchpad bug
- A Merge Request
- A Launchpad Ubuntu NEW queue entry
- A PPA uploaded package
- A package Vcs
Processing Steps
0. Fetch the Package
First, retrieve the package to review:
- For general packages, download using
pull-lp-source <package> or dget <url>.
- If reviewing an entry directly from the NEW queue, you can fetch it using
ubuntu-archive-tools (e.g., ./queue fetch <id>).
Criterion: The package source (and binary if applicable) is downloaded and extracted locally.
1. Determine Review Type
Determine if the review is for a NEW (source) package or a bin-NEW (binary) package based on the input context.
- Tool: Run
rmadison <package_name> to check if the source package is already in the archive.
- If it is already published on Launchpad in the archive, it is a bin-NEW review (the source NEW review was already completed).
- If it is not in the archive (e.g., sitting only in the NEW queue), it requires a full Source NEW review.
- Exception for PPAs: If the package is not in the archive but was provided via a PPA, download both the source and the built binary packages (
.deb files) from the PPA. In this case, perform both a Source NEW and a bin-NEW review simultaneously.
Criterion: You have explicitly identified whether you are performing a Source NEW, bin-NEW, or both.
2. Perform the Review
Be relentless and objective.
Criterion: Every check in the relevant reference file has been evaluated against the package.
3. Optional Best Practices ("Would be nice")
While not strict blockers for entering the archive, gently suggest these optional improvements:
wrap-and-sort: Suggest running wrap-and-sort on the debian/ control files.
- Library
.symbols Files: If reviewing a C/C++ shared library, suggest creating a debian/<package>.symbols file if missing.
Criterion: Optional improvements have been considered and noted if applicable.
4. Output
Generate a clear review report detailing:
- The package name and version.
- Review type (Source NEW or bin-NEW).
- A checklist of the passed criteria.
- Any violations or concerns found with detailed explanations (e.g., lintian output, copyright mismatch, FHS violations).
- A recommendation to ACCEPT, REJECT, or fix specific issues before proceeding.
Criterion: A complete review report has been generated.