Basic and simple packaging system
Find a file
2020-04-14 11:34:11 +02:00
completion Discard completion errors 2020-04-14 11:34:11 +02:00
server_scripts Fix install options 2020-03-02 16:53:17 +01:00
src Fix root check 2020-03-09 14:25:27 +01:00
.config.example Init 2020-02-07 13:57:28 +01:00
.gitignore Init 2020-02-07 13:57:28 +01:00
compile.sh Major rework: 2020-03-02 16:39:55 +01:00
LICENSE Initial commit 2020-02-07 10:55:17 +01:00
README.md Fix install options 2020-03-02 16:53:17 +01: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://zawz.net/zpkg

As user

Requirements:

  • sudo
  • wget
  • tar

Optional:

  • pv

Installing

wget http://zawz.net/zpkg/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 zawz.net/zpkg for your desired target

Uninstalling

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

Using

See zpkg -h

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
+-- ROOT
|    +-- /
+-- HOME
     +-- ~
  • The ROOT directory repsesents 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

Deploying packages

zpkg deploy <dir...>

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

Functionality

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

Non-present functionality

  • Versions
  • Multi-repo