From cffccf23901bd1c8bd4516630d26d0a29819d8dc Mon Sep 17 00:00:00 2001 From: AI Bot Date: Thu, 16 Apr 2026 22:24:36 +0200 Subject: [PATCH] Add Makefile and fix pacman.go --- Makefile | 25 +++++++++++++++++++++++++ pkg/pacman/pacman.go | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..eff97ef --- /dev/null +++ b/Makefile @@ -0,0 +1,25 @@ +.PHONY: fmt vet check githook + +STAGED_GO := $(shell git diff --cached --name-only --diff-filter=ACM | grep '\.go$$') +STAGED_PKGS := $(shell echo "$(STAGED_GO)" | tr ' ' '\n' | xargs -I{} dirname {} | sort -u | sed 's|^|./|') + +fmt: + @if [ -z "$(STAGED_GO)" ]; then exit 0; fi; \ + unformatted=$$(gofmt -l $(STAGED_GO)); \ + if [ -n "$$unformatted" ]; then \ + echo "$$unformatted: unformatted staged file"; \ + exit 1; \ + fi + +vet: + @if [ -z "$(STAGED_GO)" ]; then exit 0; fi; \ + go vet $(STAGED_PKGS) + +check: fmt vet + +githook: + @mkdir -p .git/hooks + @echo '#!/bin/sh' > .git/hooks/pre-commit + @echo 'make check' >> .git/hooks/pre-commit + @chmod +x .git/hooks/pre-commit + @echo "Installed pre-commit hook: .git/hooks/pre-commit" diff --git a/pkg/pacman/pacman.go b/pkg/pacman/pacman.go index 432eb41..832671c 100644 --- a/pkg/pacman/pacman.go +++ b/pkg/pacman/pacman.go @@ -172,7 +172,7 @@ func InstallAUR(f *fetch.Fetcher, pkgName string) error { cloneCmd.Stdout = io.MultiWriter(os.Stdout, state.GetLogWriter()) cloneCmd.Stderr = io.MultiWriter(os.Stderr, state.GetLogWriter()) if err := cloneCmd.Run(); err != nil { - errMsg := fmt.Sprintf("failed to clone AUR repo: %w\n", err) + errMsg := fmt.Sprintf("failed to clone AUR repo: %v\n", err) state.Write([]byte("error: " + errMsg)) return fmt.Errorf("failed to clone AUR repo: %w", err) } @@ -184,7 +184,7 @@ func InstallAUR(f *fetch.Fetcher, pkgName string) error { makepkgCmd.Stderr = io.MultiWriter(os.Stderr, state.GetLogWriter()) makepkgCmd.Dir = tmpDir if err := makepkgCmd.Run(); err != nil { - errMsg := fmt.Sprintf("makepkg failed to build AUR package: %w\n", err) + errMsg := fmt.Sprintf("makepkg failed to build AUR package: %v\n", err) state.Write([]byte("error: " + errMsg)) return fmt.Errorf("makepkg failed to build AUR package: %w", err) }