This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: terminfo and /usr/share/terminfo requirement


On Tue, Nov 4, 2014 at 4:29 AM, Corinna Vinschen wrote:
> On Nov  3 17:34, cyg Simple wrote:
>> On Mon, Nov 3, 2014 at 5:23 PM, Yaakov Selkowitz wrote:
>> > On 2014-11-03 16:14, cyg Simple wrote:
>> >>
>> >> It is true that I am not using setup-${arch}.exe but that shouldn't
>> >> matter as long as I have the dependencies resolved.
>> >
>> >
>> > Yes, it does matter; Cygwin setup is the only supported method of creating
>> > and managing a Cygwin installation.  Please try again from scratch with
>> > Cygwin setup and you will see that there is absolutely no need for a
>> > /usr/share => /share mount.
>>
>> Are you saying setup or some post install file doesn't mount
>> /usr/share?
>
> It's not necessary.  Setup-${arch}.exe creates the default directory
> layout.
>
>> If a mounted /usr/share isn't important then why is
>> /usr/bin and /usr/lib automounted?
>
> Two reasons:
>
> - Windows.
>
>   DLLs are found in the directory of the application even if $PATH
>   doesn't point to the directory containing the DLL.  cygwin1.dll and
>   all other cygwin DLLs are in the same path as the essential binaries
>   so that you can start them from Windows even if $PATH is not set to
>   contain Cygwin's /bin.  If we had separate /bin and /usr/bin dirs, we
>   would have the essential binaries spread over two directories, but the
>   cygwin DLLs in only one of them, or worse, spread over two dirs as
>   well.  Hilarity ensues.
>
> - GCC.
>
>   GCC generates the path to certain files under the lib dir relative to
>   the path it has been started from.  So, if you run /bin/gcc, it searches
>   for the files under /lib, if you start /usr/bin/gcc it searches under
>   /usr/lib.  Since you can do both, you have to handle lib just as bin.
>
> There was never a need to do that for any other directory, that's why
> we don't have /sbin <=> /usr/sbin as Fedora.

But /usr/share is used by the terminfo library to find the files that
define TERM=cygwin or whatever value it has.  Without the mount of
/usr/share then the terminal doesn't know how to handle things like
the Backspace key when deleting characters.

If /usr is mounted to the PREFIX/usr directory and PREFIX/usr/lib does
not exist the issue becomes one of a confusing file or directory not
found message.  My suggestion would be to automount /usr pointing to
PREFIX/usr instead of adding another specific directory of /usr/share;
one never knows when some other reason exists to have another one.  If
that isn't acceptable at least add the /usr/share automount, please.
It would eliminate the plethora of email and forum posts asking why
the Backspace key doesn't work.

-- 
cyg Simple

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]