[Jifty-commit] r6403 - jifty/trunk/lib/Jifty

Jifty commits jifty-commit at lists.jifty.org
Sun Feb 22 09:25:27 EST 2009


Author: sunnavy
Date: Sun Feb 22 09:25:26 2009
New Revision: 6403

Modified:
   jifty/trunk/lib/Jifty/Util.pm

Log:
replace dist_dir with module_dir, then File::ShareDir will work

Modified: jifty/trunk/lib/Jifty/Util.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Util.pm	(original)
+++ jifty/trunk/lib/Jifty/Util.pm	Sun Feb 22 09:25:26 2009
@@ -102,19 +102,16 @@
 sub share_root {
     my $self = shift;
 
-    unless ($SHARE_ROOT) {
-        my @root = File::Spec->splitdir( $self->jifty_root );
-
-        if ( $root[-2] ne 'blib' && $root[-1] eq 'lib' ) {
-
-            # so it's -Ilib in the Shipwright's source dir
-            $root[-1] = 'share';
-        }
-        else {
-            push @root, qw/auto share dist Jifty/;
-        }
-
-        $SHARE_ROOT = File::Spec->catdir(@root);
+    
+    Jifty::Util->require('File::ShareDir');
+    $SHARE_ROOT ||=  eval { File::Spec->rel2abs( File::ShareDir::dist_dir('Jifty') )};
+    if (not $SHARE_ROOT or not -d $SHARE_ROOT) {
+        # XXX TODO: This is a bloody hack
+        # Module::Install::ShareDir and File::ShareDir don't play nicely
+        # together
+        my @root = File::Spec->splitdir($self->jifty_root); # lib
+        pop @root; # Jifty-version
+        $SHARE_ROOT = File::Spec->catdir(@root,"share");
     }
     return ($SHARE_ROOT);
 }


More information about the Jifty-commit mailing list