/
fink.8.in
609 lines (609 loc) · 18 KB
/
fink.8.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
.\" -*- nroff -*-
.Dd January 26, 2002
.Dt FINK 8
.Sh NAME
.Nm fink
.Nd a package management system
.Sh SYNOPSIS
.Nm
.Op Ar options
.Ar command
.Op Ar package
.\"
.\"
.\" DESCRIPTION
.\"
.\"
.Sh DESCRIPTION
.Nm
is a package management system that aims to bring the full world
of GNU and other common Open Source software to Darwin and Mac OS X.
.Pp
With the help of
.Xr dpkg 8
and
.Xr apt 8
it maintains a separate directory hierarchy. It
downloads original source releases, patches them if neccessary, configures
them for Darwin and compiles and installs them. The information about
available packages and the neccessary patches are included with this
distribution, everything else is downloaded off the Internet.
.\"
.\"
.\" OPTIONS
.\"
.\"
.Sh OPTIONS
.Bl -tag -width flag
.It Cm -h, --help
Display help text.
.It Cm -q, --quiet
Causes fink to be less verbose, opposite of
.Cm --verbose
.It Cm -V, --version
Display fink version information.
.It Cm -v, --verbose
Causes fink to be more verbose, opposite of
.Cm --quiet
.It Cm -y, --yes
Assume default answer for all interactive questions
.It Cm -K, --keep-root-dir
Causes Fink not to delete the temporary installation directory
.Pa root-[name]-[version]-[revision]
in the
.Cm Buildpath
(see the
.Cm fink.conf
manpage) after building a package.
.It Cm -k, --keep-build-dir
Causes Fink not to delete the package compile directory
.Pa [name]-[version]-[revision]
in the
.Cm Buildpath
(see the
.Cm fink.conf
manpage) after building a package.
.It Cm -b, --use-binary-dist
Download pre-compiled binary packages from the binary distribution
if available and if deb is not already on the system
.Pp
Note that this mode instructs Fink to download the version it wants if
that version is available for download; it does not cause Fink to
choose a version based on its binary availability.
.It Cm --no-use-binary-dist
Don't use pre-compiled binary packages from the binary distribution,
opposite of the
.Cm --use-binary-dist
flag. This is the default unless overridden by a setting in
.Pa fink.conf
configuration file.
.It Cm --build-as-nobody
Drop to a non-root user when performing the unpack, patch, compile,
and install phases.
.It Cm -m, --maintainer
Perform actions useful to package maintainers: run validation on
the .info file before building and on the .deb after building a
package; turn certain build-time warnings into fatal errors; run the
test suites as specified in the InfoTest field.
.It Cm -l, --log-output
Save a copy of the terminal output during each package building
process. By default, the file is stored in
.Pa /tmp/fink-build-log_[name]-[version]-[revision]_[date]-[time]
but one can use the
.Cm --logfile
flag to specify an alternate filename.
.It Cm --no-log-output
Don't save a copy of the output during package-building, opposite of the
.Cm --log-output
flag. This is the default.
.It Cm -l, --logfile=filename
Save package build logs to the file
.Pa filename
instead of the default file (see the
.Cm --log-output
flag, which is implicitly set by the
.Cm --logfile
flag). You can use percent-expansion codes to include specific package
information automatically. A complete list of percent-expanions is
available in the Fink Packaging Manual; some common percent-expansions
are:
.Bl -tag -width flag -offset indent -compact
.It Cm %n
package name
.It Cm %v
package version
.It Cm %r
package revision
.El
.It Cm -t, --trees=expr
Consider only packages in trees matching
.Pa expr .
.Pp
The format of
.Pa expr
is a comma-delimited list of tree specifications. Trees listed in
.Pa fink.conf
are compared against
.Pa expr .
Only those which match at
least one tree specification are considered by fink, in the order of the first
specifications which they match. If no
.Cm --trees
option is used, all trees listed in
.Pa fink.conf
are included in order.
.Pp
A tree specification
may contain a slash
.Pq /
character, in which case it requires an exact match with a tree. Otherwise, it
matches against the first path-element of a tree. For example,
.Cm --trees=unstable/main
would match only the
.Cm unstable/main
tree, while
.Cm --trees=unstable
would match both
.Cm unstable/main
and
.Cm unstable/crypto .
.Pp
There exist magic tree specifications which can be included in
.Pa expr :
.Bl -tag -width flag -offset indent
.It Cm status
Includes packages in the dpkg status database.
.It Cm virtual
Includes virtual packages which reflect the capabilities of the system.
.El
.Pp
Exclusion (or failure to include) these magic trees is currently only supported
for operations which do not install or remove packages.
.It Cm -T, --exclude-trees=expr
Consider only packages in trees not matching
.Pa expr .
.Pp
The syntax of
.Pa expr
is the same as for
.Cm --trees ,
including the magic tree specifications. However, matching trees are here
excluded rather than included. Note that trees matching both
.Cm --trees
and
.Cm --exclude-trees
are excluded.
.Pp
Examples of
.Cm --trees
and
.Cm --exclude-trees :
.Bl -tag -width flag -offset indent
.It Cm fink --trees=stable,virtual,status install foo
Install
.Cm foo
as if fink was using the stable tree, even if unstable is enabled in
.Pa fink.conf .
.It Cm fink --exclude-trees=local install foo
Install the version of
.Cm foo
in fink, not the locally modified version.
.It Cm fink --trees=local/main list -i
List the locally modified packages which are installed.
.El
.El
.\"
.\"
.\" COMMANDS
.\"
.\"
.Sh COMMANDS
.Nm
has several commands that work on packages. All of them need at least
one package name, and all can handle several package names at once. You can
specify just the package name (e.g. gimp), or a fully qualified name with a
version number (e.g. gimp-1.2.1 or gimp-1.2.1-3). Fink will automatically
choose the latest available version and revision when they are not
specified.
.\" List of commands
.Bl -tag -width flag
.It Cm install Ar package...
The install command is used to install packages. It downloads, configures,
and builds, or downloads prebuilt (see the
.Cm --use-binary-dist
flag) and installs the packages you name. It will also install required
dependencies automatically, but will ask you for confirmation before it
does so.
.Pp
Aliases:
.Cm update, enable, activate, use
.It Cm remove Ar package...
The remove command removes packages from the system.
The current implementation has a flaw: it
doesn't check dependencies itself but rather completly leaves that to the
dpkg or apt-get tool (usually this poses no problem, though).
.Pp
The remove command removes the actual package files (excluding configuration
files), but leaves the .deb compressed package file intact. This means that you
can re-install the package later without going through the compile process again.
If you need the disk space, you can remove the .deb from the
.Pa @PREFIX@/fink/dists
tree.
.Pp
These flags can be used with the
.Cm fink remove
command
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -r,--recursive
Also remove packages that depend on the package(s) to be removed.
.El
.Pp
Aliases:
.Cm disable, deactivate, unuse, delete
.Pp
.It Cm purge Ar package...
The purge command purges packages from the system.
This is the same as
.Cm fink remove
except that it removes configuration files as well.
.Pp
These flags can be used with the
.Cm fink purge
command
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -r,--recursive
Also purge packages that depend on the package(s) to be purged.
.El
.Pp
.It Cm update-all
This command updates all installed packages to the latest version. It does
not need a package list, so you just type:
.Dl Cm fink update-all
.It Cm list Op Ar package...
This command produces a list of available packages, listing installation
status, the latest version and a short description. If you call it without
parameters, it will list all available packages. If you pass one
or more package names, fink will list only those packages that match
the given names. You can use shell globs (? and * wildcards); if you
do not, then the pattern is searched as a substring.
.Pp
The first column displays the installation state with the following meanings:
.Pp
.Bl -tag -width flag -offset indent -compact
.It \
not installed
.It \ i
latest version is installed
.It (i)
some version is installed, but a newer version is available
.It \ p
a virtual package provided by a package that is installed
.El
.Pp
The version column always lists the latest (highest) version known for
the package, regardless of what version (if any) you have
installed. To see all versions of a package available on your system
along with more detailed status information about each, use
.Cm fink dumpinfo -fallversions
.Pp
There are also some flags for the
.Cm fink list
command
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -t,--tab
Output the list in a tab delimited format, useful for running the output
through a script.
.It Cm -i,--installed
Show only those packages which are currently installed.
.It Cm -o,--outdated
Show only those packages which are out of date.
.It Cm -u,--uptodate
Show only packages which are up to date.
.It Cm -n,--notinstalled
Show packages which are not currently installed.
.It Cm -s expr,--section=expr
Show only packages in the sections matching the regular expression expr.
.It Cm -m expr,--maintainer=expr
Show only packages with the maintainer matching the regular expression expr.
.It Cm -w xyz,--width=xyz
Sets the width of the display you would like the output
formatted for. xyz is either a numeric value or auto.
auto will set the width based on the terminal width.
The default is auto.
.El
.Pp
Some usage examples:
.Bl -tag -width flag -offset indent
.It Cm fink list
list all packages.
.It Cm fink list bash
check if bash is available and what version.
.It Cm fink list --tab --outdated | cut -f2
just list the names of the out of date packages.
.It Cm fink list --section=kde
list the packages in the kde section.
.It Cm fink list --maintainer=fink-devel
list the packages with no maintainer.
.It Cm fink --trees=unstable list --maintainer=fink-devel
list the packages with no maintainer, but only in the unstable tree.
.It Cm fink list Qq "gnome*"
list all packages that start with 'gnome'.
.El
.Pp
The quotes in the last example are necessary to stop the shell from
interpreting the pattern itself.
.Pp
.It Cm apropos Ar package...
This command behaves similarly to
.Cm fink list
except that
.Ar package...
must be supplied and it searches package descriptions as well as package
names for the given strings (no wildcards).
.It Cm describe Ar package...
This command displays a description of the package you name on the command
line. Note that only a small part of the packages currently have a
description.
.Pp
Aliases:
.Cm desc, description, info
.Pp
.It Cm plugins
List the (optional) plugins available to the fink program. Currently lists
the notification mechanisms and the source-tarball checksum algorithms.
.Pp
.It Cm fetch Ar package...
Downloads the named packages, but does not install them. This command will
download the tarballs even if they were downloaded before.
.Pp
These flags can be used with the
.Cm fink fetch
command
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -i,--ignore-restrictive
Do not fetch packages that are "License: Restrictive". Useful for mirrors, because
some restrictive packages do not allow source mirroring.
.It Cm -d,--dry-run
Just display information about the file(s) that would be downloaded
for the package(s) to be fetched; do not actually download anything.
.It Cm -r,--recursive
Also fetch packages that are dependencies of the package(s) to be fetched.
.El
.Pp
.It Cm fetch-all
Downloads
.Em all
package source files. Like fetch, this downloads the
tarballs even when they were downloaded before.
.Pp
These flags can be used with the
.Cm fink fetch-all
command
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -i,--ignore-restrictive
Do not fetch packages that are "License: Restrictive". Useful for mirrors, because
some restrictive packages do not allow source mirroring.
.It Cm -d,--dry-run
Just display information about the file(s) that would be downloaded
for the package(s) to be fetched; do not actually download anything.
.El
.Pp
.It Cm fetch-missing
Downloads
.Em all
package source files. This command will only download files
that are not present on the system.
.Pp
These flags can be used with the
.Cm fink fetch-missing
command
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -i,--ignore-restrictive
Do not fetch packages that are "License: Restrictive". Useful for mirrors, because
some restrictive packages do not allow source mirroring.
.It Cm -d,--dry-run
Just display information about the file(s) that would be downloaded
for the package(s) to be fetched; do not actually download anything.
.El
.Pp
.It Cm build Ar package...
Builds a package, but does not install it. As usual, the source tarballs are
downloaded if they can not be found. The result of this command is an
installable .deb package file, which you can quickly install later with the
install command. This command will do nothing if the .deb already exists.
Note that dependencies are still
.Em installed,
not just built.
.It Cm rebuild Ar package...
Builds a package (like the
.Cm build
command), but ignores and overwrites the existing .deb file. If the
package is installed, the newly created .deb file will also be installed
in the system via
.Xr dpkg 8 .
Very useful during package development.
.It Cm reinstall Ar package...
Same as install, but will install the package via
.Xr dpkg 8
even when it is already installed. You can use this when you accidentally
deleted package files or changed configuration files and want to get the
default settings back.
.It Cm configure
Reruns the
.Nm
configuration process. This will let you change your mirror sites and
proxy settings, among others.
.It Cm selfupdate
This command automates the process of upgrading to a new
.Nm
release. It checks the
.Nm
website to see if a new version is available. It then downloads the package
descriptions and updates the core packages, including
.Nm
itself. This command can upgrade to regular releases, but it can also
setup your @PREFIX@/fink/dists directory tree for
.Xr cvs 1
or
.Xr rsync 1
updates.
This means that you then will be able to access the very latest
revisions of all packages. See
.Xr fink.conf 5
for more details.
.It Cm index
Rebuilds the package cache. You should not normally need to execute this manually,
.Nm
should auto-detect when it needs to be updated.
.It Cm validate Ar [options] file...
This command performs various checks on .info and .deb files. Package maintainers
should run this on their package descriptions and corresponding built
packages before submitting them.
.Pp
Aliases:
.Cm check
.Pp
The following optional
.Ar options
may be used:
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -p,--prefix
Simulate an alternate Fink basepath prefix (%p) within the files being validated.
.It Cm --pedantic, --no-pedantic
Control the display of nitpicky formatting warnings.
.Cm --pedantic
is the default.
.El
.It Cm scanpackages Op Ar tree...
Updates the
.Xr apt-get 8
database of debs in the specified trees.
.It Cm cleanup Ar [mode(s) and options]
Removes obsolete and temporary files. This can reclaim large amounts of
disk space. One or more modes must be specified:
.Bl -tag -width flag -offset indent -compact
.It Cm --debs
Delete .deb files (compiled binary package archives) corresponding to
versions of packages that are neither described by a package
description (.info) file in the currently-active trees nor presently
installed.
.It Cm --sources,--srcs
Delete sources (tarballs, etc.) that are not used by any package
description (.info) file in the currently-active trees.
.It Cm --buildlocks, --bl
Delete stale buildlock packages.
.It Cm --dpkg-status
Remove entries for packages that are not installed from the dpkg
"status" database.
.El
In addition, the following options may be used:
.Bl -tag -width flag -offset indent -compact
.It Cm -k,--keep-src
Move old source files to @PREFIX@/src/old/ instead of deleting them.
.It Cm -d,--dry-run
Print the names of the files that would be deleted, but do not
actually delete them.
.It Cm -h,--help
Show the modes and options which are available.
.El
.It Cm dumpinfo Ar [options] package...
Shows how Fink parses parts of a package's .info file. Various fields and
percent expansions will be displayed according to
.Ar options
as follows:
.Bl -tag -width flag -offset indent -compact
.It Cm -h,--help
Show the options which are available.
.It Cm -a,--all
Display all fields from the package description.
This is the default mode when no
.Ar --field
or
.Ar --percent
flags are given.
.It Cm -f fieldname, --field=fieldname
Display the given fieldname(s), in the order listed.
.It Cm -p key, --percent=key
Display the given percent expansion key(s), in the order listed.
.El
.It Cm show-deps Ar package...
Displays a human-readable list of the compile-time (build) and
run-time (installation) dependencies of the listed package(s).
.El
.\"
.\"
.\" FILES
.\"
.\"
.Sh FILES
.Pa @PREFIX@/var/lib/fink/fink.db
.Bd -filled -offset indent -compact
Package cache database. Don't try to edit this manually, instead update it using
.Cm fink index.
.Ed
.Pp
.Pa @PREFIX@/etc/fink.conf
.Bd -filled -offset indent -compact
The system wide configuration file. See
.Xr fink.conf 5
for more information.
.Ed
.\"
.\"
.\" HOMEPAGE
.\"
.\"
.Sh HOMEPAGE
http://www.finkproject.org/
.\"
.\"
.\" BUGS
.\"
.\"
.Sh BUGS
Check out fink's bug tracker at
http://sourceforge.net/tracker/?group_id=17203&atid=117203
for a current list of known bugs.
.\"
.\"
.\" AUTHOR
.\"
.\"
.Sh AUTHOR
The current maintainer of this manpage is Max Horn <max@quendi.de>
.\"
.\"
.\" ACKNOWLEDGEMENTS
.\"
.\"
.Sh ACKNOWLEDGEMENTS
The original author of
.Nm
is Christoph Pfisterer <cp@chrisp.de>.
.br
.Nm
is developed and maintained by The Fink Project (http://www.finkproject.org).
.\"
.\"
.\" SEE ALSO
.\"
.\"
.Sh "SEE ALSO"
.Xr apt-get 8 ,
.Xr dselect 8 ,
.Xr dpkg 8 ,
.Xr fink.conf 5