[OE-core] [PATCH] cracklib: generate the default dictionary on the target
Mark Hatle
mark.hatle at windriver.com
Thu Apr 25 14:25:36 UTC 2013
On 4/25/13 8:28 AM, Martin Donnelly wrote:
> Currently cracklib-native is used to generate the dictionary
> database from the wordlist during install. Unfortunately the
> database files are endian-specific and this results in
> errors when the host and target endianness differ.
>
> This patch creates the default dictionary files on the target
> during post-install. In order to do this the default wordlist has
> also been compressed, this enables an unmodified cracklib-format
> to correctly parse the input file with both busybox and GNU gzip.
> (These behave differently if the input is uncompressed, GNU
> gzip behaves like cat while busybox returns an error).
>
> Finally the cracklib-native package has been removed since
> it is no longer used.
I thought we had fixed cracklib to have a fixed endian. If not, this is a bug.
We want to avoid running things like the cracklib generation on the target if
possible, as it impacts the first boot time and read-only roots.
(I'm fine with this as a workaround, but it's not the fix I'd like.) I'd be
happy if we simply fixed the cracklib-native to pass in an endian and have the
right output generated. (Note, we also have to consider structure
alignment/packing as well.)
If there isn't already a bug in the Yocto Project bugzilla, can you add one?
--Mark
> Signed-off-by: Martin Donnelly <martin.donnelly at ge.com>
> ---
> meta/recipes-extended/cracklib/cracklib_2.8.22.bb | 15 ++++++++++-----
> 1 files changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/meta/recipes-extended/cracklib/cracklib_2.8.22.bb b/meta/recipes-extended/cracklib/cracklib_2.8.22.bb
> index 7e398f4..9ebca33 100644
> --- a/meta/recipes-extended/cracklib/cracklib_2.8.22.bb
> +++ b/meta/recipes-extended/cracklib/cracklib_2.8.22.bb
> @@ -4,8 +4,7 @@ HOMEPAGE = "http://sourceforge.net/projects/cracklib"
> LICENSE = "LGPLv2.1+"
> LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
>
> -DEPENDS = "cracklib-native zlib"
> -DEPENDS_class-native = "zlib"
> +DEPENDS = "zlib"
> PR ="r0"
>
> EXTRA_OECONF = "--without-python"
> @@ -17,8 +16,14 @@ SRC_URI[sha256sum] = "feaff49bfb513ec10b2618c00d2f7f60776ba93fcc5fa22dd3479dd9ca
>
> inherit autotools gettext
>
> -BBCLASSEXTEND = "native"
> -
> do_install_append_class-target() {
> - create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
> + gzip ${D}${datadir}/cracklib/cracklib-small
> +}
> +
> +pkg_postinst_${PN} () {
> +if [ "x$D" = "x" ]; then
> + create-cracklib-dict -o ${datadir}/cracklib/pw_dict ${datadir}/cracklib/cracklib-small.gz >/dev/null
> +else
> + exit 1
> +fi
> }
>
More information about the Openembedded-core
mailing list