3.7 Package: revise the discussion of an upgrade operation

This commit is contained in:
John McQuah 2022-08-07 08:45:04 -04:00
parent a4088509bd
commit b8d0134a13
1 changed files with 13 additions and 9 deletions

View File

@ -40,25 +40,29 @@ least one argument, the package you want to install. Example:
$ pkgadd bash#5.0.18-1.pkg.tar.gz
When installing a package the package manager will ensure that no previously
installed files are overwritten. If conflicts are found, an error message will
be printed and '''pkgadd''' will abort without installing the package. The error
message will contain the names of the conflicting files. Example:
When installing a package the package manager will ensure that no existing files
are overwritten. If conflicts are found, an error message will be printed and
'''pkgadd''' will abort without installing the package. The error message will
contain the names of the conflicting files. Example:
$ pkgadd bash#5.0.18-1.pkg.tar.gz
bin/sh
usr/man/man1/sh.1.gz
pkgadd error: listed file(s) already installed (use -f to ignore and overwrite)
To force the installation and overwrite the conflicting files, you can use the
->No such error message is issued for already-existing directories, since
the package database allows a directory to be associated with more than one
package. However, the owner/group and permissions of an existing directory will
not be changed to match those of the requested package.
To force the installation when conflicting files are reported, you can use the
option '''-f''' (or '''--force'''). Example:
$ pkgadd -f bash#5.0.18-1.pkg.tar.gz
The package system allows a file to be owned by exactly one package. When
forcing an installation the ownership of the conflicting files will be
transferred to the package that is currently being installed. Directories can
however be owned by more then one package.
transferred to the package that is currently being installed.
->%lfloat%http://crux.nu/doc/images/warning.png
'''Warning'''[[]]
@ -630,9 +634,9 @@ operation. Language-specific toolchains, like those embraced by rust and python
You are free to forego CRUX pkgutils and let the ecosystems of the ''N''
different languages manage their respective software in separate subdirectories
(like python's %fn%~/.local/share/virtualenv%% or rust's %fn%~/.cargo%%), at the
expense of having to learn '''N+1''' administration suites rather than just the
expense of having to learn ''N+1'' administration suites rather than just the
1 suite of CRUX pkgutils. Every language-specific project that appears in the
official repositories represents a hard-won effort by the CRUX development team
official repositories represents a hard-won effort by the CRUX team
to sustain the historic method of software deployment, in the face of software
development trends all heading away from this model.