Re: Problem with mksetupini

2017-02-15 Thread Jon Turney

On 15/02/2017 07:51, Sunny Lin wrote:

Hi all,

I encountered a problem and hope someone here can help me through.

I need to build a 32-bit Cygwin distribution with customized packages.
I have calm package installed.  I am learning to use mksetupini to
create a setup.ini file.  I use commands similar to the following but
always generate an INI file with only a header, no package information
in the file.

mksetupini --arch x86 --inifile=setup.ini --releasearea=.

I followed instruction in the following link and got the same result.
https://cygwin.com/package-server.html


Reading over that, it looks like step 2 is in need of a bit of updating 
and might have led you astray.


The directory you are pointing to as releasearea should contain x86/, 
x86_64/ and noarch/ directories, which should contain a release/ 
directory, which should contain the various package directories and 
subdirectories.


If that layout isn't followed, mksetupini won't be able to find the 
packages and thus they won't appear in the output setup.ini


Failing that, perhaps running mksetupini with the --verbose flag will 
give a bit more insight into what is happening?



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



RE: cygpath

2017-02-15 Thread Nellis, Kenneth (Conduent)
From: Corinna Vinschen
> On Feb 13 17:29, Nellis, Kenneth (Conduent) wrote:
> > From: Andrey Repin
> > > See 
> > > http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars
> >
> > This reference says:
> > ...
> > I propose the following:
> > ...
> 
> Patched.

Thanx for that, but not sure what "Patched" means in this context.
In any case, I don't see the change to the web page.

--Ken Nellis


Re: Problem with mksetupini

2017-02-15 Thread Jon Turney

On 15/02/2017 14:08, Jon Turney wrote:

On 15/02/2017 07:51, Sunny Lin wrote:

Hi all,

I encountered a problem and hope someone here can help me through.

I need to build a 32-bit Cygwin distribution with customized packages.
I have calm package installed.  I am learning to use mksetupini to
create a setup.ini file.  I use commands similar to the following but
always generate an INI file with only a header, no package information
in the file.

mksetupini --arch x86 --inifile=setup.ini --releasearea=.

I followed instruction in the following link and got the same result.
https://cygwin.com/package-server.html


Reading over that, it looks like step 2 is in need of a bit of updating
and might have led you astray.


I fixed up those instructions a bit.


The directory you are pointing to as releasearea should contain x86/,
x86_64/ and noarch/ directories, which should contain a release/
directory, which should contain the various package directories and
subdirectories.

If that layout isn't followed, mksetupini won't be able to find the
packages and thus they won't appear in the output setup.ini


It seems there is a problem with calm where it doesn't handle symlinks, 
as those instructions expect.


I've pushed out an updated calm 20170215-1 package with a fix for that.

Thanks for reporting this problem.


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



Cannot access volumes mounted with 'mklink /d' which point to a volume UUID

2017-02-15 Thread Matt D.
On Windows you can create symbolic links which point to volume UUIDs as 
a way of mounting and unmounting them without having to use the 
administrative disk management tools.


For example, in cmd:

mountvol
...
\\?\Volume{079b79c9----1000}\
C:\
...
mklink /d test \\?\Volume{079b79c9----1000}\
...
dir test

I call mounvol to get a list of volumes and create a symbolic link 
'test' which points to the C:\ UUID. When I then 'dir test' it will list 
all files on that volume.


If I try to access it through Cygwin Bash I get the following error:

$ dir test/
dir: cannot access 'test/': No such file or directory

This makes it difficult to work with unmounted volumes as it's not 
always possible to access the administrative disk management snap-in and 
the mountvol/mklink has always been my go-to for this type of 
functionality. It would be great if Cygwin would support it.



Matt D.

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



Re: cygpath

2017-02-15 Thread Corinna Vinschen
On Feb 15 14:41, Nellis, Kenneth (Conduent) wrote:
> From: Corinna Vinschen
> > On Feb 13 17:29, Nellis, Kenneth (Conduent) wrote:
> > > From: Andrey Repin
> > > > See 
> > > > http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars
> > >
> > > This reference says:
> > > ...
> > > I propose the following:
> > > ...
> > 
> > Patched.
> 
> Thanx for that, but not sure what "Patched" means in this context.
> In any case, I don't see the change to the web page.

Docs are in git, patch pushed.  The website will catch up eventually...

...make that "now".  I actually forgot to upload the 2.7.0 docs.


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


signature.asc
Description: PGP signature


Re: [ANNOUNCEMENT] Updated: dash-0.5.8-3

2017-02-15 Thread Thomas Wolff

Am 14.02.2017 um 21:35 schrieb Thomas Wolff:

Am 14.02.2017 um 21:29 schrieb Thomas Wolff:

Am 14.02.2017 um 20:56 schrieb Eric Blake:

On 02/14/2017 01:40 PM, Thomas Wolff wrote:
No.  We're talking about a function in the master side of the tty, 
while

the applications started in the terminal are on the slave side.

I am not familiar with the concept of setting termios properties on
either the master or slave side of a pty. I've only ever set them 
in the

client application, including my tests about IUTF8 which worked. Would
setting on the master side imply it's set for the clients implicitly,
and can it be changed later, e.g. when mintty character encoding is
being changed from the Options dialog?
And you say the function of erasing characters on BS is in the master
side? To be honest, this confuses me. I thought it's a client 
function,
like readline() would perform if used (apparently not by dash), 
which is
kind of an enhanced version of the tty cooked mode and used to work 
even

without the new flag, right?

The readline source code does not mention IUTF8; and neither bash nor
dash need to reference it, because if the tty handling code sets it
correctly for what the terminal is going to display, then the clients
that are read()ing from the tty never even see BS in cooked mode (the
master side of the terminal handles BS before the read() completes in
the slave, if I'm understanding it correctly).
This does not comply with my (limited) understanding of pty stuff. In 
mintty, forkpty will create a master/slave pty; mintty feeds it on 
the master side, while the client program (usually a shell) reads 
from the slave side. Mintty never handles BS for input, it simply 
feeds it into the pty. "Line disciplines" like cooked mode must be 
handled on the slave side.
Also, I've tried both options in mintty. Setting the flag on the 
master side has weird effects, initially blocking the terminal process.

Setting it on the slave side works fine.
That was a mistake (got something wrong when testing). It works from 
either side alike.
I've now patched mintty to keep the flag in sync with the character 
encoding, including on later changes (from Options menu or by escape 
sequence).

--
Thomas

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



Re: Cannot access volumes mounted with 'mklink /d' which point to a volume UUID

2017-02-15 Thread L. A. Walsh

Matt D. wrote:
On Windows you can create symbolic links which point to volume UUIDs 
as a way of mounting and unmounting them without having to use the 
administrative disk management tools.


For example, in cmd:

mountvol
...
\\?\Volume{079b79c9----1000}\
C:\
...
mklink /d test \\?\Volume{079b79c9----1000}\

---
   mklink and mklink /d create SYMLINKs (and SYMLINKDs).  To create
MS mount points you need to create them as junctions (mklink /J) and
I think that should work for what you are doing.

   Unfortunately, cygwin breaks MS-mounts by treating them as symlinks,
so if you use standard *nix utils to copy that dir, it won't be read as a
dir, but as a symlink, so when it's written to a destination, it seems like
it would attempt to overwrite the directory with a symlink. 


   I know it messes up being able to keep cygwin dirs on a separate disk
unless you _only_ store 1 cygwin-dir/mount point.

   For example, if you have a cygwin on a "D" drive, you won't be
able to use junctions to mount D:/usr on /usr and D:/bin on /bin without
cygwin destroying the mountpoints when software is installed. 


   Very unfortunate, since linux DOES have the dynamic-mount points
with its 'bind' options.

   Somehow, having users be able to destroy mount-points doesn't seem
that secure.


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



Re: [ANNOUNCEMENT] TEST RELEASE: gawk-4.1.4-3

2017-02-15 Thread Steven Penny
On Tue, 14 Feb 2017 13:23:40, Corinna Vinschen wrote:
> this TEST release removes all enforcing of text mode on input.
> Input from pipes is now treated binary-only, input from files
> follows the mount mode setting text/binary.

Works great, thanks.

$ printf 'hello world\r\n' | awk 1 | od -tcx1
000   h   e   l   l   o   w   o   r   l   d  \r  \n
 68  65  6c  6c  6f  20  77  6f  72  6c  64  0d  0a


Ironically, Awk is now a portable way to convert line endings, as d2u is not
portable:

printf 'hello world\r\n' | awk '{sub("\r", "")} 1'
printf 'hello world\n' | awk '{sub(/$/, "\r")} 1'


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



Re: [ANNOUNCEMENT] Updated [test]: grep-3.0-2

2017-02-15 Thread Steven Penny
On Tue, 14 Feb 2017 10:17:25, "Eric Blake (cygwin)" wrote:
> This build modifies the behavior of grep to no longer force text mode on
> binary-mounted file descriptors.

Works, thanks:

$ printf 'hello world\r\n' | grep . | od -tcx1
000   h   e   l   l   o   w   o   r   l   d  \r  \n
 68  65  6c  6c  6f  20  77  6f  72  6c  64  0d  0a

> Since this includes pipelines by default, this means that if you pipe text
> data through a pipeline (such as the output of a windows program), you may
> need to insert a call to d2u to sanitize your input before passing it to grep.

This is certainly a good way to do it, but for more portable solution use tr:

$ printf 'hello world\r\n' | tr -d '\r' | od -tcx1
000   h   e   l   l   o   w   o   r   l   d  \n
 68  65  6c  6c  6f  20  77  6f  72  6c  64  0a


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



Re: [ANNOUNCEMENT] Updated [test]: sed-4.4-1

2017-02-15 Thread Steven Penny
On Mon, 13 Feb 2017 13:15:18, Eric Blake wrote:
> Yes, it means that any existing users that were lazily relying on the
> forced text mode to automatically strip CRs will now have to fix their
> scripts to add a d2u invocation, but I already hit some of that fallout
> when I changed bash to quit forcing text mode.

Just to confirm, this is working well, thanks:

$ printf 'hello world\r\n' | sed '' | od -tcx1
000   h   e   l   l   o   w   o   r   l   d  \r  \n
 68  65  6c  6c  6f  20  77  6f  72  6c  64  0d  0a


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



Re: [ANNOUNCEMENT] Updated [test]: grep-3.0-2

2017-02-15 Thread Brian Inglis
On 2017-02-15 21:25, Steven Penny wrote:
> On Tue, 14 Feb 2017 10:17:25, "Eric Blake (cygwin)" wrote:
>> This build modifies the behavior of grep to no longer force text
>> mode on binary-mounted file descriptors.
> Works, thanks:
> $ printf 'hello world\r\n' | grep . | od -tcx1
> 000   h   e   l   l   o   w   o   r   l   d  \r  \n
>  68  65  6c  6c  6f  20  77  6f  72  6c  64  0d  0a
>> Since this includes pipelines by default, this means that if you
>> pipe text data through a pipeline (such as the output of a windows
>> program), you may need to insert a call to d2u to sanitize your
>> input before passing it to grep.
> This is certainly a good way to do it, but for more portable solution
> use tr:
> $ printf 'hello world\r\n' | tr -d '\r' | od -tcx1
> 000   h   e   l   l   o   w   o   r   l   d  \n
>  68  65  6c  6c  6f  20  77  6f  72  6c  64  0a

Until you hit Windows text files using \r\r\n [grumble], 
when sed is better: ...| sed 's/\r$//' |... or to remove bold/highlight 
doubled line overprint only: ...| sed 's/^\([^\r]*\)\r\1$/\1/'|...

Handling overprinted underlining, selective bold/highlight, or merging 
overprinted lines, is out of scope or an exercise for the reader. ;^>

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

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