Skip to content
Snippets Groups Projects
Select Git revision
  • 1b48bc44445cba33a748bb8ad2833d7e2187d1ad
  • master default protected
  • systemd_integration
  • borg-sftp-support
  • nap-initial
  • mariaback_full-intial
  • move-mail-deps
  • borg-ssh-keygen
  • bugfix-borg-handler-create-options
  • borg-custom-init-options
  • 11293-partition_table_backup
  • debian
  • tests
  • stretch-backports
  • no_vservers
  • pristine-tar
  • upstream
  • backupninja_debian/1.1.0-1
  • backupninja_upstream/1.1.0
  • backupninja-1.1.0
  • backupninja_debian/1.0.2-1
  • backupninja_upstream/1.0.2
  • backupninja-1.0.2
  • backupninja_debian/1.0.1-2
  • backupninja_debian/1.0.1-1
  • backupninja_upstream/1.0.1
  • backupninja-1.0.1
  • backupninja_debian/1.0-1
  • backupninja_upstream/1.0
  • backupninja-1.0
  • backupninja_debian/1.0_rc1-1
  • backupninja_upstream/1.0_rc1
  • backupninja-1.0-rc1
  • backupninja_debian/0.9.10-2
  • backupninja_debian/0.9.10-1
  • backupninja_upstream/0.9.10
  • backupninja-0.9.10
37 results

backupninja.1

  • Forked from Liberate / backupninja
    Source project has a limited visibility.
    standalone.go 1.92 KiB
    // +build !bitmaskd
    // Copyright (C) 2018 LEAP
    //
    // This program is free software: you can redistribute it and/or modify
    // it under the terms of the GNU General Public License as published by
    // the Free Software Foundation, either version 3 of the License, or
    // (at your option) any later version.
    //
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    //
    // You should have received a copy of the GNU General Public License
    // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    
    package main
    
    import (
    	"errors"
    	"fmt"
    	"log"
    	"os"
    	"path/filepath"
    	"regexp"
    
    	"0xacab.org/leap/bitmask-systray/bitmask"
    	standalone "0xacab.org/leap/bitmask-systray/standalone"
    	pmautostart "github.com/ProtonMail/go-autostart"
    )
    
    const (
    	errorMsg = `An error has ocurred initializing %s: %v`
    )
    
    func initBitmask() (bitmask.Bitmask, error) {
    	b, err := standalone.Init()
    	if err != nil {
    		log.Printf("An error ocurred starting standalone bitmask: %v", err)
    		err = errors.New(printer.Sprintf(errorMsg, applicationName, err))
    	}
    	return b, err
    }
    
    func newAutostart(appName string, iconPath string) autostart {
    	exec := os.Args
    	if os.Getenv("SNAP") != "" {
    		re := regexp.MustCompile("/snap/([^/]*)/")
    		match := re.FindStringSubmatch(os.Args[0])
    		if len(match) > 1 {
    			snapName := match[1]
    			exec = []string{fmt.Sprintf("/snap/bin/%s.launcher", snapName)}
    		} else {
    			log.Printf("Snap binary has unknown path: %v", os.Args[0])
    		}
    	}
    
    	if exec[0][:2] == "./" || exec[0][:2] == ".\\" {
    		var err error
    		exec[0], err = filepath.Abs(exec[0])
    		if err != nil {
    			log.Printf("Error making the path absolute directory: %v", err)
    		}
    	}
    
    	return &pmautostart.App{
    		Name:        appName,
    		Exec:        exec,
    		DisplayName: appName,
    		Icon:        iconPath,
    	}
    }