Fix version/channel linking
This commit is contained in:
parent
4ddae72faf
commit
f1e6a30931
2
Makefile
2
Makefile
|
@ -23,7 +23,7 @@ $(STATIC): $(JSFILES) client/node_modules
|
||||||
$(TARGET): $(STATIC) *.go home/*.go dhcpd/*.go dnsfilter/*.go dnsforward/*.go
|
$(TARGET): $(STATIC) *.go home/*.go dhcpd/*.go dnsfilter/*.go dnsforward/*.go
|
||||||
GOOS=$(NATIVE_GOOS) GOARCH=$(NATIVE_GOARCH) GO111MODULE=off go get -v github.com/gobuffalo/packr/...
|
GOOS=$(NATIVE_GOOS) GOARCH=$(NATIVE_GOARCH) GO111MODULE=off go get -v github.com/gobuffalo/packr/...
|
||||||
PATH=$(GOPATH)/bin:$(PATH) packr -z
|
PATH=$(GOPATH)/bin:$(PATH) packr -z
|
||||||
CGO_ENABLED=0 go build -ldflags="-s -w -X home.VersionString=$(GIT_VERSION) -X home.updateChannel=$(CHANNEL)" -asmflags="-trimpath=$(PWD)" -gcflags="-trimpath=$(PWD)"
|
CGO_ENABLED=0 go build -ldflags="-s -w -X main.version=$(GIT_VERSION) -X main.channel=$(CHANNEL)" -asmflags="-trimpath=$(PWD)" -gcflags="-trimpath=$(PWD)"
|
||||||
PATH=$(GOPATH)/bin:$(PATH) packr clean
|
PATH=$(GOPATH)/bin:$(PATH) packr clean
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
@ -109,7 +109,7 @@ func handleStatus(w http.ResponseWriter, r *http.Request) {
|
||||||
"bootstrap_dns": config.DNS.BootstrapDNS,
|
"bootstrap_dns": config.DNS.BootstrapDNS,
|
||||||
"upstream_dns": config.DNS.UpstreamDNS,
|
"upstream_dns": config.DNS.UpstreamDNS,
|
||||||
"all_servers": config.DNS.AllServers,
|
"all_servers": config.DNS.AllServers,
|
||||||
"version": VersionString,
|
"version": versionString,
|
||||||
"language": config.Language,
|
"language": config.Language,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ func getVersionResp(data []byte) []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
_, ok := versionJSON[fmt.Sprintf("download_%s_%s", runtime.GOOS, runtime.GOARCH)]
|
_, ok := versionJSON[fmt.Sprintf("download_%s_%s", runtime.GOOS, runtime.GOARCH)]
|
||||||
if ok && ret["new_version"] != VersionString && VersionString >= selfUpdateMinVersion {
|
if ok && ret["new_version"] != versionString && versionString >= selfUpdateMinVersion {
|
||||||
ret["can_autoupdate"] = true
|
ret["can_autoupdate"] = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,12 +145,12 @@ func getUpdateInfo(jsonData []byte) (*updateInfo, error) {
|
||||||
return nil, fmt.Errorf("Invalid JSON")
|
return nil, fmt.Errorf("Invalid JSON")
|
||||||
}
|
}
|
||||||
|
|
||||||
if u.newVer == VersionString {
|
if u.newVer == versionString {
|
||||||
return nil, fmt.Errorf("No need to update")
|
return nil, fmt.Errorf("No need to update")
|
||||||
}
|
}
|
||||||
|
|
||||||
u.updateDir = filepath.Join(workDir, fmt.Sprintf("agh-update-%s", u.newVer))
|
u.updateDir = filepath.Join(workDir, fmt.Sprintf("agh-update-%s", u.newVer))
|
||||||
u.backupDir = filepath.Join(workDir, fmt.Sprintf("agh-backup-%s", VersionString))
|
u.backupDir = filepath.Join(workDir, fmt.Sprintf("agh-backup-%s", versionString))
|
||||||
|
|
||||||
_, pkgFileName := filepath.Split(u.pkgURL)
|
_, pkgFileName := filepath.Split(u.pkgURL)
|
||||||
if len(pkgFileName) == 0 {
|
if len(pkgFileName) == 0 {
|
||||||
|
@ -360,7 +360,7 @@ func getPackageFile(u *updateInfo) error {
|
||||||
// Perform an update procedure
|
// Perform an update procedure
|
||||||
func doUpdate(u *updateInfo) error {
|
func doUpdate(u *updateInfo) error {
|
||||||
log.Info("Updating from %s to %s. URL:%s Package:%s",
|
log.Info("Updating from %s to %s. URL:%s Package:%s",
|
||||||
VersionString, u.newVer, u.pkgURL, u.pkgName)
|
versionString, u.newVer, u.pkgURL, u.pkgName)
|
||||||
|
|
||||||
_ = os.Mkdir(u.updateDir, 0755)
|
_ = os.Mkdir(u.updateDir, 0755)
|
||||||
|
|
||||||
|
|
27
home/home.go
27
home/home.go
|
@ -25,15 +25,6 @@ import (
|
||||||
"github.com/gobuffalo/packr"
|
"github.com/gobuffalo/packr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// VersionString will be set through ldflags, contains current version
|
|
||||||
var VersionString = "undefined"
|
|
||||||
|
|
||||||
// updateChannel can be set via ldflags
|
|
||||||
var updateChannel = "release"
|
|
||||||
var versionCheckURL = "https://static.adguard.com/adguardhome/" + updateChannel + "/version.json"
|
|
||||||
|
|
||||||
const versionCheckPeriod = time.Hour * 8
|
|
||||||
|
|
||||||
var httpServer *http.Server
|
var httpServer *http.Server
|
||||||
var httpsServer struct {
|
var httpsServer struct {
|
||||||
server *http.Server
|
server *http.Server
|
||||||
|
@ -48,8 +39,22 @@ const (
|
||||||
configSyslog = "syslog"
|
configSyslog = "syslog"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Update-related variables
|
||||||
|
var (
|
||||||
|
versionString string
|
||||||
|
updateChannel string
|
||||||
|
versionCheckURL string
|
||||||
|
)
|
||||||
|
|
||||||
|
const versionCheckPeriod = time.Hour * 8
|
||||||
|
|
||||||
// main is the entry point
|
// main is the entry point
|
||||||
func Main() {
|
func Main(version string, channel string) {
|
||||||
|
// Init update-related global variables
|
||||||
|
versionString = version
|
||||||
|
updateChannel = channel
|
||||||
|
versionCheckURL = "https://static.adguard.com/adguardhome/" + updateChannel + "/version.json"
|
||||||
|
|
||||||
// config can be specified, which reads options from there, but other command line flags have to override config values
|
// config can be specified, which reads options from there, but other command line flags have to override config values
|
||||||
// therefore, we must do it manually instead of using a lib
|
// therefore, we must do it manually instead of using a lib
|
||||||
args := loadOptions()
|
args := loadOptions()
|
||||||
|
@ -81,7 +86,7 @@ func run(args options) {
|
||||||
enableTLS13()
|
enableTLS13()
|
||||||
|
|
||||||
// print the first message after logger is configured
|
// print the first message after logger is configured
|
||||||
log.Printf("AdGuard Home, version %s, channel %s\n", VersionString, updateChannel)
|
log.Printf("AdGuard Home, version %s, channel %s\n", versionString, updateChannel)
|
||||||
log.Debug("Current working directory is %s", config.ourWorkingDir)
|
log.Debug("Current working directory is %s", config.ourWorkingDir)
|
||||||
if args.runningAsService {
|
if args.runningAsService {
|
||||||
log.Info("AdGuard Home is running as a service")
|
log.Info("AdGuard Home is running as a service")
|
||||||
|
|
8
main.go
8
main.go
|
@ -4,6 +4,12 @@ import (
|
||||||
"github.com/AdguardTeam/AdGuardHome/home"
|
"github.com/AdguardTeam/AdGuardHome/home"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// version will be set through ldflags, contains current version
|
||||||
|
var version = "undefined"
|
||||||
|
|
||||||
|
// channel can be set via ldflags
|
||||||
|
var channel = "release"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
home.Main()
|
home.Main(version, channel)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue