tUpdate README to be cleaner - pm - barely a pack manager
(HTM) git clone git://z3bra.org/pm
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 76c3f28f7015a81b45e92a9779c336bf63adc5fc
(DIR) parent 43061929728ba58dd57d8fb3f3b7b28d4904ab80
(HTM) Author: Willy Goiffon <dev@z3bra.org>
Date: Fri, 29 May 2020 19:14:19 +0200
Update README to be cleaner
Diffstat:
M README | 112 ++++++++-----------------------
1 file changed, 28 insertions(+), 84 deletions(-)
---
(DIR) diff --git a/README b/README
t@@ -1,93 +1,37 @@
-# pm
+pm
+==
+Simple (borderline stupid) pack manager.
-A pack manager.
+Packs are simple tarballs that `pm` will extract to a predefined `$ROOT`
+directory, while keeping track of the installed files in order to list,
+update or delete them.
-## usage
-`pm` has only a few commands in order to keep it simple to use:
+Features
+-----
+- Install packs under any `$ROOT` directory (default: /)
+- Filesystem as an internal database format
+- Multiple compression method supported
+- Small feature set (it's a plus!)
+- Ability to use external tool for repositories
- pm [-adfiuv] [packs..]
+Usage
+-----
+Refer to pm(1) manual page for details and examples. The below commands
+are provided as a quick introduction.
- # delete packs
- pm -d pack [pack..]
+ pm -iv # list installed pack + version
+ pm -a sick@1.1.tbz # add a new pack
+ pm -u sick@1.2.tbz # update an existing pack
+ pm -d sick # delete a pack
- # update packs
- pm -u pack#0.1.tar.bz2 [pack..]
+For more infomations about the pack format, see pack(5).
- # list installed packs
- pm -i
+Installation
+-----
+Edit config.mk if needed, then build with the following command:
- # list files installed by a pack
- pm -i pack
+ make install
-## pack format
-Packs are simple bzip2 compressed tarballs files meant to be extracted to your
-$ROOT. Once extracted, the list of files installed (relative to your $ROOT will
-be written to a file in your $META directory, under a subdirectory named after
-your pack.
+Require [libarchive][0].
- $ ROOT=/ns/pm/rootfs
- $ META=$ROOT/metadata
- $ export ROOT META
- $ pm -a ./pack#0.0.tar.bz2
- $ tree $ROOT
- /ns/pm/rootfs
- |-- bin
- | `-- pack
- |-- metadata
- | `-- pack
- | |-- files
- | `-- version
- `-- share
- `-- man
- `-- man1
- `-- pack.1
-
-The name of a pack should be constructed as follow:
-
- ${NAME}${SEPARATOR}${VERSION}${EXTENSTION}
-
-NAME: name of the pack
-VERSION: version of the pack
-SEPARATOR: a unique char within the whole pack name
-EXTENSTION: whichever extenstion you want
-
-The format used by default is pack#version.tar.bz2
-As example, the following pack names are valid:
-
-* pack:0.0-1.tar.bz2
-* pack#0.0-1.pkg
-* pack,0.0-1:pack
-* pack_0.0-1.tar.bz2
-
-On the other side, the following are NOT valid:
-
-* pack-0.0-1.tar.bz2
-* pack.0.0-1.pkg
-* pack_name_0.0.tar.bz2
-* pack#0.0-1#tar.bz2
-
-
-## goals
-0. install
- 0.0 recall installed files
- 0.1 NEVER overwrite an existing file
- 0.2 Multiple archive format?
-
-1. update
- 1.0 check versions from a local file
- 1.1 check for (st_ctime - st_mtime) == 0
- 1.2 remove unneeded file
-
-2. remove
- 2.0 remove directories left empty
-
-3. inspect
- 3.0 inspect system for installed packs
- 3.1 inspect files installed by a pack
-
-4. metadata
- 4.0 store pack versions
- 4.1 store installed files
-
-## license
-This software is licensed under the ISC license, see the LICENSE file provided.
+[0]: https://libarchive.org