diff --git a/.travis.yml b/.travis.yml index 9af3f9f6..b7761c92 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ install: git checkout stable/pike else mkdir -p /tmp/output/bin - cp /usr/bin/hummingbird /tmp/output/bin + cp /usr/local/bin/hummingbird /tmp/output/bin fi - virtualenv ~/swift-venv - ~/swift-venv/bin/pip install -U pip setuptools python-subunit nose-htmloutput nose-exclude @@ -72,7 +72,7 @@ script: deploy: provider: releases api_key: $GITHUB_TOKEN - file: /usr/bin/hummingbird + file: /usr/local/bin/hummingbird skip_cleanup: true overwrite: true on: diff --git a/Makefile b/Makefile index 7b21f700..42b2b65f 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,6 @@ clean: haio: all if hash hball 2>/dev/null ; then hball stop ; fi - sudo rm -f /usr/bin/hummingbird - sudo cp bin/hummingbird /usr/bin/hummingbird - sudo chmod 0755 /usr/bin/hummingbird + sudo rm -f /usr/local/bin/hummingbird + sudo cp bin/hummingbird /usr/local/bin/hummingbird + sudo chmod 0755 /usr/local/bin/hummingbird diff --git a/cmd/hummingbird/init.go b/cmd/hummingbird/init.go index a655700c..838541f5 100644 --- a/cmd/hummingbird/init.go +++ b/cmd/hummingbird/init.go @@ -64,6 +64,7 @@ func initCommand(args []string) error { print(``) var prefix string + usrDirName := "usr/local" switch subcmd { case "": print(`sudo adduser --system --group --no-create-home hummingbird`) @@ -80,8 +81,10 @@ func initCommand(args []string) error { print(`pushd "${gopath}/src/github.com/troubling/hummingbird"`) print(`make haio`) print(`popd`) + print(`binpath=${gopath}/src/github.com/troubling/hummingbird/bin/hummingbird`) case "deb": prefix = "build" + usrDirName = "usr" print(`if [ -e build ] ; then`) print(` echo '"build" exists already; that would be our working directory.'`) print(` exit 1`) @@ -89,20 +92,17 @@ func initCommand(args []string) error { print(`mkdir build`) print(`sudo chmod 0755 build`) print(`sudo apt install -y binutils`) + print(`binpath=hummingbird`) } print(``) - print(`sudo rm -f %s/usr/bin/hummingbird`, prefix) - print(`sudo mkdir -p %s/usr/bin`, prefix) - print(`sudo chmod 0755 %s/usr`, prefix) - print(`sudo chmod 0755 %s/usr/bin`, prefix) - print(`if [ -e hummingbird ] ; then`) - print(` sudo cp hummingbird %s/usr/bin/`, prefix) - print(`else`) - print(` sudo cp bin/hummingbird %s/usr/bin/`, prefix) - print(`fi`) - print(`sudo chown root: %s/usr/bin/hummingbird`, prefix) - print(`sudo chmod 0755 %s/usr/bin/hummingbird`, prefix) + print(`sudo rm -f %s/%s/bin/hummingbird`, prefix, usrDirName) + print(`sudo mkdir -p %s/%s/bin`, prefix, usrDirName) + print(`sudo chmod 0755 %s/%s`, prefix, usrDirName) + print(`sudo chmod 0755 %s/%s/bin`, prefix, usrDirName) + print(`sudo cp $binpath %s/%s/bin/`, prefix, usrDirName) + print(`sudo chown root: %s/%s/bin/hummingbird`, prefix, usrDirName) + print(`sudo chmod 0755 %s/%s/bin/hummingbird`, prefix, usrDirName) print(``) print(`sudo mkdir -p %s/etc/hummingbird`, prefix) @@ -364,9 +364,9 @@ func initCommand(args []string) error { print(`Type=simple`) print(`User=%s`, username) print(`Group=%s`, groupname) - print(`ExecStart=/usr/bin/hummingbird systemd start %s%s`, basename, extraArgs) - print(`ExecReload=/usr/bin/hummingbird systemd reload \$MAINPID`) - print(`ExecStop=/usr/bin/hummingbird systemd stop \$MAINPID`) + print(`ExecStart=/%s/bin/hummingbird systemd start %s%s`, usrDirName, basename, extraArgs) + print(`ExecReload=/%s/bin/hummingbird systemd reload \$MAINPID`, usrDirName) + print(`ExecStop=/%s/bin/hummingbird systemd stop \$MAINPID`, usrDirName) print(`TimeoutStopSec=60`) print(`Restart=on-failure`) print(`RestartSec=5`) @@ -417,7 +417,7 @@ func initCommand(args []string) error { printService("andrewd", 0) if subcmd == "haio" { - print(`sudo tee %s/usr/bin/hball >/dev/null << EOF`, prefix) + print(`sudo tee %s/%s/bin/hball >/dev/null << EOF`, prefix, usrDirName) print(`#!/bin/bash`) print(``) print(`if hash systemctl 2>/dev/null ; then`) @@ -452,10 +452,10 @@ func initCommand(args []string) error { print(` hummingbird \$@ all`) print(`fi`) print(`EOF`) - print(`sudo chmod 0755 %s/usr/bin/hball`, prefix) + print(`sudo chmod 0755 %s/%s/bin/hball`, prefix, usrDirName) print(``) - print(`sudo tee %s/usr/bin/hbmain >/dev/null << EOF`, prefix) + print(`sudo tee %s/%s/bin/hbmain >/dev/null << EOF`, prefix, usrDirName) print(`#!/bin/bash`) print(``) print(`if hash systemctl 2>/dev/null ; then`) @@ -477,10 +477,10 @@ func initCommand(args []string) error { print(` hummingbird \$@ main`) print(`fi`) print(`EOF`) - print(`sudo chmod 0755 %s/usr/bin/hbmain`, prefix) + print(`sudo chmod 0755 %s/%s/bin/hbmain`, prefix, usrDirName) print(``) - print(`sudo tee %s/usr/bin/hbrings >/dev/null << EOF`, prefix) + print(`sudo tee %s/%s/bin/hbrings >/dev/null << EOF`, prefix, usrDirName) print(`#!/bin/bash`) print(`set -e`) print(``) @@ -527,10 +527,10 @@ func initCommand(args []string) error { print(`hummingbird ring account.builder add r1z4-127.0.0.1:6042/sdb4 1`) print(`hummingbird ring account.builder rebalance`) print(`EOF`) - print(`sudo chmod 0755 %s/usr/bin/hbrings`, prefix) + print(`sudo chmod 0755 %s/%s/bin/hbrings`, prefix, usrDirName) print(``) - print(`sudo tee %s/usr/bin/hbreset >/dev/null << EOF`, prefix) + print(`sudo tee %s/%s/bin/hbreset >/dev/null << EOF`, prefix, usrDirName) print(`#!/bin/bash`) print(``) print(`if hash systemctl 2>/dev/null ; then`) @@ -592,18 +592,18 @@ func initCommand(args []string) error { print(` sudo service syslog restart || true`) print(`fi`) print(`EOF`) - print(`sudo chmod 0755 %s/usr/bin/hbreset`, prefix) + print(`sudo chmod 0755 %s/%s/bin/hbreset`, prefix, usrDirName) print(``) - print(`sudo tee %s/usr/bin/hbmount >/dev/null << EOF`, prefix) + print(`sudo tee %s/%s/bin/hbmount >/dev/null << EOF`, prefix, usrDirName) print(`#!/bin/bash`) print(``) print(`sudo mount -o loop /srv/hb-disk /srv/hb`) print(`EOF`) - print(`sudo chmod 0755 %s/usr/bin/hbmount`, prefix) + print(`sudo chmod 0755 %s/%s/bin/hbmount`, prefix, usrDirName) print(``) - print(`sudo tee %s/usr/bin/hblog >/dev/null << EOF`, prefix) + print(`sudo tee %s/%s/bin/hblog >/dev/null << EOF`, prefix, usrDirName) print(`#!/bin/bash`) print(``) print(`if hash journalctl 2>/dev/null ; then`) @@ -613,16 +613,16 @@ func initCommand(args []string) error { print(` exit 1`) print(`fi`) print(`EOF`) - print(`sudo chmod 0755 %s/usr/bin/hblog`, prefix) + print(`sudo chmod 0755 %s/%s/bin/hblog`, prefix, usrDirName) print(``) - print(`sudo tee %s/usr/bin/hbswifttests >/dev/null << EOF`, prefix) + print(`sudo tee %s/%s/bin/hbswifttests >/dev/null << EOF`, prefix, usrDirName) print(`#!/bin/bash`) print(``) print(`cd ~/swift/test/functional`) print("nosetests --exclude-test-file=`go env GOPATH`/src/github.com/troubling/hummingbird/.swift_func_excludes") print(`EOF`) - print(`sudo chmod 0755 %s/usr/bin/hbswifttests`, prefix) + print(`sudo chmod 0755 %s/%s/bin/hbswifttests`, prefix, usrDirName) print(``) } @@ -653,15 +653,15 @@ func initCommand(args []string) error { } print(`sudo chmod 0755 %s/srv`, prefix) print(`sudo chmod 0755 %s/srv/hummingbird`, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/account.builder create 10 1 1`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/account.builder add r1z1-127.0.0.1:6012/hummingbird 1`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/account.builder rebalance`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/container.builder create 10 1 1`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/container.builder add r1z1-127.0.0.1:6011/hummingbird 1`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/container.builder rebalance`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/object.builder create 10 1 1`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/object.builder add r1z1-127.0.0.1:6010/hummingbird 1`, prefix, prefix) - print(`sudo %s/usr/bin/hummingbird ring %s/etc/hummingbird/object.builder rebalance`, prefix, prefix) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/account.builder create 10 1 1`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/account.builder add r1z1-127.0.0.1:6012/hummingbird 1`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/account.builder rebalance`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/container.builder create 10 1 1`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/container.builder add r1z1-127.0.0.1:6011/hummingbird 1`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/container.builder rebalance`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/object.builder create 10 1 1`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/object.builder add r1z1-127.0.0.1:6010/hummingbird 1`, prefix, prefix, usrDirName) + print(`sudo %s/%s/bin/hummingbird ring %s/etc/hummingbird/object.builder rebalance`, prefix, prefix, usrDirName) print(`sudo rm -rf %s/etc/hummingbird/backups`, prefix) if subcmd != "deb" { print(`sudo chown %s: %s/etc/hummingbird/*.{builder,ring.gz}`, username, prefix) @@ -700,7 +700,7 @@ func initCommand(args []string) error { print(`sudo chown -R root: etc lib srv usr var`) print(`sudo find etc lib srv usr var -type d -exec chmod 0755 {} \;`) print(`sudo find etc lib srv usr var -type f -exec chmod 0644 {} \;`) - print(`sudo find usr/bin -type f -exec chmod 0755 {} \;`) + print(`sudo find %s/bin -type f -exec chmod 0755 {} \;`, usrDirName) print(`tar czf data.tar.gz etc lib srv usr var`) print(`ar rc hummingbird-%s.deb debian-binary control.tar.gz data.tar.gz`, versionNoV) print(`mv hummingbird-%s.deb ../`, versionNoV) @@ -766,7 +766,7 @@ func initCommand(args []string) error { print(`# url=` + "`" + `curl -si http://127.0.0.1:8080/auth/v1.0 -H x-auth-user:test:tester -H x-auth-key:testing | grep ^X-Storage-Url | cut -f2 -d ' ' | tr -d '\r\n'` + "`" + ``) print(`# token=` + "`" + `curl -si http://127.0.0.1:8080/auth/v1.0 -H x-auth-user:test:tester -H x-auth-key:testing | grep ^X-Auth-Token | tr -d '\r\n'` + "`" + ``) print(`# curl -i -X PUT $url/container -H "$token" ; echo`) - print(`# curl -i -X PUT $url/container/object -H "$token" -T /usr/bin/hummingbird ; echo`) + print(`# curl -i -X PUT $url/container/object -H "$token" -T /%s/bin/hummingbird ; echo`, usrDirName) print(`# curl -i "$url/container?format=json" -H "$token" ; echo`) print(`# sudo find /srv/hummingbird`) print(``)