This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/2 rebase] Handle CPAN/etc. DLLs in rebaseall


The attached patch finds DLLs in certain directories that may have been
installed via CPAN (Perl), easy_install (Python), pecl (PHP), gem
(Ruby), or R's install.packages() command.


Yaakov
2013-02-11  Yaakov Selkowitz  <yselkowitz@...>

	* rebaseall.in: Find DLLs installed via CPAN and similar systems
	and include them in the default file list.
	

Index: rebaseall.in
===================================================================
RCS file: /cvs/cygwin-apps/rebase/rebaseall.in,v
retrieving revision 1.9
diff -u -p -r1.9 rebaseall.in
--- rebaseall.in	7 Jun 2012 18:50:33 -0000	1.9
+++ rebaseall.in	11 Feb 2013 09:30:40 -0000
@@ -206,9 +206,19 @@ case $Platform in
       sed -e '/\/cygwin1\.dll$/d' -e '/\/cyglsa.*\.dll$/d' \
           -e '/sys-root\/mingw/d' -e 's/^/\//' \
           -e '/\/d\?ash\.exe$/d' -e '/\/rebase\.exe$/d' >"${TmpFile}"
-      # Unconditionally add the -n flag so rebased DLLs get the
-      # dynamicbase flag removed.
-      NoDyn='-n'
+    # some interpreters include a method for installing addons outside of the
+    # package manager, such as CPAN and RubyGems.
+    for d in /usr/lib/perl5/site_perl /usr/lib/py*/site-packages \
+             /usr/lib/php /usr/lib/R/site-library /usr/lib/ruby/gems
+    do
+      if [ -d $d ]
+      then
+        find $d -type f | grep -E "\.($Suffixes)\$" >>"${TmpFile}"
+      fi
+    done
+    # Unconditionally add the -n flag so rebased DLLs get the
+    # dynamicbase flag removed.
+    NoDyn='-n'
     ;;
   mingw|msys)
     for f in /bin /lib

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]