Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dimkr/packsiz
A tiny, hackable and secure package manager
https://github.com/dimkr/packsiz
embedded embedded-devices embedded-scripting-language embedded-systems lightweight package package-manager packages scriptable-object
Last synced: 2 months ago
JSON representation
A tiny, hackable and secure package manager
- Host: GitHub
- URL: https://github.com/dimkr/packsiz
- Owner: dimkr
- License: mit
- Created: 2017-02-08T21:46:11.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-02-27T21:26:59.000Z (almost 8 years ago)
- Last Synced: 2024-10-09T21:41:21.976Z (3 months ago)
- Topics: embedded, embedded-devices, embedded-scripting-language, embedded-systems, lightweight, package, package-manager, packages, scriptable-object
- Language: Meson
- Size: 10.7 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: COPYING
- Authors: AUTHORS
Awesome Lists containing this project
README
_ _
_ __ __ _ ___| | _____(_)____
| '_ \ / _` |/ __| |/ / __| |_ /
| |_) | (_| | (__| <\__ \ |/ /
| .__/ \__,_|\___|_|\_\___/_/___|
|_|Overview
========packsiz is a tiny, lightweight, hackable and permissively-licensed package
manager for Linux (https://www.kernel.org/) distributions.packsiz is a re-implementation of packlim (https://github.com/dimkr/packlim) in
szl (https://github.com/dimkr/szl) rather than Tcl
(https://github.com/msteveb/jimtcl/).Features
========
Recursive dependencies resolution
# packsiz install mutt ||
[12/02 20:21:07]: verifying the package list \/
[12/02 20:21:07]: building the package installation queue
[12/02 20:21:07]: iana-etc is already installed (!)
[12/02 20:21:07]: linux-libre-headers is already installed (!)
[12/02 20:21:07]: musl is already installed (!)
[12/02 20:21:07]: ncurses is already installed (!)
[12/02 20:21:07]: zlib is already installed (!)
[12/02 20:21:07]: ca-certificates is already installed (!)
[12/02 20:21:07]: libressl is already installed (!)
[12/02 20:21:07]: downloading fetchmail, msmtp and mutt
[12/02 20:21:07]: (reading fetchmail-6.3.26.pkg) /\
[12/02 20:21:07]: verifying fetchmail-6.3.26.pkg ||
[12/02 20:21:07]: registering fetchmail ||
[12/02 20:21:07]: extracting fetchmail-6.3.26.pkg ||
[12/02 20:21:07]: (reading msmtp-1.6.2.pkg) ||
[12/02 20:21:07]: verifying msmtp-1.6.2.pkg Parallel download
[12/02 20:21:07]: registering msmtp of all packages
[12/02 20:21:07]: extracting msmtp-1.6.2.pkg in a dependency
[12/02 20:21:07]: (reading mutt-1.5.23.pkg) chain, before it
/> [12/02 20:21:07]: verifying mutt-1.5.23.pkg gets installed
|| [12/02 20:21:07]: registering mutt
|| [12/02 20:21:08]: extracting mutt-1.5.23.pkg
|| /\
Digitally-signed packages ||
||
Support for multiple compression algorithmsAutomatic removal
# packsiz autoremove mutt /==== of unneeded packages
[12/02 20:24:53]: removing mutt \/
[12/02 20:24:53]: looking for unneeded packages
[12/02 20:24:53]: (libpcap cannot be removed; needed by tcpdump)
[12/02 20:24:53]: removing fetchmail
[12/02 20:24:53]: removing msmtp
[12/02 20:24:53]: (zlib cannot be removed; needed by libressl)
[12/02 20:24:53]: (ncurses cannot be removed; needed by nano)
[12/02 20:24:53]: (linux-libre-headers cannot be removed; needed by musl)
[12/02 20:24:53]: (tinyalsa cannot be removed; needed by mpg123)
[12/02 20:24:53]: (libressl cannot be removed; needed by fetchmail)
[12/02 20:24:53]: (musl cannot be removed; needed by libpcap)
[12/02 20:24:53]: (ca-certificates cannot be removed; needed by libressl)
[12/02 20:24:53]: (iana-etc cannot be removed; needed by musl)
[12/02 20:24:53]: (looking for more unneeded packages)
[12/02 20:24:53]: (libpcap cannot be removed; needed by tcpdump)
[12/02 20:24:53]: (zlib cannot be removed; needed by libressl)
[12/02 20:24:53]: (ncurses cannot be removed; needed by nano)
[12/02 20:24:53]: (linux-libre-headers cannot be removed; needed by musl)
[12/02 20:24:53]: (tinyalsa cannot be removed; needed by mpg123)
[12/02 20:24:53]: (libressl cannot be removed; needed by tcpdump)
[12/02 20:24:53]: (musl cannot be removed; needed by libpcap)
[12/02 20:24:53]: (ca-certificates cannot be removed; needed by libressl)
[12/02 20:24:53]: (iana-etc cannot be removed; needed by musl)In addition, packsiz:
- Supports installation of packages to a prefix other than /
- Has a scripting interfaceScripting Interface
===================packsiz allows complex package management tasks through an interactive scripting
shell or scripts, using a szl API in the "packsiz" namespace.For example:
1) To list the packages available in a repository:
$packsiz.available http://repository {}2) To remove a package:
$packsiz.remove ca-certificates [$packsiz.installed]3) To remove all unneeded dependency packages:
$packsiz.cleanuppacksiz uses all API internally as well; see its implementation for more usage
examples.Missing Features
================- Support for multiple repositories - packsiz is designed for small
distributions with one repository per architecture
- Support for multiple architectures in one repositoryBuilding
========# git clone --recursive https://github.com/dimkr/packsiz
# cd packsiz
# meson build
# cd build
# ninja
# ninja installCredits and Legal Information
=============================packsiz is free and unencumbered software released under the terms of the MIT
license; see COPYING for the license text. For a list of its authors and
contributors, see AUTHORS.The ASCII art logo at the top was made using FIGlet (http://www.figlet.org/).