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 .B \-\-path
484 Show path info; used in 'search', 'dsearch', 'list' and 'depends'
485
486 .B \-\-regex
487 Interpret filter and search pattern as regular expression
488
489 .TP
490 .B \-\-margs="...", e.g. \-\-margs="\-im"
491 arguments to be passed to pkgmk, relevant for
492 .B prt\-get install, prt\-get grpinst, prt\-get update
493 note that \-d is already passed to pkgmk anyway
494
495 .TP
496 .B \-\-aargs="...", e.g. \-\-aargs="\-f"
497 arguments to be passed to pkgadd, relevant for
498 .B prt\-get install, prt\-get grpinst, prt\-get update
499
500 .TP
501 .B \-\-rargs="..."
502 arguments to be passed to pkgrm; currently not used, implemented for
503 future uses and consistency reasons
504
505 .TP
506 .B \-\-prefer-higher, -ph
507 Make prt-get parse the version strings and prefer the higher version,
508 even if the one found in the ports tree is lower. Will influence diff,
509 quickdiff and sysup.
510
511 .TP
512 .B \-\-strict-diff, -sd
513 Override the 'preferhigher' configuration option
514
515
516 .TP
517 .B \-\-config=<file>
518 Use alternative configuration file to read ports directories from
519
520 .TP
521 .B \-\-install-root=<dir>
522 Use <dir> as root directory for your installation; allows to install to
523 a different directory than '/'. In daily usage, this option is not
524 required; helpful if you're developing an independent installation.
525
526 .TP
527 .B \-\-log
528 Write build output to log file
529
530 .SH "CONFIGURATION"
531 .TP
532 See man prt\-get.conf(5)
533
534 .SH "EXAMPLES"
535 .TP
536 .B prt\-get install irssi
537 download, build and install irssi, with one simple command
538
539 .TP
540 .B prt\-get install indent mplayer
541 install indent and mplayer
542
543 .TP
544 .B prt\-get update openssh
545 update your current version of openssh :\-)
546
547 .TP
548 .B prt\-get info kdelibs
549 show info about kdelibs
550
551 .TP
552 .B prt\-get search icq
553 Search all ports containing 'icq' in their name
554
555 .TP
556 .B prt\-get grpinst \-\-test `prt\-get quickdep kdenetwork`
557 Show what would happen if you installed all packages needed for
558 kdenetwork (test mode). Remove \-\-test to install kdenetwork and all
559 it's dependencies. Remember that grpinst stops installing when one
560 installing of one package fails
561
562 .TP
563 .B prt\-get update `prt\-get quickdiff`
564 Update all packages where a different version is in the ports tree
565
566 .SH "AUTHORS"
567 Johannes Winkelmann <jw@tks6.net>
568 .SH "SEE ALSO"
569 prt\-get.conf(5), prt\-cache(8), pkgmk(8) pkgadd(8), ports(8)
|