Keith Marshall | 30 May 2011 21:54
Picon

Re: Weirdness with issue.log

On 22/05/11 04:04, Charles Wilson wrote:
> On 5/21/2011 9:51 PM, Chris Sutcliffe wrote:
>> I've got some odd ball stuff going on.  All the package lines in
>> issue.log are being prefixed with '(stdin)='.

This is surely the problem.

>> I've attached the original issue.log file (as retrieved via CVS) and
>> the new file generated when I ran 'make'.
>>
>> FWIW, the behaviour is the same whether I build in-tree, out-of-tree,
>> or as a subdir.
>>
>> Is this a result of some odd ball MSYS behaviour?
> 
> Interesting.  I hadn't mentioned it, but I've been building mingw-dist
> from a cygwin environment, not MSYS.  So, one difference right off the
> bat is, on cygwin 'ln -s' works, so that's used in the unpublished
> directories.  On msys, 'cp -p' is used instead.

I don't think this is significant.

> The other difference is, I don't usually run the msys ssh-agent, so
> every time a cvs access is run I have to type my passphrase.
> 
> OTOH, under cygwin, I always am running the ssh-agent.>

Nor this.

> Now, I just did a fresh c/o from inside msys, and did the
> autoconf/configure/make thing (from inside the srcdir, as per my usual),
> and...
> 
> sure enough, my unpublished dirs are full.
> 
> So, it's an msys thing.  I reckon if we figure out what magic is used to
> determine 'hey, yeah, let's go ahead and put a symlink/copy of this into
> unpublished/', and figure out why it doesn't work in an msys shell.

The "magic" is a SHA1 hash comparison.  For each $*.xml source file, awk
selects the record with $3 == $*.xml, and returns its $1; this is
compared with the output from `dos2unix $*.xml | openssl sha1'.[*]  If
they are identical, $*.xml.lzma is generated if necessary, but no
symlink/copy is placed in unpublished; if they differ, $*.xml.lzma is
(re)generated, and the symlink/copy is created.

[*] Here, dos2unix is emulated using awk; dos2unix isn't portable.

Chris is observing an anomaly in MSYS' openssl output, in comparison to
what I see on GNU/Linux and you (apparently) also see on Cygwin; note
the `(stdin)=' contributing an extra (unwanted) field to the output,
which can never match the $1 field in a correctly formed issue.log, (and
which will result in a malformed issue.log if committed).

You may wish to investigate this anomaly, but it's probably going to be
easier to work around it in mingw-dist; the attached patch should do the
trick.  (To test it, you'll need to apply it, then run

  ./config.status

in the top directory in your build tree).

--

-- 
Regards,
Keith.
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
MinGW-dvlpr mailing list
MinGW-dvlpr@...
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

Gmane