PurePkg
Simple C package manager.
Planned features
The package manager itself should be a simple bash script and it will use
a few dependencies like jq
to make it easier to implement.
- fetching dependencies
- adding new dependencies
- removing dependencies
- updating dependencies = remove + add + fetch
The package manager will guarantee transaction nature of these operations.
Files structure
The idea is for the package manager to use the following files:
purepkg-deps.json
-- user-defined dependencies, may be added by hand or by using ./purepkg.sh add commandpurepkg-lock.json
-- stores information about installed packages, their versions, names, descriptions, licensespurepkg-this.json
-- contains information about the current repository being a package. It defines name, description, license and a list of paths to files, which should be fetched by someone adding this as a dependency.purepkg/
-- directory for storing intermediary results of operations, before everything succeeds no other file is touched by this managerpurepkgs/
-- directory where packages files are placed. Currently the idea is that the user will use them from this place to include or link -- which may involve creating symlinks to the files to place them in project-specific directories. It is some plan for future to add symlinks creation automatically, but this needs to be revised
Description