~/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
- 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.
- 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.
- Incorrect Field Names: FastForge uses groups, but in .PKGINFO this field
must be named group.
- 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.
- Missing Mandatory Fields: It is missing builddate and url, which are
standard for valid packages.
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
around the equals sign). FastForge generates key=value, which causes the
parser to fail immediately and report that pkgname is missing.
number (e.g., -1) in the pkgver field. FastForge uses 0.11.0, but it
should be 0.11.0-1.
must be named group.
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.
standard for valid packages.