Basic and simple packaging system
Find a file
2020-05-26 11:35:44 +02:00
completion Missing completion 2020-05-26 11:23:45 +02:00
server_scripts install root fix 2020-05-26 11:35:44 +02:00
src Missing config help 2020-05-26 11:26:09 +02:00
.config.example Add package description + bugfixes 2020-05-22 01:57:21 +02:00
.gitignore Fix remove 2020-05-22 16:33:16 +02:00
compile.sh Add package description + bugfixes 2020-05-22 01:57:21 +02:00
LICENSE Initial commit 2020-02-07 10:55:17 +01:00
README.md Add package description + bugfixes 2020-05-22 01:57:21 +02:00
server_deploy.sh Fix install options 2020-03-02 16:53:17 +01:00

zpkg

Basic and simple packaging system

Designed to be used by anyone and deployed anywhere, it is a very basic packaging system without much functionnality but very portable

Official repo: http://zpkg.zawz.net

As user

Requirements:

  • sudo
  • wget
  • tar

Optional:

  • pv

Installing

wget http://zpkg.zawz.net/install.sh
sh install.sh

By default the config is installed to /etc/zpkg This can be changed with the -c option

If you wish to use another repository, substitute zpkg.zawz.net for your desired target

Uninstalling

zpkg remove $(zpkg list)
sudo rm -rd /etc/zpkg

Using

See zpkg -h for details

Deploy on a server

Requirements

To deploy on a server you need:

  • SSH server
  • HTTP server
  • dedicated zpkg user

You need to be able to SSH to the zpkg user, SSH keys are recommended

Process

  1. Write the desired config in .config, see .config.example

  2. Run server_deploy.sh

  3. Make available the package directory to the HTTP server

Package architecture

.
+-- DEPS
+-- DESC
+-- ROOT
|    +-- /
+-- HOME
     +-- ~
  • The ROOT directory represents the root filesystem
  • The HOME directory represents the home directory of the user
  • The DEPS file contains dependency packages separated by spaces or newlines. Dependencies are package names from the repository
  • The DESC file contains the description of the package

Deploying packages

zpkg deploy <dir...>

Target directories are structured as described above
The name of the directory is the package name

Functionality

  • Install/Remove/Update packages
  • Dependency resolution
  • Config redirection
  • User Home capability

Non-present functionality

  • Versions
  • Multi-repo
  • Hooks