public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
To: cygwin@cygwin.com
Subject: Re: Problem with tar version 1.29 (in Cygwin 3.6 64 bit) in extracting sym-link files
Date: Mon, 5 Oct 2020 11:29:13 -0600	[thread overview]
Message-ID: <f9b2dccd-5cc4-e0e8-4a80-8d064d16b1f4@SystematicSw.ab.ca> (raw)
In-Reply-To: <DB7PR02MB39965709AB5E4F611988DCEEE70C0@DB7PR02MB3996.eurprd02.prod.outlook.com>

On 2020-10-05 09:23, Hamish McIntyre-Bhatty via Cygwin wrote:
> On 04/10/2020 11:28, Andrey Repin via Cygwin wrote:
>> Greetings, vinay Hegde!
>>
>> Please no top-posting in this list.
>>
>>> On Fri, Oct 2, 2020 at 9:13 PM Eliot Moss wrote:
>>>> On 10/2/2020 11:26 AM, vinay Hegde via Cygwin wrote:
>>>>> Hi Cygwin Team,
>>>>> In Cygwin 3.6, I am facing an issue while using tar.exe for extracting
>>>>> .tar.z file.
>>>>>
>>>>> Issue summary:
>>>>> When I use 'tar.exe' to extract the .tar.z file, it extracts all files
>>>>> including symlinks. But symlink file size will be 0KB & it throws
>>>>> error 'The file cannot be accessed by the system', if I try to open in
>>>>> any Windows editor like notepad or notepad++
>>>>>
>>>>> Below are the details:
>>>>> -   OS: Windows 2019
>>>>> -   Cygwin version installed: 3.6 (tar version: 1.29)
>>>>> -   Command used to extract the tar file is: tar -zxvf jre64.tar.Z
>>>>> -   'ls -l' on the extracted directory shows:
>>>>> lrwxrwxrwx  1 etbuild Domain Users      8 Jul 10  2017 ControlPanel -> jcontrol
>>>>> -rwxr-xr-x+ 1 etbuild Domain Users   7734 Mar 15  2017 java
>>>>> -rwxr-xr-x+ 1 etbuild Domain Users 128791 Mar 15  2017 javaws
>>>>> -rwxr-xr-x+ 1 etbuild Domain Users   6264 Mar 15  2017 jcontrol
>>>>>
>>>>> -     As you can see 'ControlPanel' is a symlink file with 0KB
>>>>> (8Bytes) size. This file, I cannot open in any Windows editor. It
>>>>> throws error like ''The file cannot be accessed by the system'
>>>>>
>>>>> -    However, I can open this file in vi editor or I can 'cat' this.
>>>>>
>>>>> -    Earlier, I was using Cygwin version 1.7 (tar version: 1.27) & in
>>>>> that, this issue was not there. Symlink file size was 1KB & I could
>>>>> open it with any Windows editor.
>>>>>
>>>>> Please suggest what needs to be done to fix this issue.
>>>> Hi, Vinay - Cygwin can use, and create, a variety of forms of links.  Some of these are understood
>>>> by Windows tools, some not.  I suggest you read in the Cygwin documentation about symlinks and
>>>> decide what kind are best for you.  Then you'll need to set that up, delete the existing link, and
>>>> re-create it.  I personally run with CYGWIN=winsymlinks:native, but as we say in Internet land, YMMV.
>>>>
>>> Hi Eliot Moss,
>>> Thank you very much for the quick response & the information.It really helped.
>>> I just set 'CYGWIN=winsymlinks:lnk' & I am now able to open sym-link
>>> file. Both 'CYGWIN=winsymlinks:lnk' & 'CYGWIN=winsymlinks' are working
>>> for me.
>>> But it creates a shortcut(not the regular file). Hope it won't impact
>>> my existing setup.
>>> But both  'CYGWIN=winsymlinks:native' (which is default I believe) &
>>> 'CYGWIN=winsymlinks:nativestrict' are not working for me. Just to
>>> understand, In what OS environment/File System 'native' will work?
>> Given enough permissions, "native" will work everywhere, it will create native
>> symlink, but failing that, it will fall back to creating Cygwin link.
>>
>> LNK is an Explorer shortcut, which would work with many programs outside
>> Cygwin, but not necessarily with your one.
>>
>> See https://cygwin.com/cygwin-ug-net/using.html#pathnames-symlinks as well as
>> https://cygwin.com/cygwin-ug-net/using-cygwinenv.html 
> 
> Does anyone happen to know if there's a way to automatically regenerate
> existing symlinks after changing these settings?

Example: remove the "echo" after checking it will update only the desired links:

$ for link in `find . -type l`
> do
>   targ=`readlink $link`
>   echo ln -fsv $targ $link
> done
ln -fsv linux-kernel/linux-next/cpufeatures.h ./cpufeatures.h
ln -fsv linux-kernel/linux-next/cpufeatures.log ./cpufeatures.log
ln -fsv ../../cygwin/newlib-cygwin/winsup/cygwin/fhandler_proc.cc
./cpuinfo/fhandler_proc.cc
ln -fsv ../../cygwin/newlib-cygwin/winsup/cygwin/sysconf.cc ./cpuinfo/sysconf.cc
ln -fsv ../cygwin/cpuid ./cygwin
ln -fsv CPUID_Explorer/CPUID/Debug Static/CPUID.exe ./explorer
ln -fsv /lib/gcc/x86_64-pc-cygwin/9.3.0/include/cpuid.h ./gcc/cpuid.h
ln -fsv linux-kernel/linux-prev-next.diff ./linux-prev-next.diff
ln -fsv linux-kernel/linux-next/scattered.log ./scattered.log

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]

  reply	other threads:[~2020-10-05 17:29 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-02 15:26 vinay Hegde
2020-10-02 15:43 ` Eliot Moss
2020-10-02 16:47   ` vinay Hegde
2020-10-02 18:14     ` Eliot Moss
2020-10-04 10:28     ` Andrey Repin
2020-10-05 15:23       ` Hamish McIntyre-Bhatty
2020-10-05 17:29         ` Brian Inglis [this message]
2020-10-07 20:33           ` Hamish McIntyre-Bhatty

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f9b2dccd-5cc4-e0e8-4a80-8d064d16b1f4@SystematicSw.ab.ca \
    --to=brian.inglis@systematicsw.ab.ca \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).