Fink:Policy:Trees
From the Fink Wiki
Linking Against OpenSSL
If the package currently has to be in Crypto because it links against OpenSSL, there is a workaround. The GPL specifies that it is OK to link against non-GPL software if it is a system-provided library. Since Apple includes OpenSSL as part of the base Mac OS X install, it can be linked against without license issues.
To do so, use the system-openssl-dev package.
Tree Modularity
As above, any package that has a (Build)Depends that can only be satisfied by package(s) in section:crypto must itself be in section:crypto. Likewise, any package in the stable tree must have all its (Build)Depends be satisfiable by packages in the stable tree. The idea is that a user could omit the entire crypto section or use only the stable tree and still still have a self-contained fink installation with no missing dependent packages.
You can pipe the output of 'fink list' into 'fink rebuild' to see if there are any packages with broken dependencies. The four subsets are:
- stable/main
- stable/main stable/crypto
- unstable/main stable/main
- unstable/main unstable/crypto stable/main stable/crypto
If you are using fink CVS HEAD, you can use the --trees flag instead of having to alter the Trees line in your fink.conf file for each subset of the distro, for example:
fink --trees=stable/main list -t | grep -v '\[' | cut -f2 > pkgs
edit pkgs to remove any known blockers:
-
libgems-rb*andrubygems-rb*<code> (-rb16 and -rb18 cannot be built concurrently)
cat pkgs | xargs fink --trees=stable/main,virtual rebuild
An alternative way to test for modularity and find all unsatisfied dependencies is:
fink --trees=stable,virtual list --format=dotty > foo.dot
perl -n -e 'if (/"(.*?)" -> "(.*?)"/) { push @{$need{$2}}, $1} elsif (/"(.*?)" \[/) {$have{$1}++}} END {foreach (sort keys %need) {print "missing $_ for ".join(" ",@{$need{$_}})."\n" unless $have{$_}}' foo.dot

