aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2017-09-18 15:33:54 -0300
committerSilvio Rhatto <rhatto@riseup.net>2017-09-18 15:33:54 -0300
commit06ecc56c337c0de3d036dafc1431b7638ad2b908 (patch)
tree9bc883a3988bfe9b5ad425119f685abb7c5a6336 /README.md
downloadstowpkg-06ecc56c337c0de3d036dafc1431b7638ad2b908.tar.gz
stowpkg-06ecc56c337c0de3d036dafc1431b7638ad2b908.tar.bz2
Initial import
Diffstat (limited to 'README.md')
-rw-r--r--README.md103
1 files changed, 103 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e74f815
--- /dev/null
+++ b/README.md
@@ -0,0 +1,103 @@
+Stowpkg: ports system based on GNU Stow
+=======================================
+
+A non-conflicting Unix package manager built atop GNU Stow.
+
+Features
+--------
+
+* Non-conflicting with any other package management in use (distro-spefic, npm, pip, etc).
+* Multi-target support: you can keep may isolated and independent software trees.
+* Multi-distro support: works for any GNU/Linux and possible any BSD-variant.
+* Repository signature verification using GnuPG and signed git commits.
+* Small enough so everybody can learn how a package manager works.
+
+Coming features
+---------------
+
+* Automatic patch application.
+* Source code verification using multiple methods (commit hash, checksums, OpenPGP).
+
+Installation
+------------
+
+On a Debian-like system:
+
+ sudo apt install stow build-essential
+
+Usage
+-----
+
+ stowpkg search # list packages available on ports
+ stowpkg install <package> # install packages from source
+
+Coming usage
+------------
+
+ stowpkg list # list packages installed
+ stowpkg remove <package> # remove packages
+ stowpkg purge <package> # purge packages
+ stowpkg update # update ports repository
+ stowpkg upgrade [package] # upgrade packages
+ stowpkg upstream <package> # check packages versions at upstream
+ stowpkg build # simple package builder (./configure && make && make install)
+
+Running installed applications
+------------------------------
+
+Make sure to include stowpkg package tree into your `PATH`, `MANPATH`, `LD_LIBRARY_PATH`, etc.
+
+Params
+------
+
+Passe using environment variables:
+
+* `BASE`: defaults `<stowpkg-repo>/tree/<architecture>`, but can be configured to anything like
+ `/usr/local` with corresponding packages installed `/usr/local/stowpkg`.
+
+Configuration
+-------------
+
+Use `~/.config/stowpkg` do put any default parameters.
+
+Ports layout
+------------
+
+Check the repo for examples :)
+
+Repository layout
+-----------------
+
+Starting from `$BASE` (like `/usr/local`) we have:
+
+ {bin,lib,man,share,etc,src}: usual Unix paths
+ stow
+ package_name-VERSION
+
+Further development
+-------------------
+
+* Per-architecture binary package support using git-annex and GnuPG signatures, including:
+
+ stowpkg pack <package> # pack an installed package
+ stowpkg fetch <package> # fetch package from the repo
+
+What is does
+------------
+
+If you want to do it manually:
+
+ sudo apt install <luakit-depencies>
+ git clone https://github.com/luakit/luakit
+ cd luakit
+ make PREFIX=/usr/local/stow/luakit
+ sudo make PREFIX=/usr/local/stow/luakit install
+ cd /usr/local/stow/
+ sudo stow luakit
+
+References
+----------
+
+* [GNU Stow Docs](http://www.gnu.org/software/stow/manual/html_node/index.html).
+* [Using GNU Stow to manage source installs](http://blog.danieroux.com/2005/08/07/using-gnu-stow-to-manage-source-installs/).
+* [Get rid of stowaway packages with GNU Stow](https://www.linux.com/news/get-rid-stowaway-packages-gnu-stow).