All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates
@ 2012-04-04 14:46 Maxime Ripard
  2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard
  2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard
  0 siblings, 2 replies; 19+ messages in thread
From: Maxime Ripard @ 2012-04-04 14:46 UTC (permalink / raw)
  To: buildroot

The following changes since commit 2e59d1d7ed669fc0a8e563a37b418ea424b6eefe:

  e2fsprogs: bump to version 1.42.2 (2012-04-03 23:27:02 +0200)

are available in the git repository at:
  git://git.free-electrons.com/users/maxime-ripard/buildroot.git for-2012.05/packages-updates

Maxime Ripard (2):
      Convert gettext to autotargets
      Bump systemd to version 44

 package/gettext/Config.in                   |   12 --
 package/gettext/gettext.mk                  |  168 +++------------------------
 package/gettext/libdir-la.patch             |  154 ------------------------
 package/systemd/systemd-fix-page-size.patch |   43 +++++++
 package/systemd/systemd.mk                  |   24 +++--
 5 files changed, 72 insertions(+), 329 deletions(-)
 delete mode 100644 package/gettext/libdir-la.patch
 create mode 100644 package/systemd/systemd-fix-page-size.patch

Thanks,
-- 
Maxime Ripard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/2] Convert gettext to autotargets
  2012-04-04 14:46 [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates Maxime Ripard
@ 2012-04-04 14:46 ` Maxime Ripard
  2012-04-04 14:56   ` Maxime Ripard
  2012-04-15 19:09   ` [Buildroot] [PATCH 1/1] " Samuel Martin
  2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard
  1 sibling, 2 replies; 19+ messages in thread
From: Maxime Ripard @ 2012-04-04 14:46 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/gettext/Config.in       |   12 ---
 package/gettext/gettext.mk      |  168 +++-----------------------------------
 package/gettext/libdir-la.patch |  154 -----------------------------------
 3 files changed, 14 insertions(+), 320 deletions(-)
 delete mode 100644 package/gettext/libdir-la.patch

diff --git a/package/gettext/Config.in b/package/gettext/Config.in
index fabfe1e..0ee4065 100644
--- a/package/gettext/Config.in
+++ b/package/gettext/Config.in
@@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT
 comment "gettext requires a toolchain with WCHAR support"
 	depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR
 
-config BR2_PACKAGE_GETTEXT_STATIC
-	bool "Use libgettext.a instead of libgettext.so.*"
-	depends on BR2_PACKAGE_GETTEXT
-	depends on BR2_arm
-	help
-	  The GNU `gettext' utilities are a set of tools that provide a
-	  framework to help other GNU packages produce multi-lingual
-	  messages.
-
-	  http://www.gnu.org/software/gettext/
-
-
 config BR2_PACKAGE_LIBINTL
 	bool "libintl"
 	depends on BR2_NEEDS_GETTEXT
diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
index f3605da..7c7b26c 100644
--- a/package/gettext/gettext.mk
+++ b/package/gettext/gettext.mk
@@ -3,162 +3,22 @@
 # gettext
 #
 #############################################################
-GETTEXT_VERSION:=0.16.1
-GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz
-GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext
-GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION)
-GETTEXT_CAT:=$(ZCAT)
-GETTEXT_BINARY:=gettext-runtime/src/gettext
-GETTEXT_TARGET_BINARY:=usr/bin/gettext
+GETTEXT_VERSION = 0.16.1
+GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext
+GETTEXT_INSTALL_STAGING = YES
 
-ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y)
-LIBINTL_TARGET_BINARY:=usr/lib/libintl.a
-else
-LIBINTL_TARGET_BINARY:=usr/lib/libintl.so
-endif
-
-$(DL_DIR)/$(GETTEXT_SOURCE):
-	 $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE))
-
-gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE)
-
-$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE)
-	$(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch
-	$(call CONFIG_UPDATE,$(@D))
-	touch $@
-
-ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext
-endif
-
-$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked
-	(cd $(GETTEXT_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(TARGET_CONFIGURE_ARGS) \
-		ac_cv_func_strtod=yes \
-		ac_fsusage_space=yes \
-		fu_cv_sys_stat_statfs2_bsize=yes \
-		ac_cv_func_closedir_void=no \
-		ac_cv_func_getloadavg=no \
-		ac_cv_lib_util_getloadavg=no \
-		ac_cv_lib_getloadavg_getloadavg=no \
-		ac_cv_func_getgroups=yes \
-		ac_cv_func_getgroups_works=yes \
-		ac_cv_func_chown_works=yes \
-		ac_cv_have_decl_euidaccess=no \
-		ac_cv_func_euidaccess=no \
-		ac_cv_have_decl_strnlen=yes \
-		ac_cv_func_strnlen_working=yes \
-		ac_cv_func_lstat_dereferences_slashed_symlink=yes \
-		ac_cv_func_lstat_empty_string_bug=no \
-		ac_cv_func_stat_empty_string_bug=no \
-		vb_cv_func_rename_trailing_slash_bug=no \
-		ac_cv_have_decl_nanosleep=yes \
-		jm_cv_func_nanosleep_works=yes \
-		gl_cv_func_working_utimes=yes \
-		ac_cv_func_utime_null=yes \
-		ac_cv_have_decl_strerror_r=yes \
-		ac_cv_func_strerror_r_char_p=no \
-		jm_cv_func_svid_putenv=yes \
-		ac_cv_func_getcwd_null=yes \
-		ac_cv_func_getdelim=yes \
-		ac_cv_func_mkstemp=yes \
-		utils_cv_func_mkstemp_limitations=no \
-		utils_cv_func_mkdir_trailing_slash_bug=no \
-		jm_cv_func_gettimeofday_clobber=no \
-		gl_cv_func_working_readdir=yes \
-		jm_ac_cv_func_link_follows_symlink=no \
-		utils_cv_localtime_cache=no \
-		ac_cv_struct_st_mtim_nsec=no \
-		gl_cv_func_tzset_clobber=no \
-		gl_cv_func_getcwd_null=yes \
-		gl_cv_func_getcwd_path_max=yes \
-		ac_cv_func_fnmatch_gnu=yes \
-		am_getline_needs_run_time_check=no \
-		am_cv_func_working_getline=yes \
-		gl_cv_func_mkdir_trailing_slash_bug=no \
-		gl_cv_func_mkstemp_limitations=no \
-		ac_cv_func_working_mktime=yes \
-		jm_cv_func_working_re_compile_pattern=yes \
-		ac_use_included_regex=no \
-		gl_cv_c_restrict=no \
-		./configure $(QUIET) \
-		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
-		--build=$(GNU_HOST_NAME) \
-		--prefix=/usr \
-		--exec-prefix=/usr \
-		--disable-libasprintf \
-		--enable-shared \
-		$(IGNORE_EXTERNAL_GETTEXT) \
-		--disable-openmp \
-	)
-	touch $@
+GETTEXT_CONF_OPT += \
+	--disable-libasprintf \
+	--disable-openmp \
 
-$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
-	$(MAKE) -C $(GETTEXT_DIR)
-	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
+define GETTEXT_REMOVE_BINARIES
+	rm -f $(TARGET_DIR)/usr/bin/gettext
+	rm -f $(TARGET_DIR)/usr/bin/gettext.sh
+	rm -f $(TARGET_DIR)/usr/bin/gettextize
+endef
 
-$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY)
-	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la
-	rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \
-		autopoint envsubst gettext.sh gettextize msg* ?gettext)
-	touch -c $@
-
-gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-
-gettext-unpacked: $(GETTEXT_DIR)/.unpacked
-
-gettext-clean:
-	-$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
-	-$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
-	-$(MAKE) -C $(GETTEXT_DIR) clean
-
-gettext-dirclean:
-	rm -rf $(GETTEXT_DIR)
-
-#############################################################
-#
-# gettext on the target
-#
-#############################################################
-
-gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY)
-	$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install
-	chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped
-
-$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \
-		$(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/
-	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so*
-	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so*
-	rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \
-		libgettext*.so*.la libintl*.so*.la)
-	touch -c $@
-
-$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/
-	cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/
-	touch -c $@
-
-libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
 ifeq ($(BR2_PACKAGE_LIBINTL),y)
-TARGETS+=libintl
-endif
-ifeq ($(BR2_PACKAGE_GETTEXT),y)
-TARGETS+=gettext
+	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
 endif
+
+$(eval $(call AUTOTARGETS))
diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch
deleted file mode 100644
index d5076c1..0000000
--- a/package/gettext/libdir-la.patch
+++ /dev/null
@@ -1,154 +0,0 @@
---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig	2007-01-13 14:33:23.000000000 -0700
-+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh	2007-01-13 14:35:10.000000000 -0700
-@@ -234,8 +234,9 @@
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  $echo "$modename: unable to infer tagged configuration"
--	  $echo "$modename: specify a tag with \`--tag'" 1>&2
--	  exit $EXIT_FAILURE
-+	  $echo "$modename: defaulting to \`CC'"
-+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
-+#	  exit $EXIT_FAILURE
- #        else
- #          $echo "$modename: using $tagname tagged configuration"
- 	fi
-@@ -2324,8 +2325,14 @@
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+            # Adding 'libdir' from the .la file to our library search paths
-+            # breaks crosscompilation horribly.  We cheat here and don't add
-+            # it, instead adding the path where we found the .la.  -CL
-+	    dir="$abs_ladir"
-+	    absdir="$abs_ladir"
-+	    libdir="$abs_ladir"
-+	    #dir="$libdir"
-+	    #absdir="$libdir"
- 	  fi
- 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- 	else
-@@ -2800,6 +2807,16 @@
- 		esac
- 		if grep "^installed=no" $deplib > /dev/null; then
- 		  path="$absdir/$objdir"
-+#		This interferes with crosscompilation. -CL
-+#		else
-+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+#		  if test -z "$libdir"; then
-+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-+#		    exit 1
-+#		  fi
-+#		  if test "$absdir" != "$libdir"; then
-+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-+#		  fi
- 		else
- 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  if test -z "$libdir"; then
-@@ -5210,6 +5227,10 @@
- 	    # Replace all uninstalled libtool libraries with the installed ones
- 	    newdependency_libs=
- 	    for deplib in $dependency_libs; do
-+              # Replacing uninstalled with installed can easily break crosscompilation,
-+              # since the installed path is generally the wrong architecture.  -CL
-+              newdependency_libs="$newdependency_libs $deplib"
-+              continue
- 	      case $deplib in
- 	      *.la)
- 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-@@ -5528,10 +5549,13 @@
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
--	  if test "$inst_prefix_dir" = "$destdir"; then
--	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
--	    exit $EXIT_FAILURE
--	  fi
-+	  #
-+	  # This breaks install into our staging area.  -PB
-+	  # 
-+	  # if test "$inst_prefix_dir" = "$destdir"; then
-+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-+	  #   exit $EXIT_FAILURE
-+	  # fi
- 
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
---- gettext-0.14.6/build-aux/ltmain.sh.orig	2005-05-20 15:03:38.000000000 -0600
-+++ gettext-0.14.6/build-aux/ltmain.sh	2007-01-13 14:34:27.000000000 -0700
-@@ -234,8 +234,9 @@
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  $echo "$modename: unable to infer tagged configuration"
--	  $echo "$modename: specify a tag with \`--tag'" 1>&2
--	  exit $EXIT_FAILURE
-+	  $echo "$modename: defaulting to \`CC'"
-+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
-+#	  exit $EXIT_FAILURE
- #        else
- #          $echo "$modename: using $tagname tagged configuration"
- 	fi
-@@ -2324,8 +2325,14 @@
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+            # Adding 'libdir' from the .la file to our library search paths
-+            # breaks crosscompilation horribly.  We cheat here and don't add
-+            # it, instead adding the path where we found the .la.  -CL
-+	    dir="$abs_ladir"
-+	    absdir="$abs_ladir"
-+	    libdir="$abs_ladir"
-+	    #dir="$libdir"
-+	    #absdir="$libdir"
- 	  fi
- 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- 	else
-@@ -2800,6 +2807,16 @@
- 		esac
- 		if grep "^installed=no" $deplib > /dev/null; then
- 		  path="$absdir/$objdir"
-+#		This interferes with crosscompilation. -CL
-+#		else
-+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+#		  if test -z "$libdir"; then
-+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-+#		    exit 1
-+#		  fi
-+#		  if test "$absdir" != "$libdir"; then
-+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-+#		  fi
- 		else
- 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  if test -z "$libdir"; then
-@@ -5210,6 +5227,10 @@
- 	    # Replace all uninstalled libtool libraries with the installed ones
- 	    newdependency_libs=
- 	    for deplib in $dependency_libs; do
-+              # Replacing uninstalled with installed can easily break crosscompilation,
-+              # since the installed path is generally the wrong architecture.  -CL
-+              newdependency_libs="$newdependency_libs $deplib"
-+              continue
- 	      case $deplib in
- 	      *.la)
- 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-@@ -5528,10 +5549,13 @@
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
--	  if test "$inst_prefix_dir" = "$destdir"; then
--	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
--	    exit $EXIT_FAILURE
--	  fi
-+	  #
-+	  # This breaks install into our staging area.  -PB
-+	  # 
-+	  # if test "$inst_prefix_dir" = "$destdir"; then
-+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-+	  #   exit $EXIT_FAILURE
-+	  # fi
- 
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/2] Bump systemd to version 44
  2012-04-04 14:46 [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates Maxime Ripard
  2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard
@ 2012-04-04 14:46 ` Maxime Ripard
  2012-04-05 11:16   ` Peter Korsgaard
  1 sibling, 1 reply; 19+ messages in thread
From: Maxime Ripard @ 2012-04-04 14:46 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
 package/systemd/systemd-fix-page-size.patch |   43 +++++++++++++++++++++++++++
 package/systemd/systemd.mk                  |   24 +++++++++-----
 2 files changed, 58 insertions(+), 9 deletions(-)
 create mode 100644 package/systemd/systemd-fix-page-size.patch

diff --git a/package/systemd/systemd-fix-page-size.patch b/package/systemd/systemd-fix-page-size.patch
new file mode 100644
index 0000000..241ceb8
--- /dev/null
+++ b/package/systemd/systemd-fix-page-size.patch
@@ -0,0 +1,43 @@
+commit 7264278fbbdc1dc6c30fedc902d1337594aa6ff6
+Author: Lennart Poettering <lennart@poettering.net>
+Date:   Wed Mar 21 23:47:44 2012 +0100
+
+    journal: PAGE_SIZE is not known on ppc and other archs
+    
+    Let's use NAME_MAX, as suggested by Dan Walsh
+
+diff --git a/src/journal/journald.c b/src/journal/journald.c
+index d27cb60..87390bd 100644
+--- a/src/journal/journald.c
++++ b/src/journal/journald.c
+@@ -29,7 +29,6 @@
+ #include <sys/ioctl.h>
+ #include <linux/sockios.h>
+ #include <sys/statvfs.h>
+-#include <sys/user.h>
+ 
+ #include <systemd/sd-journal.h>
+ #include <systemd/sd-login.h>
+@@ -2149,10 +2148,20 @@ static int process_event(Server *s, struct epoll_event *ev) {
+                         size_t label_len = 0;
+                         union {
+                                 struct cmsghdr cmsghdr;
++
++                                /* We use NAME_MAX space for the
++                                 * SELinux label here. The kernel
++                                 * currently enforces no limit, but
++                                 * according to suggestions from the
++                                 * SELinux people this will change and
++                                 * it will probably be identical to
++                                 * NAME_MAX. For now we use that, but
++                                 * this should be updated one day when
++                                 * the final limit is known.*/
+                                 uint8_t buf[CMSG_SPACE(sizeof(struct ucred)) +
+                                             CMSG_SPACE(sizeof(struct timeval)) +
+-                                            CMSG_SPACE(sizeof(int)) +
+-                                            CMSG_SPACE(PAGE_SIZE)]; /* selinux label */
++                                            CMSG_SPACE(sizeof(int)) + /* fd */
++                                            CMSG_SPACE(NAME_MAX)]; /* selinux label */
+                         } control;
+                         ssize_t n;
+                         int v;
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index eded472..717bdcc 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -3,9 +3,9 @@
 # systemd
 #
 #############################################################
-SYSTEMD_VERSION = 37
+SYSTEMD_VERSION = 44
 SYSTEMD_SITE = http://www.freedesktop.org/software/systemd/
-SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.bz2
+SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
 SYSTEMD_DEPENDENCIES = \
 	host-intltool \
 	libcap \
@@ -32,7 +32,8 @@ SYSTEMD_CONF_OPT += \
 	--with-dbusinterfacedir=/usr/share/dbus-1/interfaces \
 	--with-udevrulesdir=/etc/udev/rules.d \
 	--with-sysvinit-path=/etc/init.d/ \
-	--without-sysvrcd-path
+	--without-sysvrcd-path \
+	--enable-split-usr
 
 ifeq ($(BR2_PACKAGE_ACL),y)
 	SYSTEMD_CONF_OPT += --enable-acl
@@ -41,21 +42,26 @@ else
 	SYSTEMD_CONF_OPT += --disable-acl
 endif
 
+ifneq ($(BR2_LARGEFILE),y)
+	SYSTEMD_CONF_OPT += --disable-largefile
+endif
+
 # mq_getattr needs -lrt
 SYSTEMD_MAKE_OPT += LIBS=-lrt
+SYSTEMD_MAKE_OPT += LDFLAGS+=-ldl
 
 define SYSTEMD_INSTALL_INIT_HOOK
-	ln -fs ../bin/systemd $(TARGET_DIR)/sbin/init
-	ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt
-	ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff
-	ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot
+	ln -fs ../usr/lib/systemd/systemd $(TARGET_DIR)/sbin/init
+	ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt
+	ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff
+	ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot
 
-	ln -fs ../../../../lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target
+	ln -fs ../../../usr/lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target
 endef
 
 define SYSTEMD_INSTALL_TTY_HOOK
 	rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty at tty1.service
-	ln -fs ../../../../lib/systemd/system/serial-getty at .service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service
+	ln -fs ../../../../usr/lib/systemd/system/serial-getty at .service $(TARGET_DIR)/etc/systemd/system/getty.target.wants/serial-getty@$(BR2_TARGET_GENERIC_GETTY_PORT).service
 endef
 
 SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/2] Convert gettext to autotargets
  2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard
