Releases: tianon/gosu
Releases · tianon/gosu
1.9
- fix cross-compilation of official binaries (#19)
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4
$ arch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"
$ wget -O gosu "https://github.com/tianon/gosu/releases/download/1.9/gosu-$arch"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.9 (go1.6.2 on linux/amd64; gc)
1.8
- build against Go 1.6
- add
-sand-wto-ldflagsso that release binaries are even smaller (~2.6M down to ~1.8M) - add simple integration test suite
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4
$ curl -o gosu -fsSL "https://github.com/tianon/gosu/releases/download/1.8/gosu-$(dpkg --print-architecture)"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.8 (go1.6.1 on linux/amd64; gc)
Update: binaries had to be pulled; for details, see #19 (and 1.9)
1.7
- update to use
github.com/opencontainers/runc/libcontainerinstead ofmygithub.libinneed.workers.dev/docker/libcontainer - add
arm64,ppc64, andppc64leto cross-compiled official binaries
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4
$ curl -o gosu -fsSL "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture)"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.7 (go1.5.1 on linux/amd64; gc)
1.6
- revert
fchown(2)all open file descriptors; turns out that's NOT OK (see discussion #8 for details)
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4
$ curl -o gosu -sSL "https://github.com/tianon/gosu/releases/download/1.6/gosu-$(dpkg --print-architecture)"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.6 (go1.5.1 on linux/amd64; gc)
1.5
- build against Go 1.5
fchown(2)all open file descriptors before switching users so that they can be used appropriately by the user we're switching to
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4
$ curl -o gosu -sSL "https://github.com/tianon/gosu/releases/download/1.5/gosu-$(dpkg --print-architecture)"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.5 (go1.5.1 on linux/amd64; gc)
1.4
- update
libcontainerdependency to docker-archive/libcontainer@b322073
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4
$ curl -o gosu -sSL "https://github.com/tianon/gosu/releases/download/1.4/gosu-$(dpkg --print-architecture)"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.4 (go1.4.2 on linux/amd64; gc)
1.3
golang:1.4- always set
HOME(#3)
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4
$ curl -o gosu -sSL "https://github.com/tianon/gosu/releases/download/1.3/gosu-$(dpkg --print-architecture)"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.3 (go1.4.2 on linux/amd64; gc)
1.2
- now built from
golang - cross compiled for multiple arches
- first GPG signed release (
4096R / B42F 6819 007F 00F8 8E36 4FD4 036A 9C25 BF35 7DD4)
$ curl -o gosu -sSL "https://github.com/tianon/gosu/releases/download/1.2/gosu-$(dpkg --print-architecture)"
$ chmod +x gosu
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.2 (go1.3.3 on linux/amd64; gc)
1.1
- add
LockOSThreadand explicitGOMAXPROCSto ensure even more explicitly that we're running in the same thread for the duration - add better version output (including compilation info)
- build against Go 1.3 (via tianon/golang and the new
Dockerfile+build.sh)
$ ./gosu
Usage: ./gosu user-spec command [args]
ie: ./gosu tianon bash
./gosu nobody:root bash -c 'whoami && id'
./gosu 1000:1 id
./gosu version: 1.1 (go1.3 on linux/amd64; gc)