mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-10 04:36:43 +00:00
rename IE app GODT-690
This commit is contained in:
@ -37,7 +37,7 @@ import (
|
||||
|
||||
const (
|
||||
appName = "importExport"
|
||||
appNameDash = "import-export"
|
||||
appNameDash = "import-export-app"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@ -830,7 +830,7 @@ Window {
|
||||
property string bugNotSent
|
||||
property string bugReportSent
|
||||
|
||||
property string programTitle : "ProtonMail Import-Export App"
|
||||
property string programTitle : "ProtonMail Import-Export app"
|
||||
property string newversion : "q0.1.0"
|
||||
property string landingPage : "https://landing.page"
|
||||
property string changelog : "• Lorem ipsum dolor sit amet\n• consetetur sadipscing elitr,\n• sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,\n• sed diam voluptua.\n• At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
|
||||
|
||||
@ -49,65 +49,62 @@ var (
|
||||
var (
|
||||
log = logrus.WithField("pkg", "bridgeUtils/updates") //nolint[gochecknoglobals]
|
||||
|
||||
installFileSuffix = map[string]string{ //nolint[gochecknoglobals]
|
||||
"darwin": ".dmg",
|
||||
"windows": ".exe",
|
||||
"linux": ".sh",
|
||||
}
|
||||
|
||||
ErrDownloadFailed = errors.New("error happened during download") //nolint[gochecknoglobals]
|
||||
ErrUpdateVerifyFailed = errors.New("cannot verify signature") //nolint[gochecknoglobals]
|
||||
)
|
||||
|
||||
type Updates struct {
|
||||
version string
|
||||
revision string
|
||||
buildTime string
|
||||
releaseNotes string
|
||||
releaseFixedBugs string
|
||||
updateTempDir string
|
||||
landingPagePath string // Based on Host/; default landing page for download.
|
||||
installerFileBaseName string // File for initial install or manual reinstall. per goos [exe, dmg, sh].
|
||||
versionFileBaseName string // Text file containing information about current file. per goos [_linux,_darwin,_windows].json (have .sig file).
|
||||
updateFileBaseName string // File for automatic update. per goos [_linux,_darwin,_windows].tgz (have .sig file).
|
||||
linuxFileBaseName string // Prefix of linux package names.
|
||||
macAppBundleName string // Name of Mac app file in the bundle for update procedure.
|
||||
cachedNewerVersion *VersionInfo // To have info about latest version even when the internet connection drops.
|
||||
version string
|
||||
revision string
|
||||
buildTime string
|
||||
releaseNotes string
|
||||
releaseFixedBugs string
|
||||
updateTempDir string
|
||||
landingPagePath string // Based on Host/; default landing page for download.
|
||||
winInstallerFile string // File for initial install or manual reinstall for windows
|
||||
macInstallerFile string // File for initial install or manual reinstall for mac
|
||||
versionFileBaseName string // Text file containing information about current file. per goos [_linux,_darwin,_windows].json (have .sig file).
|
||||
updateFileBaseName string // File for automatic update. per goos [_linux,_darwin,_windows].tgz (have .sig file).
|
||||
linuxFileBaseName string // Prefix of linux package names.
|
||||
macAppBundleName string // Name of Mac app file in the bundle for update procedure.
|
||||
cachedNewerVersion *VersionInfo // To have info about latest version even when the internet connection drops.
|
||||
}
|
||||
|
||||
// NewBridge inits Updates struct for bridge.
|
||||
func NewBridge(updateTempDir string) *Updates {
|
||||
return &Updates{
|
||||
version: constants.Version,
|
||||
revision: constants.Revision,
|
||||
buildTime: constants.BuildTime,
|
||||
releaseNotes: bridge.ReleaseNotes,
|
||||
releaseFixedBugs: bridge.ReleaseFixedBugs,
|
||||
updateTempDir: updateTempDir,
|
||||
landingPagePath: "bridge/download",
|
||||
installerFileBaseName: "Bridge-Installer",
|
||||
versionFileBaseName: "current_version",
|
||||
updateFileBaseName: "bridge_upgrade",
|
||||
linuxFileBaseName: "protonmail-bridge",
|
||||
macAppBundleName: "ProtonMail Bridge.app",
|
||||
version: constants.Version,
|
||||
revision: constants.Revision,
|
||||
buildTime: constants.BuildTime,
|
||||
releaseNotes: bridge.ReleaseNotes,
|
||||
releaseFixedBugs: bridge.ReleaseFixedBugs,
|
||||
updateTempDir: updateTempDir,
|
||||
landingPagePath: "bridge/download",
|
||||
macInstallerFile: "Bridge-Installer.dmg",
|
||||
winInstallerFile: "Bridge-Installer.exe",
|
||||
versionFileBaseName: "current_version",
|
||||
updateFileBaseName: "bridge_upgrade",
|
||||
linuxFileBaseName: "protonmail-bridge",
|
||||
macAppBundleName: "ProtonMail Bridge.app",
|
||||
}
|
||||
}
|
||||
|
||||
// NewImportExport inits Updates struct for import-export.
|
||||
func NewImportExport(updateTempDir string) *Updates {
|
||||
return &Updates{
|
||||
version: constants.Version,
|
||||
revision: constants.Revision,
|
||||
buildTime: constants.BuildTime,
|
||||
releaseNotes: importexport.ReleaseNotes,
|
||||
releaseFixedBugs: importexport.ReleaseFixedBugs,
|
||||
updateTempDir: updateTempDir,
|
||||
landingPagePath: "import-export",
|
||||
installerFileBaseName: "Import-Export-Installer",
|
||||
versionFileBaseName: "current_version_ie",
|
||||
updateFileBaseName: "ie_upgrade",
|
||||
linuxFileBaseName: "protonmail-import-export",
|
||||
macAppBundleName: "ProtonMail Import-Export.app",
|
||||
version: constants.Version,
|
||||
revision: constants.Revision,
|
||||
buildTime: constants.BuildTime,
|
||||
releaseNotes: importexport.ReleaseNotes,
|
||||
releaseFixedBugs: importexport.ReleaseFixedBugs,
|
||||
updateTempDir: updateTempDir,
|
||||
landingPagePath: "import-export",
|
||||
winInstallerFile: "ie/Import-Export-app-installer.exe",
|
||||
macInstallerFile: "ie/Import-Export-app.dmg",
|
||||
versionFileBaseName: "current_version_ie",
|
||||
updateFileBaseName: "ie/ie_upgrade",
|
||||
linuxFileBaseName: "ie/protonmail-import-export-app",
|
||||
macAppBundleName: "Import-Export app.app",
|
||||
}
|
||||
}
|
||||
|
||||
@ -187,11 +184,15 @@ func (u *Updates) getLocalVersion(goos string) VersionInfo {
|
||||
if goos == "linux" {
|
||||
pkgName := u.linuxFileBaseName
|
||||
pkgRel := "1"
|
||||
pkgBase := strings.Join([]string{Host, DownloadPath, pkgName}, "/")
|
||||
pkgBaseFile := strings.Join([]string{Host, DownloadPath, pkgName}, "/")
|
||||
|
||||
versionInfo.DebFile = pkgBase + "_" + u.version + "-" + pkgRel + "_amd64.deb"
|
||||
versionInfo.RpmFile = pkgBase + "-" + u.version + "-" + pkgRel + ".x86_64.rpm"
|
||||
versionInfo.PkgFile = strings.Join([]string{Host, DownloadPath, "PKGBUILD"}, "/")
|
||||
pkgBasePath := DownloadPath + "/" + pkgName // add at least one dir
|
||||
pkgBasePath = filepath.Dir(pkgBasePath) // keep only last dir
|
||||
pkgBasePath = Host + "/" + pkgBasePath // add host in the end to not strip off double slash in URL
|
||||
|
||||
versionInfo.DebFile = pkgBaseFile + "_" + u.version + "-" + pkgRel + "_amd64.deb"
|
||||
versionInfo.RpmFile = pkgBaseFile + "-" + u.version + "-" + pkgRel + ".x86_64.rpm"
|
||||
versionInfo.PkgFile = strings.Join([]string{pkgBasePath, "PKGBUILD"}, "/")
|
||||
}
|
||||
|
||||
return versionInfo
|
||||
@ -240,7 +241,14 @@ func (u *Updates) versionFileURL(goos string) string {
|
||||
}
|
||||
|
||||
func (u *Updates) installerFileURL(goos string) string {
|
||||
return strings.Join([]string{Host, DownloadPath, u.installerFileBaseName + installFileSuffix[goos]}, "/")
|
||||
installerFile := "none"
|
||||
switch goos {
|
||||
case "darwin":
|
||||
installerFile = u.macInstallerFile
|
||||
case "windows":
|
||||
installerFile = u.winInstallerFile
|
||||
}
|
||||
return strings.Join([]string{Host, DownloadPath, installerFile}, "/")
|
||||
}
|
||||
|
||||
func (u *Updates) updateFileURL(goos string) string {
|
||||
@ -299,7 +307,8 @@ func (u *Updates) StartUpgrade(currentStatus chan<- Progress) { // nolint[funlen
|
||||
status.UpdateDescription(InfoUpgrading)
|
||||
switch runtime.GOOS {
|
||||
case "windows": //nolint[goconst]
|
||||
cmd := exec.Command("./" + u.installerFileBaseName) // nolint[gosec]
|
||||
installerFile := strings.Split(u.winInstallerFile, "/")[1]
|
||||
cmd := exec.Command("./" + installerFile) // nolint[gosec]
|
||||
cmd.Dir = u.updateTempDir
|
||||
status.Err = cmd.Start()
|
||||
case "darwin":
|
||||
|
||||
Reference in New Issue
Block a user