Windows 10 Creators Update and Symlinks

2017-04-12 Thread Jeffrey Altman
When Developer mode is enabled the elevation requirement for symlink
creation is disabled:

https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10/#DXz6icKZOkEozgYR.97

This was necessary for symlink creation within WSL to work.




smime.p7s
Description: S/MIME Cryptographic Signature


Re: Use a default path in exec*p*() if PATH is unset?

2017-04-12 Thread cyg Simple
On 4/12/2017 12:41 PM, Christian Franke wrote:
> cyg Simple wrote:
>> ...
>> But I don't believe that env --ignore-environment should be using execvp
>> and should be using execv instead.  That is for the upstream coreutils
>> team to decide though.
> 
> Possibly not, as it would also require to check whether PATH is set
> later in the command line.
> 
> Always using execv() if -i is specified would break:
> 
>   env -i PATH=/bin:/usr/bin prog
> 

Good!  --ignore-environment is just that regardless of where the
environment is set.

> To force execv()-like behavior with -i, simply use
> 
>   env -i PATH=. prog
> 

But this is what should occur anyway.

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



Re: Use a default path in exec*p*() if PATH is unset?

2017-04-12 Thread Christian Franke

cyg Simple wrote:

...
But I don't believe that env --ignore-environment should be using execvp
and should be using execv instead.  That is for the upstream coreutils
team to decide though.


Possibly not, as it would also require to check whether PATH is set 
later in the command line.


Always using execv() if -i is specified would break:

  env -i PATH=/bin:/usr/bin prog

To force execv()-like behavior with -i, simply use

  env -i PATH=. prog


Christian


--
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: Use a default path in exec*p*() if PATH is unset?

2017-04-12 Thread cyg Simple
On 4/11/2017 3:02 PM, Christian Franke wrote:
> cyg Simple wrote:
>>
>>-i, --ignore-environment  start with an empty environment
>>
>> A relative use of the executable will not be found if the environment is
>> empty.
> 
> Not necessarily (see Linux, *BSD, ...). POSIX says this is
> "implementation-defined" - under the assumption that 'env' uses execvp()
> which is the case for the GNU coreutils version.
> 

> POSIX says this is "implementation-defined"

Which means it is undefined by POSIX.  Also one could argue that
--ignore-environment also means any default ones within an API set.

> 
>>> Interestingly the approach in newlib/libc/posix/execvp.c differs from
>>> Cygwin and others:
>>> execvp() with PATH unset calls execv(). This has the same effect as
>>> execvp() with PATH set to current directory only.
>>>
>> Why do you assume that this is an issue with execvp?
> 
> I never did (otherwise this would be a thread on cygwin-patches list).
> 
> The above only means that it is IMO interesting that the Cygwin source
> package contains two implementations of execvp() which handle the unset
> PATH situation differently.
> 

Sure, but it is implemented correctly based on POSIX. ;)

> 
>> The user should
>> not expect that an undefined behavior behaves the same way on other
>> systems.
> 
> Of course. But even then it is a reasonable question which possible
> alternative should be implemented by Cygwin. Cygwin homepage says "Get
> that Linux feeling, ...". So "implementation-defined" behavior should
> possibly be close to Linux :-)
> 

Even so not all "Linux feeling" can be implemented.  But I agree it
should be as close as possible.

But I don't believe that env --ignore-environment should be using execvp
and should be using execv instead.  That is for the upstream coreutils
team to decide though.

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



Re: man page of CYGPORT(1) has an old content. should be updated.

2017-04-12 Thread Brian Inglis
On 2017-04-11 22:25, dodo . wrote:
> Hello,
> 
> I report one thing about manpage for cygport.
> 
> Man page CYGPORT(1) seems to show old content about 'all' COMMAND.
> According to manpage CYGPORT(1), 'all' COMMMAND means 'run all of
> the above, excluding finish.'
> However 'download' COMMAND is excepted on actual performing.
> Thus, source patching with $(PATCH_URI} does not perform.
> 
> Latest README of cygport describes correct information.
> https://github.com/cygwinports/cygport/blob/master/README
> According to it, fetch(download) COMMAND is not included in 'all'.
> 
> I think manpage CYGPORT(1) should be updated.
> 
> Currently I am using Cygwin as follows.
> 
> $ uname -a
> CYGWIN_NT-6.1-WOW turtle0 2.8.0(0.309/5/3) 2017-04-01 20:42 i686 Cygwin
> 
> $ cygport --version
> cygport 0.24.0
> ...

Also available in /usr/share/doc/cygport/README, and the full manual 
from by launching or running:
$ cygstart /usr/share/doc/cygport/html/manual/index.html
but those, usage, and manpage all omit some options, commands and 
alternatives, and do not state the preconditions necessary for 
commands to work, nor that steps already completed are skipped if the 
command is almostall|all.

>From the current source, supported options are:

--help|-h|-?
--version|-v
--debug|-d
--32|-4
--64|-8

and commands are:

downloadall|fetchall|wgetall|getall
download|fetch|wget|get
prep|unpack
compile|build|make
check|test
inst*
postinst*
list
dep*
info*
homepage|web*|www*
package|pkg
diff|mkdiff|mkpatch
upload|up
announce
clean|finish
almostall|all
help
version

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