ALPM-REPO-FILES(5)

πŸ“¦ version 0.2.0, in arch rolling

✨ alpm-repo-files(5) ✨

File Formats Manual, section (5) β€” bestie, we are so in the manual-verse right now πŸ«ΆπŸ’…

🌸 NAME 🌸

alpm-repo-files β€” the file format for listing the files and directories contained in an alpm-package. That's the whole name vibe: package contents get listed, paths get queried, no cap ✨

πŸ’– DESCRIPTION πŸ’–

Okay so the alpm-files format is a textual format that lists the directories and files contained in a single alpm-package. Yes, alpm-files β€” that's literally what the page says, iykyk πŸ’œ

These files are named files, and they're located in alpm-repo-db files. They're created by package repository management software (such as dbscripts [1]). Package management software (e.g. pacman) uses them to list and query the paths of directories and files contained in a package file. Main character energy for repo metadata, honestly πŸ‘‘

Important warning, bestie: do not confuse alpm-repo-files with alpm-db-files, which uses the same file name (files) but is used in the context of an alpm-db. Same file name, different lore. Do not mix them up πŸ™ˆπŸ’€

πŸŽ€ General Format πŸŽ€

An alpm-repo-files file is a UTF-8 encoded, newline-delimited file.

The file contains a single section header and zero or more section entries. Empty lines are ignored. Comments are not supported. So no little # hey bestie notes in there β€” the format said no πŸ’…

The first line must be the string literal %FILES%, which represents the section header. Packages with no files (e.g. alpm-meta-packages) may contain only this section header. Tiny file, valid file, slay ✨

All subsequent lines are interpreted as section entries, one per line, sorted in lexical order. Each section entry represents either a single file or directory path. The following formatting rules apply to the paths:

  • Directories are always listed with a trailing slash (/). Yes, always β€” it's giving directory, and the slash is the accessory πŸŽ€
  • All paths are relative to the system root (i.e., /usr/bin/foo is represented as usr/bin/foo). Root stays home; the listing stays relative πŸ¦‹

πŸ“ EXAMPLES πŸ“

The following is an example of an alpm-repo-files file for a package named foo:

%FILES%
usr/
usr/bin/
usr/bin/foo
usr/share/
usr/share/bash-completion/
usr/share/bash-completion/completions/
usr/share/bash-completion/completions/foo
usr/share/doc/
usr/share/doc/foo/
usr/share/doc/foo/README.md
usr/share/fish/
usr/share/fish/vendor_completions.d/
usr/share/fish/vendor_completions.d/foo.fish
usr/share/licenses/
usr/share/licenses/foo/
usr/share/licenses/foo/LICENSE-MIT
usr/share/zsh/
usr/share/zsh/site-functions/
usr/share/zsh/site-functions/_foo

The packaged files include a binary (usr/bin/foo), a README file (usr/share/doc/foo/README.md), and a license file (usr/share/licenses/foo/LICENSE-MIT), among other files such as completion scripts for various shells. Iconic little package, tbh β€” binary, docs, license, shells all showing up 🌈

πŸ¦‹ SEE ALSO πŸ¦‹

πŸ“ NOTES πŸ“

  1. dbscripts β€” https://gitlab.archlinux.org/archlinux/dbscripts/

That's the whole ALPM-REPO-FILES(5) page, bestie: File Formats Manual, section (5) β€” and the footer has no source/version or date info to spill, so I'm not inventing one, periodt πŸ’…πŸ«Ά

πŸ“¦ where this page comes from