重构架构

This commit is contained in:
2026-02-20 18:44:43 +08:00
parent aba7b68439
commit cc71248ef4
52 changed files with 1404 additions and 2360 deletions

View File

@@ -0,0 +1,48 @@
package soft
import (
"fmt"
"os"
"os/exec"
log "sunhpc/pkg/logger"
"sunhpc/pkg/utils"
)
// compileFromSource 通用源码编译流程
func compileFromSource(srcDir, prefix string, jobs int) error {
// 切换到源码目录
if err := os.Chdir(srcDir); err != nil {
return fmt.Errorf("进入源码目录失败: %v", err)
}
// 检测 configure 脚本是否存在
if utils.FileExists("./configure") {
log.Debug("执行 configure ...")
cmd := exec.Command("./configure", "--prefix="+prefix)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
return fmt.Errorf("configure 失败: %v", err)
}
}
// make
log.Debugf("执行 make -j%d ...", jobs)
cmd := exec.Command("make", fmt.Sprintf("-j%d", jobs))
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
return fmt.Errorf("make 失败: %v", err)
}
// make install
log.Debug("执行 make install ...")
cmd = exec.Command("make", "install")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
if err := cmd.Run(); err != nil {
return fmt.Errorf("make install 失败: %v", err)
}
return nil
}