USAGE

Application

  • Clone and install git projects.

  • Update existing git projects.

  • Try to install git projects using.

    • configure, make, make install.

    • pip --user -U install . .

    • meson/ninja.

    • cmake build, make, make install

  • Delete cloned directories, try deleting installation files. [This may leave scars if the project does not have pre-programmed uninstallation routines]

Recommendation

Create similar/linked projects as GIT-Groups that update together (option -p)

SYNOPSIS

NOTICE: This is only intended for “user” packages. CAUTION: DO NOT RUN THIS SCRIPT AS ROOT. CAUTION: If you still insist, I won’t care.

usage: pspman [-h] [--init] [--version] [-l] [-v] [-s] [-o] [-f] [-p [PREF]]
              [-c [C_DIR]] [-r [PROJ [PROJ ...]]] [-d [PROJ [PROJ ...]]]
              [-i [URL [URL ...]]]
              {version,ver,switch,activate,export,unlock,list,info,init,initialize,goodbye,de-initialize}
              ...

Named Arguments

--init

Initialize PSPMan

Default: False

--version

Display version and exit

Default: False

-l, --list

display list of cloned repositories and exit

Default: False

-v, --verbose

display verbose output

Default: False

-s, --stale

skip updates, let repositories remain stale

Default: False

-o, --only-pull

only pull, do not try to install

Default: False

-f, --force-risk

force working with root permissions [DANGEROUS]

Default: False

-p, --prefix

path for installation [default: /home/docs/.pspman]

Default: /home/docs/.pspman

-c, --clone-dir

Clone git repos in C_DIR. Please check if you want to add this to PATH. [default: PREF/src]

-r, --reset

clean-reset PROJ code

Default: []

-d, --delete

delete PROJ

Default: []

-i, --install

format: “URL[___branch[___’only’|___inst_argv[___sh_env]]]”

  • REMEMBER the QUOTATION MARKS

  • URL: url to be cloned.

  • branch: custom branch to clone. Blank implies default.

  • pull_only: ‘true’, ‘only’, ‘pull’, ‘hold’ => Don’t try to install this URL

  • inst_argv: Custom arguments. These are passed raw during installation.

  • sh_env: VAR1=VAL1,VAR2=VAL2,VAR3=VAL3…. Modified install environment.

Default: []

Sub-commands:

version (ver)

display version and exit

pspman version [-h]

switch (activate, export)

switch to environment temporarily with additional *PATH variables from PREFIX

pspman switch [-h] [-c] [GIT_GROUP|PATH]
Positional Arguments
GIT_GROUP|PATH

GIT_GROUP’s name or path

Default: “default”

Named Arguments
-c, --copy

try to copy soruce command to clipboard

Default: False

unlock

Unlock C_DIR and exit

pspman unlock [-h]

list (info)

display list of cloned repositories and exit

pspman list [-h] [--meta]
Named Arguments
--meta, -m

List known C_DIR(s)

Default: False

init (initialize)

initialize pspman

pspman init [-h] [--ignore [DEP [DEP ...]]]
Named Arguments
--ignore, -i

initialize without dependency DEP

goodbye (de-initialize)

Cleanup before uninstalling pspman

pspman goodbye [-h]

EXAMPLES

  • Show help

pspman -h
  • Update default location

pspman
  • Clone and install git@gitolite.local:foo.git’s branch: devel

pspman -i "git@gitolite.local/foo.git___devel"
  • Delete package foo located in GIT-Group bar

pspman -d foo -p bar
  • List projects in GIT-Group bar

pspman -p bar list
  • List known GIT-Groups

pspman list --meta