Subject: Re: package _version_ check
From: Sam Steingold <[email-masked]>
To: [email-masked]
Date: 09 Sep 2003 15:40:41 -0400

> Max Bowsher <[email-masked]> [Tue, 9 Sep 2003 19:58:39 +0100]:
> Sam Steingold wrote:
> > how do I check that the installed package foo was built against cygwin
> > 1.5 and not 1.3?
> 
> I've attached a perl script (CVID - Cygwin Version IDentify) that I wrote,
> which you can run on an .exe or .dll.
> It examines "objdump -p" output (so requires binutils), and deduces the API
> based on which functions the the exe/dll imports from cygwin1.dll.
> 
> new = 1.5.x
> old = 1.3.x
> mixed = the peculiar brokenness early in the 1.5.x series
> immune = *Possibly* independent of the changed datatype. Investigate all
> dependent DLLs.

cool! thanks!

$ for f in `find / -name \*.exe -o -name \*.dll`; do ~/bin/cvid.pl $f; done > check
find: . changed during execution of find
Use of uninitialized value in pattern match (m//) at
        /cygdrive/d/sds//bin/cvid.pl line 27 (#1)
    (W uninitialized) An undefined value was used as if it were already
    defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
    To suppress this warning assign a defined value to your variables.

    To help you figure out what was undefined, perl tells you what operation
    you used the undefined value in.  Note, however, that perl optimizes your
    program and the operation displayed in the warning may not necessarily
    appear literally in your program.  For example, "that $foo" is
    usually optimized into "that " . $foo, and the warning will refer to
    the concatenation (.) operator, even though there is no . in your
    program.

Use of uninitialized value in pattern match (m//) at
        /cygdrive/d/sds//bin/cvid.pl line 28 (#1)
Use of uninitialized value in concatenation (.) or string at
        /cygdrive/d/sds//bin/cvid.pl line 28 (#1)
Uncaught exception from user code:
        Unexpected: ''
        main::idver('undef') called at /cygdrive/d/sds//bin/cvid.pl line 69

187 binaries (out of 637) are marked as "old".  yuk.

$ for f in `grep old check|cut -f1 -d:`; do cygcheck -f $f; done|sort -u
bc-1.06-1
bison-20030307-1
byacc-1.9-1
compface-1.4-5
ctags-5.5-4
dpkg-1.10.4-2
ed-0.2-1
enscript-1.6.3-3
expat-1.95.6-1
findutils-4.1.7-4
flex-2.5.4-2
fortune-1.8-2
gcc-3.2-3
gdbm-1.8.3-7
ghostscript-7.05-2
gnupg-1.2.2-1
gperf-2.7.2-1
grace-5.1.12-1
grep-2.5-1
groff-1.18.1-2
gzip-1.3.3-4
indent-2.2.8-1
libbz2_0-1.0.2-1
libdb3.1-3.1.17-2
libdb3.1-devel-3.1.17-2
libgdbm-1.8.0-5
libgdbm3-1.8.3-3
libguile12-1.6.0-1
libguile12abi13-1.6.4-2
libguile14-1.5.6-5
libintl-0.10.38-3
libintl1-0.10.40-1
libkpathsea3abi13-2.0.2-2
libncurses5-5.2-1
libncurses6-5.2-8
libpopt0-1.6.4-4
libreadline4-4.1-2
libtiff3-3.6.0-2
libxml2-2.5.7-1
libxslt-1.0.30-2
links-0.96-1
m4-1.4-1
make-3.80-1
man-1.5j-2
mc-4.6.0-4
more-2.11o-1
nasm-0.98.37-1
ncftp-3.1.4-1
openssl096-0.9.6j-1
patchutils-0.2.22-2
perl-5.8.0-5
postgresql-7.3.4-2
psutils-1.17-1
rsync-2.5.6-1
texinfo-4.2-4
textutils-2.0.21-1
tidy-030201-1
time-1.7-1
units-1.77-1
upx-1.24-1
wget-1.8.2-2
whois-4.6.2-1

it would be very nice if the above packages were re-built against 1.5

I am getting spurious failures, and I would love to have them fixed.

thanks!

-- 
Sam Steingold (http://www.podval.org/~sds) running w2k
<http://www.camera.org> <http://www.iris.org.il> <http://www.memri.org/>
<http://www.mideasttruth.com/> <http://www.honestreporting.com>
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))

--
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/