[no-relnote] Minor edits to update-ldcache

Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
Evan Lezar 2025-05-12 14:51:11 +02:00
parent 61d94f7856
commit a734438ce2
No known key found for this signature in database

View File

@ -109,14 +109,20 @@ func (m command) run(c *cli.Context, cfg *options) error {
} }
containerRootDir, err := s.GetContainerRoot() containerRootDir, err := s.GetContainerRoot()
if err != nil { if err != nil || containerRootDir == "" || containerRootDir == "/" {
return fmt.Errorf("failed to determined container root: %v", err) return fmt.Errorf("failed to determined container root: %v", err)
} }
ldconfigPath := m.resolveLDConfigPath(cfg.ldconfigPath) ldconfigPath := m.resolveLDConfigPath(cfg.ldconfigPath)
args := []string{filepath.Base(ldconfigPath)} args := []string{
if containerRootDir != "" { filepath.Base(ldconfigPath),
args = append(args, "-r", containerRootDir) // Run ldconfig in the container root directory on the host.
"-r", containerRootDir,
// Explicitly specify using /etc/ld.so.conf since the host's ldconfig may
// be configured to use a different config file by default.
// Note that since we apply the `-r {{ .containerRootDir }}` argument, /etc/ld.so.conf is
// in the container.
"-f", "/etc/ld.so.conf",
} }
containerRoot := containerRoot(containerRootDir) containerRoot := containerRoot(containerRootDir)
@ -138,10 +144,6 @@ func (m command) run(c *cli.Context, cfg *options) error {
args = append(args, folders...) args = append(args, folders...)
} }
// Explicitly specify using /etc/ld.so.conf since the host's ldconfig may
// be configured to use a different config file by default.
args = append(args, "-f", "/etc/ld.so.conf")
return m.SafeExec(ldconfigPath, args, nil) return m.SafeExec(ldconfigPath, args, nil)
} }
@ -182,7 +184,7 @@ func (m command) createLdsoconfdFile(in containerRoot, pattern string, dirs ...s
if added[dir] { if added[dir] {
continue continue
} }
_, err = configFile.WriteString(fmt.Sprintf("%s\n", dir)) _, err = fmt.Fprintf(configFile, "%s\n", dir)
if err != nil { if err != nil {
return fmt.Errorf("failed to update config file: %w", err) return fmt.Errorf("failed to update config file: %w", err)
} }