|
|
|
@ -32,34 +32,27 @@ func fs_type(path string) int {
@@ -32,34 +32,27 @@ func fs_type(path string) int {
|
|
|
|
|
return -1 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
|
usr, e := user.Current() |
|
|
|
|
if e != nil { |
|
|
|
|
log.Fatal(e) |
|
|
|
|
} |
|
|
|
|
func install(path string, pathlen int) int { |
|
|
|
|
files, _ := ioutil.ReadDir(path) |
|
|
|
|
|
|
|
|
|
update_dir := usr.HomeDir + "/Library/Preferences/tox/update/" |
|
|
|
|
if _, err := os.Stat(update_dir); os.IsNotExist(err) { |
|
|
|
|
fmt.Println("Error: No update folder, is check for updates enabled?") |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
fmt.Println("qTox Updater") |
|
|
|
|
for _, file := range files { |
|
|
|
|
if fs_type(path+file.Name()) == 1 { |
|
|
|
|
|
|
|
|
|
files, _ := ioutil.ReadDir(update_dir) |
|
|
|
|
killqtox := exec.Command("/usr/bin/killall", "qtox") |
|
|
|
|
_ = killqtox.Run() |
|
|
|
|
addpath := "" |
|
|
|
|
if len(path) != pathlen { |
|
|
|
|
addpath = path[pathlen:len(path)] |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for _, file := range files { |
|
|
|
|
if fs_type(update_dir+file.Name()) == 1 { |
|
|
|
|
fmt.Print("Installing: ") |
|
|
|
|
fmt.Println("/Applications/qtox.app/Contents/" + file.Name()) |
|
|
|
|
fmt.Println("/Applications/qtox.app/Contents/" + addpath + file.Name()) |
|
|
|
|
if _, err := os.Stat("/Applications/qtox.app/Contents/" + file.Name()); os.IsNotExist(err) { |
|
|
|
|
newfile := exec.Command("/usr/libexec/authopen", "-c", "-x", "-m", "drwxrwxr-x+", "/Applications/qtox.app/Contents/"+file.Name()) |
|
|
|
|
newfile := exec.Command("/usr/libexec/authopen", "-c", "-x", "-m", "drwxrwxr-x+", "/Applications/qtox.app/Contents/"+addpath+file.Name()) |
|
|
|
|
newfile.Run() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
cat := exec.Command("/bin/cat", update_dir+file.Name()) |
|
|
|
|
auth := exec.Command("/usr/libexec/authopen", "-w", "/Applications/qtox.app/Contents/"+file.Name()) |
|
|
|
|
cat := exec.Command("/bin/cat", path+file.Name()) |
|
|
|
|
|
|
|
|
|
auth := exec.Command("/usr/libexec/authopen", "-w", "/Applications/qtox.app/Contents/"+addpath+file.Name()) |
|
|
|
|
auth.Stdin, _ = cat.StdoutPipe() |
|
|
|
|
auth.Stdout = os.Stdout |
|
|
|
|
auth.Stderr = os.Stderr |
|
|
|
@ -68,28 +61,30 @@ func main() {
@@ -68,28 +61,30 @@ func main() {
|
|
|
|
|
_ = auth.Wait() |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
files, _ := ioutil.ReadDir(update_dir + file.Name()) |
|
|
|
|
for _, file2 := range files { |
|
|
|
|
fmt.Print("Installing: ") |
|
|
|
|
fmt.Println("/Applications/qtox.app/Contents/" + file.Name() + "/" + file2.Name()) |
|
|
|
|
|
|
|
|
|
if _, err := os.Stat("/Applications/qtox.app/Contents/" + file.Name() + "/" + file2.Name()); os.IsNotExist(err) { |
|
|
|
|
newfile := exec.Command("/usr/libexec/authopen", "-c", "-x", "-m", "drwxrwxr-x+", "/Applications/qtox.app/Contents/"+file.Name()+"/"+file2.Name()) |
|
|
|
|
newfile.Run() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
cat := exec.Command("/bin/cat", update_dir+file.Name()+"/"+file2.Name()) |
|
|
|
|
auth := exec.Command("/usr/libexec/authopen", "-w", "/Applications/qtox.app/Contents/"+file.Name()+"/"+file2.Name()) |
|
|
|
|
auth.Stdin, _ = cat.StdoutPipe() |
|
|
|
|
auth.Stdout = os.Stdout |
|
|
|
|
auth.Stderr = os.Stderr |
|
|
|
|
_ = auth.Start() |
|
|
|
|
_ = cat.Run() |
|
|
|
|
_ = auth.Wait() |
|
|
|
|
} |
|
|
|
|
install(path+file.Name()+"/", pathlen) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return 0 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func main() { |
|
|
|
|
usr, e := user.Current() |
|
|
|
|
if e != nil { |
|
|
|
|
log.Fatal(e) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
update_dir := usr.HomeDir + "/Library/Preferences/tox/update/" |
|
|
|
|
if _, err := os.Stat(update_dir); os.IsNotExist(err) { |
|
|
|
|
fmt.Println("Error: No update folder, is check for updates enabled?") |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
fmt.Println("qTox Updater") |
|
|
|
|
|
|
|
|
|
killqtox := exec.Command("/usr/bin/killall", "qtox") |
|
|
|
|
_ = killqtox.Run() |
|
|
|
|
|
|
|
|
|
install(update_dir, len(update_dir)) |
|
|
|
|
|
|
|
|
|
os.RemoveAll(update_dir) |
|
|
|
|
fmt.Println("Update metadata wiped, launching qTox") |
|
|
|
|
launchqtox := exec.Command("/usr/bin/open", "-b", "im.tox.qtox") |
|
|
|
|