<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-go/Makefile, branch fw/codeQuality</title>
<subtitle>Go implementation of WireGuard</subtitle>
<id>https://git.zx2c4.com/wireguard-go/atom/Makefile?h=fw%2FcodeQuality</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-go/atom/Makefile?h=fw%2FcodeQuality'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/'/>
<updated>2019-10-08T14:48:18Z</updated>
<entry>
<title>Makefile: remove v prefix</title>
<updated>2019-10-08T14:48:18Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2019-10-08T14:48:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=222f0f8000e80ffff3253fac9990ee61f4e64398'/>
<id>urn:sha1:222f0f8000e80ffff3253fac9990ee61f4e64398</id>
<content type='text'>
</content>
</entry>
<entry>
<title>main: simplify warnings</title>
<updated>2019-09-08T15:56:00Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2019-09-08T15:56:00Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=84b5a4d83d14189fe5898bd896680e7acde2c028'/>
<id>urn:sha1:84b5a4d83d14189fe5898bd896680e7acde2c028</id>
<content type='text'>
</content>
</entry>
<entry>
<title>makefile: do not show warning on non-linux</title>
<updated>2019-05-17T08:27:51Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2019-05-17T08:27:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=a6dd28260094f148053239f96a29825c5628db61'/>
<id>urn:sha1:a6dd28260094f148053239f96a29825c5628db61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>global: begin modularization</title>
<updated>2019-03-03T04:00:40Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2019-03-03T03:04:41Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=69f0fe67b63d90e523a5a1241fb1b46c2e8dbe03'/>
<id>urn:sha1:69f0fe67b63d90e523a5a1241fb1b46c2e8dbe03</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Makefile: rename default to all</title>
<updated>2018-10-17T19:45:16Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-10-17T19:45:16Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=60848b9c7227363d311948456198e129a37f80e0'/>
<id>urn:sha1:60848b9c7227363d311948456198e129a37f80e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use go modules always</title>
<updated>2018-10-11T23:45:33Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-10-11T23:45:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=85b2378a07126fb64460f0a23e7a150d0e63d909'/>
<id>urn:sha1:85b2378a07126fb64460f0a23e7a150d0e63d909</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Do not build if nothing to do</title>
<updated>2018-10-11T23:12:56Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-10-11T23:12:00Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=fddb9490025c4c9b5fb1b77028a54fc92fa39c45'/>
<id>urn:sha1:fddb9490025c4c9b5fb1b77028a54fc92fa39c45</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch to go modules</title>
<updated>2018-10-09T16:13:56Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-10-09T16:11:36Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=5d6083df7e0399d9cbb47a9dc0b227fd86ccffbb'/>
<id>urn:sha1:5d6083df7e0399d9cbb47a9dc0b227fd86ccffbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>version: bump snapshot</title>
<updated>2018-06-13T14:22:16Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-06-13T14:21:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=6b3b1c3b918fcb9bbf1d876ad6d58c38932a2469'/>
<id>urn:sha1:6b3b1c3b918fcb9bbf1d876ad6d58c38932a2469</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Makefile: export PWD for OpenBSD's ksh(1)</title>
<updated>2018-06-02T14:36:12Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2018-06-02T14:25:19Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-go/commit/?id=a050431f2660d73e191ab8100d2f0934c8aedbf9'/>
<id>urn:sha1:a050431f2660d73e191ab8100d2f0934c8aedbf9</id>
<content type='text'>
Interestingly, ksh(1) on OpenBSD does not export PWD by default, and it
also has a notion of the "logical cwd" vs the "physical cwd", with the
latter being passed to chdir, but the former being stored in the
non-exported PWD and displayed to the user. This means that if you `cd`
into a directory that's comprised of symlinks, exec'd processes will see
the physical path. Observe:

  # ksh
  # mkdir a
  # ln -s a b
  # cd b
  # pwd
  /root/b
  # ksh -c pwd
  /root/a

The fact of separating physical and logical paths is not too uncommon
for shells (bash does it too), but not exporting PWD is very odd.

Since this is common behavior for many shells, libraries that return the
working directory will do something strange: they `stat(".")` and then
`stat(getenv("PWD"))`, and if these point to the same inode, they roll
with the value of `getenv("PWD")`, or otherwise fallback to asking the
kernel for the cwd.

Since PWD was not exported by ksh(1), Go's dep utility did not understand
it was operating inside of our faked GOPATH and became upset.

This patch works around the whole situation by simply exporting PWD
before executing dep.
</content>
</entry>
</feed>
