Squeak as Linux and other threads
Stephen Pair
stephen at pairhome.net
Thu May 22 13:17:19 UTC 2003
Martin Wirblat wrote:
>Hi Göran,
>
>
>
>>"updated every time a new version of a prereq arrives" ??
>>
>>Personally i want the dependency system to describe "verified working
>>configurations" and nothing more. Rules like "any version later than
>>x" are IMHO not so good.
>>
>>
>
>In a notion of verified working sets with specific packages, something
>like this will happen: package A needs C-1.5 and package B needs C-2.0.
>You want to have A and B in your image. Now your are stuck. Perhaps
>both would have been happy with C>1.0 .
>
>But if you want to, you are able to describe a specific package with
>name+version too.
>
>
You're missing Göran's point. The problem you describe is *exactly* why
what Göran proposes is the best way. Using your example, prerequisites
in package A and B would be specified as follows:
PackageA
requires PackageC
PackageB
requires PackageC
Both packages would also have the following configurations that match
exactly the configuration used to develop PackageA and PackageB:
Config
PackageA 1.0
for PackageC use PackageC 1.5
Config
PackageB 1.0
for PackageC use PackageC 2.0
Now, you would add a third config that would deal with the version skew:
Config
PackageA 1.0
for PackageC use PackageC 2.0
PackageB 1.0
for PackageC use PackageC 2.0
PackageC 2.0
Loading this config would load PackageA 1.0, PackageB 1.0, and PackageC
2.0. You'd need to test to make sure that PackageA 1.0 really does work
with PackageC 2.0 (and indeed whether or not PackageA and PackageB can
live and work together in the same image)...that's where good SUnit
tests come in handy.
It's important to note that the "requires" clause in my notation is
simply a name...the requirement is not tied to an specific package or
package name...it is only a name. It's the configuration that
determines what package and version will actually get used to satisfy
the "requires" clause.
- Stephen
More information about the Squeak-dev
mailing list
|