From b8d0134a13701471cc1cacdad271acd6e3e21856 Mon Sep 17 00:00:00 2001 From: John McQuah Date: Sun, 7 Aug 2022 08:45:04 -0400 Subject: [PATCH] 3.7 Package: revise the discussion of an upgrade operation --- crux-wiki/Handbook3-7-Package | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/crux-wiki/Handbook3-7-Package b/crux-wiki/Handbook3-7-Package index cbcff06..eaaaa5e 100644 --- a/crux-wiki/Handbook3-7-Package +++ b/crux-wiki/Handbook3-7-Package @@ -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.