misc.Exists: bubble up any unexpected errors

Fixes https://gitlab.com/postmarketOS/postmarketos-mkinitfs/-/issues/6
This commit is contained in:
Clayton Craft
2023-02-20 22:39:29 -08:00
parent d87a33a751
commit 06f86aadc9
4 changed files with 35 additions and 11 deletions

View File

@@ -40,10 +40,12 @@ func (m *Modules) List() (*filelist.FileList, error) {
files := filelist.NewFileList()
modDir := filepath.Join("/lib/modules", kernVer)
if !misc.Exists(modDir) {
if exists, err := misc.Exists(modDir); !exists {
// dir /lib/modules/<kernel> if kernel built without module support, so just print a message
log.Printf("-- kernel module directory not found: %q, not including modules", modDir)
return files, nil
} else if err != nil {
return nil, fmt.Errorf("received unexpected error when getting status for %q: %w", modDir, err)
}
// modules.* required by modprobe
@@ -148,8 +150,10 @@ func getModulesInDir(modPath string) (files []string, err error) {
func getModule(modName string, modDir string) (files []string, err error) {
modDep := filepath.Join(modDir, "modules.dep")
if !misc.Exists(modDep) {
if exists, err := misc.Exists(modDep); !exists {
return nil, fmt.Errorf("kernel module.dep not found: %s", modDir)
} else if err != nil {
return nil, fmt.Errorf("received unexpected error when getting module.dep status: %w", err)
}
fd, err := os.Open(modDep)
@@ -165,9 +169,12 @@ func getModule(modName string, modDir string) (files []string, err error) {
for _, dep := range deps {
p := filepath.Join(modDir, dep)
if !misc.Exists(p) {
if exists, err := misc.Exists(p); !exists {
return nil, fmt.Errorf("tried to include a module that doesn't exist in the modules directory (%s): %s", modDir, p)
} else if err != nil {
return nil, fmt.Errorf("received unexpected error when getting status for %q: %w", p, err)
}
files = append(files, p)
}

View File

@@ -28,8 +28,11 @@ func New(mesaDriverName string) *OskSdl {
// disk (d)encryption
func (s *OskSdl) List() (*filelist.FileList, error) {
files := filelist.NewFileList()
if !misc.Exists("/usr/bin/osk-sdl") {
if exists, err := misc.Exists("/usr/bin/osk-sdl"); !exists {
return files, nil
} else if err != nil {
return files, fmt.Errorf("received unexpected error when getting status for %q: %w", "/usr/bin/osk-sdl", err)
}
log.Println("- Including osk-sdl support")
@@ -145,8 +148,10 @@ func getOskConfFontPath(oskConfPath string) (string, error) {
path = fields[2]
}
}
if !misc.Exists(path) {
if exists, err := misc.Exists(path); !exists {
return path, fmt.Errorf("unable to find font: %s", path)
} else if err != nil {
return path, fmt.Errorf("received unexpected error when getting status for %q: %w", path, err)
}
return path, nil