Per Scottman @
http://www.murga-linux.com/puppy/viewtopic.php?t=112927
* Homepage:
https://gitlab.com/sc0ttj/Pkg
* Issues:
https://gitlab.com/sc0ttj/Pkg/issues
* Wiki:
https://gitlab.com/sc0ttj/Pkg/wikis/home
* Project:
https://gitlab.com/sc0ttj/Pkg/boards?=
Download latest: https://gitlab.com/sc0ttj/Pkg/-/archive ... ter.tar.gz
(extract then run 'installer.sh).
What is it?
A command line tool that can install, remove, update, compile packages.
A bit like apt-get but worse.
This lets you do advanced package management stuff without X.
All you need is a terminal.
<img src="
" border="0" alt="" />
Dependencies
* Busybox (ash, wget, find, which, grep, sed, tar, du, sync, etc)
* coreutils (cp, mv, rm, wc, uniq, chmod, cut, cat, sort, etc)
* Puppy Package Manager (for `pkg repo-update` only)
Features:
- powerful command line interface, lots of options
- context-sensitive TAB completion of package, file, dir and repo names
- automatically find best matching packages or let the user choose
- search for packages in individual or all repos
- easily compile packages from source
- supports buildtools: petbuild, src2pkg, sbopkg, buildpet
- supports packages: .pet, tar.gz, .txz, .deb, .sfs, .rpm, more
- install/uninstall SFS files just like regular packages
- find out which package a file belongs to
- find out which repo a package belongs to
- combine packages and dependencies into SFS files
- convert packages between supported filetypes
- follows unix philosophy: you can pipe stuff to pkg like `echo "$foo" | pkg <command> -`
- compatible with Puppy Package Manager (petget)
- includes a console frontend (dialog) menu called Pkgdialog
- includes a Xdialog frontend menu called Xpkgdialog
- includes a GTK frontend (GTKdialog) called Gpkgdialog
- optional wrapper scripts that allow calling Pkg using various common apt-get or yum commands
Help info:
Here are some of the command available:
Code:
Usage: pkg [OPTION(S)] COMMAND SEARCH|PKGNAME|BUILDSCRIPT|FILE|-
OPTIONS:
These options can be used together and MUST precede all others:
--ask|-a ask before doing stuff (give as 1st option)
--force |-f force downloading, installing and uninstalling
--no-colour|-nc disable ANSI colours in pkg output
COMMANDS:
The commands below can be used with the options above, but they can't be
used with each other:
get|g PKGNAME download & install matching package and deps
download|d PKGNAME download a package from CURRENT repo
install|i PKGNAME install a downloaded package
update|pu [PKGNAME] update all matching installed packages
deps|e PKGNAME install dependencies of matching package
deps-download|ed PKGNAME only download dependencies, no install
deps-check|ec prints message about missing dependencies
what-needs|wn PKGNAME lists pkgs that depend on PKGNAME
uninstall|u PKGNAME uninstall a pet package
delete|l PKGNAME delete a downloaded package
clean [PKGNAME] delete downloaded pkg files of installed pkgs
list-downloaded|ld [PKG] list downloaded packages, PKGNAME is a filter
list-installed|li|LI [PKG] list installed packages, PKGNAME is a filter
list-deps|le|LE PKGNAME list the dependencies of PKGNAME
build|pb PKG build a PET package from source and install it
build-list|pbl [PKG] list all build scripts, PKGNAME is optional
installed|pi PKG return true if package installed, false if not
status|ps|PS PKG show package status (name, size, deps, etc)
entry|pe PKG show package repo entry (if in current repo)
contents|c PKG list the contents of a downloaded package
which|w FILENAME find out which pkg FILENAME comes from
which-repo|wr PKG find out which repo PKG comes from
repack|pr PKG build a .pet package from an installed package
pkg-combine|pc PKG build a new package containing PKGNAME + deps
sfs-combine|sc PKG build a new SFS file containing PKGNAME + deps
extract|unpack PKGFILE extract package contents into folder
These commands cannot be used with any other options:
names|n [PKG] list package name matches in the CURRENT repo
names-all|na [PKG] list package name matches in ALL repos
search|s [SEARCH] search all package info in CURRENT repo
search-all|sa [SEARCH] search all package info in ALL repos
repo|r [REPONAME] set repo to use, show current repo if none given
repo-info|ri REPONAME display the name, and other info of CURRENT repo
repo-list|rl list names of all available repositories
repo-update|ru [REPONAME] update the current repo package list
repo-convert|rc FILE convert repo files to pre/post Woof format
add-source add new repo (needs repo file in ~/.packages/)
update-sources update the list of available repos
repo-pkg-scope one|all search pkgs in current repo (one), or all (all)
repo-dep-scope one|all search deps in current repo (one), or all (all)
bleeding-edge no|yes if yes, get latest pkg versions, from ANY repo
recursive-dep-check no|yes get deps recursively (yes), or not (no)
dir2pet DIR create a pet package from a directory
dir2sfs DIR create an sfs package from a directory
dir2tgz DIR create a tar.gz file from a directory
deb2pet DEBFILE convert local deb file to a pet package
pet2sfs PETFILE convert local pet file to an sfs package
pet2tgz PETFILE convert local pet file to a tar.gz package
pet2txz PETFILE convert local pet file to a tar.xz package
sfs2pet SFSFILE convert local sfs file to a pet package
tgz2pet TARFILE convert local tar.gz|tgz file to PET
txz2pet TXZFILE convert local tar.xz|txz file to PET
workdir set a new working directory. Default is ~/pkg/
autoclean auto delete pkg files after download+install
show-config show current config, repo and search settings
func-list list all functions used in this program
welcome print some useful cmds to help get started
version|v show the version of this script
examples|ex show example command line usage of pkg
usage [CMD] show usage of CMD, or list available cmds
help|h show this help information
help-all|H show a full description, with added info
Known Issues
* dependency resolution can be slow
* No good preview of file sizes given before install
* Pkgdialog needs a re-write in places to make it faster after you chose multiple packages to install/remove/update/etc.
* others