@ 2012-04-04 14:56   ` Maxime Ripard
  2012-05-08 11:19     ` [Buildroot] [PATCH 1/3] " Samuel Martin
  2012-04-15 19:09   ` [Buildroot] [PATCH 1/1] " Samuel Martin
  1 sibling, 1 reply; 19+ messages in thread
From: Maxime Ripard @ 2012-04-04 14:56 UTC (permalink / raw)
  To: buildroot

Hi List,

While this patch is definitely needed I think, the implementation is
still to be discussed imho.

There was two options here for the gettext package: BR2_PACKAGE_GETTEXT
and BR2_PACKAGE_LIBINTL.

It seems that these two were quite confusing. BR2_PACKAGE_GETTEXT was
only installing stuff in the staging area, but what for ?

So here, judging by the help message in the Config.in, my understanding
is that:
   - BR2_PACKAGE_GETTEXT should be built both in staging and in the
target area
   - BR2_PACKAGE_LIBINTL should be only to build gettext without the binary
   - So BR2_PACKAGE_LIBINTL should only remove generated binaries, and
as such be a sub-option of BR2_PACKAGE_GETTEXT

This what is implemented in this patch.

Now, as we are slightly modifying the relations between these two
options, package that depends on them should be adapted.

Right now, we have three cases:
  * Packages that depend on BR2_PACKAGE_GETTEXT: libidn, php
  * Packages that depend on BR2_PACKAGE_LIBINTL: pulseaudio, dnsmasq,
util-linux
  * Packages that depend on both: make, grep, vala, psmisc, binutils,
pango, glib-networking, gmpc, axel, avahi, sysstat, libglib2, diffutils,
kbd, flex, gdk-pixbuf, libsoup, sshfs

So I guess that they need to all depend only on BR2_PACKAGE_GETTEXT if
such change in the options is adopted.

What do you think of it ?

Maxime


Le 04/04/2012 16:46, Maxime Ripard a ?crit :
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
>  package/gettext/Config.in       |   12 ---
>  package/gettext/gettext.mk      |  168 +++-----------------------------------
>  package/gettext/libdir-la.patch |  154 -----------------------------------
>  3 files changed, 14 insertions(+), 320 deletions(-)
>  delete mode 100644 package/gettext/libdir-la.patch
> 
> diff --git a/package/gettext/Config.in b/package/gettext/Config.in
> index fabfe1e..0ee4065 100644
> --- a/package/gettext/Config.in
> +++ b/package/gettext/Config.in
> @@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT
>  comment "gettext requires a toolchain with WCHAR support"
>  	depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR
>  
> -config BR2_PACKAGE_GETTEXT_STATIC
> -	bool "Use libgettext.a instead of libgettext.so.*"
> -	depends on BR2_PACKAGE_GETTEXT
> -	depends on BR2_arm
> -	help
> -	  The GNU `gettext' utilities are a set of tools that provide a
> -	  framework to help other GNU packages produce multi-lingual
> -	  messages.
> -
> -	  http://www.gnu.org/software/gettext/
> -
> -
>  config BR2_PACKAGE_LIBINTL
>  	bool "libintl"
>  	depends on BR2_NEEDS_GETTEXT
> diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
> index f3605da..7c7b26c 100644
> --- a/package/gettext/gettext.mk
> +++ b/package/gettext/gettext.mk
> @@ -3,162 +3,22 @@
>  # gettext
>  #
>  #############################################################
> -GETTEXT_VERSION:=0.16.1
> -GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz
> -GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext
> -GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION)
> -GETTEXT_CAT:=$(ZCAT)
> -GETTEXT_BINARY:=gettext-runtime/src/gettext
> -GETTEXT_TARGET_BINARY:=usr/bin/gettext
> +GETTEXT_VERSION = 0.16.1
> +GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext
> +GETTEXT_INSTALL_STAGING = YES
>  
> -ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y)
> -LIBINTL_TARGET_BINARY:=usr/lib/libintl.a
> -else
> -LIBINTL_TARGET_BINARY:=usr/lib/libintl.so
> -endif
> -
> -$(DL_DIR)/$(GETTEXT_SOURCE):
> -	 $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE))
> -
> -gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE)
> -
> -$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE)
> -	$(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
> -	support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch
> -	$(call CONFIG_UPDATE,$(@D))
> -	touch $@
> -
> -ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y)
> -IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext
> -endif
> -
> -$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked
> -	(cd $(GETTEXT_DIR); rm -rf config.cache; \
> -		$(TARGET_CONFIGURE_OPTS) \
> -		$(TARGET_CONFIGURE_ARGS) \
> -		ac_cv_func_strtod=yes \
> -		ac_fsusage_space=yes \
> -		fu_cv_sys_stat_statfs2_bsize=yes \
> -		ac_cv_func_closedir_void=no \
> -		ac_cv_func_getloadavg=no \
> -		ac_cv_lib_util_getloadavg=no \
> -		ac_cv_lib_getloadavg_getloadavg=no \
> -		ac_cv_func_getgroups=yes \
> -		ac_cv_func_getgroups_works=yes \
> -		ac_cv_func_chown_works=yes \
> -		ac_cv_have_decl_euidaccess=no \
> -		ac_cv_func_euidaccess=no \
> -		ac_cv_have_decl_strnlen=yes \
> -		ac_cv_func_strnlen_working=yes \
> -		ac_cv_func_lstat_dereferences_slashed_symlink=yes \
> -		ac_cv_func_lstat_empty_string_bug=no \
> -		ac_cv_func_stat_empty_string_bug=no \
> -		vb_cv_func_rename_trailing_slash_bug=no \
> -		ac_cv_have_decl_nanosleep=yes \
> -		jm_cv_func_nanosleep_works=yes \
> -		gl_cv_func_working_utimes=yes \
> -		ac_cv_func_utime_null=yes \
> -		ac_cv_have_decl_strerror_r=yes \
> -		ac_cv_func_strerror_r_char_p=no \
> -		jm_cv_func_svid_putenv=yes \
> -		ac_cv_func_getcwd_null=yes \
> -		ac_cv_func_getdelim=yes \
> -		ac_cv_func_mkstemp=yes \
> -		utils_cv_func_mkstemp_limitations=no \
> -		utils_cv_func_mkdir_trailing_slash_bug=no \
> -		jm_cv_func_gettimeofday_clobber=no \
> -		gl_cv_func_working_readdir=yes \
> -		jm_ac_cv_func_link_follows_symlink=no \
> -		utils_cv_localtime_cache=no \
> -		ac_cv_struct_st_mtim_nsec=no \
> -		gl_cv_func_tzset_clobber=no \
> -		gl_cv_func_getcwd_null=yes \
> -		gl_cv_func_getcwd_path_max=yes \
> -		ac_cv_func_fnmatch_gnu=yes \
> -		am_getline_needs_run_time_check=no \
> -		am_cv_func_working_getline=yes \
> -		gl_cv_func_mkdir_trailing_slash_bug=no \
> -		gl_cv_func_mkstemp_limitations=no \
> -		ac_cv_func_working_mktime=yes \
> -		jm_cv_func_working_re_compile_pattern=yes \
> -		ac_use_included_regex=no \
> -		gl_cv_c_restrict=no \
> -		./configure $(QUIET) \
> -		--target=$(GNU_TARGET_NAME) \
> -		--host=$(GNU_TARGET_NAME) \
> -		--build=$(GNU_HOST_NAME) \
> -		--prefix=/usr \
> -		--exec-prefix=/usr \
> -		--disable-libasprintf \
> -		--enable-shared \
> -		$(IGNORE_EXTERNAL_GETTEXT) \
> -		--disable-openmp \
> -	)
> -	touch $@
> +GETTEXT_CONF_OPT += \
> +	--disable-libasprintf \
> +	--disable-openmp \
>  
> -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
> -	$(MAKE) -C $(GETTEXT_DIR)
> -	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
> +define GETTEXT_REMOVE_BINARIES
> +	rm -f $(TARGET_DIR)/usr/bin/gettext
> +	rm -f $(TARGET_DIR)/usr/bin/gettext.sh
> +	rm -f $(TARGET_DIR)/usr/bin/gettextize
> +endef
>  
> -$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY)
> -	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install
> -	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la
> -	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la
> -	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la
> -	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la
> -	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la
> -	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la
> -	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la
> -	rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \
> -		autopoint envsubst gettext.sh gettextize msg* ?gettext)
> -	touch -c $@
> -
> -gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
> -
> -gettext-unpacked: $(GETTEXT_DIR)/.unpacked
> -
> -gettext-clean:
> -	-$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
> -	-$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
> -	-$(MAKE) -C $(GETTEXT_DIR) clean
> -
> -gettext-dirclean:
> -	rm -rf $(GETTEXT_DIR)
> -
> -#############################################################
> -#
> -# gettext on the target
> -#
> -#############################################################
> -
> -gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY)
> -	$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install
> -	chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped
> -
> -$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
> -	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \
> -		$(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/
> -	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so*
> -	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so*
> -	rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \
> -		libgettext*.so*.la libintl*.so*.la)
> -	touch -c $@
> -
> -$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
> -	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/
> -	cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/
> -	touch -c $@
> -
> -libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY)
> -
> -#############################################################
> -#
> -# Toplevel Makefile options
> -#
> -#############################################################
>  ifeq ($(BR2_PACKAGE_LIBINTL),y)
> -TARGETS+=libintl
> -endif
> -ifeq ($(BR2_PACKAGE_GETTEXT),y)
> -TARGETS+=gettext
> +	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
>  endif
> +
> +$(eval $(call AUTOTARGETS))
> diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch
> deleted file mode 100644
> index d5076c1..0000000
> --- a/package/gettext/libdir-la.patch
> +++ /dev/null
> @@ -1,154 +0,0 @@
> ---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig	2007-01-13 14:33:23.000000000 -0700
> -+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh	2007-01-13 14:35:10.000000000 -0700
> -@@ -234,8 +234,9 @@
> - 	# line option must be used.
> - 	if test -z "$tagname"; then
> - 	  $echo "$modename: unable to infer tagged configuration"
> --	  $echo "$modename: specify a tag with \`--tag'" 1>&2
> --	  exit $EXIT_FAILURE
> -+	  $echo "$modename: defaulting to \`CC'"
> -+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
> -+#	  exit $EXIT_FAILURE
> - #        else
> - #          $echo "$modename: using $tagname tagged configuration"
> - 	fi
> -@@ -2324,8 +2325,14 @@
> - 	    absdir="$abs_ladir"
> - 	    libdir="$abs_ladir"
> - 	  else
> --	    dir="$libdir"
> --	    absdir="$libdir"
> -+            # Adding 'libdir' from the .la file to our library search paths
> -+            # breaks crosscompilation horribly.  We cheat here and don't add
> -+            # it, instead adding the path where we found the .la.  -CL
> -+	    dir="$abs_ladir"
> -+	    absdir="$abs_ladir"
> -+	    libdir="$abs_ladir"
> -+	    #dir="$libdir"
> -+	    #absdir="$libdir"
> - 	  fi
> - 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
> - 	else
> -@@ -2800,6 +2807,16 @@
> - 		esac
> - 		if grep "^installed=no" $deplib > /dev/null; then
> - 		  path="$absdir/$objdir"
> -+#		This interferes with crosscompilation. -CL
> -+#		else
> -+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
> -+#		  if test -z "$libdir"; then
> -+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
> -+#		    exit 1
> -+#		  fi
> -+#		  if test "$absdir" != "$libdir"; then
> -+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
> -+#		  fi
> - 		else
> - 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
> - 		  if test -z "$libdir"; then
> -@@ -5210,6 +5227,10 @@
> - 	    # Replace all uninstalled libtool libraries with the installed ones
> - 	    newdependency_libs=
> - 	    for deplib in $dependency_libs; do
> -+              # Replacing uninstalled with installed can easily break crosscompilation,
> -+              # since the installed path is generally the wrong architecture.  -CL
> -+              newdependency_libs="$newdependency_libs $deplib"
> -+              continue
> - 	      case $deplib in
> - 	      *.la)
> - 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
> -@@ -5528,10 +5549,13 @@
> - 	  # At present, this check doesn't affect windows .dll's that
> - 	  # are installed into $libdir/../bin (currently, that works fine)
> - 	  # but it's something to keep an eye on.
> --	  if test "$inst_prefix_dir" = "$destdir"; then
> --	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
> --	    exit $EXIT_FAILURE
> --	  fi
> -+	  #
> -+	  # This breaks install into our staging area.  -PB
> -+	  # 
> -+	  # if test "$inst_prefix_dir" = "$destdir"; then
> -+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
> -+	  #   exit $EXIT_FAILURE
> -+	  # fi
> - 
> - 	  if test -n "$inst_prefix_dir"; then
> - 	    # Stick the inst_prefix_dir data into the link command.
> ---- gettext-0.14.6/build-aux/ltmain.sh.orig	2005-05-20 15:03:38.000000000 -0600
> -+++ gettext-0.14.6/build-aux/ltmain.sh	2007-01-13 14:34:27.000000000 -0700
> -@@ -234,8 +234,9 @@
> - 	# line option must be used.
> - 	if test -z "$tagname"; then
> - 	  $echo "$modename: unable to infer tagged configuration"
> --	  $echo "$modename: specify a tag with \`--tag'" 1>&2
> --	  exit $EXIT_FAILURE
> -+	  $echo "$modename: defaulting to \`CC'"
> -+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
> -+#	  exit $EXIT_FAILURE
> - #        else
> - #          $echo "$modename: using $tagname tagged configuration"
> - 	fi
> -@@ -2324,8 +2325,14 @@
> - 	    absdir="$abs_ladir"
> - 	    libdir="$abs_ladir"
> - 	  else
> --	    dir="$libdir"
> --	    absdir="$libdir"
> -+            # Adding 'libdir' from the .la file to our library search paths
> -+            # breaks crosscompilation horribly.  We cheat here and don't add
> -+            # it, instead adding the path where we found the .la.  -CL
> -+	    dir="$abs_ladir"
> -+	    absdir="$abs_ladir"
> -+	    libdir="$abs_ladir"
> -+	    #dir="$libdir"
> -+	    #absdir="$libdir"
> - 	  fi
> - 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
> - 	else
> -@@ -2800,6 +2807,16 @@
> - 		esac
> - 		if grep "^installed=no" $deplib > /dev/null; then
> - 		  path="$absdir/$objdir"
> -+#		This interferes with crosscompilation. -CL
> -+#		else
> -+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
> -+#		  if test -z "$libdir"; then
> -+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
> -+#		    exit 1
> -+#		  fi
> -+#		  if test "$absdir" != "$libdir"; then
> -+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
> -+#		  fi
> - 		else
> - 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
> - 		  if test -z "$libdir"; then
> -@@ -5210,6 +5227,10 @@
> - 	    # Replace all uninstalled libtool libraries with the installed ones
> - 	    newdependency_libs=
> - 	    for deplib in $dependency_libs; do
> -+              # Replacing uninstalled with installed can easily break crosscompilation,
> -+              # since the installed path is generally the wrong architecture.  -CL
> -+              newdependency_libs="$newdependency_libs $deplib"
> -+              continue
> - 	      case $deplib in
> - 	      *.la)
> - 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
> -@@ -5528,10 +5549,13 @@
> - 	  # At present, this check doesn't affect windows .dll's that
> - 	  # are installed into $libdir/../bin (currently, that works fine)
> - 	  # but it's something to keep an eye on.
> --	  if test "$inst_prefix_dir" = "$destdir"; then
> --	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
> --	    exit $EXIT_FAILURE
> --	  fi
> -+	  #
> -+	  # This breaks install into our staging area.  -PB
> -+	  # 
> -+	  # if test "$inst_prefix_dir" = "$destdir"; then
> -+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
> -+	  #   exit $EXIT_FAILURE
> -+	  # fi
> - 
> - 	  if test -n "$inst_prefix_dir"; then
> - 	    # Stick the inst_prefix_dir data into the link command.


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/2] Bump systemd to version 44
  2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard
