On Tue, Apr 27, 2010 at 05:57:11PM +0200, Jean-Fran?ois Mertens wrote: > > On 27 Apr 2010, at 17:43, Jack Howarth wrote: > > > To recap, the problem with using a single package with split-off > > strategy is that both gcc4x and gcc4x-bin would require a Conflicts/ > > Replaces on the older gcc4x packages which have overlapping files. > > This is because the older gcc4x packages can't know that they are > > are able co-exist with the newer gcc4x package and will Conflict > > with it. > > This causes dependency failures for fink in the absence of an explicit > > Jack _ I told you since the beginning (Re: co-existing gcc4x packages, > april 25) that it would be much simpler to keep the name gcc45 for > the splitoff containing the symlinks _ This way, no need to bother > other pkgs, and you > avoid the trouble you mention..
That is the same layout/solution I was suggesting, which I think Jack read backwards from the way I tried to describe. For example: Currently: gcc4x: Conflicts/Replaces all other gcc4x Depends: gcc4x-shlibs contents: compiler in lib/gcc4.x/ *1 info/manpages in share/ *1 symlinks from bin/ to lib/gcc4.x/ *2 splitoff:gcc4x-shlibs *1 are the generic-name/collisions among different gcc4x that prevent concurrent installation. It's the "default compiler in the standard visible location". *2 are the actual compilers, in a subdir that is specific/named for each different gcc4x package I and I think jfm are suggesting moving *2 into a new package. gcc4x: Conflicts/Replaces all other gcc4x Depends: gcc4x-compiler contents: compiler in lib/gcc4.x *1 info/manpages in share *1 splitoff:gcc4x-compiler Replaces: gcc4x *3 Depends: gcc4x-shlibs contents: symlinks in bin to lib/gcc4.x splitoff:gcc4x-shlibs *3 is so that user can upgrade cleanly from the old gcc4x package...allows new package to overwrite same-named files in old package that are now supposed to be in new/different package. Packages that currently have a dependency on gcc4x and rely on that to supply a compiler in bin/ (i.e., the default PATH), well, that's still true. And the manpages and texinfo files that are in the default doc sets are in that same package. All the "default" stuff is a self-consistent set in a single package. Obviously you can't "default" to more than one gcc4x at a time... But now, all the gcc4x-compiler packages are the actual compilers, and because they are each in their own subdir in lib/, they can all be installed concurrently. If a package really wants to, it can access them there (adjusting its PATH or using absolute pathname to ignore the default PATH and therefore not caring what gcc4x "default" package--if any--is installed). dan -- Daniel Macks dma...@netspace.org http://www.netspace.org/~dmacks ------------------------------------------------------------------------------ _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel