summaryrefslogtreecommitdiff
path: root/doc/prt-get.8
blob: d7ab47c00906f51a7b52cc8c07782511200d9a50 (plain)
    1 .\" man page for prt-get
    2 .\" Johannes Winkelmann, jw@tks6.net
    3 .\" 
    4 .\" my first man page, so forgive me for the errors :-)
    5 .\" 
    6 .\" .PU
    7 .TH "prt-get" "8" "" "" ""
    8 .SH "NAME"
    9 .LP 
   10 prt\-get \- an advanced package management tool to be used with
   11 pkgutils from CRUX (see http://www.crux.nu)
   12 .SH "SYNOPSIS"
   13 .B prt\-get command [options] <arguments>
   14 .br 
   15 .SH "DESCRIPTION"
   16 prt\-get is a package management tool which provides additional
   17 functionality to crux' package management system. It works with the
   18 local ports tree and is therefore fully compatible with ports(8) and
   19 pkgmk(8)/pkgadd(8). It offers the following features:
   20 
   21 .PP
   22 .TP 
   23 \ \ \ \(bu
   24 abstract ports installation/update from file system
   25 
   26 .TP 
   27 \ \ \ \(bu
   28 install/update a list of packages with one command
   29 
   30 .TP 
   31 \ \ \ \(bu
   32 list dependencies for a list of packages
   33 
   34 .TP 
   35 \ \ \ \(bu
   36 show information about ports
   37 
   38 .TP 
   39 \ \ \ \(bu
   40 search within the ports
   41 
   42 .PP 
   43 
   44 What prt\-get basically does is installing and upgrading packages, using
   45 pkgmk and pkgadd. Additionally, you don't have be in the port's
   46 directory to call prt\-get. prt\-get will search for the respective port
   47 itself in a list of directories specified in /etc/prt\-get.conf. This
   48 allows you to just install or update a package, without caring where
   49 it actually is located on your file system.
   50 
   51 .PP 
   52 
   53 prt\-get also offers some features like searching ports by name,
   54 showing information about ports (without installing them of course)
   55 and can list the dependencies listed in the Pkgfile, and provide a
   56 complete dependency list for a port. Note that dependencies are no
   57 requirement for crux packages and therefore not always accurate. There's
   58 a possiblity to use an external dependency map to get dependency
   59 listings for ports which don't provide them in their Pkgfile.
   60 
   61 .PP 
   62 
   63 prt\-get has a test mode so you can see what effect an install/update
   64 operation would have. Use the \-\-test switch for this (see also:
   65 OPTIONS)
   66 
   67 .SH "RETURN VALUE"
   68 prt\-get returns 0 on success and a non-zero value otherwise (exact
   69 value -> meaning mapping to be determined...)
   70 
   71 .SH "COMMANDS"
   72 prt\-get uses so called commands, which always have to be the first 
   73 non-option argument passed. This is very similar to
   74 .B cvs(1).
   75 [command] can be one of the following:
   76 
   77 
   78 .TP 
   79 .B install [\-\-margs] [\-\-aargs] [\-\-log] <package1> [<package2> ...]
   80 install all packages in the listed order. Note that you can do this
   81 from any directory
   82 
   83 .TP 
   84 .B depinst [\-\-margs] [\-\-aargs] [\-\-log] <package1> [<package2> ...]
   85 install all packages in the listed order including their dependencies.
   86 Note that outdated packages won't be updated.
   87 
   88 .TP 
   89 .B grpinst [\-\-margs] [\-\-aargs]  [\-\-log] <package1> [<package2> ...]
   90 install all packages in the listed order, but stop if installation of
   91 one package fails. This can be used to install packages where package2
   92 depends on package1
   93 
   94 .TP 
   95 .B update [\-\-margs] [\-\-aargs]  [\-\-log] <package1> [<package2> ...]
   96 update all packages listed in this order
   97 
   98 .TP 
   99 .B remove <package1> [<package2> ...]
  100 remove packages listed in this order
  101 
  102 .TP 
  103 .B sysup [\-\-nodeps]
  104 Update all installed packages which are outdated. Sorts by dependencies
  105 by default. If you don't want prt-get to resolve the dependencies, use
  106 the --nodeps switch. Also see the
  107 .B lock
  108 and
  109 .B unlock
  110 commands to keep the currently installed versions, even if there are
  111 changes in the ports tree. If you want to update only diffs which have
  112 a lower version installed than the one in the ports tree, use the
  113 --prefer-higher option.
  114 
  115 .TP 
  116 .B lock <package1> [<package2>...]
  117 Do not update these packages in a
  118 .B sysup
  119 operation
  120 
  121 .TP 
  122 .B unlock <package1> [<package2>...] 
  123 Remove lock from these packages
  124 
  125 .TP 
  126 .B listlocked [-v|-vv]
  127 List names of packages which are locked. As always,
  128 .B -v
  129 will additionally show the version, and
  130 .B -vv
  131 also includes the description from the Pkgfile. Note that the
  132 .B -vv
  133 switch will slow down the operation remarkably.
  134 
  135 .TP 
  136 .B diff [--all] [<package1> <package2> ...]
  137 show differences between installed packages and ports in the ports
  138 tree. If arguments are given, shows only differences for these
  139 packages, otherwise all differences are shown. It's also possible to use
  140 shell like
  141 .B wildcards
  142 for the diff command. Make sure you escape where needed. Locked
  143 packages are only displayed if you use the --all switch. If you want
  144 to see only diffs which have a lower version installed than the one in
  145 the ports tree, use the --prefer-higher option.
  146 
  147 .TP 
  148 .B quickdiff
  149 prints a simple list of packages which have a different version in the
  150 ports tree than what is installed. This is meant as an input for
  151 .B prt\-get update,
  152 so you can update all ports on your system with one simple command. If you want
  153 to see only diffs which have a lower version installed than the one in
  154 the ports tree, use the --prefer-higher option.
  155 
  156 .TP 
  157 .B search [\-v|\-vv] [--path] [--regex]<expr>
  158 Search the ports tree for
  159 .B expr
  160 in their name
  161 
  162 .TP 
  163 .B dsearch [\-v|\-vv] [--path]  [--regex]<expr>
  164 Search the ports tree for
  165 .B expr
  166 in both name and description. The search in the description is not case
  167 sensitive. Note that this requires prt\-get to read every Pkgfile, which
  168 makes it rather slow; if you like this, consider using the cache
  169 functionality, so you only have to spend this time once after updating
  170 the ports tree has been updated.
  171 
  172 .TP 
  173 .B fsearch [--full] [--regex] <pattern>
  174 Search the ports tree for
  175 .B pattern
  176 as file name in their footprint. When called without '--full', strips
  177 the directories from the file names before matching; this behaviour
  178 will change in prt-get 0.6, where full path search will be
  179 default. Pattern can be a shell-like wildcard pattern (e.g prt-get
  180 fsearch "*.h") or regexps.
  181 
  182 
  183 .TP 
  184 .B info <port>
  185 Print available info for a port 
  186 
  187 .TP 
  188 .B path <port>
  189 Print the path of a port
  190 
  191 .TP 
  192 .B readme <port>
  193 Print the port's README file if it exists; if set, uses $PAGER
  194 
  195 .TP 
  196 .B depends <package1> [<package2> ...]
  197 print a recursive list of dependencies to install the packages passed
  198 as argument. It shows a list with ports which are found, plus a list
  199 of ports which are missing
  200 
  201 .TP 
  202 .B quickdep <package1> [<package2> ...]
  203 print a simple list of recursive dependencies for all the ports passed
  204 as argument in a simple format to be used by
  205 .B prt\-get install
  206 to make an install including dependencies
  207 .B Does not display dependencies which are not in the ports tree
  208 
  209 .TP 
  210 .B dependent <package>
  211 print a list of package which depend on
  212 .B package.
  213  
  214 Usually shows dependent packages which are installed. To see all dependencies,
  215 add the --all switch; use --recursive to get a recursive list (without
  216 duplication), and --tree to get a nicely indented one
  217 
  218 .TP 
  219 .B deptree <package>
  220 print a tree of the dependencies of the package
  221 .B package. 
  222 Subtrees already shown are marked with '-->' to save some space, in
  223 order to show them all, add the --all switch
  224 
  225 .TP 
  226 .B dup [-v] [format]
  227 List ports which can be found in multiple directories configured in
  228 .B /etc/prt-get.conf
  229 Use the verbose switch to simulate the output of version 5.12 and older (likely
  230 to go away in the future). The format string can be used to create user
  231 specified formats. The following symbols are currently replaced:
  232 
  233 .TP 
  234 \ \ \ \(bu
  235 %n \-> name of the port
  236 
  237 .TP 
  238 \ \ \ \(bu
  239 %p1 \-> Full path (including name) to port taking precendence
  240 
  241 .TP 
  242 \ \ \ \(bu
  243 %p2 \-> Full path (including name) to port being hidden
  244 
  245 .TP 
  246 \ \ \ \(bu
  247 %v1 \-> Version of port taking precendence
  248 
  249 .TP
  250 \ \ \ \(bu
  251 %v2 \-> Version of port being hidden
  252 
  253 
  254 .TP 
  255 .B list [\-v|\-vv] [filter] [--path] [--regex]
  256 List ports available in the ports tree. It's basically the same as
  257 .B ports \-l
  258 but looks in all directories specified in
  259 .B /etc/prt\-get.conf.
  260 It's also possible to use
  261 shell like
  262 .B wildcards
  263 for the list command. Make sure you escape where needed
  264 
  265 .TP 
  266 .B printf <format string1> [\-\-sort=<format string2>] [\-\-filter=<filter>]
  267 Print formated port list format string can contain variables, which
  268 are replaced like this:
  269 .TP 
  270 \ \ \ \(bu
  271 %n \-> name
  272 
  273 .TP 
  274 \ \ \ \(bu
  275 %p \-> path
  276 
  277 .TP
  278 \ \ \ \(bu
  279 %v \-> version
  280 
  281 .TP 
  282 \ \ \ \(bu
  283 %r \-> release
  284 
  285 .TP 
  286 \ \ \ \(bu
  287 %d \-> description
  288 
  289 .TP 
  290 \ \ \ \(bu
  291 %e \-> dependencies
  292 
  293 .TP 
  294 \ \ \ \(bu
  295 %u \-> URL
  296 
  297 .TP 
  298 \ \ \ \(bu
  299 %P -> Packager
  300 
  301 .TP 
  302 \ \ \ \(bu
  303 %M -> Maintainer
  304 
  305 .TP 
  306 \ \ \ \(bu
  307 %R -> Readme ("yes"/"no")
  308 
  309 .TP 
  310 \ \ \ \(bu
  311 %E -> pre-install script ("yes"/"no")
  312 
  313 .TP 
  314 \ \ \ \(bu
  315 %O -> post-install script ("yes"/"no")
  316 
  317 .TP 
  318 \ \ \ \(bu
  319 %l -> is locked ("yes"/"no")
  320 
  321 .TP 
  322 \ \ \ \(bu
  323 %i \-> "no" if not installed, "yes" if it's installed and
  324 up to date and "diff" if it's installed and a new version is in the
  325 ports tree.
  326 
  327 Use "\\n" and "\\t" to format your output (no additional format specified
  328 suported). The optional format string2 can contain the same variables
  329 as format string1 and is used to sort the output. You can specify a
  330 .B wildcard filter
  331 to filter by package name.
  332 
  333 
  334 .TP 
  335 .B listinst [\-v|\-vv] [filter] [--regex] [--depsort]
  336 List installed ports. It's basically the same as
  337 .B pkginfo \-i,
  338 but omits version when called without verbose (\-v, \-vv) switch. Plus
  339 it is notably faster in my tests. \-v adds version information, \-vv
  340 adds version and description.
  341 .B Warning:
  342 \-vv will slow down the process because it requires prt\-get to scan
  343 both the ports database and the ports tree.
  344 It's also possible to use shell like
  345 .B wildcards
  346 for the listinst command. Make sure you escape where needed. Finally, by
  347 default it's sorted alphabetically; use the \-\-depsort switch to sort by
  348 dependencies
  349 
  350 .TP 
  351 .B listorphans [\-v|\-vv]
  352 List installed ports which have no dependent packages
  353 
  354 
  355 
  356 .TP 
  357 .B isinst <package>
  358 Check whether a package is installed. The same as
  359 .B pkginfo \-i|grep ^package
  360 .TP 
  361 
  362 .TP
  363 .B current <package>
  364 Prints out the version of the currently installed package
  365 
  366 
  367 .TP
  368 .B ls [--path] <package>
  369 Prints out a listing of the port's directory
  370 
  371 .TP
  372 .B cat <package> [<file>]
  373 Prints out the file to stdout. If <file> is not specified, 'Pkgfile' is used. If set, uses $PAGER
  374 
  375 .TP
  376 .B edit <package> <file>
  377 Edit the file using the editor specified in the $EDITOR environment variable.
  378 If <file> is not specified, 'Pkgfile' is used
  379 
  380 
  381 .TP 
  382 .B help
  383 Shows a help screen
  384 
  385 .TP 
  386 .B dumpconfig
  387 Dump the configuration to the current terminal 
  388 
  389 .TP 
  390 .B version 
  391 Shows the current version of prt\-get
  392 
  393 .TP 
  394 .B cache
  395 create a cache file from the ports tree to be used by prt\-get using the
  396 \-\-cache option. Remember to run prt\-get cache each time you update the
  397 ports tree
  398 
  399 .SH "OPTIONS"
  400 
  401 .TP
  402 .B -f, -i
  403 Force install; Implies 'pkgadd -f'; same as --aargs=-f
  404 
  405 .TP
  406 .B -fr
  407 Force rebuild, Implies 'pkgmk -f'; same as --margs=-f
  408 
  409 .TP
  410 .B -um
  411 Update md5sum, implies 'pkgmk -um'; same as --margs=-um
  412 
  413 .TP
  414 .B -im
  415 Ignore md5sum, implies 'pkgmk -im'; same as --margs=-im
  416 
  417 .TP
  418 .B -uf
  419 Update footprint, implies 'pkgmk -uf'; same as --margs=-uf
  420 
  421 .TP
  422 .B -if
  423 Ignore footprint, implies 'pkgmk -if'; same as --margs=-if
  424 
  425 .TP
  426 .B -ns
  427 No stripping, implies 'pkgmk -ns'; same as --margs=-ns
  428 
  429 .TP
  430 .B -kw
  431 Keep working directory, implies 'pkgmk -kw'; same as --margs=-kw
  432 
  433 .TP
  434 .B --ignore=<package1,package2,...>
  435 Don't install those packages, even if they're listed as dependency
  436 
  437 
  438 .TP 
  439 .B \-\-cache
  440 Use cache file for this command
  441 
  442 .TP 
  443 .B \-\-test
  444 Dry run, don't actually install anything, mostly interesting for
  445 .B prt\-get install, prt\-get grpinst, prt\-get update, prt\-get sysup
  446 
  447 .TP 
  448 .B \-\-pre-install
  449 Execute pre-install script if it's there
  450 
  451 .TP 
  452 .B \-\-post-install
  453 Execute post-install script if it's there
  454 
  455 .TP 
  456 .B \-\-install-scripts
  457 Execute pre-install and post-install script if they're there
  458 
  459 .TP 
  460 .B \-\-no-std-config
  461 Don't parse the default configuration file
  462 
  463 .TP 
  464 .B \-\-config-prepend=<string>
  465 Prepend <string> to configuration
  466 
  467 .TP 
  468 .B \-\-config-append=<string>
  469 Append <string> to configuration
  470 
  471 .TP 
  472 .B \-\-config-set=<string>
  473 Set <string> in configuration, overriding configuration file
  474 
  475 
  476 .TP 
  477 .B \-v, \-vv
  478 verbose and more verbose, relevant for
  479 .B prt\-get search, prt\-get list
  480 verbose shows version of a port, more verbose shows version and
  481 description (if available)
  482 
  483 .TP
  484 .B \-\-path
  485 Show path info; used in 'search', 'dsearch', 'list' and 'depends'
  486 
  487 .TP
  488 .B \-\-regex
  489 Interpret filter and search pattern as regular expression
  490 
  491 .TP 
  492 .B \-\-margs="...", e.g. \-\-margs="\-im"
  493 arguments to be passed to pkgmk, relevant for
  494 .B prt\-get install, prt\-get grpinst, prt\-get update
  495 note that \-d is already passed to pkgmk anyway
  496 
  497 .TP 
  498 .B \-\-aargs="...", e.g. \-\-aargs="\-f"
  499 arguments to be passed to pkgadd, relevant for
  500 .B prt\-get install, prt\-get grpinst, prt\-get update
  501 
  502 .TP 
  503 .B \-\-rargs="..."
  504 arguments to be passed to pkgrm; currently not used, implemented for
  505 future uses and consistency reasons
  506 
  507 .TP
  508 .B \-\-prefer-higher, -ph
  509 Make prt-get parse the version strings and prefer the higher version,
  510 even if the one found in the ports tree is lower. Will influence diff,
  511 quickdiff and sysup.
  512 
  513 .TP
  514 .B \-\-strict-diff, -sd
  515 Override the 'preferhigher' configuration option
  516 
  517 
  518 .TP 
  519 .B \-\-config=<file>
  520 Use alternative configuration file to read ports directories from
  521 
  522 .TP
  523 .B \-\-install-root=<dir>
  524 Use <dir> as root directory for your installation; allows to install to
  525 a different directory than '/'. In daily usage, this option is not
  526 required; helpful if you're developing an independent installation.
  527 
  528 .TP 
  529 .B \-\-log
  530 Write build output to log file
  531 
  532 .SH "CONFIGURATION"
  533 .TP 
  534 See man prt\-get.conf(5)
  535 
  536 .SH "EXAMPLES"
  537 .TP 
  538 .B prt\-get install irssi
  539 download, build and install irssi, with one simple command
  540 
  541 .TP 
  542 .B prt\-get install indent mplayer
  543 install indent and mplayer
  544 
  545 .TP 
  546 .B prt\-get update openssh
  547 update your current version of openssh :\-)
  548 
  549 .TP 
  550 .B prt\-get info kdelibs
  551 show info about kdelibs
  552 
  553 .TP 
  554 .B prt\-get search icq
  555 Search all ports containing 'icq' in their name
  556 
  557 .TP 
  558 .B prt\-get grpinst \-\-test `prt\-get quickdep kdenetwork`
  559 Show what would happen if you installed all packages needed for
  560 kdenetwork (test mode). Remove \-\-test to install kdenetwork and all
  561 it's dependencies. Remember that grpinst stops installing when one
  562 installing of one package fails
  563 
  564 .TP 
  565 .B prt\-get update `prt\-get quickdiff`
  566 Update all packages where a different version is in the ports tree
  567 
  568 .SH "AUTHORS"
  569 Johannes Winkelmann <jw@tks6.net>
  570 .SH "SEE ALSO"
  571 prt\-get.conf(5), prt\-cache(8), pkgmk(8) pkgadd(8), ports(8)

Generated by cgit