*/' >$f echo "INPUT($i.so.5 AS_NEEDED(-ltinfo))" >>$f done # Make sure that libcurses is linked so that it gets -ltinfo # also, this should be addressed upstream really. ln -sf libncurses.so ${D}${libdir}/libcurses.so # create libtermcap.so linker script for backward compatibility f=${D}${libdir}/libtermcap.so echo '/* GNU ld script */' >$f echo 'INPUT(AS_NEEDED(-ltinfo))' >>$f if [ ! -d "${D}${base_libdir}" ]; then # Setting base_libdir to libdir as is done in the -native # case will skip this code mkdir ${D}${base_libdir} mv ${D}${libdir}/libncurses.so.* ${D}${base_libdir} ! ${ENABLE_WIDEC} || \ mv ${D}${libdir}/libncursesw.so.* ${D}${base_libdir} mv ${D}${libdir}/libtinfo.so.* ${D}${base_libdir} rm ${D}${libdir}/libtinfo.so # Use lnr to ensure this is a relative link despite absolute paths # (as we can't know the relationship between base_libdir and libdir). # At some point we can rely on coreutils 8.16 which has ln -r. lnr ${D}${base_libdir}/libtinfo.so.5 ${D}${libdir}/libtinfo.so fi if [ -d "${D}${includedir}/ncurses" ]; then for f in `find ${D}${includedir}/ncurses -name "*.h"` do f=`basename $f` test -e ${D}${includedir}/$f && continue ln -sf ncurses/$f ${D}${includedir}/$f done fi oe_multilib_header curses.h } python populate_packages_prepend () { libdir = d.expand("${libdir}") base_libdir = d.expand("${base_libdir}") pnbase = d.expand("${PN}-lib%s") do_split_packages(d, libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) if libdir is not base_libdir: do_split_packages(d, base_libdir, '^lib(.*)\.so\..*', pnbase, 'ncurses %s library', prepend=True, extra_depends = '', allow_links=True) } inherit update-alternatives ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_ncurses-tools_class-target = "clear reset" BBCLASSEXTEND = "native nativesdk" PACKAGES += " \ ${PN}-tools \ ${PN}-terminfo-base \ ${PN}-terminfo \ " FILES_${PN} = "\ ${bindir}/tput \ ${bindir}/tset \ ${bindir}/ncurses5-config \ ${bindir}/ncursesw5-config \ ${datadir}/tabset \ " # This keeps only tput/tset in ncurses # clear/reset are in already busybox FILES_${PN}-tools = "\ ${bindir}/tic \ ${bindir}/toe \ ${bindir}/infotocap \ ${bindir}/captoinfo \ ${bindir}/infocmp \ ${bindir}/clear${@['', '.${BPN}']['${CLASSOVERRIDE}' == 'class-target']} \ ${bindir}/reset${@['', '.${BPN}']['${CLASSOVERRIDE}' == 'class-target']} \ ${bindir}/tack \ ${bindir}/tabs \ " # 'reset' is a symlink to 'tset' which is in the 'ncurses' package RDEPENDS_${PN}-tools = "${PN}" FILES_${PN}-terminfo = "\ ${datadir}/terminfo \ " FILES_${PN}-terminfo-base = "\ ${sysconfdir}/terminfo \ " RSUGGESTS_${PN}-libtinfo = "${PN}-terminfo" RRECOMMENDS_${PN}-libtinfo = "${PN}-terminfo-base"