This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [PATCH 2/2 rebase] Handle CPAN/etc. DLLs in rebaseall
- From: Yaakov (Cygwin/X) <yselkowitz at users dot sourceforge dot net>
- To: cygwin-apps at cygwin dot com
- Date: Mon, 11 Feb 2013 03:48:17 -0600
- Subject: Re: [PATCH 2/2 rebase] Handle CPAN/etc. DLLs in rebaseall
- References: <20130211034039.733036a5@YAAKOV04>
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