Re: [PATCH] dracut-functions.sh: Avoid loading unnecessary 32-bit libraries for 64-bit initrds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



В Sat,  2 Nov 2013 11:26:30 +0000
Colin Guthrie <colin@xxxxxxxxxx> пишет:

> Due to the 'inst_libdir_file "libnss_files*"' in the udev-rules module
> this caues the /usr/lib/libnss_files-2.18.so* to be included. This is
> a 32-bit library and pulls in a 32-bit version of glibc also even on a
> 64-bit system.
> 
> This is due to the fact that ldconfig -pN will print [/usr]/lib paths
> from the cache as well as [/usr]/lib64. As we handle these paths
> specifically we should ignore these results from the cache.
> 
> Also there was a missing space when appending the ldconfig paths
> onto our list meaning the last builtin and first ldconfig path
> were unusable.
> ---
>  dracut-functions.sh | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/dracut-functions.sh b/dracut-functions.sh
> index 2e6e845..1355aca 100755
> --- a/dracut-functions.sh
> +++ b/dracut-functions.sh
> @@ -65,6 +65,7 @@ ldconfig_paths()
>              printf "%s\n" ${d%/*};
>          done
>      ); do
> +        [[ "$i" = "/lib" || "$i" = "/usr/lib" || "$i" = "/lib64" ||
> "$i" = "/usr/lib64" ]] && continue a["$i"]=1;

"/lib32" and "/usr/lib32" should be also excluded. In Gentoo by default
we have 32-bit binaries in lib32 and lib is a symlink to lib64.

>      done;
>      printf "%s\n" ${!a[@]}
> @@ -81,7 +82,7 @@ if ! [[ $libdirs ]] ; then
>          [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
>      fi
>  
> -    libdirs+="$(ldconfig_paths)"
> +    libdirs+=" $(ldconfig_paths)"
>  
>      export libdirs
>  fi


-- 
Alexander Tsoy
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux