Initial commit

This commit is contained in:
Maciej Krzyżanowski 2025-02-18 23:47:30 +01:00
commit 9e989c22ea
2 changed files with 37 additions and 0 deletions

37
README.md Normal file
View File

@ -0,0 +1,37 @@
![PurePkg Logo](pure-pkg-logo.png)
# 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 command
- `purepkg-lock.json` -- stores information about installed packages,
their versions, names, descriptions, licenses
- `purepkg-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 manager
- `purepkgs/` -- 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

BIN
pure-pkg-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 KiB