Merge pull request #1821 from safing/feature/installer-migration

Feature/installer migration
This commit is contained in:
Alexandr Stelnykovych
2025-03-25 17:06:35 +02:00
committed by GitHub
65 changed files with 15744 additions and 22834 deletions

View File

@@ -35,7 +35,7 @@ func (sc *ServiceConfig) Init() error {
if sc.BinDir == "" {
exeDir, err := getCurrentBinaryFolder() // Default: C:/Program Files/Portmaster
if err != nil {
return fmt.Errorf("derive bin dir from runnning exe: %w", err)
return fmt.Errorf("derive bin dir from running exe: %w", err)
}
sc.BinDir = exeDir
}

View File

@@ -56,15 +56,8 @@ func (ub *updateBroadcaster) AvailableUpdate() *updates.Artifact {
// Get artifact.
artifact, err := module.instance.IntelUpdates().GetFile(ub.dbName)
if err != nil {
// Check if the geoip database is included in the binary index instead.
// TODO: Remove when intelhub builds the geoip database.
if artifact2, err2 := module.instance.BinaryUpdates().GetFile(ub.dbName); err2 == nil {
artifact = artifact2
err = nil
} else {
log.Warningf("geoip: failed to get geoip update: %s", err)
return nil
}
log.Warningf("geoip: failed to get geoip update: %s", err)
return nil
}
// Return artifact if not yet initialized.

View File

@@ -17,6 +17,7 @@ import (
"github.com/safing/portmaster/base/info"
"github.com/safing/portmaster/base/log"
"github.com/safing/portmaster/base/notifications"
"github.com/safing/portmaster/base/utils"
"github.com/safing/portmaster/service/mgr"
)
@@ -171,6 +172,12 @@ func New(instance instance, name string, cfg Config) (*Updater, error) {
return nil, fmt.Errorf("config is invalid: %w", err)
}
// Make sure main dir exists.
err := utils.EnsureDirectory(module.cfg.Directory, utils.PublicReadExecPermission)
if err != nil {
return nil, fmt.Errorf("create update target directory: %s", module.cfg.DownloadDirectory)
}
// Create Workers.
module.updateCheckWorkerMgr = m.NewWorkerMgr("update checker", module.updateCheckWorker, nil)
module.upgradeWorkerMgr = m.NewWorkerMgr("upgrader", module.upgradeWorker, nil)