Squeak
  links to this page:    
View this PageEdit this Page (locked)Uploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
DepS dependencies
Last updated at 12:23 pm UTC on 28 August 2004
from Stephan Rudlof

Under Construction!


History

versiondatecomment
0.628.8.04Install package example: delete of upgraded package added in graphics
0.527.8.04
  • corrections and improvements
  • term Transformation replaced by Rule
0.426.8.04Install package example
0.326.8.04corrections
0.215.8.04
0.111.8.04Dependencies table

Dependencies table

namesemanticsquestion to the maintainer wanting to express a dependency
pre-requirementneeded before some action, not removable thereafter"Do you want to express a requirement needed before some action at package changing time?
It must not be removed thereafter without breaking something."
post-requirementneeded after some action, temporarily removable during package changing time"Do you want to express a requirement needed after some action at package changing time?
It can be temporarily removed during package changing time without breaking something, but has to be there at run time. E.g. your package needs another one at run time, which may be installed after it."
action-requirementneeded only for time of some action"Do you want to express a requirement needed only while performing some action?
It may be removed immediately after performing the action and hasn't to be there again (e.g. an installer not needed at run time)."
pre-conflictto be removed before some action, not allowed thereafter"Do you want to express a conflict to be removed before performing some action?
It has to be avoided thereafter for not breaking something."
post-conflictto be removed after some action, temporarily allowed during package changing time"Do you want to express a conflict forbidden after package changing time?
It can temporarily arise during package changing time without breaking something, but has to be avoided at run time. E.g. your package conflicts with another package at run time, but not during installation."
action-conflictto be avoided only while performing some action"Do you want to express a conflict forbidden only while performing some action?
It may arise again immediately after the action and may stay forever then (e.g. some property hindering install)."
pre-provideprovide is valid for performing another action, after performing action,
  • if pre-reqirements are fulfilled, and
  • if pre-conflicts are avoided.
Question "Do you want to express a pre-provide?" is not needed, since it will be derived from the package info.
post-provideprovide is valid at run time, after performing action,
  • if pre- and post-reqirements are fulfilled, and
  • if pre- and post-conflicts are avoided.
Question "Do you want to express a post-provide?" is not needed, since it will be derived from the package info.

Technically these dependencies have not to be modeled directly after this table:
These steps together are reducing the table entries from 8 to just 3 for dependency Rules: left are just requirements, conflicts and provides for each of the Rules. Isn't that nice?

Dependencies table for package installation

first questionsecond questionnamesemanticstechnical realization
"Do you want to express a requirement?""Is it needed before installing your package?
It must not be removed thereafter without breaking your package."
install requirementrequirement needed before install, not removable thereafterrequirement in installation Rule
"Is it needed only while installing your package?
It is just needed for the time of installing your package, may be removed immediately after the action and needn't to be there again (e.g. an installer not needed at run time)."
action requirementrequirement needed only for time of Action
"Is it needed after installation of your package?
It can be temporarily removed during package changing time without breaking your package, but has to be there at run time. E.g. your package needs another one at run time, which may be installed after it."
run requirementrequirement needed after installation, temporarily removable during package changing timerequirement in logical Rule
"Do you want to express a conflict?" "Has it to be removed before installing your package?
It has to be avoided thereafter for not breaking your package."
install conflictconflict to be removed before installation, not allowed thereafterconflict in installation Rule
"Is it forbidden only while making something with your package?
It has just to be avoided for the time of making something with your package, which may arise again immediately after the action and may stay forever then (e.g. some property hindering install)."
action conflictconflict to be avoided only for time of Action
"Is it forbidden after package changing time?
It can temporarily arise during package changing time without breaking your package, but has to be avoided at run time. E.g. your package conflicts with another package at run time, but not during installation."
run conflictconflict to be removed after installation, but temporarily allowed during package changing timeconflict in logical Rule
"Do you want to express a provide?"
This question is not needed, since it will be derived from the package info.
install provideprovide is valid for changing other packages,
  • if install reqirements are fulfilled, and
  • if install conflicts are avoided
provide in installation Rule
run provideprovide is valid at run time,
  • if install and run reqirements are fulfilled, and
  • if install and run conflicts are avoided.
provide in logical Rule


Technical stuff


Install package example

Runnable_WebBrowserExtended is the target to be made, it has no number, so the user wants a Runnable_WebBrowserExtended in an arbitrary version with whatever CC.
In the graphics the install dependencies of 3 packages are shown:
are the packages to be installed to get the target.
A dependency Rule in the graphics consists of

Uploaded Image: rulesForInstallationExample.png

Notes