usage() { printf '%s\n' \ "Qi is a simple but well-integrated package manager. It can create," \ "install, remove, and upgrade software packages. Qi produces binary" \ "packages using recipes, which are files containing specific instructions" \ "to build each package from source. Qi can manage multiple packages" \ "under a single directory hierarchy. This method allows to maintain a" \ "set of packages and multiple versions of them. This means that Qi could" \ "be used as the main package manager or complement the existing one." \ "" \ "Usage: $PROGRAM COMMAND [OPTIONS] [FILE]..." \ "" \ "Defaults for the options are specified in brackets." \ "" \ "List of commands:" \ " warn Warn about files that will be installed" \ " install Install packages" \ " remove Remove packages" \ " upgrade Upgrade packages" \ " extract Extract packages for debugging purposes" \ " create Create a .tlz package from directory" \ " build Build packages using recipe names" \ " order Resolve build order through .order files" \ "" \ "Options when installing, removing, or upgrading software packages:" \ " -f, --force Force upgrade of pre-existing packages" \ " -k, --keep Keep package directory when remove/upgrade" \ " -p, --prune Prune conflicts" \ " -P, --packagedir= Set directory for package installations" \ " -t, --targetdir= Set target directory for symbolic links" \ " -r, --rootdir= Use the fully qualified named directory as" \ " the root directory for all qi operations" \ " Note: the target directory and the package" \ " directory will be relative to the specified" \ " directory, excepting the graft log file" \ "" \ "Options when building software packages using recipes:" \ " -a, --architecture Set architecture name for the package [${arch}]" \ " -j, --jobs Parallel jobs for the compiler [${jobs}]" \ " -k, --keep Keep \`\${srcdir}' or \`\${destdir}' when build" \ " -S, --skip-questions Skip questions on completed recipes" \ " -1, --increment Increment release number (\`\${release}' + 1)" \ " -n, --no-package Do not create a .tlz package" \ " -i, --install Install package after the build" \ " -u, --upgrade Upgrade package after the build" \ " -o, --outdir= Where the packages produced will be written [${outdir}]" \ " -w, --worktree= Where archives, patches, recipes are expected [${worktree}]" \ " -s, --sourcedir= Where compressed sources will be found [${tardir}]" \ "" \ "Other options:" \ " -N, --no-rc Do not read the configuration file" \ " -v, --verbose Be verbose (an extra -v gives more) [${verbose}]" \ " -L, --show-location Print default directory locations and exit" \ " -h, --help Display this help and exit" \ " -V, --version Output version information and exit" \ "" \ "Some influential environment variables:" \ " TMPDIR Temporary directory for sources [${TMPDIR}]" \ " QICFLAGS C compiler flags [${QICFLAGS}]" \ " QICXXFLAGS C++ compiler flags [${QICXXFLAGS}]" \ " QILDFLAGS Linker flags [${QILDFLAGS}]" \ "" \ "When FILE is -, read standard input." \ "" \ "Exit status: 0 for a normal exit, 1 for minor common errors (help usage," \ "support not available, etc), 2 to indicate a command execution error;" \ "3 for integrity check error on compressed files, 4 for empty, not" \ "regular, or expected files, 5 for empty or not defined variables," \ "6 when a package already exist, 10 for network manager errors." \ "" \ "Qi home page: https://www.dragora.org" }