Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/2] Convert gettext to autotargets
Date: Wed, 04 Apr 2012 16:56:48 +0200	[thread overview]
Message-ID: <4F7C6130.102@free-electrons.com> (raw)
In-Reply-To: <854f44b783b6b7dd9c1189c53e6c98aa74db10a1.1333550801.git.maxime.ripard@free-electrons.com>

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

  reply	other threads:[~2012-04-04 14:56 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F7C6130.102@free-electrons.com \
    --to=maxime.ripard@free-electrons.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox