@@ -186,13 +186,34 @@ autotools_do_configure() {
echo "no" | glib-gettextize --force --copy
fi
elif [ "${BPN}" != "gettext" ] && grep -q "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC; then
- # We'd call gettextize here if it wasn't so broken...
+ # Gettextize could be called here, however it doesn't make the job much easier:
+ # It doesn't discover relevant po folders on its own, so they still need to be
+ # found by some heurestics. Also, it would require always the full gettext
+ # package always, instead of gettext-minimal-native.
cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
- if [ -d ${S}/po/ ]; then
- cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
- if [ ! -e ${S}/po/remove-potcdate.sed ]; then
- cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sed ${S}/po/
+ if [ -d ${S}/po ]; then
+ # Copy the latest Makefile.in.in to the /po folder, regardless if it exists or not
+ # If it exists, then also look for identical Makefile.in.in files, and update them too
+ makefiles_to_update="./po/Makefile.in.in"
+ if [ -f ${S}/po/Makefile.in.in ]; then
+ # search for all Makefile.in.in files that are identical to ./po/Makefile.in.in, by md5sum
+ base_makefile_hash=`md5sum ${S}/po/Makefile.in.in | tr -s ' ' | cut -f1 -d' '`
+ makefiles_to_update=`find ${S} -name Makefile.in.in -exec md5sum {} \+ | grep $base_makefile_hash | tr -s ' ' | cut -d' ' -f2`
fi
+ bbnote List of Makefile.in.ins to update: $makefiles_to_update
+ for makefile in ${makefiles_to_update}; do
+ makefile_dir=$(dirname $makefile)
+ bbnote Executing: cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${makefile_dir}/
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${makefile_dir}/
+ if [ ! -e ${makefile_dir}/remove-potcdate.sed ]; then
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sed ${makefile_dir}/
+ fi
+ done
+ for makevars in `find ${S} -name Makevars`; do
+ bbnote Concatenating Makevars: $makevars
+ cat ${STAGING_DATADIR_NATIVE}/gettext/po/Makevars.template.minimal ${makevars} >> ${makevars}.yocto_temp
+ mv ${makevars}.yocto_temp ${makevars}
+ done
fi
PRUNE_M4="$PRUNE_M4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4"
fi
similarity index 87%
rename from meta/recipes-core/gettext/gettext-minimal-native_0.23.1.bb
rename to meta/recipes-core/gettext/gettext-minimal-native_0.26.bb
@@ -24,7 +24,7 @@ python get_aclocal_files() {
with open(fpath) as f:
content = f.read()
for l in content.replace("\\\n","").split("\n"):
- if l.startswith("aclocal_DATA"):
+ if l.startswith("macros_DATA"):
aclocal_files = l.split("=")[1]
with open(oe.path.join(d.getVar("WORKDIR"),"aclocal-files"),'w') as outf:
outf.write(aclocal_files)
@@ -43,4 +43,6 @@ do_install () {
cp ${S}/build-aux/config.rpath ${D}${datadir}/gettext/
cp ${S}/gettext-runtime/po/Makefile.in.in ${D}${datadir}/gettext/po/
cp ${S}/gettext-runtime/po/remove-potcdate.sed ${D}${datadir}/gettext/po/
+ # The gettext recipe also installs the same Makevars.template at the same place, rename it
+ cp ${S}/gettext-tools/po/Makevars.template ${D}${datadir}/gettext/po/Makevars.template.minimal
}
@@ -1,4 +1,3 @@
HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
-SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
- "
-SRC_URI[sha256sum] = "52a578960fe308742367d75cd1dff8552c5797bd0beba7639e12bdcda28c0e49"
+SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz"
+SRC_URI[sha256sum] = "39acf4b0371e9b110b60005562aace5b3631fed9b1bb9ecccfc7f56e58bb1d7f"
@@ -16,10 +16,10 @@ diff --git a/gettext-tools/tests/autopoint-3 b/gettext-tools/tests/autopoint-3
index af2e17f..46cf3f7 100755
--- a/gettext-tools/tests/autopoint-3
+++ b/gettext-tools/tests/autopoint-3
-@@ -137,6 +137,7 @@ ${CONFIG_SHELL} ./configure >/dev/null 2>autopoint.err
- test $? = 0 || { cat autopoint.err; Exit 1; }
-
- : ${MAKE=make}
+@@ -149,6 +149,7 @@
+ *) MAKE=make ;;
+ esac
+ fi
+unset MAKEFLAGS
${MAKE} >/dev/null 2>autopoint.err
test $? = 0 || { cat autopoint.err; Exit 1; }
@@ -18,23 +18,23 @@ diff --git a/configure.ac b/configure.ac
index 5106676..3114998 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -22,7 +22,7 @@ AC_INIT([gettext],
- [bug-gettext@gnu.org])
- AC_CONFIG_SRCDIR([gettext-tools/src/msgfmt.c])
- AC_CONFIG_AUX_DIR([build-aux])
+@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ VERSION_NUMBER=`cd $srcdir \
+ && build-aux/git-version-gen .tarball-version`
+ gl_INIT_PACKAGE_VERSION([$VERSION_NUMBER])
-AM_INIT_AUTOMAKE([1.13 silent-rules parallel-tests tar-ustar])
+AM_INIT_AUTOMAKE([1.13 silent-rules serial-tests tar-ustar])
- dnl Override automake's tar command used for creating distributions.
- am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"'
+ dnl Override automake's tar command used for creating distributions:
+ dnl - Sort the files by basename, not by dirname, to achieve higher compression
diff --git a/gettext-runtime/configure.ac b/gettext-runtime/configure.ac
index e128f5b..9f7447c 100644
--- a/gettext-runtime/configure.ac
+++ b/gettext-runtime/configure.ac
-@@ -22,7 +22,7 @@ AC_INIT([gettext-runtime],
- [bug-gettext@gnu.org])
- AC_CONFIG_SRCDIR([intl/dcigettext.c])
- AC_CONFIG_AUX_DIR([../build-aux])
+@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([../build-aux])
+ VERSION_NUMBER=`cd $srcdir/.. \
+ && build-aux/git-version-gen .tarball-version`
+ gl_INIT_PACKAGE_VERSION([$VERSION_NUMBER])
-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
+AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests])
AC_CONFIG_HEADERS([config.h])
@@ -44,10 +44,10 @@ diff --git a/gettext-tools/configure.ac b/gettext-tools/configure.ac
index 3b1f461..14510a9 100644
--- a/gettext-tools/configure.ac
+++ b/gettext-tools/configure.ac
-@@ -22,7 +22,7 @@ AC_INIT([gettext-tools],
- [bug-gettext@gnu.org])
- AC_CONFIG_SRCDIR([src/msgfmt.c])
- AC_CONFIG_AUX_DIR([../build-aux])
+@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([../build-aux])
+ VERSION_NUMBER=`cd $srcdir/.. \
+ && build-aux/git-version-gen .tarball-version`
+ gl_INIT_PACKAGE_VERSION([$VERSION_NUMBER])
-AM_INIT_AUTOMAKE([1.11.1 silent-rules parallel-tests])
+AM_INIT_AUTOMAKE([1.11.1 silent-rules serial-tests])
AC_CONFIG_HEADERS([config.h])
@@ -12,6 +12,11 @@ Simply delete all the crazy, and replace with a single call to pkg-config.
Upstream-Status: Inappropriate [upstream still refuse to consider pkg-config]
Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+Added also selinux discovery.
+
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+
---
gettext-tools/gnulib-m4/libxml.m4 | 105 ++---------------------
libtextstyle/gnulib-local/m4/libglib.m4 | 106 +++---------------------
@@ -389,3 +394,37 @@ index baa2cf4..b287c5b 100644
AC_SUBST([LIBGLIB])
AC_SUBST([LTLIBGLIB])
AC_SUBST([INCGLIB])
+
+diff --git a/gettext-tools/gnulib-m4/selinux-selinux-h.m4 b/gettext-tools/gnulib-m4/selinux-selinux-h.m4
+index e2613fa..2a733a7 100644
+--- a/gettext-tools/gnulib-m4/selinux-selinux-h.m4
++++ b/gettext-tools/gnulib-m4/selinux-selinux-h.m4
+@@ -71,6 +71,7 @@ AC_DEFUN([gl_LIBSELINUX],
+ [
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_CANONICAL_BUILD])
++ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+
+ AC_ARG_WITH([selinux],
+ AS_HELP_STRING([[--without-selinux]], [do not use SELinux, even on systems with SELinux]),
+@@ -79,19 +80,8 @@ AC_DEFUN([gl_LIBSELINUX],
+ LIB_SELINUX=
+ if test "$with_selinux" != no; then
+ gl_saved_LIBS=$LIBS
+- AC_SEARCH_LIBS([setfilecon], [selinux],
+- [test "$ac_cv_search_setfilecon" = "none required" ||
+- LIB_SELINUX=$ac_cv_search_setfilecon])
++ PKG_CHECK_MODULES([SELINUX], [libselinux], [LIB_SELINUX=$SELINUX_LIBS])
+ LIBS=$gl_saved_LIBS
+ fi
+ AC_SUBST([LIB_SELINUX])
+-
+- # Warn if SELinux is found but libselinux is absent;
+- if test "$ac_cv_search_setfilecon" = no; then
+- if test "$host" = "$build" && test -d /selinux; then
+- AC_MSG_WARN([This system supports SELinux but libselinux is missing.])
+- AC_MSG_WARN([AC_PACKAGE_NAME will be compiled without SELinux support.])
+- fi
+- with_selinux=no
+- fi
+ ])
similarity index 94%
rename from meta/recipes-core/gettext/gettext_0.23.1.bb
rename to meta/recipes-core/gettext/gettext_0.26.bb
@@ -37,7 +37,6 @@ EXTRA_OECONF += "--without-lispdir \
--disable-java \
--disable-native-java \
--disable-openmp \
- --disable-acl \
--without-emacs \
--without-cvs \
--without-git \
@@ -56,7 +55,7 @@ EXTRA_OECONF:append:libc-musl = "\
--enable-threads=posix \
gt_cv_func_printf_posix=yes \
"
-PACKAGECONFIG ??= "glib libxml"
+PACKAGECONFIG ??= "glib libxml ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
PACKAGECONFIG:class-native = ""
PACKAGECONFIG:class-nativesdk = ""
@@ -66,6 +65,7 @@ PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml
# or problems if $libdir isn't $prefix/lib.
PACKAGECONFIG[libunistring] = "--with-libunistring-prefix=${STAGING_LIBDIR}/..,--with-included-libunistring,libunistring"
PACKAGECONFIG[msgcat-curses] = "--with-libncurses-prefix=${STAGING_LIBDIR}/..,--disable-curses,ncurses,"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux --disable-acl,attr libselinux"
do_install:append:libc-musl () {
rm -f ${D}${libdir}/charset.alias
@@ -94,7 +94,8 @@ FILES:${PN} += "${libdir}/${BPN}/"
# The its/Makefile.am has defined:
# itsdir = $(pkgdatadir)$(PACKAGE_SUFFIX)/its
# not itsdir = $(pkgdatadir), so use wildcard to match the version.
-FILES:${PN} += "${datadir}/${BPN}-*/*"
+FILES:${PN} += "${datadir}/${BPN}-*/* \
+ ${datadir}/${BPN}/m4/*"
FILES:gettext-runtime = "${bindir}/gettext \
${bindir}/ngettext \
@@ -175,7 +176,9 @@ do_install_ptest() {
find ${D}${PTEST_PATH}/ -name "*.o" -exec rm {} \;
chmod 0755 ${D}${PTEST_PATH}/tests/lang-vala ${D}${PTEST_PATH}/tests/plural-1 ${D}${PTEST_PATH}/tests/xgettext-tcl-4 \
${D}${PTEST_PATH}/tests/xgettext-vala-1 ${D}${PTEST_PATH}/tests/xgettext-po-2 ${D}${PTEST_PATH}/tests/xgettext-vala-6 \
- ${D}${PTEST_PATH}/tests/plural-3 ${D}${PTEST_PATH}/tests/plural-4 ${D}${PTEST_PATH}/tests/xgettext-java-8 ${D}${PTEST_PATH}/tests/xgettext-java-9
+ ${D}${PTEST_PATH}/tests/plural-3 ${D}${PTEST_PATH}/tests/plural-4 ${D}${PTEST_PATH}/tests/xgettext-java-8 ${D}${PTEST_PATH}/tests/xgettext-java-9 \
+ ${D}${PTEST_PATH}/tests/msgfmt-21 ${D}${PTEST_PATH}/tests/format-modula2-1 ${D}${PTEST_PATH}/tests/format-modula2-2 \
+ ${D}${PTEST_PATH}/tests/lang-go ${D}${PTEST_PATH}/tests/lang-ruby ${D}${PTEST_PATH}/tests/lang-modula2 ${D}${PTEST_PATH}/tests/lang-d
sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env
}