@ 2012-04-05 11:16   ` Peter Korsgaard
  0 siblings, 0 replies; 19+ messages in thread
From: Peter Korsgaard @ 2012-04-05 11:16 UTC (permalink / raw)
  To: buildroot

>>>>> "Maxime" == Maxime Ripard <maxime.ripard@free-electrons.com> writes:

 Maxime> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

Committed, thanks. I had to fix up a few things for uClibc though.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/1] Convert gettext to autotargets
  2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard
  2012-04-04 14:56   ` Maxime Ripard
@ 2012-04-15 19:09   ` Samuel Martin
  1 sibling, 0 replies; 19+ messages in thread
From: Samuel Martin @ 2012-04-15 19:09 UTC (permalink / raw)
  To: buildroot

Also cleanup any libintl dependency since the target does
not exist anymore (it is now part of the gettext target).

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/avahi/avahi.mk                      |    4 +-
 package/axel/axel.mk                        |    2 +-
 package/binutils/binutils.mk                |    2 +-
 package/diffutils/diffutils.mk              |    3 +-
 package/dnsmasq/dnsmasq.mk                  |    2 +-
 package/flex/flex.mk                        |    5 +-
 package/gdk-pixbuf/gdk-pixbuf.mk            |    2 +-
 package/gettext/Config.in                   |   12 --
 package/gettext/gettext.mk                  |  168 +++------------------------
 package/gettext/libdir-la.patch             |  154 ------------------------
 package/glib-networking/glib-networking.mk  |    2 +-
 package/gmpc/gmpc.mk                        |    2 +-
 package/grep/grep.mk                        |    2 +-
 package/kbd/kbd.mk                          |    2 +-
 package/libglib2/libglib2.mk                |    2 +-
 package/libsoup/libsoup.mk                  |    2 +-
 package/make/make.mk                        |    2 +-
 package/multimedia/pulseaudio/pulseaudio.mk |    2 +-
 package/pango/pango.mk                      |    2 +-
 package/psmisc/psmisc.mk                    |    2 +-
 package/sshfs/sshfs.mk                      |    2 +-
 package/sysstat/sysstat.mk                  |    2 +-
 package/util-linux/util-linux.mk            |    2 +-
 package/vala/vala.mk                        |    2 +-
 24 files changed, 37 insertions(+), 345 deletions(-)
 delete mode 100644 package/gettext/libdir-la.patch

diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk
index 32e3df7..2547e04 100644
--- a/package/avahi/avahi.mk
+++ b/package/avahi/avahi.mk
@@ -83,7 +83,7 @@ AVAHI_CONF_OPT = --localstatedir=/var \
 		--with-autoipd-user=default \
 		--with-autoipd-group=default
 
-AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-intltool host-pkg-config
+AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-intltool host-pkg-config
 
 ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),)
 AVAHI_DEPENDENCIES += libdaemon
@@ -132,7 +132,7 @@ AVAHI_CONF_OPT += --disable-python
 endif
 
 ifeq ($(BR2_PACKAGE_LIBINTL),y)
-AVAHI_DEPENDENCIES += libintl
+AVAHI_DEPENDENCIES += gettext
 AVAHI_MAKE_OPT = LIBS=-lintl
 endif
 
diff --git a/package/axel/axel.mk b/package/axel/axel.mk
index 91f6d1e..26d8b92 100644
--- a/package/axel/axel.mk
+++ b/package/axel/axel.mk
@@ -10,7 +10,7 @@ AXEL_SITE = https://alioth.debian.org/frs/download.php/3015
 AXEL_LDFLAGS = -lpthread
 
 ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
-AXEL_DEPENDENCIES += gettext libintl
+AXEL_DEPENDENCIES += gettext
 AXEL_LDFLAGS += -lintl
 endif
 
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index 8632d67..29185e2 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -18,7 +18,7 @@ BINUTILS_SITE = ftp://www.at91.com/pub/buildroot
 endif
 BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS))
 BINUTILS_INSTALL_STAGING = YES
-BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 # We need to specify host & target to avoid breaking ARM EABI
 BINUTILS_CONF_OPT = --disable-multilib --disable-werror \
diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk
index 6d1896a..a877f2f 100644
--- a/package/diffutils/diffutils.mk
+++ b/package/diffutils/diffutils.mk
@@ -7,8 +7,7 @@
 DIFFUTILS_VERSION = 3.2
 DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils
 DIFFUTILS_DEPENDENCIES = \
-	$(if $(BR2_PACKAGE_GETTEXT),gettext) \
-	$(if $(BR2_PACKAGE_LIBINTL),libintl)
+	$(if $(BR2_PACKAGE_GETTEXT),gettext)
 
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 DIFFUTILS_DEPENDENCIES += busybox
diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk
index c1995a0..5457060 100644
--- a/package/dnsmasq/dnsmasq.mk
+++ b/package/dnsmasq/dnsmasq.mk
@@ -24,7 +24,7 @@ endif
 
 ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y)
 	DNSMASQ_MAKE_OPT += all-i18n
-	DNSMASQ_DEPENDENCIES += libidn libintl
+	DNSMASQ_DEPENDENCIES += libidn gettext
 	DNSMASQ_MAKE_OPT += LDFLAGS+="-lintl -lidn"
 endif
 
diff --git a/package/flex/flex.mk b/package/flex/flex.mk
index 041aba8..b684653 100644
--- a/package/flex/flex.mk
+++ b/package/flex/flex.mk
@@ -12,9 +12,8 @@ FLEX_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex
 FLEX_DIR = $(BUILD_DIR)/flex-$(FLEX_VERSION)
 FLEX_INSTALL_STAGING = YES
 FLEX_DEPENDENCIES = \
-	$(if $(BR2_PACKAGE_GETTEXT),gettext) \
-	$(if $(BR2_PACKAGE_LIBINTL),libintl)
-# we don't have a host-gettext/libintl
+	$(if $(BR2_PACKAGE_GETTEXT),gettext)
+# we don't have a host-gettext
 HOST_FLEX_DEPENDENCIES =
 
 # lex -> flex
diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk
index 8dc1c47..4bf71e4 100644
--- a/package/gdk-pixbuf/gdk-pixbuf.mk
+++ b/package/gdk-pixbuf/gdk-pixbuf.mk
@@ -35,7 +35,7 @@ GDK_PIXBUF_DEPENDENCIES += tiff
 endif
 
 GDK_PIXBUF_DEPENDENCIES += \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	$(if $(BR2_ENABLE_LOCALE),,libiconv) \
 	host-pkg-config libglib2
 
diff --git a/package/gettext/Config.in b/package/gettext/Config.in
index fabfe1e..0ee4065 100644
--- a/package/gettext/Config.in
+++ b/package/gettext/Config.in
@@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT
 comment "gettext requires a toolchain with WCHAR support"
 	depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR
 
-config BR2_PACKAGE_GETTEXT_STATIC
-	bool "Use libgettext.a instead of libgettext.so.*"
-	depends on BR2_PACKAGE_GETTEXT
-	depends on BR2_arm
-	help
-	  The GNU `gettext' utilities are a set of tools that provide a
-	  framework to help other GNU packages produce multi-lingual
-	  messages.
-
-	  http://www.gnu.org/software/gettext/
-
-
 config BR2_PACKAGE_LIBINTL
 	bool "libintl"
 	depends on BR2_NEEDS_GETTEXT
diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
index f3605da..7c7b26c 100644
--- a/package/gettext/gettext.mk
+++ b/package/gettext/gettext.mk
@@ -3,162 +3,22 @@
 # gettext
 #
 #############################################################
-GETTEXT_VERSION:=0.16.1
-GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz
-GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext
-GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION)
-GETTEXT_CAT:=$(ZCAT)
-GETTEXT_BINARY:=gettext-runtime/src/gettext
-GETTEXT_TARGET_BINARY:=usr/bin/gettext
+GETTEXT_VERSION = 0.16.1
+GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext
+GETTEXT_INSTALL_STAGING = YES
 
-ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y)
-LIBINTL_TARGET_BINARY:=usr/lib/libintl.a
-else
-LIBINTL_TARGET_BINARY:=usr/lib/libintl.so
-endif
-
-$(DL_DIR)/$(GETTEXT_SOURCE):
-	 $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE))
-
-gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE)
-
-$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE)
-	$(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch
-	$(call CONFIG_UPDATE,$(@D))
-	touch $@
-
-ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext
-endif
-
-$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked
-	(cd $(GETTEXT_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(TARGET_CONFIGURE_ARGS) \
-		ac_cv_func_strtod=yes \
-		ac_fsusage_space=yes \
-		fu_cv_sys_stat_statfs2_bsize=yes \
-		ac_cv_func_closedir_void=no \
-		ac_cv_func_getloadavg=no \
-		ac_cv_lib_util_getloadavg=no \
-		ac_cv_lib_getloadavg_getloadavg=no \
-		ac_cv_func_getgroups=yes \
-		ac_cv_func_getgroups_works=yes \
-		ac_cv_func_chown_works=yes \
-		ac_cv_have_decl_euidaccess=no \
-		ac_cv_func_euidaccess=no \
-		ac_cv_have_decl_strnlen=yes \
-		ac_cv_func_strnlen_working=yes \
-		ac_cv_func_lstat_dereferences_slashed_symlink=yes \
-		ac_cv_func_lstat_empty_string_bug=no \
-		ac_cv_func_stat_empty_string_bug=no \
-		vb_cv_func_rename_trailing_slash_bug=no \
-		ac_cv_have_decl_nanosleep=yes \
-		jm_cv_func_nanosleep_works=yes \
-		gl_cv_func_working_utimes=yes \
-		ac_cv_func_utime_null=yes \
-		ac_cv_have_decl_strerror_r=yes \
-		ac_cv_func_strerror_r_char_p=no \
-		jm_cv_func_svid_putenv=yes \
-		ac_cv_func_getcwd_null=yes \
-		ac_cv_func_getdelim=yes \
-		ac_cv_func_mkstemp=yes \
-		utils_cv_func_mkstemp_limitations=no \
-		utils_cv_func_mkdir_trailing_slash_bug=no \
-		jm_cv_func_gettimeofday_clobber=no \
-		gl_cv_func_working_readdir=yes \
-		jm_ac_cv_func_link_follows_symlink=no \
-		utils_cv_localtime_cache=no \
-		ac_cv_struct_st_mtim_nsec=no \
-		gl_cv_func_tzset_clobber=no \
-		gl_cv_func_getcwd_null=yes \
-		gl_cv_func_getcwd_path_max=yes \
-		ac_cv_func_fnmatch_gnu=yes \
-		am_getline_needs_run_time_check=no \
-		am_cv_func_working_getline=yes \
-		gl_cv_func_mkdir_trailing_slash_bug=no \
-		gl_cv_func_mkstemp_limitations=no \
-		ac_cv_func_working_mktime=yes \
-		jm_cv_func_working_re_compile_pattern=yes \
-		ac_use_included_regex=no \
-		gl_cv_c_restrict=no \
-		./configure $(QUIET) \
-		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
-		--build=$(GNU_HOST_NAME) \
-		--prefix=/usr \
-		--exec-prefix=/usr \
-		--disable-libasprintf \
-		--enable-shared \
-		$(IGNORE_EXTERNAL_GETTEXT) \
-		--disable-openmp \
-	)
-	touch $@
+GETTEXT_CONF_OPT += \
+	--disable-libasprintf \
+	--disable-openmp \
 
-$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
-	$(MAKE) -C $(GETTEXT_DIR)
-	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
+define GETTEXT_REMOVE_BINARIES
+	rm -f $(TARGET_DIR)/usr/bin/gettext
+	rm -f $(TARGET_DIR)/usr/bin/gettext.sh
+	rm -f $(TARGET_DIR)/usr/bin/gettextize
+endef
 
-$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY)
-	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la
-	rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \
-		autopoint envsubst gettext.sh gettextize msg* ?gettext)
-	touch -c $@
-
-gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-
-gettext-unpacked: $(GETTEXT_DIR)/.unpacked
-
-gettext-clean:
-	-$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
-	-$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
-	-$(MAKE) -C $(GETTEXT_DIR) clean
-
-gettext-dirclean:
-	rm -rf $(GETTEXT_DIR)
-
-#############################################################
-#
-# gettext on the target
-#
-#############################################################
-
-gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY)
-	$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install
-	chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped
-
-$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \
-		$(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/
-	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so*
-	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so*
-	rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \
-		libgettext*.so*.la libintl*.so*.la)
-	touch -c $@
-
-$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/
-	cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/
-	touch -c $@
-
-libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
 ifeq ($(BR2_PACKAGE_LIBINTL),y)
-TARGETS+=libintl
-endif
-ifeq ($(BR2_PACKAGE_GETTEXT),y)
-TARGETS+=gettext
+	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
 endif
