From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22639 invoked by alias); 22 Feb 2004 02:43:27 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 22623 invoked from network); 22 Feb 2004 02:43:24 -0000 Received: from unknown (HELO hotmail.com) (64.4.35.181) by sources.redhat.com with SMTP; 22 Feb 2004 02:43:24 -0000 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Sat, 21 Feb 2004 18:43:24 -0800 Received: from 66.167.126.138 by bay12-dav7.bay12.hotmail.com with DAV; Sun, 22 Feb 2004 02:43:23 +0000 X-Originating-IP: [66.167.126.138] X-Originating-Email: [rkitover@hotmail.com] X-Sender: rkitover@hotmail.com From: "Rafael Kitover" To: Subject: [PATCH] rebase: Pick up more dlls when using rebaseall Date: Sun, 22 Feb 2004 03:14:00 -0000 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_004E_01C3F8AA.91CF8150" Message-ID: X-OriginalArrivalTime: 22 Feb 2004 02:43:24.0039 (UTC) FILETIME=[A416A170:01C3F8ED] X-SW-Source: 2004-02/txt/msg01191.txt.bz2 ------=_NextPart_000_004E_01C3F8AA.91CF8150 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-length: 852 This modification to the rebaseall script will allow it to work on .dll extensions created by Perl modules downloaded from CPAN, ie using perl -MCPAN -e shell, site python dlls, and any dlls that can be found in /usr/local, /install, /home and /opt. find does not recurse into symlinked directories, so there should be no danger of rebasing dlls not intended for cygwin. I thought about adding some code to ignore zsh dlls from the current version of zsh, but from my vague understanding of the progress of that issue, the problem seems to be in rebase, related to some symbols not getting changed: http://www.cygwin.com/ml/cygwin/2004-02/msg00573.html so rebaseall should work with any version of zsh once rebase is fixed. Also a minor nit about the rebase package, the readme is under /usr/doc/Cygwin rather than /usr/share/doc/Cygwin. -- Rafael ------=_NextPart_000_004E_01C3F8AA.91CF8150 Content-Type: application/octet-stream; name="rebaseall-moredlls.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="rebaseall-moredlls.patch" Content-length: 926 --- /usr/bin/rebaseall.orig 2004-02-14 21:31:23.156250000 -0800=0A= +++ /usr/bin/rebaseall 2004-02-14 22:44:37.015625000 -0800=0A= @@ -82,8 +82,23 @@=0A= zcat /etc/setup/*.lst.gz | grep 'dll$' |=0A= sed -e '/cygwin1.dll$/d' -e 's/^/\//' -e 's/apache\/new/apache/' >$Tmp= File=0A= =20=0A= +# Try to find a good chunk of any non-package .dlls=0A= +find /usr/local /usr/lib/perl5/site_perl /lib/python*/site-packages /insta= ll \=0A= + /home /opt \=0A= + -name '*.dll' 2>/dev/null >>$TmpFile=0A= +=0A= +# Get rid of duplicates=0A= +sort -o ${TmpFile}.$$ -u $TmpFile=0A= +mv ${TmpFile}.$$ $TmpFile=0A= +=0A= +# Set perl libs writable for rebase=0A= +grep perl5 $TmpFile | xargs -i chmod u+w {}=0A= +=0A= # Rebase files=0A= rebase $Verbose -d -b $BaseAddress -o $Offset -T $TmpFile=0A= =20=0A= +# Reset perl libs to read-only=0A= +grep perl5 $TmpFile | xargs -i chmod u-w {}=0A= +=0A= # Clean up=0A= cleanup=0A= =0A= ------=_NextPart_000_004E_01C3F8AA.91CF8150 Content-Type: text/plain; charset=us-ascii Content-length: 218 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------=_NextPart_000_004E_01C3F8AA.91CF8150--