mirror of https://github.com/micromata/borgbackup-butler.git

Kai Reinhard
07.29.2019 7325f6c31e1f7f6bd94a9e01e916de2c355bcae1
borgbutler-core/src/main/java/de/micromata/borgbutler/BorgJob.java
@@ -93,14 +93,11 @@
            return null;
        }
        Map<String, String> env = EnvironmentUtils.getProcEnvironment();
        addEnvironmentVariable(env, "BORG_REPO", repoConfig.getRepo());
        addEnvironmentVariable(env, "BORG_RSH", repoConfig.getRsh());
        addEnvironmentVariable(env, "BORG_PASSPHRASE", repoConfig.getPassphrase());
        String passcommand = repoConfig.getPasswordCommand();
        if (StringUtils.isNotBlank(passcommand)) {
        String[] variables = repoConfig.getEnvironmentVariables(true);
        for (String variable : variables) {
            // For MacOS BORG_PASSCOMMAND="security find-generic-password -a $USER -s borg-passphrase -w"
            passcommand = passcommand.replace("$USER", System.getProperty("user.name"));
            addEnvironmentVariable(env, "BORG_PASSCOMMAND", passcommand);
            String environmentVariable = variable.replace("$USER", System.getProperty("user.name"));
            addEnvironmentVariable(env, environmentVariable);
        }
        return env;
    }
@@ -108,6 +105,10 @@
    @Override
    public BorgJob<?> clone() {
        BorgJob<?> clone = new BorgJob<>();
        if (command != null) {
            // Needed for getting environment variables: JsonJob of borgbutler-server.
            clone.command = new BorgCommand().setRepoConfig(command.getRepoConfig());
        }
        clone.setUniqueJobNumber(getUniqueJobNumber());
        clone.setTitle(getTitle());
        clone.setExecuteStarted(isExecuteStarted());