%%% src_config
The LFS book offers optional dependency from \Arg{cracklib} package.
That is checked in code below:

\begin{verbatim}
    if use 'cracklib' ; then
        sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' etc/login.defs
    fi
\end{verbatim}

\Prog{use} is method of build engine, which checks up the element of build configuration (\texttt{use words} in terms of \Prog{any}).
In the example above this element is word \Arg{cracklib}. If it is turned on, then the condition will be true and code under the \Arg{if}
operator will be executed.

To include \Arg{cracklib} into your build configuration, you may add to configuration file:
\begin{verbatim}
    use_cracklib = 1
\end{verbatim}

Or add to command line:

\begin{verbatim}
    anch do lfs shadow-<version> use_cracklib=1
\end{verbatim}

Later another code checks up the same condition:

\begin{verbatim}
    $(use_enable 'cracklib' '--with-libcrack')
\end{verbatim}

The code above will turn on option \Arg{--with-libcrack}, if word \Arg{cracklib} will be present in configuration.

The command is not performed:
\begin{verbatim}
    touch /usr/bin/passwd
\end{verbatim}
We should not touch anything at host directly. Instead we edit the resulting \File{config.h} file.


%%% src_install
\Prog{pwconv} and \Prog{grpconv} are not executed during the install. Instead they are saved into \File{postinst} file.
That file will be executed after binary package installation.

The call of \Prog{useradd} is not performed. Instead the \File{/etc/default/useradd} file is stored beforehand and is installed.

%%% lfs_postinstall
Method \Prog{lfs\_postinstall} is declared here as empty: that means there will be no execution of postinstall script during the build.
This is done, because we are performing the build from non-privileged user, but the content of postinstall script requires root privileges.

So postinstall actions will not be performed in build environment, but will be at the installation stage, with root user available.
