diff --git a/core/metrics/insights.go b/core/metrics/insights.go index f4f8738e7..010c24c28 100644 --- a/core/metrics/insights.go +++ b/core/metrics/insights.go @@ -6,6 +6,7 @@ import ( "encoding/json" "math" "net/http" + "os" "path/filepath" "runtime" "runtime/debug" @@ -160,6 +161,13 @@ var staticData = sync.OnceValue(func() insights.Data { data.Build.Settings, data.Build.GoVersion = buildInfo() data.OS.Containerized = consts.InContainer + // Install info + packageFilename := filepath.Join(conf.Server.DataFolder, ".package") + packageFileData, err := os.ReadFile(packageFilename) + if err == nil { + data.OS.Package = string(packageFileData) + } + // OS info data.OS.Type = runtime.GOOS data.OS.Arch = runtime.GOARCH diff --git a/core/metrics/insights/data.go b/core/metrics/insights/data.go index 105a6218e..c46eb8743 100644 --- a/core/metrics/insights/data.go +++ b/core/metrics/insights/data.go @@ -16,6 +16,7 @@ type Data struct { Containerized bool `json:"containerized"` Arch string `json:"arch"` NumCPU int `json:"numCPU"` + Package string `json:"package,omitempty"` } `json:"os"` Mem struct { Alloc uint64 `json:"alloc"` diff --git a/release/goreleaser.yml b/release/goreleaser.yml index f71c38f31..30c0d6f3b 100644 --- a/release/goreleaser.yml +++ b/release/goreleaser.yml @@ -83,6 +83,15 @@ nfpms: owner: navidrome group: navidrome + - src: release/linux/.package.rpm # contents: "rpm" + dst: /var/lib/navidrome/.package + type: "config|noreplace" + packager: rpm + - src: release/linux/.package.deb # contents: "deb" + dst: /var/lib/navidrome/.package + type: "config|noreplace" + packager: deb + scripts: preinstall: "release/linux/preinstall.sh" postinstall: "release/linux/postinstall.sh" diff --git a/release/linux/.package.deb b/release/linux/.package.deb new file mode 100644 index 000000000..811c85f42 --- /dev/null +++ b/release/linux/.package.deb @@ -0,0 +1 @@ +deb \ No newline at end of file diff --git a/release/linux/.package.rpm b/release/linux/.package.rpm new file mode 100644 index 000000000..7c88ef3c0 --- /dev/null +++ b/release/linux/.package.rpm @@ -0,0 +1 @@ +rpm \ No newline at end of file diff --git a/release/wix/build_msi.sh b/release/wix/build_msi.sh index 9fc008446..7e595311e 100755 --- a/release/wix/build_msi.sh +++ b/release/wix/build_msi.sh @@ -49,6 +49,9 @@ cp "${DOWNLOAD_FOLDER}"/extracted_ffmpeg/${FFMPEG_FILE}/bin/ffmpeg.exe "$MSI_OUT cp "$WORKSPACE"/LICENSE "$WORKSPACE"/README.md "$MSI_OUTPUT_DIR" cp "$BINARY" "$MSI_OUTPUT_DIR" +# package type indicator file +echo "msi" > "$MSI_OUTPUT_DIR/.package" + # workaround for wixl WixVariable not working to override bmp locations cp "$WORKSPACE"/release/wix/bmp/banner.bmp /usr/share/wixl-*/ext/ui/bitmaps/bannrbmp.bmp cp "$WORKSPACE"/release/wix/bmp/dialogue.bmp /usr/share/wixl-*/ext/ui/bitmaps/dlgbmp.bmp diff --git a/release/wix/navidrome.wxs b/release/wix/navidrome.wxs index ec8b164e8..8ebba4632 100644 --- a/release/wix/navidrome.wxs +++ b/release/wix/navidrome.wxs @@ -69,6 +69,12 @@ + + + + + + @@ -81,6 +87,7 @@ +