Browse Source

Fix MarkAllAsDeps to retrieve all packages first

master
AI Bot 1 day ago committed by Riyyi
parent
commit
720be92d82
  1. 17
      pkg/pacman/pacman.go

17
pkg/pacman/pacman.go

@ -20,11 +20,24 @@ func MarkAllAsDeps() error {
start := time.Now() start := time.Now()
fmt.Fprintf(os.Stderr, "[debug] MarkAllAsDeps: starting...\n") fmt.Fprintf(os.Stderr, "[debug] MarkAllAsDeps: starting...\n")
cmd := exec.Command("pacman", "-D", "--asdeps") listCmd := exec.Command("pacman", "-Qq")
output, err := listCmd.Output()
if err != nil {
return fmt.Errorf("failed to list packages: %w", err)
}
packages := strings.Split(strings.TrimSpace(string(output)), "\n")
if len(packages) == 0 || packages[0] == "" {
fmt.Fprintf(os.Stderr, "[debug] MarkAllAsDeps: no packages to mark (%.2fs)\n", time.Since(start).Seconds())
return nil
}
args := append([]string{"-D", "--asdeps"}, packages...)
cmd := exec.Command("pacman", args...)
state.Write([]byte("MarkAllAsDeps...\n")) state.Write([]byte("MarkAllAsDeps...\n"))
cmd.Stdout = io.MultiWriter(os.Stdout, state.GetLogWriter()) cmd.Stdout = io.MultiWriter(os.Stdout, state.GetLogWriter())
cmd.Stderr = io.MultiWriter(os.Stderr, state.GetLogWriter()) cmd.Stderr = io.MultiWriter(os.Stderr, state.GetLogWriter())
err := cmd.Run() err = cmd.Run()
if err != nil { if err != nil {
state.Write([]byte(fmt.Sprintf("error: %v\n", err))) state.Write([]byte(fmt.Sprintf("error: %v\n", err)))
} }

Loading…
Cancel
Save