AdguardTeam / AdguardTeam/AdGuardHome

Install files to executable directory instead of working directory

Ouverte
#3,286 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement P3: Medium
Langage dominant
TypeScript
Étoiles
36.9k
Forks
2.5k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Have a question or an idea? Please search it [on our forum](https://github.com/AdguardTeam/AdGuardHome/discussions) to make sure it was not yet asked. If you cannot find what you had in mind, please [submit it here](https://github.com/AdguardTeam/AdGuardHome/discussions/new).

### Prerequisites

Please answer the following questions for yourself before submitting an issue. **YOU MAY DELETE THE PREREQUISITES SECTION.**

- [x] I am running the latest version
- [x] I checked the documentation and found no answer
- [x] I checked to make sure that this issue has not already been filed

### Problem Description
The updater currently installs files to the working directory: https://github.com/AdguardTeam/AdGuardHome/blob/master/internal/updater/updater.go#L249-L274
By default the working directory matches the executable directory, but using the `-w, --work-dir` option changes this, so that files are tried to be installed to the wrong directory.

### Proposed Solution
Instead of deriving the target directory from the working directory, the updater could use the location of the running AdGuard Home executable itself, so that the working directory can be changed without breaking the updater.

### Alternatives Considered
I'm not sure whether there is already some kind of bin dir implemented that can be used, or otherwise if there is a different way to change the location of config and data without breaking the updater. But it doesn't seem intended to me that `-w, --work-dir` inherently breaks it.

### Additional Information
We use the `-w, --work-dir` option in our implementation to separate the static binary and install files from variable user data and config, but the updater then fails.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.