From 5e24940ef837ecd710b092f6abf00f903437ab7a Mon Sep 17 00:00:00 2001 From: Maxim Slipenko Date: Thu, 3 Jul 2025 17:29:53 +0300 Subject: [PATCH] fix: firejail integration use buildContents for correct handling symlinks --- assets/coverage-badge.svg | 4 ++-- internal/build/firejail.go | 37 ++++--------------------------------- 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/assets/coverage-badge.svg b/assets/coverage-badge.svg index 2a6facc..ffdf7ae 100644 --- a/assets/coverage-badge.svg +++ b/assets/coverage-badge.svg @@ -11,7 +11,7 @@ coverage coverage - 19.2% - 19.2% + 19.4% + 19.4% diff --git a/internal/build/firejail.go b/internal/build/firejail.go index 0956d62..c201b8d 100644 --- a/internal/build/firejail.go +++ b/internal/build/firejail.go @@ -240,39 +240,10 @@ func createFirejailedBinary( return nil, fmt.Errorf("failed to create wrapper script: %w", err) } - profile, err := getContentFromPath(dest, dirs.PkgDir) - if err != nil { - return nil, err - } - - bin, err := getContentFromPath(origFilePath, dirs.PkgDir) - if err != nil { - return nil, err - } - - return []*files.Content{ - bin, - profile, - }, nil -} - -func getContentFromPath(path, base string) (*files.Content, error) { - absPath := filepath.Join(base, path) - - fi, err := os.Lstat(absPath) - if err != nil { - return nil, fmt.Errorf("failed to get file info: %w", err) - } - - return &files.Content{ - Source: absPath, - Destination: path, - FileInfo: &files.ContentFileInfo{ - MTime: fi.ModTime(), - Mode: fi.Mode(), - Size: fi.Size(), - }, - }, nil + return buildContents(pkg, dirs, &[]string{ + origFilePath, + dest, + }) } func generateSafeName(destination string) (string, error) {