Skip to content

Pacman not working #335

@abhishek-m-raj

Description

@abhishek-m-raj
~/Projects/WeebHQ/WeebHQ git-[ master]-  sudo pacman -U dist/0.11.0/weebhq-0.11.0-linux.pacman

loading packages...

error: missing package name in dist/0.11.0/weebhq-0.11.0-linux.pacman

error: 'dist/0.11.0/weebhq-0.11.0-linux.pacman': invalid or corrupted package

  aby   ~/Projects/WeebHQ/WeebHQ git-[ master]- 

from my research

When a developer builds an Arch package manually, they write a PKGBUILD file (like the one we made earlier). Because a PKGBUILD is literally a Bash shell script, it uses standard Bash programming syntax to create lists. In Bash, arrays are created using parentheses/brackets:When an automated tool builds an Arch package directly (which is what Fastforge does), it skips the shell script phase. It directly generates the hidden .PKGINFO text file that lives inside the final .tar.zst archive.

That metadata file is not a script. It is parsed by a strict text reader that only understands flat, line-by-line, key-value pairs:
depend = gtk3
depend = mpv

The "missing package name" error occurs because pacman is extremely strict
about the format of the .PKGINFO file, and fastforge is violating several
Arch Linux packaging standards.

Why it's failing

  1. Missing Spaces (Critical): pacman expects key = value (with spaces
    around the equals sign). FastForge generates key=value, which causes the
    parser to fail immediately and report that pkgname is missing.
  2. Invalid Version Format (Critical): Arch Linux requires a package release
    number (e.g., -1) in the pkgver field. FastForge uses 0.11.0, but it
    should be 0.11.0-1.
  3. Incorrect Field Names: FastForge uses groups, but in .PKGINFO this field
    must be named group.
  4. Malformed Lists: FastForge is using parentheses and commas (e.g.,
    arch=(x86_64) and license=(unknown)). In .PKGINFO, these should be raw
    values without parentheses, and multiple values should be handled by
    repeating the key on a new line, not by using commas.
  5. Missing Mandatory Fields: It is missing builddate and url, which are
    standard for valid packages.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions