I'm hacking together a custom Makefile.PL for DBD::Oracle which copies
just the needed bits of Oracle into the DBD::Oracle directory and then
builds against it. 'make install' then copies the required bits (i.e.
the normal DBD::Oracle bits plus two Oracle shared libraries) into the
perl tree, the idea being that you can generate a version of perl that
can talk to Oracle without requiring a full Oracle client install, with
a consequent saving of more than 400Mb of disk space. It all appears to
work so far, the only problem being that ExtUtils::Install doesn't
propagate symlinks properly. In blib/arch/auto/DBD/Oracle I have this:
lrwxrwxrwx 1 root other 17 Oct 5 22:39 libclntsh.so ->
libclntsh.so.10.1
-rw-r--r-- 1 root other 22467396 Oct 5 22:39 libclntsh.so.10.1
-rw-r--r-- 1 root other 3687916 Oct 5 22:39 libnnz10.so
-rw-r--r-- 1 root other 0 Oct 5 22:39 Oracle.bs
-rwxr-xr-x 1 root other 127824 Oct 5 22:39 Oracle.so
but when this is copied by 'make install' it ends up like this:
-r--r--r-- 1 root other 10902 Oct 19 2004 dbdimp.h
-r--r--r-- 1 root other 22467396 Oct 5 22:39 libclntsh.so
-r--r--r-- 1 root other 22467396 Oct 5 22:39 libclntsh.so.10.1
-r--r--r-- 1 root other 3687916 Oct 5 22:39 libnnz10.so
-r--r--r-- 1 root other 21765 Aug 31 16:41 mk.pm
-r--r--r-- 1 root other 14811 Aug 24 2004 ocitrace.h
-r--r--r-- 1 root other 0 Aug 31 16:41 Oracle.bs
-r--r--r-- 1 root other 2639 Jul 12 2004 Oracle.h
-r-xr-xr-x 1 root other 127824 Oct 5 22:39 Oracle.so
i.e. the libclntsh.so symlink has been collapsed into a simple file
copy. Is there any way of telling MakeMaker to maintain the symlink, or
will I just have to fake it up by tweaking the generated Makefile?
--
Alan Burlison
--