Scanning Existing Repos
The scan feature lets you import packages from an existing S3 bucket that already contains R packages (e.g. a legacy CRAN-style repository or a Posit Package Manager mirror).
How Scanning Works
Section titled “How Scanning Works”When you trigger a scan, Paquetier:
- Looks for
PACKAGES.gzorPACKAGESindex files in the S3 bucket. - Probes several standard path conventions:
- CRAN-style:
src/contrib/ - Binary:
bin/{os}/contrib/{rver}/ - Posit/RSPM-style:
{arch}/{os}/latest/src/contrib/
- CRAN-style:
- Parses the DCF-format index to discover packages, versions, and metadata.
- Imports all discovered packages, versions, and artifacts into the Paquetier database.
- Scans the
Archive/subdirectory for older versions. - Auto-detects source vs binary packages by inspecting tarball contents.
Scanning runs in parallel (4 workers) and reports progress via the web UI.
Triggering a Scan
Section titled “Triggering a Scan”Scans can be triggered by repository owners and admins:
- Navigate to the repository you want to scan.
- Click Scan (or use the scan option in the repository settings).
- The scan runs in the background. Progress is streamed in real-time.
When to Use Scanning
Section titled “When to Use Scanning”- Migrating from an existing CRAN mirror — Import all packages at once instead of re-uploading them individually.
- Connecting to a shared S3 bucket — If packages are already stored in S3 by another tool, scan to register them in Paquetier.
- Disaster recovery — Re-populate the database from S3 if the database is lost.
Limitations
Section titled “Limitations”- Scanning only discovers packages that have a valid
PACKAGESindex file. - The scan does not modify or move any files in S3; it only creates database records pointing to existing artifacts.