Browse Source

rpicamera: remove grep and awk dependency

pull/1301/head
aler9 3 years ago
parent
commit
ff12605106
  1. 24
      internal/rpicamera/rpicamera.go

24
internal/rpicamera/rpicamera.go

@ -55,16 +55,26 @@ func checkArch() error {
return nil return nil
} }
func setupSymlink(name string) error { func findLibrary(name string) (string, error) {
cmd := exec.Command("sh", "-c", "ldconfig -p | grep "+name+".so | awk '{ print $4 }'") byts, err := exec.Command("ldconfig", "-p").Output()
byts, err := cmd.Output()
if err != nil { if err != nil {
return err return "", err
}
for _, line := range strings.Split(string(byts), "\n") {
f := strings.Split(line, " => ")
if len(f) == 2 && strings.Contains(f[1], name+".so") {
return f[1], nil
}
} }
lib := strings.TrimSpace(string(byts)) return "", fmt.Errorf("library '%s' not found", name)
if lib == "" { }
return fmt.Errorf(name + " not found")
func setupSymlink(name string) error {
lib, err := findLibrary(name)
if err != nil {
return err
} }
os.Remove("/dev/shm/" + name + ".so.x.x.x") os.Remove("/dev/shm/" + name + ".so.x.x.x")

Loading…
Cancel
Save