Re: Problem with mksetupini
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
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
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
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
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
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
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
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
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
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
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