diff options
-rw-r--r-- | meta/classes-recipe/manpages.bbclass | 12 | ||||
-rw-r--r-- | scripts/postinst-intercepts/update_mandb | 16 |
2 files changed, 17 insertions, 11 deletions
diff --git a/meta/classes-recipe/manpages.bbclass b/meta/classes-recipe/manpages.bbclass index 693fb53671..e9ca2f895b 100644 --- a/meta/classes-recipe/manpages.bbclass +++ b/meta/classes-recipe/manpages.bbclass @@ -23,17 +23,7 @@ pkg_postinst:${MAN_PKG}:append () { if ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'true', 'false', d)}; then if test -n "$D"; then if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then - sed "s:\(\s\)/:\1$D/:g" $D${sysconfdir}/man_db.conf | ${@qemu_run_binary(d, '$D', '${bindir}/mandb')} -C - -u -q $D${mandir} - chown -R root:root $D${mandir} - - mkdir -p $D${localstatedir}/cache/man - cd $D${mandir} - find . -name index.db | while read index; do - mkdir -p $D${localstatedir}/cache/man/$(dirname ${index}) - mv ${index} $D${localstatedir}/cache/man/${index} - chown man:man $D${localstatedir}/cache/man/${index} - done - cd - + $INTERCEPT_DIR/postinst_intercept update_mandb ${PKG} mlprefix=${MLPREFIX} binprefix=${MLPREFIX} bindir=${bindir} sysconfdir=${sysconfdir} mandir=${mandir} else $INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX} fi diff --git a/scripts/postinst-intercepts/update_mandb b/scripts/postinst-intercepts/update_mandb new file mode 100644 index 0000000000..a061bb426a --- /dev/null +++ b/scripts/postinst-intercepts/update_mandb @@ -0,0 +1,16 @@ +#!/bin/sh +# +# SPDX-License-Identifier: MIT +# + +set -eu + +# Create a temporary man_db.conf with paths to the rootfs, as mandb needs absolute paths +CONFIG=$(mktemp --tmpdir update-mandb.XXXXX) +sed "s:\(\s\)/:\1$D/:g" $D${sysconfdir}/man_db.conf > $CONFIG + +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${bindir}/mandb --config-file $CONFIG --create + +rm -f $CONFIG + +chown -R man:man $D${localstatedir}/cache/man/ |