Compare commits

..

No commits in common. "master" and "v0.7.1" have entirely different histories.

4 changed files with 6 additions and 72 deletions

View File

@ -1,4 +1,4 @@
# [go-serviceman](https://git.rootprojects.org/root/serviceman)
# go-serviceman
Cross-platform service management made easy.
@ -77,24 +77,6 @@ The **default** is to register a _user_ services. To register a _system_ service
# Install
You can install `serviceman` directly from the official git releases with [`webi`](https://webinstall.dev/serviceman):
**Mac**, **Linux**:
```bash
curl -sL https://webinstall.dev/serviceman | bash
```
**Windows 10**:
```pwsh
curl.exe -sLA "MS" https://webinstall.dev/serviceman | powershell
```
You can run this from cmd.exe or PowerShell (curl.exe is a native part of Windows 10).
## Manual Install
There are a number of pre-built binaries.
If none of them work for you, or you prefer to build from source,
@ -102,16 +84,8 @@ see the instructions for building far down below.
## Downloads
```
curl -fsSL "https://rootprojects.org/serviceman/dist/$(uname -s)/$(uname -m)/serviceman" -o serviceman
chmod +x ./serviceman
```
### MacOS
<details>
<summary>See download options</summary>
MacOS (darwin): [64-bit Download ](https://rootprojects.org/serviceman/dist/darwin/amd64/serviceman)
```
@ -119,8 +93,6 @@ curl https://rootprojects.org/serviceman/dist/darwin/amd64/serviceman -o service
chmod +x ./serviceman
```
</details>
### Windows
<details>
@ -153,7 +125,6 @@ powershell.exe "(New-Object Net.WebClient).DownloadFile('https://rootprojects.or
### Linux
<details>
<summary>See download options</summary>
@ -649,3 +620,4 @@ MPL-2.0 |
Copyright 2019 AJ ONeal.
<!-- {{ end }} -->
<!-- {{ end }} -->

View File

@ -3,7 +3,6 @@ package manager
import (
"fmt"
"io/ioutil"
"os"
"os/exec"
"path/filepath"
"strings"
@ -122,12 +121,7 @@ func getSystemSrvs() ([]string, error) {
}
func getUserSrvs(home string) ([]string, error) {
confDir := filepath.Join(home, srvUserPath)
err := os.MkdirAll(confDir, 0755)
if nil != err {
return nil, err
}
return getSrvs(confDir)
return getSrvs(filepath.Join(home, srvUserPath))
}
// "come.example.foo.plist" matches "foo"

View File

@ -1,32 +0,0 @@
package manager
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"testing"
)
func TestEmptyUserServicePath(t *testing.T) {
srvs, err := getUserSrvs("/tmp/fakeuser")
if nil != err {
t.Fatal(err)
}
if len(srvs) > 0 {
t.Fatal(fmt.Errorf("sanity fail: shouldn't get services from empty directory"))
}
dirs, err := ioutil.ReadDir(filepath.Join("/tmp/fakeuser", srvUserPath))
if nil != err {
t.Fatal(err)
}
if len(dirs) > 0 {
t.Fatal(fmt.Errorf("sanity fail: shouldn't get listing from empty directory"))
}
err = os.RemoveAll("/tmp/fakeuser")
if nil != err {
panic("couldn't remove /tmp/fakeuser")
}
}

View File

@ -230,7 +230,7 @@ func add() {
}
if len(ass) > 0 {
fmt.Printf("OPTIONS: Making some assumptions...\n\n")
fmt.Println("OPTIONS: Making some assumptions...\n")
for i := range ass {
fmt.Println("\t" + ass[i])
}
@ -350,7 +350,7 @@ func list() {
fmt.Fprintf(os.Stderr, "\n")
}
fmt.Printf("serviceman-managed services:\n\n")
fmt.Println("serviceman-managed services:\n")
for i := range managed {
fmt.Println("\t" + managed[i])
}
@ -360,7 +360,7 @@ func list() {
fmt.Println("")
if verbose {
fmt.Printf("other services:\n\n")
fmt.Println("other services:\n")
for i := range others {
fmt.Println("\t" + others[i])
}