centaur
- 2 Devlogs
- 4 Total hours
A package manager for UNIX-based operating systems
A package manager for UNIX-based operating systems
In this release, I focused on improving the .centaur package format and fixing several usability issues from v1.0.
.centaur syntax into 3 clear sections
I changed .centaur files so package data is now split into:
[meta][install][uninstall]This replaces the old mixed format where metadata, install steps, and uninstall script generation were all blended together.
In v1.0, package metadata and dependency handling relied on ad-hoc placement (for example, dependency lines and markers like === ADD DEPENDENCIES ABOVE THIS LINE ===).
In v1.1, I moved this into a structured metadata block, for example:
name = "writedoc"version = "2.3-p1"dependencies = "example"This makes package definitions cleaner and far more consistent.
I moved installation commands into [install] and uninstall commands into [uninstall].
Previously, uninstall behavior was created indirectly during install by writing uninstall commands into another file.
Now I define uninstall behavior directly in the package script itself, which is simpler and easier to maintain.
I resolved several pain points in .centaur files, including:
With v1.1, I made .centaur scripts more structured, more readable, and more reliable.
The new format is easier for me (and others) to write, maintain, and parse going forward.
I’m currently working on improving how I go about parsing package metadata. Previously, package dependencies were declared at the top of the file, however this soon limited adding extra metadata such as “preservation” type which I will implement later. I will now be using [meta] tags with variables inside them to allow for more advanced configuration!