From 891b3cbde75c071b7339716d6fae727e26f19c0a Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 29 Dec 2024 17:10:41 +0900 Subject: [PATCH] cmd/fpkg: compare all three store paths Signed-off-by: Ophestra --- cmd/fpkg/bundle.go | 4 ++-- cmd/fpkg/install.go | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cmd/fpkg/bundle.go b/cmd/fpkg/bundle.go index eb3150b..aa1eecd 100644 --- a/cmd/fpkg/bundle.go +++ b/cmd/fpkg/bundle.go @@ -40,11 +40,11 @@ type bundleInfo struct { // allow gpu access within sandbox GPU bool `json:"gpu"` - // inner nix store path to activate-and-exec script + // store path to activate-and-exec script Launcher string `json:"launcher"` // store path to /run/current-system CurrentSystem string `json:"current_system"` - // home-manager activation package + // store path to home-manager activation package ActivationPackage string `json:"activation_package"` } diff --git a/cmd/fpkg/install.go b/cmd/fpkg/install.go index 793b953..86c6ab2 100644 --- a/cmd/fpkg/install.go +++ b/cmd/fpkg/install.go @@ -97,7 +97,9 @@ func actionInstall(args []string) { if app != bundle { // do not try to re-install - if app.Launcher == bundle.Launcher { + if app.CurrentSystem == bundle.CurrentSystem && + app.Launcher == bundle.Launcher && + app.ActivationPackage == bundle.ActivationPackage { cleanup() fmsg.Printf("package %q is identical to local application %q", pkgPath, app.ID) fmsg.Exit(0)