From 4ae8efb5dacffb8260b245c30463532611e28e1c Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Mon, 31 Jul 2017 02:35:24 +0200 Subject: [PATCH] add metadata --- cmd/pi64-build/install.go | 10 ++++++++++ cmd/pi64-update/main.go | 7 ++++++- pkg/pi64/metadata.go | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/cmd/pi64-build/install.go b/cmd/pi64-build/install.go index 1dc7db4..7fafc5c 100644 --- a/cmd/pi64-build/install.go +++ b/cmd/pi64-build/install.go @@ -6,8 +6,10 @@ import ( "io/ioutil" "os" "os/exec" + "time" "github.com/bamarni/pi64/pkg/multistrap" + "github.com/bamarni/pi64/pkg/pi64" "github.com/bamarni/pi64/pkg/util" ) @@ -131,6 +133,14 @@ iface wlan0 inet manual return err } + fmt.Fprintln(os.Stderr, " Writing metadata...") + metadata := pi64.Metadata{ + Version: time.Now().Format("2006-01-02"), + } + if err := pi64.WriteMetadata(metadata); err != nil { + return err + } + return os.Remove("/usr/bin/qemu-aarch64-static") } diff --git a/cmd/pi64-update/main.go b/cmd/pi64-update/main.go index 6b5968f..c9f0100 100644 --- a/cmd/pi64-update/main.go +++ b/cmd/pi64-update/main.go @@ -122,7 +122,7 @@ func run() int { return 0 } - releaseEndpoint := "https://github.com/bamarni/pi64-kernel/releases/download/" + path.Base(latestRelease.String()) + releaseEndpoint := "https://github.com/bamarni/pi64-kernel/releases/download/" + latestVersion fmt.Fprintf(os.Stderr, "Downloading '%s' release.\n", latestRelease) @@ -159,6 +159,11 @@ func run() int { return 1 } + metadata.KernelVersion = latestVersion + if err := pi64.WriteMetadata(metadata); err != nil { + fmt.Fprintln(os.Stderr, "Couldn't write metadata : "+err.Error()) + } + fmt.Fprintln(os.Stderr, "Your kernel has been updated! You'll have to reboot for this to take effect.") return 0 } diff --git a/pkg/pi64/metadata.go b/pkg/pi64/metadata.go index cca8b6a..a58fdbd 100644 --- a/pkg/pi64/metadata.go +++ b/pkg/pi64/metadata.go @@ -24,7 +24,7 @@ func ReadMetadata() (Metadata, error) { } func WriteMetadata(metadata Metadata) error { - file, err := os.OpenFile(metadataPath, os.O_WRONLY|os.O_TRUNC, 644) + file, err := os.OpenFile(metadataPath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 644) if err != nil { return err }