Append "-p" parameter to mkdir to fix failure like following:
When use "gnutls-cli --fips140-mode" command in multilib environment, it shows library not found error.
root@qemux86-64:~# gnutls-cli --fips140-mode
library is NOT in FIPS140-2 mode
And it was caused by lacking hmac files.
root@qemux86-64:~# ls /usr/lib64/.*hmac
ls: cannot access '/usr/lib64/.libgnutl*': No such file or directory
The reason is as following:
When '${sysconfdir}/gnutls' was created by 'mkdir' with lib32-gnutls, the dir will not be created again by 'mkdir' with lib-gnutls again, and the subsequent command will not be executed, so hmac files were missing in lib64 environment.
${bindir}/fipshmac ${libdir}/libgnutls.so.30.*.* > ${libdir}/.libgnutls.so.30.hmac
So append "-p" parameter can avoid this error.
[RP: The -p option doesn't error if the directory already exists]
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pkg_postinst_ontarget:${PN}-fips () {
if test -x ${bindir}/fipshmac
then
- mkdir ${sysconfdir}/gnutls
+ mkdir -p ${sysconfdir}/gnutls
touch ${sysconfdir}/gnutls/config
${bindir}/fipshmac ${libdir}/libgnutls.so.30.*.* > ${libdir}/.libgnutls.so.30.hmac
${bindir}/fipshmac ${libdir}/libnettle.so.8.* > ${libdir}/.libnettle.so.8.hmac