From d598be66eddc0e925eee96e23d9f95c88cf1f6ed Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Mon, 20 Jul 2026 19:07:43 -0400 Subject: split into separate file, readme clarifications --- snag/readme.txt | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'snag/readme.txt') diff --git a/snag/readme.txt b/snag/readme.txt index ca358b6..ffc6041 100644 --- a/snag/readme.txt +++ b/snag/readme.txt @@ -1,15 +1,15 @@ # SNAGGLE Package Manager (snag) ## Useful Subcommands -`install`/`inst` - install the specified package(s) (default) -`remove` - uninstall the specified package(s) -`upgrade/'up` - upgrade the package database -`find`/`search` - list packages whose metadata matches specified search string (flag to limit to installed) -`info`/`desc` - describe the metadata (and install data) of the specified package(s) -`log` - open your pager to the build log of the specified package +install/inst - install the specified package(s) (default) +remove - uninstall the specified package(s) +upgrade/up - upgrade the package database +find/search - list packages whose metadata matches specified search string (flag to limit to installed) +info/desc - describe the metadata (and install data) of the specified package(s) +log - open your pager to the build log of the specified package -`files` - list the installed files of the specified package(s) -`why` - list why this package is installed (manually installed, as a dependency, from a group) +files - list the installed files of the specified package(s) +why - list why this package is installed (manually installed, as a dependency, from a group) ## Important Directories Package Database - /var/snag/pkgs/ @@ -18,24 +18,32 @@ Logs/In Progress Builds - /var/snag/logs/ SNAG Configuration - /etc/snag/ ## Terminology -"Package Database" - the directory containing package descriptions -"Install Database" - the directory containing information on installed package -"Package Description" - the directory and script containing build instructions for a package -"Package Info/Metadata" - the metadata encoded in the package description -"Package Attribute" - a single key value property of the package info - -## Package Format +Package Database - the directory containing package descriptions +Package Description - the directory and script containing build instructions for a package +Package Info/Metadata - the metadata encoded in the package description +Package Attribute - a single key value property of the package info +Install Database - the directory containing information on installed package +Install Description - the data stored about a package in the install database + +## Package Description Format Each package has a directory in the package database, named by its `id`. Inside each package directory is the description script named `{id}.sh` The description script should have functions for `configure`, `build`, and `install` The description script should define variables for attributes with the name `pkg_{attr}` +## Install Description Format +TBD. Will contain at least: +- date installed +- flists +- install reason + + ## Interesting Features - switch between cli and tui mode mid run - build packages that aren't in the database Packages have the following attributes: -`id` - the identifier name of the package. everything uses this +`id` - the identifier name of the package. everything uses this `name` - the display name of package `desc` - the short description of the package -- cgit v1.2.3