X11, fontpostinst i kolejność instalacji
Mariusz Mazur
mmazur w kernel.pl
Wto, 25 Paź 2005, 12:11:30 CEST
On wtorek 25 października 2005 11:56, Mariusz Mazur wrote:
> On wtorek 25 października 2005 07:49, Jakub Bogusz wrote:
> > Na dodawaniu zwykłego "Requires" tam, gdzie zależność potrzebna jest
> > tylko do skryptu.
Podłubałem trochę w maxrpmie. I z tego co wyczytałem, wychodzi, że te context
marked deps powinny spełniać nasze oczekiwania tak w przypadku instalacji jak
i deinstalacji.
The PreReq Tag
The PreReq tag is the same as Requires, originally with one additional
property. Using it used to tell RPM that the package marked as PreReq should
be installed before the package containing the dependency. However, as of RPM
version 4.4, this special property is being phased out, and PreReq and
Requires will soon have no functional differences.
A plain Requires is enough to ensure proper installation order if there are
no dependency loops present in the transaction. If dependency loops are
present and cannot be avoided, packagers should strive to construct them in a
way that the order of installation of the the this way interdependent
packages does not matter.
Historically, in dependency loops PreReq used to "win" over the conventional
Requires when RPM determined the installation order in a transaction. But as
said above, this functionality is being phased out, and one should no longer
assume things will work that way.
Context Marked Dependencies
Recent versions of RPM support context marked dependencies. This is a special
type of a dependency that applies only in a specified context. Using this
feature, one can specify dependencies for pre- and post(un)install
scriptlets, ie. the context of a dependency is the execution time of the
specified scriptlet.
The syntax for specifying these dependencies is:
Requires(X): foo
Here, X can be one of pre, post, preun, or postun, which tells RPM that the
package depends on package foo for running the corresponding %pre, %post,
%preun, or %postun script.
In practice, RPM enforces the above dependencies until the specified script
has been run, not at that time. In other words, it will allow erasing a
dependency that was marked for eg. the %post script for an already installed
package, but will not allow erasing one that is required for a %postun script
for such a package. This is to reduce confusion; it would be somewhat odd if
RPM told one to install a package in order to get another one erased.
--
Każdy człowiek, który naprawdę żyje, nie ma charakteru, nie może go mieć.
Charakter jest zawsze martwy, otacza cię zgniła struktura przeniesiona z
przeszłości. Jeżeli działasz zgodnie z charakterem wtedy nie działasz w ogóle
- jedynie mechanicznie reagujesz. { Osho }
Więcej informacji o liście dyskusyjnej pld-devel-pl