Kyle Moffett <[EMAIL PROTECTED]> wrote: > On Monday, February 25, 2002, at 11:20 , David R. Morrison wrote: > > Packages containing both binary files and libraries > > [snip] > > I would recommend that the foo package not be foo3. I think that since > we can only have one foo headers package installed at a time, it would > be a lot easier for conflicts and replaces to have just foo. >
This doesn't work. Let's say that foo3 has just been released, and you have 10 installed packages which depend on the foo2 library. We have to wait for the maintainers of those packages to update from foo2 to foo3, because the incompatible API might cause breakage which the maintainer has to deal with. In the meanwhile, the maintainer might still update the old package to a new version, still depending on foo2. So you have to have the ability to load foo2 or foo3 depending on which package you are compiling at the moment. When you load foo2, a symlink is created: libfoo.dylib -> libfoo.2.dylib so that all compiles link to version 2. Later if you load foo3, you get libfoo.dylib -> libfoo3.dylib and the links are made with version 3. Even later you might need to reload foo2 again to compile a different package. [snip] > > Upgrading presents a problem in this situation, however, since users > > won't > > be prompted to install <code>foo-bin</code>. To work around this, until > > all other package maintainers have revised their packages as above, > > your <code>foo</code> package can say > > <codeblock> > > Depends: foo-shlibs (= exact.version), foo-bin > > Here I disagree, since foo3-shlibs and foo4-shlibs represent an > incompatable api change, any programs should be the same version as the > libraries, therefore foo-bin should: Depends: foo-shlibs (== %v). Also, > just like plain old foo header packages, foo-bin should not have the > version in the packagename (Many of them will probably have the same > files in them). > Absolutely, the long-term goal is that foo-bin depends on foo-shlibs. The recommendation here is for the transition period, and it solves the problem which Martin Costabel noticed: when you upgrade, foo-bin might not be loaded on your system, even if it is needed by other packages. Until the other package-maintainers fix this, you can let foo depend on foo-bin (temporarily). As far as the naming goes, I disagree again. Of course foo2-bin and foo3-bin will conflict and people will have to decide which one they want at runtime. Ultimately (once the long-term goal is achieved) this won't affect your ability to switch back and forth between foo2 and foo3 (the header packages) whenever you need to. -- Dave _______________________________________________ Fink-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/fink-devel