Instead of using "echo -e" we simply use printf. printf doesn't add a newline
by default. So some places needed an extra \n in their string.
Most of the change was done by hand, so please carefully review. This bug was
spotted when trying to compile python-pyqt on my ubuntu hardy system.
DEPENDS += "opie-i18n"
die () {
- echo -e "opie_18n: ERROR: $1"
+ printf "opie_18n: ERROR: $1\n"
exit 1
}
package_name2="`echo "${PN}"| sed "s/^opie\-//;s/\-//"`"
test "$package_name" != "$package_name2" && I18N_FILES="${package_name}.ts lib${package_name}.ts opie-${package_name}.ts ${package_name2}.ts lib${package_name2}.ts opie-${package_name2}.ts"
test "$package_name" = "$package_name2" && I18N_FILES="${package_name}.ts lib${package_name}.ts opie-${package_name}.ts"
- echo -e "I18N Datafiles: ${I18N_FILES} (auto-detected)\nYou can overide the auto-detection by setting I18N_FILES in your .oe file"
+ printf "I18N Datafiles: ${I18N_FILES} (auto-detected)\nYou can overide the auto-detection by setting I18N_FILES in your .oe file\n"
else
echo "I18N Datafiles: ${I18N_FILES} (provided by .bb)"
fi
rm -f "${WORKDIR}/FILES.tmp" "${WORKDIR}/PACKAGES.tmp"
- echo -e "\nFILES is set to [${FILES}]\n"
+ printf "\nFILES is set to [${FILES}]\n\n"
for file in ${I18N_FILES}
do
echo "Working on [$file]"
for ts_file in `ls -1 */*.ts | egrep "/$file"`
do
- echo -e "\tCompiling [$ts_file]"
+ printf "\tCompiling [$ts_file]\n"
cd "${WORKDIR}/i18n/`dirname $ts_file`" || die "[${WORKDIR}/i18n/`dirname $ts_file`] not found"
opie-lrelease "`basename $ts_file`" || die "lrelease failed! Make sure that <inherit opie_i18n> or <inherit opie> is *below* <DEPENDS =>!"
# to allow packaging as "_" is not allowed in a package name
lang="`echo "$ts_file" | sed -n "s#\(.*\)/\(.*\)#\1#p"`"
lang_sane="`echo "$ts_file" | sed -n "s#\(.*\)/\(.*\)#\1#p"|sed s/\_/\-/`"
- echo -e "\tPackaging [`basename $ts_file`] for language [$lang]"
+ printf "\tPackaging [`basename $ts_file`] for language [$lang]\n"
install -d ${D}${palmtopdir}/i18n/$lang
install -m 0644 ${WORKDIR}/i18n/$lang/.directory ${D}${palmtopdir}/i18n/$lang/
# function do_build_opie_i18n_data() which sets the variables FILES_* and
# PACKAGES as needed.
echo -n "${PN}-${lang_sane} " >> "${WORKDIR}/PACKAGES.tmp"
- echo -e "${PN}-${lang_sane}#${palmtopdir}/i18n/$lang" >> "${WORKDIR}/FILES.tmp"
+ printf "${PN}-${lang_sane}#${palmtopdir}/i18n/$lang" >> "${WORKDIR}/FILES.tmp\n"
ts_found_something=1
done
if test "$ts_found_something" != 1
then
- echo -e "\tNo translations found"
+ printf "\tNo translations found\n"
else
ts_found_something=""
ts_found="$ts_found $file"
# Only used for debugging purposes
test "${I18N_STATS}" = 1 && cd "${WORKDIR}/i18n"
- echo -e "Completed [$file]\n\n"
+ printf "Completed [$file]\n\n\n"
done
qt_dirs="apps bin etc lib pics plugins share sounds"
if (echo "${FILES}" | egrep "${palmtopdir}/? |${palmtopdir}/?$") &>/dev/null
then
echo "NOTE: FILES was set to ${palmtopdir} which would include the i18n directory"
- echo -e "\n\nI'll remove ${palmtopdir} from FILES and replace it with all directories"
+ printf "\n\nI'll remove ${palmtopdir} from FILES and replace it with all directories\n"
echo "below QtPalmtop, except i18n ($qt_dirs). See classes/opie_i18n.oeclass for details"
# Removes /opt/QtPalmtop from FILES but keeps /opt/QtPalmtop/$some_dir
if test -z "${FILES}"
then
echo "NOTE:"
- echo -e "Since FILES is empty, i'll add all directories below ${palmtopdir} to it,\nexcluding i18n: ( $qt_dirs )"
+ printf "Since FILES is empty, i'll add all directories below ${palmtopdir} to it,\nexcluding i18n: ( $qt_dirs )\n"
echo "${PN}#$FILES $dir_" >> "${WORKDIR}/FILES.tmp"
fi
if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
then
echo "log_check: There were error messages in the logfile"
- echo -e "log_check: Matched keyword: [$keyword_die]\n"
+ printf "log_check: Matched keyword: [$keyword_die]\n"
echo "$lf_txt" | grep -v log_check | grep -C 5 -i "$keyword_die"
echo ""
do_exit=1
if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") >/dev/null 2>&1
then
echo "log_check: There were error messages in the logfile"
- echo -e "log_check: Matched keyword: [$keyword_die]\n"
+ printf "log_check: Matched keyword: [$keyword_die]\n"
echo "$lf_txt" | grep -v log_check | grep -i "$keyword_die" -C1
echo ""
do_exit=1
if [ "x$D" != "x" ]; then
install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d
# this happens at S98 where our good 'ole packages script used to run
- echo -e "#!/bin/sh
+ printf "#!/bin/sh
dpkg --configure -a
-" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
+\n" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
chmod 0755 ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
fi
}
do_configure_prepend() {
mv -f FreeNote subdir1
mv -f FreeNoteSetup subdir2
- echo -e "TEMPLATE=subdirs\nSUBDIRS=subdir1 subdir2\n" >> freenote.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=subdir1 subdir2\n" >> freenote.pro
pushd ${S}/subdir1 && rm *.pro && qmake -project && echo "TARGET=FreeNote" >> subdir1.pro && popd
pushd ${S}/subdir2 && rm *.pro && qmake -project && echo "TARGET=FreeNoteSetup" >> subdir2.pro && popd
}
fi
install -d ${D}${sysconfdir}/matchbox
install ${WORKDIR}/matchbox-session ${D}${sysconfdir}/matchbox/session
- echo -e "exec matchbox-window-manager ${CURSOR_HIDE} \$@ \n" >> ${D}${sysconfdir}/matchbox/session
+ printf "exec matchbox-window-manager ${CURSOR_HIDE} \$@ \n" >> ${D}${sysconfdir}/matchbox/session
install -d ${D}${sysconfdir}/gpe/xsettings-default.d
do_fetch () {
mkdir -p ${WORKDIR}/${P}
cd ${WORKDIR}/${P}
- echo -e "#include <stdio.h>\nint main(void)\n{\n\tprintf(\"Hello world!\\\n\");\twhile(1);\n\treturn 0;\n}\n" >helloworld.c
+ printf "#include <stdio.h>\nint main(void)\n{\n\tprintf(\"Hello world!\\\n\");\twhile(1);\n\treturn 0;\n}\n" >helloworld.c
}
do_compile () {
do_configure_prepend() {
mv ${S}/kabc/formats/binary/kabcformat_binaryE.pro ${S}/kabc/formats/binary/binaryE.pro
- echo -e "TEMPLATE=subdirs\nSUBDIRS=${SUBDIRS}\n" >all.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=${SUBDIRS}\n" >all.pro
for d in ${SUBDIRS}
do
if [ -f ${d}/`basename ${d}`E.pro ];
QMAKE_PROFILES = "knights.pro"
do_configure_prepend() {
- echo -e "TEMPLATE=subdirs\nSUBDIRS=qtcompat microkde knights\n" >knights.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=qtcompat microkde knights\n" >knights.pro
}
do_install() {
-DVARRUNDIR=\"/var/run\" \
-DAWK=\"awk\" \
-DPERL=\""${bindir}/perl -w"\" -DTKPERL=\"${bindir}/tkperl\" \
- -DECHO=\""echo -e"\" \
+ -DECHO=\""printf"\" \
-DSHELL=\"/bin/bash\" \
-o mksed mksed.c
./mksed >sedscript
QMAKE_PROFILES = "imkit.pro"
do_configure_prepend() {
- echo -e "TEMPLATE=subdirs\nSUBDIRS=libimkit impls/anthy\n" > imkit.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=libimkit impls/anthy\n" > imkit.pro
}
do_configure_prepend() {
sed -i -e 's,/opt/QtPalmtop/bin/,${bindir}/,g' "${S}/ui/nunome.h"
sed -i -e 's,/opt/QtPalmtop/,${palmtopdir}/,g' "${S}/ui/nunome.h"
- echo -e "TEMPLATE=subdirs\nSUBDIRS=Nnmlib server ui dicman ui" >nunome.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=Nnmlib server ui dicman ui\n" >nunome.pro
pushd Nnmlib && qmake -project -t lib && popd
- pushd server && qmake -project && echo -e "LIBS+=-lNnmlib\nTARGET=server.bin" >> server.pro && popd
- pushd dicman && qmake -project && echo -e "LIBS+=-lnunome -lNnmlib\nTARGET=dicman.bin" >> dicman.pro && popd
- pushd ui && qmake -project -t lib && echo -e "LIBS+=-lNnmlib\nTARGET=nunome" >> ui.pro && popd
+ pushd server && qmake -project && printf "LIBS+=-lNnmlib\nTARGET=server.bin\n" >> server.pro && popd
+ pushd dicman && qmake -project && printf "LIBS+=-lnunome -lNnmlib\nTARGET=dicman.bin\n" >> dicman.pro && popd
+ pushd ui && qmake -project -t lib && printf "LIBS+=-lNnmlib\nTARGET=nunome\n" >> ui.pro && popd
find . -name "moc*"|xargs rm -f
find . -name "Makefile"|xargs rm -f
}
}
do_configure_prepend() {
- echo -e "TEMPLATE=subdirs\nSUBDIRS=${SIP_MODULES}\n" >pyqt.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=${SIP_MODULES}\n" >pyqt.pro
}
do_stage() {
LIBS+=-L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages"
do_configure_prepend() {
- echo -e "TEMPLATE=subdirs\nSUBDIRS=qt qtcanvas qttable qtpe\n" >pyqt.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=qt qtcanvas qttable qtpe\n" >pyqt.pro
}
do_stage() {
LIBS+=-L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages"
do_generate_prepend() {
- echo -e "TEMPLATE=subdirs\nSUBDIRS=qwt\n" >pyqwt.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=qwt\n" >pyqwt.pro
echo "%Makefile qwt.pro.in" >>sip/qwtmod.sip
echo "TEMPLATE=lib" >>sip/qwtmod.sip
MIMEFILE=/opt/QtPalmtop/etc/mime.types
-grep -q application/puz $MIMEFILE 2>/dev/null || echo -e "application/crossword\t\tpuz tpz" >> $MIMEFILE
+grep -q application/puz $MIMEFILE 2>/dev/null || printf "application/crossword\t\tpuz tpz\n" >> $MIMEFILE
}
inherit opie
do_configure_prepend() {
cd ${S}/
- echo -e "TEMPLATE=subdirs\nSUBDIRS=${UTILS}\n" >slutils.pro
+ printf "TEMPLATE=subdirs\nSUBDIRS=${UTILS}\n" >slutils.pro
}
do_install() {