summaryrefslogtreecommitdiff
path: root/doc/prt-get.8
blob: a42ea7dbdc8fa63cbeb013f414c7a8bfd298da9d (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
  227 List ports which can be found in multiple directories configured in
  228 .B /etc/prt-get.conf
  229 
  230 
  231 .TP 
  232 .B list [\-v|\-vv] [filter] [--path] [--regex]
  233 List ports available in the ports tree. It's basically the same as
  234 .B ports \-l
  235 but looks in all directories specified in
  236 .B /etc/prt\-get.conf.
  237 It's also possible to use
  238 shell like
  239 .B wildcards
  240 for the list command. Make sure you escape where needed
  241 
  242 .TP 
  243 .B printf <format string1> [\-\-sort=<format string2>] [\-\-filter=<filter>]
  244 Print formated port list format string can contain variables, which
  245 are replaced like this:
  246 .TP 
  247 \ \ \ \(bu
  248 %n \-> name
  249 
  250 .TP 
  251 \ \ \ \(bu
  252 %p \-> path
  253 
  254 .TP
  255 \ \ \ \(bu
  256 %v \-> version
  257 
  258 .TP 
  259 \ \ \ \(bu
  260 %r \-> release
  261 
  262 .TP 
  263 \ \ \ \(bu
  264 %d \-> description
  265 
  266 .TP 
  267 \ \ \ \(bu
  268 %e \-> dependencies
  269 
  270 .TP 
  271 \ \ \ \(bu
  272 %u \-> URL
  273 
  274 .TP 
  275 \ \ \ \(bu
  276 %P -> Packager
  277 
  278 .TP 
  279 \ \ \ \(bu
  280 %M -> Maintainer
  281 
  282 .TP 
  283 \ \ \ \(bu
  284 %R -> Readme ("yes"/"no")
  285 
  286 .TP 
  287 \ \ \ \(bu
  288 %E -> pre-install script ("yes"/"no")
  289 
  290 .TP 
  291 \ \ \ \(bu
  292 %O -> post-install script ("yes"/"no")
  293 
  294 .TP 
  295 \ \ \ \(bu
  296 %l -> is locked ("yes"/"no")
  297 
  298 .TP 
  299 \ \ \ \(bu
  300 %i \-> "no" if not installed, "yes" if it's installed and
  301 up to date and "diff" if it's installed and a new version is in the
  302 ports tree.
  303 
  304 Use "\\n" and "\\t" to format your output (no additional format specified
  305 suported). The optional format string2 can contain the same variables
  306 as format string1 and is used to sort the output. You can specify a
  307 .B wildcard filter
  308 to filter by package name.
  309 
  310 
  311 .TP 
  312 .B listinst [\-v|\-vv] [filter] [--regex]
  313 List installed ports. It's basically the same as
  314 .B pkginfo \-i,
  315 but omits version when called without verbose (\-v, \-vv) switch. Plus
  316 it is notably faster in my tests. \-v adds version information, \-vv
  317 adds version and description.
  318 .B Warning:
  319 \-vv will slow down the process because it requires prt\-get to scan
  320 both the ports database and the ports tree.
  321 It's also possible to use shell like
  322 .B wildcards
  323 for the listinst command. Make sure you escape where needed
  324 
  325 .TP 
  326 .B listorphans [\-v|\-vv]
  327 List installed ports which have no dependent packages
  328 
  329 
  330 
  331 .TP 
  332 .B isinst <package>
  333 Check whether a package is installed. The same as
  334 .B pkginfo \-i|grep ^package
  335 .TP 
  336 
  337 .TP
  338 .B current <package>
  339 Prints out the version of the currently installed package
  340 
  341 
  342 .TP
  343 .B ls [--path] <package>
  344 Prints out a listing of the port's directory
  345 
  346 .TP
  347 .B cat <package> [<file>]
  348 Prints out the file to stdout. If <file> is not specified, 'Pkgfile' is used. If set, uses $PAGER
  349 
  350 .TP
  351 .B edit <package> <file>
  352 Edit the file using the editor specified in the $EDITOR environment variable.
  353 If <file> is not specified, 'Pkgfile' is used
  354 
  355 
  356 .TP 
  357 .B help
  358 Shows a help screen
  359 
  360 .TP 
  361 .B dumpconfig
  362 Dump the configuration to the current terminal 
  363 
  364 .TP 
  365 .B version 
  366 Shows the current version of prt\-get
  367 
  368 .TP 
  369 .B cache
  370 create a cache file from the ports tree to be used by prt\-get using the
  371 \-\-cache option. Remember to run prt\-get cache each time you update the
  372 ports tree
  373 
  374 .SH "OPTIONS"
  375 
  376 .TP
  377 .B -f, -i
  378 Force install; Implies 'pkgadd -f'; same as --aargs=-f
  379 
  380 .TP
  381 .B -fr
  382 Force rebuild, Implies 'pkgmk -f'; same as --margs=-f
  383 
  384 .TP
  385 .B -um
  386 Update md5sum, implies 'pkgmk -um'; same as --margs=-um
  387 
  388 .TP
  389 .B -im
  390 Ignore md5sum, implies 'pkgmk -im'; same as --margs=-im
  391 
  392 .TP
  393 .B -uf
  394 Update footprint, implies 'pkgmk -uf'; same as --margs=-uf
  395 
  396 .TP
  397 .B -if
  398 Ignore footprint, implies 'pkgmk -if'; same as --margs=-if
  399 
  400 .TP
  401 .B -ns
  402 No stripping, implies 'pkgmk -ns'; same as --margs=-ns
  403 
  404 .TP
  405 .B -kw
  406 Keep working directory, implies 'pkgmk -kw'; same as --margs=-kw
  407 
  408 .TP
  409 .B --ignore=<package1,package2,...>
  410 Don't install those packages, even if they're listed as dependency
  411 
  412 
  413 .TP 
  414 .B \-\-cache
  415 Use cache file for this command
  416 
  417 .TP 
  418 .B \-\-test
  419 Dry run, don't actually install anything, mostly interesting for
  420 .B prt\-get install, prt\-get grpinst, prt\-get update, prt\-get sysup
  421 
  422 .TP 
  423 .B \-\-pre-install
  424 Execute pre-install script if it's there
  425 
  426 .TP 
  427 .B \-\-post-install
  428 Execute post-install script if it's there
  429 
  430 .TP 
  431 .B \-\-install-scripts
  432 Execute pre-install and post-install script if they're there
  433 
  434 .TP 
  435 .B \-\-no-std-config
  436 Don't parse the default configuration file
  437 
  438 .TP 
  439 .B \-\-config-prepend=<string>
  440 Prepend <string> to configuration
  441 
  442 .TP 
  443 .B \-\-config-append=<string>
  444 Append <string> to configuration
  445 
  446 .TP 
  447 .B \-\-config-set=<string>
  448 Set <string> in configuration, overriding configuration file
  449 
  450 
  451 .TP 
  452 .B \-v, \-vv
  453 verbose and more verbose, relevant for
  454 .B prt\-get search, prt\-get list
  455 verbose shows version of a port, more verbose shows version and
  456 description (if available)
  457 
  458 .B \-\-path
  459 Show path info; used in 'search', 'dsearch', 'list' and 'depends'
  460 
  461 .B \-\-regex
  462 Interpret filter and search pattern as regular expression
  463 
  464 .TP 
  465 .B \-\-margs="...", e.g. \-\-margs="\-im"
  466 arguments to be passed to pkgmk, relevant for
  467 .B prt\-get install, prt\-get grpinst, prt\-get update
  468 note that \-d is already passed to pkgmk anyway
  469 
  470 .TP 
  471 .B \-\-aargs="...", e.g. \-\-aargs="\-f"
  472 arguments to be passed to pkgadd, relevant for
  473 .B prt\-get install, prt\-get grpinst, prt\-get update
  474 
  475 .TP 
  476 .B \-\-rargs="..."
  477 arguments to be passed to pkgrm; currently not used, implemented for
  478 future uses and consistency reasons
  479 
  480 .TP
  481 .B \-\-prefer-higher, -ph
  482 Make prt-get parse the version strings and prefer the higher version,
  483 even if the one found in the ports tree is lower. Will influence diff,
  484 quickdiff and sysup.
  485 
  486 .TP
  487 .B \-\-strict-diff, -sd
  488 Override the 'preferhigher' configuration option
  489 
  490 
  491 .TP 
  492 .B \-\-config=<file>
  493 Use alternative configuration file to read ports directories from
  494 
  495 .TP
  496 .B \-\-install-root=<dir>
  497 Use <dir> as root directory for your installation; allows to install to
  498 a different directory than '/'. In daily usage, this option is not
  499 required; helpful if you're developing an independent installation.
  500 
  501 .TP 
  502 .B \-\-log
  503 Write build output to log file
  504 
  505 .SH "CONFIGURATION"
  506 .TP 
  507 See man prt\-get.conf(5)
  508 
  509 .SH "EXAMPLES"
  510 .TP 
  511 .B prt\-get install irssi
  512 download, build and install irssi, with one simple command
  513 
  514 .TP 
  515 .B prt\-get install indent mplayer
  516 install indent and mplayer
  517 
  518 .TP 
  519 .B prt\-get update openssh
  520 update your current version of openssh :\-)
  521 
  522 .TP 
  523 .B prt\-get info kdelibs
  524 show info about kdelibs
  525 
  526 .TP 
  527 .B prt\-get search icq
  528 Search all ports containing 'icq' in their name
  529 
  530 .TP 
  531 .B prt\-get grpinst \-\-test `prt\-get quickdep kdenetwork`
  532 Show what would happen if you installed all packages needed for
  533 kdenetwork (test mode). Remove \-\-test to install kdenetwork and all
  534 it's dependencies. Remember that grpinst stops installing when one
  535 installing of one package fails
  536 
  537 .TP 
  538 .B prt\-get update `prt\-get quickdiff`
  539 Update all packages where a different version is in the ports tree
  540 
  541 .SH "AUTHORS"
  542 Johannes Winkelmann <jw@tks6.net>
  543 .SH "SEE ALSO"
  544 prt\-get.conf(5), prt\-cache(8), pkgmk(8) pkgadd(8), ports(8)

Generated by cgit