I just added code to CVS that enables initial splitoff support. All brave developers please go ahead and install it and test how it works. To do so, check out the "fink" CVS module and use the inject.pl script.
I'd like to get as much feedback in short time as possible, even if no package does yet use splitoffs. The reason for this is that I am not sure I didn't break anything else! So please update to it, and perform some builds/installs. Report anything weird/unusual, and also if you did some major work with it succesfully. Besides the big chunk, splitoff support, I changed a few other minor things, most notably percent expansion is now also done in the Depends/BuildDepends/Conflicts/Replaces/Provides fields. The syntax for splitoffs is mostly as we discussed it here before. One difference to the proposal is that if you need muliple splitoffs, you have to enumareate them just like with the Source field, i.e. SplitOff, SplitOff2, SplitOff3, etc.. An example package (actually used by me for testing): Package: foobar Version: 0.23 Revision: 1 Depends: mytest-a CompileScript: << cc -o foobar foobar.c echo "This is a fake!" > libfoobar.0.23.dylib << InstallScript: << mkdir -p %i/bin install -m 755 foobar %i/bin mkdir -p %i/lib install -m 755 libfoobar.%v.dylib %i/lib ln -s libfoobar.%v.dylib %i/lib/libfoobar.0.dylib ln -s libfoobar.0.dylib %i/lib/libfoobar.dylib << SplitOff: << Package: %N-shlibs Depends: othertest # Note: files uses the same syntax as DocFiles, only that pathes are # relativ to %i and not to %p Files: lib/libfoobar.0.23.dylib DocFiles: COPYING << SplitOff2: << Package: %N-bin Depends: mytest-b, %N-shlibs # Note: files uses the same syntax as DocFiles, only that pathes are # relativ to %i and not to %p Files: bin/ DocFiles: COPYING << DocFiles: COPYING README Description: Allows you to foo all your bars License: GPL Maintainer: Max Horn <[EMAIL PROTECTED]> For your information, inherited fields are: Version (cannot be changed in splitoff) Revision (cannot be changed in splitoff) Maintainer (cannot be changed in splitoff) Homepage (cannot be changed in splitoff) Description DescDetail License No other field is inherited right now. Nor do I prevent you from specifying a CompileScript etc. in the splitoff currently, but it has no effect anyway. However, you *can* use PostRMScripts etc., and you can even use an InstallScript if you have to do some weird things that the "Files" field can't handle. UpdatePOD should work as well, as does DocFiles. Note the new "%N" field which expands to the name of the parent/master package. Likewise, there are %I and %D fields, which are similiar to %d/%i except that they point to the dest/install dir of the master package (for regular packages, they are identical to %d/%i). For real world examples of the splitoff feature, check out the "shared-libraries" module from CVS. David added some splitoff enabled packages to it, like gmp and libpng. There are some issues that will have to be resolved. Most urging is the following: Every dependency is also a build dep. Now, splitoff's can have additional deps. And the master and all its splitoffs are built at the same time. Hence, we have to check *all* deps of the master and its splitoffs before we can start building. Right now this is *not* happening, only the deps of the master are checked (and if you use for example "fink build foobar-shlibs", only the deps of the splitoff are checked!). This will be fixed soon I think. Max -- ----------------------------------------------- Max Horn Software Developer email: <mailto:[EMAIL PROTECTED]> phone: (+49) 6151-494890 _______________________________________________ Fink-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/fink-devel