Skip to content
/ alpm Public

Project that works on specifications, Rust libraries and tools for Arch Linux Package Management (read-only mirror)

Notifications You must be signed in to change notification settings

archlinux/alpm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1f8bd7f Β· Apr 22, 2025
Sep 29, 2024
Oct 24, 2024
Jan 30, 2025
Sep 29, 2024
Apr 22, 2025
Apr 18, 2025
Apr 22, 2025
Mar 19, 2025
Apr 11, 2025
Apr 22, 2025
Apr 22, 2025
Apr 10, 2025
Apr 18, 2025
Apr 18, 2025
Apr 17, 2025
Jan 9, 2025
Mar 31, 2025
Jan 13, 2025
Apr 10, 2025
Mar 13, 2025
Dec 14, 2024
Mar 31, 2025
Apr 18, 2025
Apr 18, 2025
Apr 10, 2025
Feb 15, 2025
Feb 20, 2025
Mar 24, 2025
Mar 12, 2025
Apr 8, 2025
Jan 9, 2025
Sep 29, 2024
Sep 29, 2024
Feb 20, 2025

Repository files navigation

ALPM

This project comprises specifications, as well as Rust libraries and tools for Arch Linux Package Management.

The ALPM project arose from the need for more clearly specifying the interfaces, as well as providing bindings and tools in a memory-safe programming language. The specifications and implementations are based on ad-hoc implementations in the pacman project. Currently, this project aims to maintain compatibility with pacman 5.1.0 and onwards.

The scope of this project is to provide robust integration for all relevant package creation and consumption, as well as repository management tasks. As such, the ALPM project also aims at providing drop-in replacements or alternatives for some facilities provided by pacman.

This project is currently supported by the Sovereign Tech Agency. Read the official announcement for more information.

Documentation

The latest project documentation can be found at https://alpm.archlinux.page

Overview

The following mindmap attempts to provide a high-level overview of the project and put file types as well as (existing and upcoming) libraries into context.

Loading
mindmap
  root((ALPM))
    πŸ“‚ Source
      πŸ“„ PKGBUILD
      πŸ“„ .SRCINFO
      πŸ“šοΈ alpm-srcinfo
    πŸ“¦ Package
      πŸ“„ .BUILDINFO
      πŸ“„ .PKGINFO
      πŸ“„ .INSTALL
      πŸ“„ .MTREE
      πŸ“šοΈ alpm-buildinfo
      πŸ“šοΈ alpm-pkginfo
      πŸ“šοΈ alpm-mtree
      πŸ“šοΈ alpm-package*
      πŸ“šοΈ alpm-package-verify*
      πŸ“šοΈ alpm-package-verify-vda*
    πŸ—„οΈ Repository
      πŸ“„ desc
      πŸ“„ files
      πŸ“šοΈ alpm-repo*
      πŸ“šοΈ alpm-repo-desc*
      πŸ“šοΈ alpm-repo-files*
      πŸ“‚ alpm-state-repo
    πŸ—„οΈ Package Management
      πŸ“„ desc
      πŸ“„ files
      πŸ“šοΈ alpm-db*
      πŸ“šοΈ alpm-db-desc*
      πŸ“šοΈ alpm-db-download*
      πŸ“šοΈ alpm-db-files*
      πŸ“šοΈ alpm-db-verify*
      πŸ“šοΈ alpm-db-verify-vda*

For an overview of planned specifications and components, refer to the milestones of the project.

[*] Not yet implemented, or subject to change.

Components

Currently the following components are available:

  • alpm-buildinfo: a library and commandline interface to work with BUILDINFO files
  • alpm-mtree: a library and commandline interface to work with .MTREE and mtree files
  • alpm-parsers: a library for providing various custom parsers/deserializers for file types used in ALPM
  • alpm-pkginfo: a library and commandline interface to work with .PKGINFO files
  • alpm-srcinfo: a library and commandline interface to work with SRCINFO files
  • alpm-types: a central library for types used by other ALPM libraries and tools

Contributing

Please refer to the contribution guidelines to learn how to contribute to this project.

Releases

Releases of components are created by the developers of this project.

OpenPGP certificates with the following OpenPGP fingerprints can be used to verify signed tags:

The above are part of archlinux-keyring and certified by at least three main signing keys of the distribution.

License

This project can be used under the terms of the Apache-2.0 or MIT. Contributions to this project, unless noted otherwise, are automatically licensed under the terms of both of those licenses.

About

Project that works on specifications, Rust libraries and tools for Arch Linux Package Management (read-only mirror)

Resources

Security policy

Stars

Watchers

Forks

Languages