+
+$(eval $(call AUTOTARGETS))
diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch
deleted file mode 100644
index d5076c1..0000000
--- a/package/gettext/libdir-la.patch
+++ /dev/null
@@ -1,154 +0,0 @@
---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig	2007-01-13 14:33:23.000000000 -0700
-+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh	2007-01-13 14:35:10.000000000 -0700
-@@ -234,8 +234,9 @@
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  $echo "$modename: unable to infer tagged configuration"
--	  $echo "$modename: specify a tag with \`--tag'" 1>&2
--	  exit $EXIT_FAILURE
-+	  $echo "$modename: defaulting to \`CC'"
-+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
-+#	  exit $EXIT_FAILURE
- #        else
- #          $echo "$modename: using $tagname tagged configuration"
- 	fi
-@@ -2324,8 +2325,14 @@
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+            # Adding 'libdir' from the .la file to our library search paths
-+            # breaks crosscompilation horribly.  We cheat here and don't add
-+            # it, instead adding the path where we found the .la.  -CL
-+	    dir="$abs_ladir"
-+	    absdir="$abs_ladir"
-+	    libdir="$abs_ladir"
-+	    #dir="$libdir"
-+	    #absdir="$libdir"
- 	  fi
- 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- 	else
-@@ -2800,6 +2807,16 @@
- 		esac
- 		if grep "^installed=no" $deplib > /dev/null; then
- 		  path="$absdir/$objdir"
-+#		This interferes with crosscompilation. -CL
-+#		else
-+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+#		  if test -z "$libdir"; then
-+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-+#		    exit 1
-+#		  fi
-+#		  if test "$absdir" != "$libdir"; then
-+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-+#		  fi
- 		else
- 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  if test -z "$libdir"; then
-@@ -5210,6 +5227,10 @@
- 	    # Replace all uninstalled libtool libraries with the installed ones
- 	    newdependency_libs=
- 	    for deplib in $dependency_libs; do
-+              # Replacing uninstalled with installed can easily break crosscompilation,
-+              # since the installed path is generally the wrong architecture.  -CL
-+              newdependency_libs="$newdependency_libs $deplib"
-+              continue
- 	      case $deplib in
- 	      *.la)
- 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-@@ -5528,10 +5549,13 @@
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
--	  if test "$inst_prefix_dir" = "$destdir"; then
--	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
--	    exit $EXIT_FAILURE
--	  fi
-+	  #
-+	  # This breaks install into our staging area.  -PB
-+	  # 
-+	  # if test "$inst_prefix_dir" = "$destdir"; then
-+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-+	  #   exit $EXIT_FAILURE
-+	  # fi
- 
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
---- gettext-0.14.6/build-aux/ltmain.sh.orig	2005-05-20 15:03:38.000000000 -0600
-+++ gettext-0.14.6/build-aux/ltmain.sh	2007-01-13 14:34:27.000000000 -0700
-@@ -234,8 +234,9 @@
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  $echo "$modename: unable to infer tagged configuration"
--	  $echo "$modename: specify a tag with \`--tag'" 1>&2
--	  exit $EXIT_FAILURE
-+	  $echo "$modename: defaulting to \`CC'"
-+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
-+#	  exit $EXIT_FAILURE
- #        else
- #          $echo "$modename: using $tagname tagged configuration"
- 	fi
-@@ -2324,8 +2325,14 @@
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+            # Adding 'libdir' from the .la file to our library search paths
-+            # breaks crosscompilation horribly.  We cheat here and don't add
-+            # it, instead adding the path where we found the .la.  -CL
-+	    dir="$abs_ladir"
-+	    absdir="$abs_ladir"
-+	    libdir="$abs_ladir"
-+	    #dir="$libdir"
-+	    #absdir="$libdir"
- 	  fi
- 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- 	else
-@@ -2800,6 +2807,16 @@
- 		esac
- 		if grep "^installed=no" $deplib > /dev/null; then
- 		  path="$absdir/$objdir"
-+#		This interferes with crosscompilation. -CL
-+#		else
-+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+#		  if test -z "$libdir"; then
-+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-+#		    exit 1
-+#		  fi
-+#		  if test "$absdir" != "$libdir"; then
-+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-+#		  fi
- 		else
- 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  if test -z "$libdir"; then
-@@ -5210,6 +5227,10 @@
- 	    # Replace all uninstalled libtool libraries with the installed ones
- 	    newdependency_libs=
- 	    for deplib in $dependency_libs; do
-+              # Replacing uninstalled with installed can easily break crosscompilation,
-+              # since the installed path is generally the wrong architecture.  -CL
-+              newdependency_libs="$newdependency_libs $deplib"
-+              continue
- 	      case $deplib in
- 	      *.la)
- 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-@@ -5528,10 +5549,13 @@
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
--	  if test "$inst_prefix_dir" = "$destdir"; then
--	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
--	    exit $EXIT_FAILURE
--	  fi
-+	  #
-+	  # This breaks install into our staging area.  -PB
-+	  # 
-+	  # if test "$inst_prefix_dir" = "$destdir"; then
-+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-+	  #   exit $EXIT_FAILURE
-+	  # fi
- 
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk
index 9165835..272994c 100644
--- a/package/glib-networking/glib-networking.mk
+++ b/package/glib-networking/glib-networking.mk
@@ -13,7 +13,7 @@ GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz
 GLIB_NETWORKING_INSTALL_STAGING = YES
 
 GLIB_NETWORKING_DEPENDENCIES = \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	host-pkg-config \
 	host-intltool \
 	libglib2
diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk
index 1db5346..f3c555a 100644
--- a/package/gmpc/gmpc.mk
+++ b/package/gmpc/gmpc.mk
@@ -11,6 +11,6 @@ GMPC_CONF_OPT = --disable-mmkeys --disable-unique
 GMPC_DEPENDENCIES = host-gob2 host-intltool host-pkg-config host-vala \
 	libglib2 libgtk2 libmpd libsoup sqlite \
 	xlib_libICE xlib_libSM xlib_libX11 \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 $(eval $(call AUTOTARGETS))
diff --git a/package/grep/grep.mk b/package/grep/grep.mk
index aa22910..e874128 100644
--- a/package/grep/grep.mk
+++ b/package/grep/grep.mk
@@ -8,7 +8,7 @@ GREP_VERSION = 2.11
 GREP_SITE = $(BR2_GNU_MIRROR)/grep
 GREP_SOURCE = grep-$(GREP_VERSION).tar.xz
 GREP_CONF_OPT = --disable-perl-regexp --without-included-regex
-GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 # link with iconv if enabled
 ifeq ($(BR2_PACKAGE_LIBICONV),y)
diff --git a/package/kbd/kbd.mk b/package/kbd/kbd.mk
index af30e8e..08a706b 100644
--- a/package/kbd/kbd.mk
+++ b/package/kbd/kbd.mk
@@ -2,6 +2,6 @@ KBD_VERSION = 1.15.2
 KBD_SOURCE = kbd-$(KBD_VERSION).tar.gz
 KBD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd
 
-KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 $(eval $(call AUTOTARGETS))
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index d2445a1..553378a 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -55,7 +55,7 @@ HOST_LIBGLIB2_CONF_OPT = \
 		--disable-gtk-doc \
 		--enable-debug=no \
 
-LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
+LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext)
 
 HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-libffi host-zlib
 
diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 6572585..3ba47b9 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -19,7 +19,7 @@ endif
 
 LIBSOUP_CONF_OPT = --disable-glibtest --without-gnome
 
-LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config host-libglib2 libglib2 libxml2
+LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-pkg-config host-libglib2 libglib2 libxml2
 
 ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y)
 LIBSOUP_DEPENDENCIES += glib-networking
diff --git a/package/make/make.mk b/package/make/make.mk
index 2886032..8cc8799 100644
--- a/package/make/make.mk
+++ b/package/make/make.mk
@@ -7,7 +7,7 @@ MAKE_VERSION:=3.81
 MAKE_SOURCE:=make-$(MAKE_VERSION).tar.bz2
 MAKE_SITE:=$(BR2_GNU_MIRROR)/make
 
-MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 MAKE_CONF_ENV = make_cv_sys_gnu_glob=no \
 		GLOBINC='-I$(@D)/glob' \
diff --git a/package/multimedia/pulseaudio/pulseaudio.mk b/package/multimedia/pulseaudio/pulseaudio.mk
index eefc497..2920dbc 100644
--- a/package/multimedia/pulseaudio/pulseaudio.mk
+++ b/package/multimedia/pulseaudio/pulseaudio.mk
@@ -15,7 +15,7 @@ PULSEAUDIO_CONF_OPT = \
 
 PULSEAUDIO_DEPENDENCIES = \
 	host-pkg-config libtool json-c libsndfile speex host-intltool \
