Skip to content

Latest commit

 

History

History
103 lines (80 loc) · 4.6 KB

File metadata and controls

103 lines (80 loc) · 4.6 KB

apt-pac TODO & Roadmap

Recently Completed ✅

  • Internationalization (i18n):

    • Complete gettext implementation with _() wrappers across all modules.
    • Automated .pot template generation via scripts/compile-translations.sh.
    • 100% string coverage including help texts, errors, and status messages.
  • Output Standardization:

    • Unified message prefixes: E: (Red/Error), W: (Yellow/Warning), N: (Magenta/Note).
    • Consistent "Reading package lists... Done" status blocks.
    • Fixed specific "WARNING:" and "Abort" message inconsistencies.
  • AUR Build System Fixes:

    • Visible makepkg output for better debugging.
    • Correct working directory preservation for makepkg.
    • Fixed permissions issues when running as root (dropping to SUDO_USER or configured build user).
  • Easter Eggs & Polish:

    • Improved apt moo with a cute furry cow.
    • Added apt pacman with Unicode animation.
    • "Did you mean?" suggestions for typos.
  • Dependency Cycle Detection:

    • Implementation: 3-color DFS algorithm to detect circular dependencies in AUR packages.
    • Provides clear error messages with full cycle path.
  • Split Package Support:

    • Detects packages with same PackageBase, builds only once, and handles sub-packages correctly.

Critical Features (To Match Full APT/Helper Experience)

  • AUR Upgrades (apt upgrade):

    • Checks official packages via pacman -Syu and then checks AUR updates via RPC.
  • APT Repositories (add-apt-repository):

    • Shows educational guide for pacman.conf and offers to launch $EDITOR.
    • Includes examples for Chaotic AUR and generic repos.
  • Source Management (apt source, apt build-dep) for AUR:

    • apt source tries ABS first, then falls back to AUR.
    • apt build-dep installs dependencies required for building.
  • Cache Maintenance:

    • apt clean cleans both pacman cache and apt-pac sources.

Enhancements

  • Smart Provider Selection:

    • Removed forceful --noconfirm from makepkg to allow provider selection.
  • GPG Key Import:

    • Automatically detects PGP errors and attempts to import keys via gpg --recv-keys.
  • Performance:

    • Parallel download simulation.
    • Aggressive RPC result caching.

Advanced Features

  • Dependency Graphs: apt depends / apt rdepends with pactree integration
  • GraphViz Export: apt dotty generates visual dependency graphs
  • Package Statistics: apt stats shows system package analytics
  • Version Policy: apt policy displays installed vs candidate versions
  • Download-Only Mode: --download-only flag for package caching
  • Automatic PKGBUILD Review: Security prompts before building
  • AUR Voting: Vote for packages from CLI
  • Local Repository: Create custom package repos
  • Change Analytics: Track installation/removal patterns

Planned Features

AUR Enhancements

  • Conflict Detection: Detect conflicts between AUR packages before building
  • Provides/Replaces Handling: Check provides lists before declaring "not found"
  • PKGBUILD Review Prompts: Security-focused review before building untrusted code
  • VCS Package Updates: Smart version checking for -git, -svn, -hg packages
  • Out-of-date Flagging: Integration with AUR's flag system

Package Management

  • Downgrade Support: apt install package=version syntax
  • Hold/Unhold Packages: apt-mark command with -D --asdeps / --asexplicit
  • Package Pinning: Per-repository priorities
  • Emergency Rollback: System snapshot integration
  • Orphan Detection: apt autoremove removes orphaned dependencies (implemented)

Output & UI

  • Progress Bars: Simulated download progress
  • Parallel Downloads: True concurrent downloads with aggregate progress
  • Config File Diffs: Colored diff when .pacnew files are created
  • Interactive Resolver: When conflicts arise, offer choices

Performance

  • Parallel AUR Builds: Build independent packages concurrently
  • PKGBUILD Cache: Avoid re-parsing on subsequent operations
  • Delta Downloads: Incremental updates for large packages
  • ccache/sccache Hints: Suggest compiler cache for frequent rebuilds

Documentation & Refactoring

  • Man Pages: Comprehensive documentation for all commands
  • Completion Scripts: Bash/Zsh auto-completion
  • Test Coverage: Integration tests and mock AUR server
  • Usage Wiki: Examples and common workflows