-	$(if $(BR2_PACKAGE_LIBINTL),libintl) \
+	$(if $(BR2_PACKAGE_LIBINTL),gettext) \
 	$(if $(BR2_PACKAGE_LIBATOMIC_OPS),libatomic_ops) \
 	$(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \
 	$(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \
diff --git a/package/pango/pango.mk b/package/pango/pango.mk
index f46bdc6..78620fe 100644
--- a/package/pango/pango.mk
+++ b/package/pango/pango.mk
@@ -41,7 +41,7 @@ PANGO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
 
 PANGO_CONF_OPT = --enable-explicit-deps=no --disable-debug
 
-PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config libglib2 cairo
+PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-pkg-config libglib2 cairo
 
 ifeq ($(BR2_PACKAGE_XORG7),y)
         PANGO_CONF_OPT += --with-x \
diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk
index 0b0e046..406be3a 100644
--- a/package/psmisc/psmisc.mk
+++ b/package/psmisc/psmisc.mk
@@ -6,7 +6,7 @@
 
 PSMISC_VERSION = 22.16
 PSMISC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/psmisc/psmisc
-PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 ifneq ($(BR2_TOOLCHAIN_BUILDROOT_USE_SSP),y)
 # Don't force -fstack-protector
diff --git a/package/sshfs/sshfs.mk b/package/sshfs/sshfs.mk
index 738b4d0..7f6ce15 100644
--- a/package/sshfs/sshfs.mk
+++ b/package/sshfs/sshfs.mk
@@ -9,7 +9,7 @@ SSHFS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/fus
 SSHFS_SOURCE = sshfs-fuse-$(SSHFS_VERSION).tar.gz
 SSHFS_DEPENDENCIES = \
 	libglib2 libfuse openssh \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	$(if $(BR2_ENABLE_LOCALE),,libiconv)
 
 $(eval $(call AUTOTARGETS))
diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk
index 55991c4..7bd5278 100644
--- a/package/sysstat/sysstat.mk
+++ b/package/sysstat/sysstat.mk
@@ -14,7 +14,7 @@ SYSSTAT_CONF_OPT += --disable-documentation
 endif
 
 ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
-SYSSTAT_DEPENDENCIES += gettext libintl
+SYSSTAT_DEPENDENCIES += gettext
 SYSSTAT_MAKE_OPT += CFLAGS+=-lintl
 endif
 
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index d8a3ac9..f6e9fcb 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -30,7 +30,7 @@ UTIL_LINUX_CONF_OPT += --without-ncurses
 endif
 
 ifeq ($(BR2_PACKAGE_LIBINTL),y)
-UTIL_LINUX_DEPENDENCIES += libintl
+UTIL_LINUX_DEPENDENCIES += gettext
 UTIL_LINUX_MAKE_OPT += LIBS=-lintl
 endif
 
diff --git a/package/vala/vala.mk b/package/vala/vala.mk
index a3ad037..b579316 100644
--- a/package/vala/vala.mk
+++ b/package/vala/vala.mk
@@ -10,7 +10,7 @@ VALA_VERSION = $(VALA_VERSION_MAJOR).$(VALA_VERSION_MINOR)
 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR)
 VALA_SOURCE = vala-$(VALA_VERSION).tar.xz
 VALA_DEPENDENCIES = host-flex libglib2 \
-		$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+		$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 HOST_VALA_DEPENDENCIES = host-flex host-libglib2
 
 $(eval $(call AUTOTARGETS))
-- 
1.7.10

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-04-04 14:56   ` Maxime Ripard
@ 2012-05-08 11:19     ` Samuel Martin
  2012-05-08 11:19       ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin
                         ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Samuel Martin @ 2012-05-08 11:19 UTC (permalink / raw)
  To: buildroot

From: Maxime Ripard <maxime.ripard@free-electrons.com>

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
---
 package/gettext/Config.in       |   12 ---
 package/gettext/gettext.mk      |  168 ++++-----------------------------------
 package/gettext/libdir-la.patch |  154 -----------------------------------
 3 files changed, 14 insertions(+), 320 deletions(-)
 delete mode 100644 package/gettext/libdir-la.patch

diff --git a/package/gettext/Config.in b/package/gettext/Config.in
index fabfe1e..0ee4065 100644
--- a/package/gettext/Config.in
+++ b/package/gettext/Config.in
@@ -12,18 +12,6 @@ config BR2_PACKAGE_GETTEXT
 comment "gettext requires a toolchain with WCHAR support"
 	depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR

-config BR2_PACKAGE_GETTEXT_STATIC
-	bool "Use libgettext.a instead of libgettext.so.*"
-	depends on BR2_PACKAGE_GETTEXT
-	depends on BR2_arm
-	help
-	  The GNU `gettext' utilities are a set of tools that provide a
-	  framework to help other GNU packages produce multi-lingual
-	  messages.
-
-	  http://www.gnu.org/software/gettext/
-
-
 config BR2_PACKAGE_LIBINTL
 	bool "libintl"
 	depends on BR2_NEEDS_GETTEXT
diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
index f3605da..7c7b26c 100644
--- a/package/gettext/gettext.mk
+++ b/package/gettext/gettext.mk
@@ -3,162 +3,22 @@
 # gettext
 #
 #############################################################
-GETTEXT_VERSION:=0.16.1
-GETTEXT_SOURCE:=gettext-$(GETTEXT_VERSION).tar.gz
-GETTEXT_SITE:=$(BR2_GNU_MIRROR)/gettext
-GETTEXT_DIR:=$(BUILD_DIR)/gettext-$(GETTEXT_VERSION)
-GETTEXT_CAT:=$(ZCAT)
-GETTEXT_BINARY:=gettext-runtime/src/gettext
-GETTEXT_TARGET_BINARY:=usr/bin/gettext
+GETTEXT_VERSION = 0.16.1
+GETTEXT_SITE = $(BR2_GNU_MIRROR)/gettext
+GETTEXT_INSTALL_STAGING = YES

-ifeq ($(BR2_PACKAGE_GETTEXT_STATIC),y)
-LIBINTL_TARGET_BINARY:=usr/lib/libintl.a
-else
-LIBINTL_TARGET_BINARY:=usr/lib/libintl.so
-endif
-
-$(DL_DIR)/$(GETTEXT_SOURCE):
-	 $(call DOWNLOAD,$(GETTEXT_SITE)/$(GETTEXT_SOURCE))
-
-gettext-source: $(DL_DIR)/$(GETTEXT_SOURCE)
-
-$(GETTEXT_DIR)/.unpacked: $(DL_DIR)/$(GETTEXT_SOURCE)
-	$(GETTEXT_CAT) $(DL_DIR)/$(GETTEXT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-	support/scripts/apply-patches.sh $(GETTEXT_DIR) package/gettext/ gettext\*.patch
-	$(call CONFIG_UPDATE,$(@D))
-	touch $@
-
-ifneq ($(BR2_TOOLCHAIN_BUILDROOT),y)
-IGNORE_EXTERNAL_GETTEXT:=--with-included-gettext
-endif
-
-$(GETTEXT_DIR)/.configured: $(GETTEXT_DIR)/.unpacked
-	(cd $(GETTEXT_DIR); rm -rf config.cache; \
-		$(TARGET_CONFIGURE_OPTS) \
-		$(TARGET_CONFIGURE_ARGS) \
-		ac_cv_func_strtod=yes \
-		ac_fsusage_space=yes \
-		fu_cv_sys_stat_statfs2_bsize=yes \
-		ac_cv_func_closedir_void=no \
-		ac_cv_func_getloadavg=no \
-		ac_cv_lib_util_getloadavg=no \
-		ac_cv_lib_getloadavg_getloadavg=no \
-		ac_cv_func_getgroups=yes \
-		ac_cv_func_getgroups_works=yes \
-		ac_cv_func_chown_works=yes \
-		ac_cv_have_decl_euidaccess=no \
-		ac_cv_func_euidaccess=no \
-		ac_cv_have_decl_strnlen=yes \
-		ac_cv_func_strnlen_working=yes \
-		ac_cv_func_lstat_dereferences_slashed_symlink=yes \
-		ac_cv_func_lstat_empty_string_bug=no \
-		ac_cv_func_stat_empty_string_bug=no \
-		vb_cv_func_rename_trailing_slash_bug=no \
-		ac_cv_have_decl_nanosleep=yes \
-		jm_cv_func_nanosleep_works=yes \
-		gl_cv_func_working_utimes=yes \
-		ac_cv_func_utime_null=yes \
-		ac_cv_have_decl_strerror_r=yes \
-		ac_cv_func_strerror_r_char_p=no \
-		jm_cv_func_svid_putenv=yes \
-		ac_cv_func_getcwd_null=yes \
-		ac_cv_func_getdelim=yes \
-		ac_cv_func_mkstemp=yes \
-		utils_cv_func_mkstemp_limitations=no \
-		utils_cv_func_mkdir_trailing_slash_bug=no \
-		jm_cv_func_gettimeofday_clobber=no \
-		gl_cv_func_working_readdir=yes \
-		jm_ac_cv_func_link_follows_symlink=no \
-		utils_cv_localtime_cache=no \
-		ac_cv_struct_st_mtim_nsec=no \
-		gl_cv_func_tzset_clobber=no \
-		gl_cv_func_getcwd_null=yes \
-		gl_cv_func_getcwd_path_max=yes \
-		ac_cv_func_fnmatch_gnu=yes \
-		am_getline_needs_run_time_check=no \
-		am_cv_func_working_getline=yes \
-		gl_cv_func_mkdir_trailing_slash_bug=no \
-		gl_cv_func_mkstemp_limitations=no \
-		ac_cv_func_working_mktime=yes \
-		jm_cv_func_working_re_compile_pattern=yes \
-		ac_use_included_regex=no \
-		gl_cv_c_restrict=no \
-		./configure $(QUIET) \
-		--target=$(GNU_TARGET_NAME) \
-		--host=$(GNU_TARGET_NAME) \
-		--build=$(GNU_HOST_NAME) \
-		--prefix=/usr \
-		--exec-prefix=/usr \
-		--disable-libasprintf \
-		--enable-shared \
-		$(IGNORE_EXTERNAL_GETTEXT) \
-		--disable-openmp \
-	)
-	touch $@
+GETTEXT_CONF_OPT += \
+	--disable-libasprintf \
+	--disable-openmp \

-$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
-	$(MAKE) -C $(GETTEXT_DIR)
-	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
+define GETTEXT_REMOVE_BINARIES
+	rm -f $(TARGET_DIR)/usr/bin/gettext
+	rm -f $(TARGET_DIR)/usr/bin/gettext.sh
+	rm -f $(TARGET_DIR)/usr/bin/gettextize
+endef

-$(STAGING_DIR)/$(GETTEXT_TARGET_BINARY): $(GETTEXT_DIR)/$(GETTEXT_BINARY)
-	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(GETTEXT_DIR) install
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextlib.la
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextpo.la
-	$(SED) 's,/lib/,$(STAGING_DIR)/usr/lib/,g' $(STAGING_DIR)/usr/lib/libgettextsrc.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextlib.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextpo.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libgettextsrc.la
-	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libintl.la
-	rm -f $(addprefix $(STAGING_DIR)/usr/bin/, \
-		autopoint envsubst gettext.sh gettextize msg* ?gettext)
-	touch -c $@
-
-gettext: host-pkg-config $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-
-gettext-unpacked: $(GETTEXT_DIR)/.unpacked
-
-gettext-clean:
-	-$(MAKE) DESTDIR=$(STAGING_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
-	-$(MAKE) DESTDIR=$(TARGET_DIR) CC="$(TARGET_CC)" -C $(GETTEXT_DIR) uninstall
-	-$(MAKE) -C $(GETTEXT_DIR) clean
-
-gettext-dirclean:
-	rm -rf $(GETTEXT_DIR)
-
-#############################################################
-#
-# gettext on the target
-#
-#############################################################
-
-gettext-target: $(GETTEXT_DIR)/$(GETTEXT_BINARY)
-	$(MAKE) DESTDIR=$(TARGET_DIR) -C $(GETTEXT_DIR) install
-	chmod +x $(TARGET_DIR)/usr/lib/libintl.so* # identify as needing to be stripped
-
-$(TARGET_DIR)/usr/lib/libintl.so: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.so* \
-		$(STAGING_DIR)/usr/lib/libintl*.so* $(TARGET_DIR)/usr/lib/
-	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libgettext*.so*
-	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libintl*.so*
-	rm -f $(addprefix $(TARGET_DIR)/usr/lib/, \
-		libgettext*.so*.la libintl*.so*.la)
-	touch -c $@
-
-$(TARGET_DIR)/usr/lib/libintl.a: $(STAGING_DIR)/$(GETTEXT_TARGET_BINARY)
-	cp -dpf $(STAGING_DIR)/usr/lib/libgettext*.a $(TARGET_DIR)/usr/lib/
-	cp -dpf $(STAGING_DIR)/usr/lib/libintl*.a $(TARGET_DIR)/usr/lib/
-	touch -c $@
-
-libintl: $(TARGET_DIR)/$(LIBINTL_TARGET_BINARY)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
 ifeq ($(BR2_PACKAGE_LIBINTL),y)
-TARGETS+=libintl
-endif
-ifeq ($(BR2_PACKAGE_GETTEXT),y)
-TARGETS+=gettext
+	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
 endif
+
+$(eval $(call AUTOTARGETS))
diff --git a/package/gettext/libdir-la.patch b/package/gettext/libdir-la.patch
deleted file mode 100644
index d5076c1..0000000
--- a/package/gettext/libdir-la.patch
+++ /dev/null
@@ -1,154 +0,0 @@
---- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig	2007-01-13 14:33:23.000000000 -0700
-+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh	2007-01-13 14:35:10.000000000 -0700
-@@ -234,8 +234,9 @@
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  $echo "$modename: unable to infer tagged configuration"
--	  $echo "$modename: specify a tag with \`--tag'" 1>&2
--	  exit $EXIT_FAILURE
-+	  $echo "$modename: defaulting to \`CC'"
-+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
-+#	  exit $EXIT_FAILURE
- #        else
- #          $echo "$modename: using $tagname tagged configuration"
- 	fi
-@@ -2324,8 +2325,14 @@
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+            # Adding 'libdir' from the .la file to our library search paths
-+            # breaks crosscompilation horribly.  We cheat here and don't add
-+            # it, instead adding the path where we found the .la.  -CL
-+	    dir="$abs_ladir"
-+	    absdir="$abs_ladir"
-+	    libdir="$abs_ladir"
-+	    #dir="$libdir"
-+	    #absdir="$libdir"
- 	  fi
- 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- 	else
-@@ -2800,6 +2807,16 @@
- 		esac
- 		if grep "^installed=no" $deplib > /dev/null; then
- 		  path="$absdir/$objdir"
-+#		This interferes with crosscompilation. -CL
-+#		else
-+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+#		  if test -z "$libdir"; then
-+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-+#		    exit 1
-+#		  fi
-+#		  if test "$absdir" != "$libdir"; then
-+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-+#		  fi
- 		else
- 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  if test -z "$libdir"; then
-@@ -5210,6 +5227,10 @@
- 	    # Replace all uninstalled libtool libraries with the installed ones
- 	    newdependency_libs=
- 	    for deplib in $dependency_libs; do
-+              # Replacing uninstalled with installed can easily break crosscompilation,
-+              # since the installed path is generally the wrong architecture.  -CL
-+              newdependency_libs="$newdependency_libs $deplib"
-+              continue
- 	      case $deplib in
- 	      *.la)
- 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-@@ -5528,10 +5549,13 @@
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
--	  if test "$inst_prefix_dir" = "$destdir"; then
--	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
--	    exit $EXIT_FAILURE
--	  fi
-+	  #
-+	  # This breaks install into our staging area.  -PB
-+	  #
-+	  # if test "$inst_prefix_dir" = "$destdir"; then
-+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-+	  #   exit $EXIT_FAILURE
-+	  # fi
-
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
---- gettext-0.14.6/build-aux/ltmain.sh.orig	2005-05-20 15:03:38.000000000 -0600
-+++ gettext-0.14.6/build-aux/ltmain.sh	2007-01-13 14:34:27.000000000 -0700
-@@ -234,8 +234,9 @@
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  $echo "$modename: unable to infer tagged configuration"
--	  $echo "$modename: specify a tag with \`--tag'" 1>&2
--	  exit $EXIT_FAILURE
-+	  $echo "$modename: defaulting to \`CC'"
-+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
-+#	  exit $EXIT_FAILURE
- #        else
- #          $echo "$modename: using $tagname tagged configuration"
- 	fi
-@@ -2324,8 +2325,14 @@
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+            # Adding 'libdir' from the .la file to our library search paths
-+            # breaks crosscompilation horribly.  We cheat here and don't add
-+            # it, instead adding the path where we found the .la.  -CL
-+	    dir="$abs_ladir"
-+	    absdir="$abs_ladir"
-+	    libdir="$abs_ladir"
-+	    #dir="$libdir"
-+	    #absdir="$libdir"
- 	  fi
- 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
- 	else
-@@ -2800,6 +2807,16 @@
- 		esac
- 		if grep "^installed=no" $deplib > /dev/null; then
- 		  path="$absdir/$objdir"
-+#		This interferes with crosscompilation. -CL
-+#		else
-+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-+#		  if test -z "$libdir"; then
-+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-+#		    exit 1
-+#		  fi
-+#		  if test "$absdir" != "$libdir"; then
-+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-+#		  fi
- 		else
- 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
- 		  if test -z "$libdir"; then
-@@ -5210,6 +5227,10 @@
- 	    # Replace all uninstalled libtool libraries with the installed ones
- 	    newdependency_libs=
- 	    for deplib in $dependency_libs; do
-+              # Replacing uninstalled with installed can easily break crosscompilation,
-+              # since the installed path is generally the wrong architecture.  -CL
-+              newdependency_libs="$newdependency_libs $deplib"
-+              continue
- 	      case $deplib in
- 	      *.la)
- 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-@@ -5528,10 +5549,13 @@
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
--	  if test "$inst_prefix_dir" = "$destdir"; then
--	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
--	    exit $EXIT_FAILURE
--	  fi
-+	  #
-+	  # This breaks install into our staging area.  -PB
-+	  #
-+	  # if test "$inst_prefix_dir" = "$destdir"; then
-+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-+	  #   exit $EXIT_FAILURE
-+	  # fi
-
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
--
1.7.10.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES
  2012-05-08 11:19     ` [Buildroot] [PATCH 1/3] " Samuel Martin
@ 2012-05-08 11:19       ` Samuel Martin
  2012-05-11 21:37         ` Arnout Vandecappelle
  2012-05-08 11:19       ` [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies Samuel Martin
  2012-05-19 21:46       ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard
  2 siblings, 1 reply; 19+ messages in thread
From: Samuel Martin @ 2012-05-08 11:19 UTC (permalink / raw)
  To: buildroot

libintl target does nothing but removing some binaries installed by
gettext.

This patch renames the BR2_PACKAGE_LIBINTL symbol to
BR2_PACKAGE_GETTEXT_NEEDS_BINARIES and fixes the logic for packages
that may need those gettext binaries.

It also adds a warning about libintl support depending on locale enabling
in the toolchain.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/gettext/Config.in  |   16 ++++++++--------
 package/gettext/gettext.mk |    2 +-
 package/libidn/Config.in   |    1 +
 package/php/Config.ext     |    1 +
 4 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/package/gettext/Config.in b/package/gettext/Config.in
index 0ee4065..461652f 100644
--- a/package/gettext/Config.in
+++ b/package/gettext/Config.in
@@ -12,12 +12,12 @@ config BR2_PACKAGE_GETTEXT
 comment "gettext requires a toolchain with WCHAR support"
 	depends on BR2_NEEDS_GETTEXT && !BR2_USE_WCHAR
 
-config BR2_PACKAGE_LIBINTL
-	bool "libintl"
-	depends on BR2_NEEDS_GETTEXT
-	depends on BR2_USE_WCHAR
-	help
-	  Selecting this package installs all of gettext in the staging
-	  directory and the shared library for it's use in the target.
+comment "libintl requires a toolchain with locale/i18n support"
+	depends on BR2_PACKAGE_GETTEXT && !BR2_ENABLE_LOCALE
 
-	  http://www.gnu.org/software/gettext/
+config BR2_PACKAGE_GETTEXT_NEEDS_BINARIES
+	bool
+	depends on BR2_PACKAGE_GETTEXT
+	help
+	  Force to install gettext binaries (gettext, gettext.sh and gettextize)
+	  in the target.
diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
index 7c7b26c..0902edd 100644
--- a/package/gettext/gettext.mk
+++ b/package/gettext/gettext.mk
@@ -17,7 +17,7 @@ define GETTEXT_REMOVE_BINARIES
 	rm -f $(TARGET_DIR)/usr/bin/gettextize
 endef
 
-ifeq ($(BR2_PACKAGE_LIBINTL),y)
+ifneq ($(BR2_PACKAGE_GETTEXT_NEEDS_BINARIES),y)
 	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
 endif
 
diff --git a/package/libidn/Config.in b/package/libidn/Config.in
index dcf9724..3e98245 100644
--- a/package/libidn/Config.in
+++ b/package/libidn/Config.in
@@ -1,6 +1,7 @@
 config BR2_PACKAGE_LIBIDN
 	bool "libidn"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+	select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  Libidn's purpose is to encode and decode internationalized
 	  domain names.
diff --git a/package/php/Config.ext b/package/php/Config.ext
index bd630ee..2ea686c 100644
--- a/package/php/Config.ext
+++ b/package/php/Config.ext
@@ -68,6 +68,7 @@ config BR2_PACKAGE_PHP_EXT_FTP
 config BR2_PACKAGE_PHP_EXT_GETTEXT
 	bool "gettext"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT
 	depends on BR2_USE_WCHAR
 	help
 	  gettext support
-- 
1.7.10.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies.
  2012-05-08 11:19     ` [Buildroot] [PATCH 1/3] " Samuel Martin
  2012-05-08 11:19       ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin
@ 2012-05-08 11:19       ` Samuel Martin
  2012-05-19 21:46       ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard
  2 siblings, 0 replies; 19+ messages in thread
From: Samuel Martin @ 2012-05-08 11:19 UTC (permalink / raw)
  To: buildroot

From the gettext package conversion to autotarget (thanks to
Maxime Ripard), libintl provides the same things as gettext.
So, convert all libintl dependencies to gettext ones.

Also  fix some BR2_NEEDS_GETTEXT/BR2_NEEDS_GETTEXT_IF_LOCALE
dependencies.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 package/avahi/Config.in                     |    1 -
 package/avahi/avahi.mk                      |    6 +++---
 package/axel/Config.in                      |    1 -
 package/axel/axel.mk                        |    2 +-
 package/binutils/Config.in                  |    1 -
 package/binutils/binutils.mk                |    2 +-
 package/diffutils/diffutils.mk              |    3 +--
 package/flex/flex.mk                        |    3 +--
 package/gdk-pixbuf/Config.in                |    3 +--
 package/gdk-pixbuf/gdk-pixbuf.mk            |    2 +-
 package/glib-networking/Config.in           |    3 +--
 package/glib-networking/glib-networking.mk  |    2 +-
 package/gmpc/Config.in                      |    1 -
 package/gmpc/gmpc.mk                        |    2 +-
 package/grep/Config.in                      |    1 -
 package/grep/grep.mk                        |    2 +-
 package/kbd/Config.in                       |    1 -
 package/kbd/kbd.mk                          |    2 +-
 package/libglib2/Config.in                  |    3 +--
 package/libglib2/libglib2.mk                |    7 ++++++-
 package/libidn/libidn.mk                    |    4 +++-
 package/libsoup/Config.in                   |    3 +--
 package/libsoup/libsoup.mk                  |    7 ++++++-
 package/make/Config.in                      |    1 -
 package/make/make.mk                        |    2 +-
 package/multimedia/pulseaudio/Config.in     |    2 +-
 package/multimedia/pulseaudio/pulseaudio.mk |    2 +-
 package/pango/Config.in                     |    1 -
 package/pango/pango.mk                      |    6 +++++-
 package/psmisc/Config.in                    |    1 -
 package/psmisc/psmisc.mk                    |    2 +-
 package/sshfs/Config.in                     |    1 -
 package/sshfs/sshfs.mk                      |    2 +-
 package/sysstat/Config.in                   |    1 -
 package/sysstat/sysstat.mk                  |    2 +-
 package/util-linux/util-linux.mk            |    7 +++++--
 package/vala/Config.in                      |    1 -
 package/vala/vala.mk                        |    2 +-
 38 files changed, 48 insertions(+), 47 deletions(-)

diff --git a/package/avahi/Config.in b/package/avahi/Config.in
index eb3ccb6..8ba33d5 100644
--- a/package/avahi/Config.in
+++ b/package/avahi/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_AVAHI
 	bool "avahi"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  Avahi is a system which facilitates service
 	  discovery on a local network.
diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk
index 32e3df7..525791f 100644
--- a/package/avahi/avahi.mk
+++ b/package/avahi/avahi.mk
@@ -83,7 +83,7 @@ AVAHI_CONF_OPT = --localstatedir=/var \
 		--with-autoipd-user=default \
 		--with-autoipd-group=default
 
-AVAHI_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-intltool host-pkg-config
+AVAHI_DEPENDENCIES = host-intltool host-pkg-config
 
 ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),)
 AVAHI_DEPENDENCIES += libdaemon
@@ -131,8 +131,8 @@ else
 AVAHI_CONF_OPT += --disable-python
 endif
 
-ifeq ($(BR2_PACKAGE_LIBINTL),y)
-AVAHI_DEPENDENCIES += libintl
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
+AVAHI_DEPENDENCIES += gettext
 AVAHI_MAKE_OPT = LIBS=-lintl
 endif
 
diff --git a/package/axel/Config.in b/package/axel/Config.in
index cb9af32..b9c914b 100644
--- a/package/axel/Config.in
+++ b/package/axel/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_AXEL
 	bool "axel"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  HTTP/FTP download accelerator.
 
diff --git a/package/axel/axel.mk b/package/axel/axel.mk
index 91f6d1e..26d8b92 100644
--- a/package/axel/axel.mk
+++ b/package/axel/axel.mk
@@ -10,7 +10,7 @@ AXEL_SITE = https://alioth.debian.org/frs/download.php/3015
 AXEL_LDFLAGS = -lpthread
 
 ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
-AXEL_DEPENDENCIES += gettext libintl
+AXEL_DEPENDENCIES += gettext
 AXEL_LDFLAGS += -lintl
 endif
 
diff --git a/package/binutils/Config.in b/package/binutils/Config.in
index e068b20..6480370 100644
--- a/package/binutils/Config.in
+++ b/package/binutils/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_BINUTILS
 	bool "binutils"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  Install binutils on the target
 
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index 0a5a948..f94c43e 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -18,7 +18,7 @@ BINUTILS_SITE = ftp://www.at91.com/pub/buildroot
 endif
 BINUTILS_EXTRA_CONFIG_OPTIONS = $(call qstrip,$(BR2_BINUTILS_EXTRA_CONFIG_OPTIONS))
 BINUTILS_INSTALL_STAGING = YES
-BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+BINUTILS_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 # We need to specify host & target to avoid breaking ARM EABI
 BINUTILS_CONF_OPT = --disable-multilib --disable-werror \
diff --git a/package/diffutils/diffutils.mk b/package/diffutils/diffutils.mk
index 6d1896a..a877f2f 100644
--- a/package/diffutils/diffutils.mk
+++ b/package/diffutils/diffutils.mk
@@ -7,8 +7,7 @@
 DIFFUTILS_VERSION = 3.2
 DIFFUTILS_SITE = $(BR2_GNU_MIRROR)/diffutils
 DIFFUTILS_DEPENDENCIES = \
-	$(if $(BR2_PACKAGE_GETTEXT),gettext) \
-	$(if $(BR2_PACKAGE_LIBINTL),libintl)
+	$(if $(BR2_PACKAGE_GETTEXT),gettext)
 
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
 DIFFUTILS_DEPENDENCIES += busybox
diff --git a/package/flex/flex.mk b/package/flex/flex.mk
index 041aba8..3617411 100644
--- a/package/flex/flex.mk
+++ b/package/flex/flex.mk
@@ -12,8 +12,7 @@ FLEX_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/f/flex
 FLEX_DIR = $(BUILD_DIR)/flex-$(FLEX_VERSION)
 FLEX_INSTALL_STAGING = YES
 FLEX_DEPENDENCIES = \
-	$(if $(BR2_PACKAGE_GETTEXT),gettext) \
-	$(if $(BR2_PACKAGE_LIBINTL),libintl)
+	$(if $(BR2_PACKAGE_GETTEXT),gettext)
 # we don't have a host-gettext/libintl
 HOST_FLEX_DEPENDENCIES =
 
diff --git a/package/gdk-pixbuf/Config.in b/package/gdk-pixbuf/Config.in
index 28a0f12..2ceafe5 100644
--- a/package/gdk-pixbuf/Config.in
+++ b/package/gdk-pixbuf/Config.in
@@ -2,8 +2,7 @@ config BR2_PACKAGE_GDK_PIXBUF
 	bool "gdk-pixbuf"
 	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
-	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
 	  Gdk-Pixbuf is an image loader and scaler. It uses GObject
diff --git a/package/gdk-pixbuf/gdk-pixbuf.mk b/package/gdk-pixbuf/gdk-pixbuf.mk
index 8dc1c47..4bf71e4 100644
--- a/package/gdk-pixbuf/gdk-pixbuf.mk
+++ b/package/gdk-pixbuf/gdk-pixbuf.mk
@@ -35,7 +35,7 @@ GDK_PIXBUF_DEPENDENCIES += tiff
 endif
 
 GDK_PIXBUF_DEPENDENCIES += \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	$(if $(BR2_ENABLE_LOCALE),,libiconv) \
 	host-pkg-config libglib2
 
diff --git a/package/glib-networking/Config.in b/package/glib-networking/Config.in
index 16f0d4a..f1aa7ee 100644
--- a/package/glib-networking/Config.in
+++ b/package/glib-networking/Config.in
@@ -2,8 +2,7 @@ config BR2_PACKAGE_GLIB_NETWORKING
 	bool "glib-networking"
 	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
-	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  Network-related GIO modules for glib.
 
diff --git a/package/glib-networking/glib-networking.mk b/package/glib-networking/glib-networking.mk
index 9165835..272994c 100644
--- a/package/glib-networking/glib-networking.mk
+++ b/package/glib-networking/glib-networking.mk
@@ -13,7 +13,7 @@ GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz
 GLIB_NETWORKING_INSTALL_STAGING = YES
 
 GLIB_NETWORKING_DEPENDENCIES = \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	host-pkg-config \
 	host-intltool \
 	libglib2
diff --git a/package/gmpc/Config.in b/package/gmpc/Config.in
index f86945c..9b38d1a 100644
--- a/package/gmpc/Config.in
+++ b/package/gmpc/Config.in
@@ -5,7 +5,6 @@ config BR2_PACKAGE_GMPC
 	depends on BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_LIBMPD
 	select BR2_PACKAGE_LIBSOUP
diff --git a/package/gmpc/gmpc.mk b/package/gmpc/gmpc.mk
index 1db5346..f3c555a 100644
--- a/package/gmpc/gmpc.mk
+++ b/package/gmpc/gmpc.mk
@@ -11,6 +11,6 @@ GMPC_CONF_OPT = --disable-mmkeys --disable-unique
 GMPC_DEPENDENCIES = host-gob2 host-intltool host-pkg-config host-vala \
 	libglib2 libgtk2 libmpd libsoup sqlite \
 	xlib_libICE xlib_libSM xlib_libX11 \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 $(eval $(call AUTOTARGETS))
diff --git a/package/grep/Config.in b/package/grep/Config.in
index 1b39922..5906e69 100644
--- a/package/grep/Config.in
+++ b/package/grep/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_GREP
 	bool "grep"
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  The GNU regular expression matcher.
 
diff --git a/package/grep/grep.mk b/package/grep/grep.mk
index aa22910..e874128 100644
--- a/package/grep/grep.mk
+++ b/package/grep/grep.mk
@@ -8,7 +8,7 @@ GREP_VERSION = 2.11
 GREP_SITE = $(BR2_GNU_MIRROR)/grep
 GREP_SOURCE = grep-$(GREP_VERSION).tar.xz
 GREP_CONF_OPT = --disable-perl-regexp --without-included-regex
-GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+GREP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 # link with iconv if enabled
 ifeq ($(BR2_PACKAGE_LIBICONV),y)
diff --git a/package/kbd/Config.in b/package/kbd/Config.in
index a23b70a..44c3163 100644
--- a/package/kbd/Config.in
+++ b/package/kbd/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_KBD
 	bool "kbd"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	# Uses fork()
 	depends on BR2_USE_MMU
 	help
diff --git a/package/kbd/kbd.mk b/package/kbd/kbd.mk
index af30e8e..08a706b 100644
--- a/package/kbd/kbd.mk
+++ b/package/kbd/kbd.mk
@@ -2,6 +2,6 @@ KBD_VERSION = 1.15.2
 KBD_SOURCE = kbd-$(KBD_VERSION).tar.gz
 KBD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kbd
 
-KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+KBD_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 $(eval $(call AUTOTARGETS))
diff --git a/package/libglib2/Config.in b/package/libglib2/Config.in
index d1d7231..bdb63cb 100644
--- a/package/libglib2/Config.in
+++ b/package/libglib2/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_LIBGLIB2
 	bool "libglib2"
-	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_LIBFFI
 	select BR2_PACKAGE_ZLIB
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index d2445a1..be9aa22 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -55,7 +55,12 @@ HOST_LIBGLIB2_CONF_OPT = \
 		--disable-gtk-doc \
 		--enable-debug=no \
 
-LIBGLIB2_DEPENDENCIES = host-pkg-config host-libglib2 libffi zlib $(if $(BR2_NEEDS_GETTEXT),gettext libintl)
+LIBGLIB2_DEPENDENCIES = \
+	host-pkg-config \
+	host-libglib2 \
+	libffi \
+	zlib \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 HOST_LIBGLIB2_DEPENDENCIES = host-pkg-config host-libffi host-zlib
 
diff --git a/package/libidn/libidn.mk b/package/libidn/libidn.mk
index 935240b..044ed59 100644
--- a/package/libidn/libidn.mk
+++ b/package/libidn/libidn.mk
@@ -9,7 +9,9 @@ LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn
 LIBIDN_INSTALL_STAGING = YES
 LIBIDN_CONF_ENV = EMACS="no"
 LIBIDN_CONF_OPT = --disable-java --enable-csharp=no
-LIBIDN_DEPENDENCIES = host-pkg-config $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+LIBIDN_DEPENDENCIES = host-pkg-config \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
+	$(if $(BR2_PACKAGE_LIBICONV),libiconv)
 
 define LIBIDN_REMOVE_BINARY
 	rm -f $(TARGET_DIR)/usr/bin/idn
diff --git a/package/libsoup/Config.in b/package/libsoup/Config.in
index eee6ade..4703191 100644
--- a/package/libsoup/Config.in
+++ b/package/libsoup/Config.in
@@ -3,8 +3,7 @@ config BR2_PACKAGE_LIBSOUP
 	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBXML2
 	select BR2_PACKAGE_LIBGLIB2
-	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  libsoup is an HTTP client/server library. It uses GObject
 	  and the GLib main loop, to integrate well with GNOME
diff --git a/package/libsoup/libsoup.mk b/package/libsoup/libsoup.mk
index 6572585..2e52b98 100644
--- a/package/libsoup/libsoup.mk
+++ b/package/libsoup/libsoup.mk
@@ -19,7 +19,12 @@ endif
 
 LIBSOUP_CONF_OPT = --disable-glibtest --without-gnome
 
-LIBSOUP_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config host-libglib2 libglib2 libxml2
+LIBSOUP_DEPENDENCIES = \
+	host-pkg-config \
+	host-libglib2 \
+	libglib2 \
+	libxml2 \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 ifeq ($(BR2_PACKAGE_LIBSOUP_SSL),y)
 LIBSOUP_DEPENDENCIES += glib-networking
diff --git a/package/make/Config.in b/package/make/Config.in
index 364bb1e..ea2ae1b 100644
--- a/package/make/Config.in
+++ b/package/make/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_MAKE
 	bool "make"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  A tool which controls the generation of executables and other
 	  non-source files of a program from the program's source files.
diff --git a/package/make/make.mk b/package/make/make.mk
index 2886032..8cc8799 100644
--- a/package/make/make.mk
+++ b/package/make/make.mk
@@ -7,7 +7,7 @@ MAKE_VERSION:=3.81
 MAKE_SOURCE:=make-$(MAKE_VERSION).tar.bz2
 MAKE_SITE:=$(BR2_GNU_MIRROR)/make
 
-MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 MAKE_CONF_ENV = make_cv_sys_gnu_glob=no \
 		GLOBINC='-I$(@D)/glob' \
diff --git a/package/multimedia/pulseaudio/Config.in b/package/multimedia/pulseaudio/Config.in
index 6e6d64c..4845ffa 100644
--- a/package/multimedia/pulseaudio/Config.in
+++ b/package/multimedia/pulseaudio/Config.in
@@ -5,7 +5,7 @@ config BR2_PACKAGE_PULSEAUDIO
 	select BR2_PACKAGE_JSON_C
 	select BR2_PACKAGE_LIBSNDFILE
 	select BR2_PACKAGE_SPEEX
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  PulseAudio is a sound system for POSIX OSes, meaning that it
 	  is a proxy for your sound applications. It allows you to do
diff --git a/package/multimedia/pulseaudio/pulseaudio.mk b/package/multimedia/pulseaudio/pulseaudio.mk
index eefc497..8363989 100644
--- a/package/multimedia/pulseaudio/pulseaudio.mk
+++ b/package/multimedia/pulseaudio/pulseaudio.mk
@@ -15,7 +15,7 @@ PULSEAUDIO_CONF_OPT = \
 
 PULSEAUDIO_DEPENDENCIES = \
 	host-pkg-config libtool json-c libsndfile speex host-intltool \
-	$(if $(BR2_PACKAGE_LIBINTL),libintl) \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	$(if $(BR2_PACKAGE_LIBATOMIC_OPS),libatomic_ops) \
 	$(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \
 	$(if $(BR2_PACKAGE_ALSA_LIB),alsa-lib) \
diff --git a/package/pango/Config.in b/package/pango/Config.in
index 923c3d4..60e9931 100644
--- a/package/pango/Config.in
+++ b/package/pango/Config.in
@@ -6,7 +6,6 @@ config BR2_PACKAGE_PANGO
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  Pango is a library for laying out and rendering of text, with an
 	  emphasis on internationalization. Pango can be used anywhere that
diff --git a/package/pango/pango.mk b/package/pango/pango.mk
index f46bdc6..613b4bf 100644
--- a/package/pango/pango.mk
+++ b/package/pango/pango.mk
@@ -41,7 +41,11 @@ PANGO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
 
 PANGO_CONF_OPT = --enable-explicit-deps=no --disable-debug
 
-PANGO_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) host-pkg-config libglib2 cairo
+PANGO_DEPENDENCIES = \
+	host-pkg-config \
+	libglib2 \
+	cairo \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 ifeq ($(BR2_PACKAGE_XORG7),y)
         PANGO_CONF_OPT += --with-x \
diff --git a/package/psmisc/Config.in b/package/psmisc/Config.in
index a138204..cc8420b 100644
--- a/package/psmisc/Config.in
+++ b/package/psmisc/Config.in
@@ -2,7 +2,6 @@ config BR2_PACKAGE_PSMISC
 	bool "psmisc"
 	select BR2_PACKAGE_NCURSES
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  Helpful /proc related utilities such as pstree, fuser, and killall
 
diff --git a/package/psmisc/psmisc.mk b/package/psmisc/psmisc.mk
index 0b0e046..406be3a 100644
--- a/package/psmisc/psmisc.mk
+++ b/package/psmisc/psmisc.mk
@@ -6,7 +6,7 @@
 
 PSMISC_VERSION = 22.16
 PSMISC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/psmisc/psmisc
-PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+PSMISC_DEPENDENCIES = ncurses $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 
 ifneq ($(BR2_TOOLCHAIN_BUILDROOT_USE_SSP),y)
 # Don't force -fstack-protector
diff --git a/package/sshfs/Config.in b/package/sshfs/Config.in
index 73d552f..37188ba 100644
--- a/package/sshfs/Config.in
+++ b/package/sshfs/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_SSHFS
 	select BR2_PACKAGE_LIBFUSE
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_OPENSSH
 	depends on BR2_LARGEFILE
diff --git a/package/sshfs/sshfs.mk b/package/sshfs/sshfs.mk
index e60cdeb..b7b531f 100644
--- a/package/sshfs/sshfs.mk
+++ b/package/sshfs/sshfs.mk
@@ -9,7 +9,7 @@ SSHFS_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/fuse/ss
 SSHFS_SOURCE = sshfs-fuse-$(SSHFS_VERSION).tar.gz
 SSHFS_DEPENDENCIES = \
 	libglib2 libfuse openssh \
-	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl) \
+	$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) \
 	$(if $(BR2_ENABLE_LOCALE),,libiconv)
 
 $(eval $(call AUTOTARGETS))
diff --git a/package/sysstat/Config.in b/package/sysstat/Config.in
index 6e62ff1..ceba503 100644
--- a/package/sysstat/Config.in
+++ b/package/sysstat/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_SYSSTAT
 	bool "sysstat"
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	# Uses fork()
 	depends on BR2_USE_MMU
 	help
diff --git a/package/sysstat/sysstat.mk b/package/sysstat/sysstat.mk
index 55991c4..7bd5278 100644
--- a/package/sysstat/sysstat.mk
+++ b/package/sysstat/sysstat.mk
@@ -14,7 +14,7 @@ SYSSTAT_CONF_OPT += --disable-documentation
 endif
 
 ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
-SYSSTAT_DEPENDENCIES += gettext libintl
+SYSSTAT_DEPENDENCIES += gettext
 SYSSTAT_MAKE_OPT += CFLAGS+=-lintl
 endif
 
diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk
index d8a3ac9..3da4d90 100644
--- a/package/util-linux/util-linux.mk
+++ b/package/util-linux/util-linux.mk
@@ -29,8 +29,11 @@ else
 UTIL_LINUX_CONF_OPT += --without-ncurses
 endif
 
-ifeq ($(BR2_PACKAGE_LIBINTL),y)
-UTIL_LINUX_DEPENDENCIES += libintl
+ifeq ($(BR2_NEEDS_GETTEXT),y)
+UTIL_LINUX_DEPENDENCIES += gettext
+endif
+
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
 UTIL_LINUX_MAKE_OPT += LIBS=-lintl
 endif
 
diff --git a/package/vala/Config.in b/package/vala/Config.in
index 89b4459..e0d665c 100644
--- a/package/vala/Config.in
+++ b/package/vala/Config.in
@@ -3,7 +3,6 @@ config BR2_PACKAGE_VALA
 	depends on BR2_USE_WCHAR # glib2
 	select BR2_PACKAGE_LIBGLIB2
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
 	  Compiler for the GObject type system.
diff --git a/package/vala/vala.mk b/package/vala/vala.mk
index a3ad037..b579316 100644
--- a/package/vala/vala.mk
+++ b/package/vala/vala.mk
@@ -10,7 +10,7 @@ VALA_VERSION = $(VALA_VERSION_MAJOR).$(VALA_VERSION_MINOR)
 VALA_SITE = http://download.gnome.org/sources/vala/$(VALA_VERSION_MAJOR)
 VALA_SOURCE = vala-$(VALA_VERSION).tar.xz
 VALA_DEPENDENCIES = host-flex libglib2 \
-		$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext libintl)
+		$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 HOST_VALA_DEPENDENCIES = host-flex host-libglib2
 
 $(eval $(call AUTOTARGETS))
-- 
1.7.10.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES
  2012-05-08 11:19       ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin
@ 2012-05-11 21:37         ` Arnout Vandecappelle
  2012-05-11 22:45           ` Samuel Martin
  0 siblings, 1 reply; 19+ messages in thread
From: Arnout Vandecappelle @ 2012-05-11 21:37 UTC (permalink / raw)
  To: buildroot

On 05/08/12 13:19, Samuel Martin wrote:
> libintl target does nothing but removing some binaries installed by
> gettext.
>
> This patch renames the BR2_PACKAGE_LIBINTL symbol to
> BR2_PACKAGE_GETTEXT_NEEDS_BINARIES and fixes the logic for packages
> that may need those gettext binaries.

  I would call it BR2_PACKAGE_GETTEXT_BINARIES instead, or perhaps
BR_PACKAGE_GETTEXT_INSTALL_BINARIES.

  Also, the logic is inverted: _LIBINTL would remove the binaries, but
now you don't remove the binaries if _GETTEXT_BINARIES is defined.  So
this should be mentioned in the commit log.

> It also adds a warning about libintl support depending on locale enabling
> in the toolchain.
>
> Signed-off-by: Samuel Martin<s.martin49@gmail.com>
> ---
>   package/gettext/Config.in  |   16 ++++++++--------
>   package/gettext/gettext.mk |    2 +-
>   package/libidn/Config.in   |    1 +
>   package/php/Config.ext     |    1 +
>   4 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/package/gettext/Config.in b/package/gettext/Config.in
> index 0ee4065..461652f 100644
> --- a/package/gettext/Config.in
> +++ b/package/gettext/Config.in
> @@ -12,12 +12,12 @@ config BR2_PACKAGE_GETTEXT
>   comment "gettext requires a toolchain with WCHAR support"
>   	depends on BR2_NEEDS_GETTEXT&&  !BR2_USE_WCHAR
>
> -config BR2_PACKAGE_LIBINTL
> -	bool "libintl"
> -	depends on BR2_NEEDS_GETTEXT
> -	depends on BR2_USE_WCHAR
> -	help
> -	  Selecting this package installs all of gettext in the staging
> -	  directory and the shared library for it's use in the target.
> +comment "libintl requires a toolchain with locale/i18n support"
> +	depends on BR2_PACKAGE_GETTEXT&&  !BR2_ENABLE_LOCALE

  You just removed libintl, so you shouldn't add a comment about it.
I'm also not sure where this comes from.  If gettext/libintl requires
ENABLE_LOCALE, why did it work before?  Or didn't it work before, and
should there in fact be a 'depends on BR2_ENABLE_LOCALE' in the gettext
package (and everything that selects it)?

>
> -	  http://www.gnu.org/software/gettext/
> +config BR2_PACKAGE_GETTEXT_NEEDS_BINARIES
> +	bool
> +	depends on BR2_PACKAGE_GETTEXT
> +	help
> +	  Force to install gettext binaries (gettext, gettext.sh and gettextize)
> +	  in the target.

  I think the "Force to install" is a bit strong here.  Just say
"Install gettext binaries..."

> diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
> index 7c7b26c..0902edd 100644
> --- a/package/gettext/gettext.mk
> +++ b/package/gettext/gettext.mk
> @@ -17,7 +17,7 @@ define GETTEXT_REMOVE_BINARIES
>   	rm -f $(TARGET_DIR)/usr/bin/gettextize
>   endef
>
> -ifeq ($(BR2_PACKAGE_LIBINTL),y)
> +ifneq ($(BR2_PACKAGE_GETTEXT_NEEDS_BINARIES),y)
>   	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
>   endif
>
> diff --git a/package/libidn/Config.in b/package/libidn/Config.in
> index dcf9724..3e98245 100644
> --- a/package/libidn/Config.in
> +++ b/package/libidn/Config.in
> @@ -1,6 +1,7 @@
>   config BR2_PACKAGE_LIBIDN
>   	bool "libidn"
>   	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
> +	select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT_IF_LOCALE

  Why does libidn need the gettext binaries?  If this is just a mechanical
update of a dependency that was in fact incorrect, why is it just for
libidn and not for the 20-ish other packages that select BR2_PACKAGE_GETTEXT?

  In fact for this one I had a quick check in the source code, and I can't
find a reference to the gettext binaries.  So I doubt it is needed.


>   	help
>   	  Libidn's purpose is to encode and decode internationalized
>   	  domain names.
> diff --git a/package/php/Config.ext b/package/php/Config.ext
> index bd630ee..2ea686c 100644
> --- a/package/php/Config.ext
> +++ b/package/php/Config.ext
> @@ -68,6 +68,7 @@ config BR2_PACKAGE_PHP_EXT_FTP
>   config BR2_PACKAGE_PHP_EXT_GETTEXT
>   	bool "gettext"
>   	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
> +	select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT

  Same here.  I'm not altogether sure that the gettext PHP extension
doesn't call the binary, but at first sight it looks like it's just
using the library function.

  Regards,
  Arnout

>   	depends on BR2_USE_WCHAR
>   	help
>   	  gettext support

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES
  2012-05-11 21:37         ` Arnout Vandecappelle
@ 2012-05-11 22:45           ` Samuel Martin
  2012-05-12 14:43             ` Arnout Vandecappelle
  0 siblings, 1 reply; 19+ messages in thread
From: Samuel Martin @ 2012-05-11 22:45 UTC (permalink / raw)
  To: buildroot

Hi Arnout,

Thx for the review.

2012/5/11 Arnout Vandecappelle <arnout@mind.be>:
> On 05/08/12 13:19, Samuel Martin wrote:
>>
>> libintl target does nothing but removing some binaries installed by
>> gettext.
>>
>> This patch renames the BR2_PACKAGE_LIBINTL symbol to
>> BR2_PACKAGE_GETTEXT_NEEDS_BINARIES and fixes the logic for packages
>> that may need those gettext binaries.
>
>
> ?I would call it BR2_PACKAGE_GETTEXT_BINARIES instead, or perhaps
> BR_PACKAGE_GETTEXT_INSTALL_BINARIES.
ok, why not.

>
> ?Also, the logic is inverted: _LIBINTL would remove the binaries, but
> now you don't remove the binaries if _GETTEXT_BINARIES is defined. ?So
> this should be mentioned in the commit log.
Next time, I will pay more attention to my commit messages.

>
>> It also adds a warning about libintl support depending on locale enabling
>> in the toolchain.
>>
>> Signed-off-by: Samuel Martin<s.martin49@gmail.com>
>> ---
>> ?package/gettext/Config.in ?| ? 16 ++++++++--------
>> ?package/gettext/gettext.mk | ? ?2 +-
>> ?package/libidn/Config.in ? | ? ?1 +
>> ?package/php/Config.ext ? ? | ? ?1 +
>> ?4 files changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/package/gettext/Config.in b/package/gettext/Config.in
>> index 0ee4065..461652f 100644
>> --- a/package/gettext/Config.in
>> +++ b/package/gettext/Config.in
>> @@ -12,12 +12,12 @@ config BR2_PACKAGE_GETTEXT
>> ?comment "gettext requires a toolchain with WCHAR support"
>> ? ? ? ?depends on BR2_NEEDS_GETTEXT&& ?!BR2_USE_WCHAR
>>
>>
>> -config BR2_PACKAGE_LIBINTL
>> - ? ? ? bool "libintl"
>> - ? ? ? depends on BR2_NEEDS_GETTEXT
>> - ? ? ? depends on BR2_USE_WCHAR
>> - ? ? ? help
>> - ? ? ? ? Selecting this package installs all of gettext in the staging
>> - ? ? ? ? directory and the shared library for it's use in the target.
>> +comment "libintl requires a toolchain with locale/i18n support"
>> + ? ? ? depends on BR2_PACKAGE_GETTEXT&& ?!BR2_ENABLE_LOCALE
>
>
> ?You just removed libintl, so you shouldn't add a comment about it.

Because now libintl comes with gettext, there is no explicit target
for libintl anymore.
I add the comment about libintl because the build of packages
depending on libintl failed
if I enabled gettext, but disable locale/i18n support.

> I'm also not sure where this comes from. ?If gettext/libintl requires
> ENABLE_LOCALE, why did it work before? ?Or didn't it work before, and
> should there in fact be a 'depends on BR2_ENABLE_LOCALE' in the gettext
> package (and everything that selects it)?

When I tested these patches, with similar configs, the unique diff was
BR2_ENABLE_LOCALE enabled or not,
I got both libgettextlib and libintl installed in the staging dir.
when I enabled BR2_ENABLE_LOCALE,
whereas there was only libgettextlib installed if BR2_ENABLE_LOCALE
was disabled.
I cannot explain me either, hope there is some gettext guru around here...

>
>
>>
>> - ? ? ? ? http://www.gnu.org/software/gettext/
>> +config BR2_PACKAGE_GETTEXT_NEEDS_BINARIES
>> + ? ? ? bool
>> + ? ? ? depends on BR2_PACKAGE_GETTEXT
>> + ? ? ? help
>> + ? ? ? ? Force to install gettext binaries (gettext, gettext.sh and
>> gettextize)
>> + ? ? ? ? in the target.
>
>
> ?I think the "Force to install" is a bit strong here. ?Just say
> "Install gettext binaries..."
maybe...ok.

>
>
>> diff --git a/package/gettext/gettext.mk b/package/gettext/gettext.mk
>> index 7c7b26c..0902edd 100644
>> --- a/package/gettext/gettext.mk
>> +++ b/package/gettext/gettext.mk
>> @@ -17,7 +17,7 @@ define GETTEXT_REMOVE_BINARIES
>> ? ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettextize
>> ?endef
>>
>> -ifeq ($(BR2_PACKAGE_LIBINTL),y)
>> +ifneq ($(BR2_PACKAGE_GETTEXT_NEEDS_BINARIES),y)
>> ? ? ? ?GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
>> ?endif
>>
>> diff --git a/package/libidn/Config.in b/package/libidn/Config.in
>> index dcf9724..3e98245 100644
>> --- a/package/libidn/Config.in
>> +++ b/package/libidn/Config.in
>> @@ -1,6 +1,7 @@
>> ?config BR2_PACKAGE_LIBIDN
>> ? ? ? ?bool "libidn"
>> ? ? ? ?select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
>> + ? ? ? select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if
>> BR2_NEEDS_GETTEXT_IF_LOCALE
>
>
> ?Why does libidn need the gettext binaries? ?If this is just a mechanical
> update of a dependency that was in fact incorrect, why is it just for
> libidn and not for the 20-ish other packages that select
> BR2_PACKAGE_GETTEXT?
>
> ?In fact for this one I had a quick check in the source code, and I can't
> find a reference to the gettext binaries. ?So I doubt it is needed.
>
Actually, I followed some basic logic:
Before this patch series:
"a package depending on: gettext && libintl,  did not need gettext binaries";
this can also be rephrase:
"a package depending on: gettext && !libintl,  may need gettext binaries".

After apply this patch, because I invert (and rename) the libintl
logic, these sentences become:
"a package depending on: gettext && !need_gettext_binaries,  did not
need gettext binaries";
or:
"a package depending on: gettext && need_gettext_binaries,  (may) need
gettext binaries".

I was just enforcing the eventuality that a package may need gettext binaries.

Hope this makes things clearer.

>
>
>> ? ? ? ?help
>> ? ? ? ? ?Libidn's purpose is to encode and decode internationalized
>> ? ? ? ? ?domain names.
>> diff --git a/package/php/Config.ext b/package/php/Config.ext
>> index bd630ee..2ea686c 100644
>> --- a/package/php/Config.ext
>> +++ b/package/php/Config.ext
>> @@ -68,6 +68,7 @@ config BR2_PACKAGE_PHP_EXT_FTP
>> ?config BR2_PACKAGE_PHP_EXT_GETTEXT
>> ? ? ? ?bool "gettext"
>> ? ? ? ?select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
>> + ? ? ? select BR2_PACKAGE_GETTEXT_NEEDS_BINARIES if BR2_NEEDS_GETTEXT
>
>
> ?Same here. ?I'm not altogether sure that the gettext PHP extension
> doesn't call the binary, but at first sight it looks like it's just
> using the library function.

If these packages don't need gettext binaries, I'm fine with removing
these select lines.

>
> ?Regards,
> ?Arnout
>
>
>> ? ? ? ?depends on BR2_USE_WCHAR
>> ? ? ? ?help
>> ? ? ? ? ?gettext support
>
>
> --
> Arnout Vandecappelle ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? arnout at mind be
> Senior Embedded Software Architect ? ? ? ? ? ? ? ? +32-16-286540
> Essensium/Mind ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium ? ? ? ? ? ? ? ?BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint: ?7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F


Cheers,

Sam

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES
  2012-05-11 22:45           ` Samuel Martin
@ 2012-05-12 14:43             ` Arnout Vandecappelle
  0 siblings, 0 replies; 19+ messages in thread
From: Arnout Vandecappelle @ 2012-05-12 14:43 UTC (permalink / raw)
  To: buildroot

On 05/12/12 00:45, Samuel Martin wrote:
> Hi Arnout,
>
> Thx for the review.
>
> 2012/5/11 Arnout Vandecappelle<arnout@mind.be>:
>> On 05/08/12 13:19, Samuel Martin wrote:
[snip]
>>> +comment "libintl requires a toolchain with locale/i18n support"
>>> +       depends on BR2_PACKAGE_GETTEXT&&    !BR2_ENABLE_LOCALE
>>
>>
>>   You just removed libintl, so you shouldn't add a comment about it.
>
> Because now libintl comes with gettext, there is no explicit target
> for libintl anymore.
> I add the comment about libintl because the build of packages
> depending on libintl failed
> if I enabled gettext, but disable locale/i18n support.
>
>> I'm also not sure where this comes from.  If gettext/libintl requires
>> ENABLE_LOCALE, why did it work before?  Or didn't it work before, and
>> should there in fact be a 'depends on BR2_ENABLE_LOCALE' in the gettext
>> package (and everything that selects it)?
>
> When I tested these patches, with similar configs, the unique diff was
> BR2_ENABLE_LOCALE enabled or not,
> I got both libgettextlib and libintl installed in the staging dir.
> when I enabled BR2_ENABLE_LOCALE,
> whereas there was only libgettextlib installed if BR2_ENABLE_LOCALE
> was disabled.
> I cannot explain me either, hope there is some gettext guru around here...

  I just tried with the following defconfig and without these patches,
and I do get both libgettextlib and libintl on the target.

BR2_powerpc=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
BR2_PACKAGE_GETTEXT=y
BR2_PACKAGE_LIBINTL=y
(BR2_ENABLE_LOCALE is not set)

[snip]
>>   Why does libidn need the gettext binaries?  If this is just a mechanical
>> update of a dependency that was in fact incorrect, why is it just for
>> libidn and not for the 20-ish other packages that select
>> BR2_PACKAGE_GETTEXT?
>>
>>   In fact for this one I had a quick check in the source code, and I can't
>> find a reference to the gettext binaries.  So I doubt it is needed.
>>
> Actually, I followed some basic logic:
> Before this patch series:
> "a package depending on: gettext&&  libintl,  did not need gettext binaries";
> this can also be rephrase:
> "a package depending on: gettext&&  !libintl,  may need gettext binaries".
>
> After apply this patch, because I invert (and rename) the libintl
> logic, these sentences become:
> "a package depending on: gettext&&  !need_gettext_binaries,  did not
> need gettext binaries";
> or:
> "a package depending on: gettext&&  need_gettext_binaries,  (may) need
> gettext binaries".
>
> I was just enforcing the eventuality that a package may need gettext binaries.
>
> Hope this makes things clearer.

  Indeed.  Sorry I wasn't paying attention :-)

  Although most likely these two packages don't need the gettext binaries on
the target, it's safer to keep the old behaviour.

  Regards,
  Arnout

-- 
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-05-08 11:19     ` [Buildroot] [PATCH 1/3] " Samuel Martin
  2012-05-08 11:19       ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin
  2012-05-08 11:19       ` [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies Samuel Martin
@ 2012-05-19 21:46       ` Peter Korsgaard
  2012-05-21  7:52         ` Samuel Martin
  2012-05-21  8:06         ` Maxime Ripard
  2 siblings, 2 replies; 19+ messages in thread
From: Peter Korsgaard @ 2012-05-19 21:46 UTC (permalink / raw)
  To: buildroot

>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes:

Hi,

 Samuel> From: Maxime Ripard <maxime.ripard@free-electrons.com>
 Samuel> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
 Samuel> Acked-by: Samuel Martin <s.martin49@gmail.com>
 Samuel> ---

 Samuel> -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
 Samuel> -	$(MAKE) -C $(GETTEXT_DIR)
 Samuel> -	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
 Samuel> +define GETTEXT_REMOVE_BINARIES
 Samuel> +	rm -f $(TARGET_DIR)/usr/bin/gettext
 Samuel> +	rm -f $(TARGET_DIR)/usr/bin/gettext.sh
 Samuel> +	rm -f $(TARGET_DIR)/usr/bin/gettextize
 Samuel> +endef

 Samuel>  ifeq ($(BR2_PACKAGE_LIBINTL),y)
 Samuel> +	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
 Samuel>  endif
 Samuel> +

This seems backwards. Wouldn't you want to keep the binaries if libintl
is enabled?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-05-19 21:46       ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard
@ 2012-05-21  7:52         ` Samuel Martin
  2012-05-21  8:02           ` Peter Korsgaard
  2012-05-21  8:06         ` Maxime Ripard
  1 sibling, 1 reply; 19+ messages in thread
From: Samuel Martin @ 2012-05-21  7:52 UTC (permalink / raw)
  To: buildroot

Hi,

2012/5/19 Peter Korsgaard <jacmet@uclibc.org>:
>>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes:
>
> Hi,
>
> ?Samuel> From: Maxime Ripard <maxime.ripard@free-electrons.com>
> ?Samuel> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ?Samuel> Acked-by: Samuel Martin <s.martin49@gmail.com>
> ?Samuel> ---
>
> ?Samuel> -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
> ?Samuel> - ? ? ?$(MAKE) -C $(GETTEXT_DIR)
> ?Samuel> - ? ? ?touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
> ?Samuel> +define GETTEXT_REMOVE_BINARIES
> ?Samuel> + ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettext
> ?Samuel> + ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettext.sh
> ?Samuel> + ? ? ?rm -f $(TARGET_DIR)/usr/bin/gettextize
> ?Samuel> +endef
>
> ?Samuel> ?ifeq ($(BR2_PACKAGE_LIBINTL),y)
> ?Samuel> + ? ? ?GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
> ?Samuel> ?endif
> ?Samuel> +
>
> This seems backwards. Wouldn't you want to keep the binaries if libintl
> is enabled?

Actually, do we really need to remove these binaries?
On an arm build, these 3 binaries take less than 80KB.

Cheers,

Sam

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-05-21  7:52         ` Samuel Martin
@ 2012-05-21  8:02           ` Peter Korsgaard
  2012-05-21  8:08             ` Will Newton
  0 siblings, 1 reply; 19+ messages in thread
From: Peter Korsgaard @ 2012-05-21  8:02 UTC (permalink / raw)
  To: buildroot

>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes:

Hi,

 >> This seems backwards. Wouldn't you want to keep the binaries if libintl
 >> is enabled?

 Samuel> Actually, do we really need to remove these binaries?
 Samuel> On an arm build, these 3 binaries take less than 80KB.

I don't feel strongly about it. The stuff needing gettext is typically
quite a lot bigger than 80KB, so perhaps simplifying stuff is indeed the
way to go.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-05-19 21:46       ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard
  2012-05-21  7:52         ` Samuel Martin
@ 2012-05-21  8:06         ` Maxime Ripard
  1 sibling, 0 replies; 19+ messages in thread
From: Maxime Ripard @ 2012-05-21  8:06 UTC (permalink / raw)
  To: buildroot

Hi,

Le 19/05/2012 23:46, Peter Korsgaard a ?crit :
>>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes:
>  Samuel> From: Maxime Ripard <maxime.ripard@free-electrons.com>
>  Samuel> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
>  Samuel> Acked-by: Samuel Martin <s.martin49@gmail.com>
>  Samuel> ---
> 
>  Samuel> -$(GETTEXT_DIR)/$(GETTEXT_BINARY): $(GETTEXT_DIR)/.configured
>  Samuel> -	$(MAKE) -C $(GETTEXT_DIR)
>  Samuel> -	touch -c $(GETTEXT_DIR)/$(GETTEXT_BINARY)
>  Samuel> +define GETTEXT_REMOVE_BINARIES
>  Samuel> +	rm -f $(TARGET_DIR)/usr/bin/gettext
>  Samuel> +	rm -f $(TARGET_DIR)/usr/bin/gettext.sh
>  Samuel> +	rm -f $(TARGET_DIR)/usr/bin/gettextize
>  Samuel> +endef
> 
>  Samuel>  ifeq ($(BR2_PACKAGE_LIBINTL),y)
>  Samuel> +	GETTEXT_POST_INSTALL_TARGET_HOOKS += GETTEXT_REMOVE_BINARIES
>  Samuel>  endif
>  Samuel> +
> 
> This seems backwards. Wouldn't you want to keep the binaries if libintl
> is enabled?

What looks backward to me is that libintl is there even if
BR2_PACKAGE_LIBINTL is not enabled...


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-05-21  8:02           ` Peter Korsgaard
@ 2012-05-21  8:08             ` Will Newton
  2012-05-21  8:12               ` Maxime Ripard
  2012-05-21  8:12               ` Peter Korsgaard
  0 siblings, 2 replies; 19+ messages in thread
From: Will Newton @ 2012-05-21  8:08 UTC (permalink / raw)
  To: buildroot

On Mon, May 21, 2012 at 9:02 AM, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes:
>
> Hi,
>
> ?>> This seems backwards. Wouldn't you want to keep the binaries if libintl
> ?>> is enabled?
>
> ?Samuel> Actually, do we really need to remove these binaries?
> ?Samuel> On an arm build, these 3 binaries take less than 80KB.
>
> I don't feel strongly about it. The stuff needing gettext is typically
> quite a lot bigger than 80KB, so perhaps simplifying stuff is indeed the
> way to go.

I would suggest that if we used to remove it then we should keep
removing it. Otherwise you end up in the situation where you update
buildroot and your filesystem image gets ever so slightly bigger and
won't fit in flash any more.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-05-21  8:08             ` Will Newton
@ 2012-05-21  8:12               ` Maxime Ripard
  2012-05-21  8:12               ` Peter Korsgaard
  1 sibling, 0 replies; 19+ messages in thread
From: Maxime Ripard @ 2012-05-21  8:12 UTC (permalink / raw)
  To: buildroot

Le 21/05/2012 10:08, Will Newton a ?crit :
> On Mon, May 21, 2012 at 9:02 AM, Peter Korsgaard <jacmet@uclibc.org> wrote:
>>>>>>> "Samuel" == Samuel Martin <s.martin49@gmail.com> writes:
>>
>> Hi,
>>
>>  >> This seems backwards. Wouldn't you want to keep the binaries if libintl
>>  >> is enabled?
>>
>>  Samuel> Actually, do we really need to remove these binaries?
>>  Samuel> On an arm build, these 3 binaries take less than 80KB.
>>
>> I don't feel strongly about it. The stuff needing gettext is typically
>> quite a lot bigger than 80KB, so perhaps simplifying stuff is indeed the
>> way to go.
> 
> I would suggest that if we used to remove it then we should keep
> removing it. Otherwise you end up in the situation where you update
> buildroot and your filesystem image gets ever so slightly bigger and
> won't fit in flash any more.

I think that it is something you should expect when upgrading buildroot.
I mean, you already have a lot of packages version bump that can lead to
the same filesystem size increase, with the result you described.

Maxime

-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/3] Convert gettext to autotargets
  2012-05-21  8:08             ` Will Newton
  2012-05-21  8:12               ` Maxime Ripard
@ 2012-05-21  8:12               ` Peter Korsgaard
  1 sibling, 0 replies; 19+ messages in thread
From: Peter Korsgaard @ 2012-05-21  8:12 UTC (permalink / raw)
  To: buildroot

>>>>> "Will" == Will Newton <will.newton@gmail.com> writes:

Hi,

 Will> I would suggest that if we used to remove it then we should keep
 Will> removing it. Otherwise you end up in the situation where you
 Will> update buildroot and your filesystem image gets ever so slightly
 Will> bigger and won't fit in flash any more.

That can still happen with our version bumps as new versions are
typically somewhat more bloated than older versions, but OK - Keeping it
is not a big problem.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-05-21  8:12 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-04 14:46 [Buildroot] [pull request] Pull request for branch for-2012.05/packages-updates Maxime Ripard
2012-04-04 14:46 ` [Buildroot] [PATCH 1/2] Convert gettext to autotargets Maxime Ripard
2012-04-04 14:56   ` Maxime Ripard
2012-05-08 11:19     ` [Buildroot] [PATCH 1/3] " Samuel Martin
2012-05-08 11:19       ` [Buildroot] [PATCH 2/3] gettext: Rename BR2_PACKAGE_LIBINTL to BR2_PACKAGE_GETTEXT_NEEDS_BINARIES Samuel Martin
2012-05-11 21:37         ` Arnout Vandecappelle
2012-05-11 22:45           ` Samuel Martin
2012-05-12 14:43             ` Arnout Vandecappelle
2012-05-08 11:19       ` [Buildroot] [PATCH 3/3] Cleanup gettext/libintl dependencies Samuel Martin
2012-05-19 21:46       ` [Buildroot] [PATCH 1/3] Convert gettext to autotargets Peter Korsgaard
2012-05-21  7:52         ` Samuel Martin
2012-05-21  8:02           ` Peter Korsgaard
2012-05-21  8:08             ` Will Newton
2012-05-21  8:12               ` Maxime Ripard
2012-05-21  8:12               ` Peter Korsgaard
2012-05-21  8:06         ` Maxime Ripard
2012-04-15 19:09   ` [Buildroot] [PATCH 1/1] " Samuel Martin
2012-04-04 14:46 ` [Buildroot] [PATCH 2/2] Bump systemd to version 44 Maxime Ripard
2012-04-05 11:16   ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.