Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version
@ 2012-05-17 11:15 Thomas Petazzoni
  2012-05-17 11:15 ` [Buildroot] [PATCH 2/2] socat: disable documentation build/installation Thomas Petazzoni
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2012-05-17 11:15 UTC (permalink / raw)
  To: buildroot

In kernel >= 3.3, the ext2_fs.h can no longer be imported from
userspace. This has been fixed for internal toolchains by adding a
patch to kernel headers, but this doesn't work with toolchains
generated by Crosstool-NG, or potentially upcoming external
toolchains.

socat in fact has a test in its configure.in, but the configure was
generated too long ago, and the generated test relies on the
preprocessor result and not the compiler result (but warns that in the
future, the compiler result will be used instead of the preprocessor
result).

So, by running autoconf on this package, we fix the problem: it
properly checks whether ext2_fs is usable or not, and acts
accordingly. Of course, it means that with recent versions of the
kernel, ext2-specific features of socat are unavailable, and we'll
have to wait for the socat developers to adapt their code so that they
use the e2fsprogs headers.

We also bump the version, since a new minor version fixing a security
problem has been released.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/socat/socat.mk |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/package/socat/socat.mk b/package/socat/socat.mk
index 5f7feac..bd435cf 100644
--- a/package/socat/socat.mk
+++ b/package/socat/socat.mk
@@ -4,7 +4,7 @@
 #
 #############################################################
 
-SOCAT_VERSION = 2.0.0-b4
+SOCAT_VERSION = 2.0.0-b5
 SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2
 SOCAT_SITE = http://www.dest-unreach.org/socat/download/
 SOCAT_CONF_ENV = sc_cv_termios_ispeed=no \
@@ -12,4 +12,17 @@ SOCAT_CONF_ENV = sc_cv_termios_ispeed=no \
 		 sc_cv_sys_tabdly_shift=11 \
 		 sc_cv_sys_csize_shift=4
 
+# We need to run autoconf to regenerate the configure script, in order
+# to ensure that the test checking linux/ext2_fs.h works
+# properly. However, the package only uses autoconf and not automake,
+# so we can't use the normal autoreconf logic.
+
+SOCAT_DEPENDENCIES = host-autoconf
+
+define SOCAT_RUN_AUTOCONF
+	(cd $(@D); $(HOST_DIR)/usr/bin/autoconf)
+endef
+
+SOCAT_PRE_CONFIGURE_HOOKS += SOCAT_RUN_AUTOCONF
+
 $(eval $(call AUTOTARGETS))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 2/2] socat: disable documentation build/installation
  2012-05-17 11:15 [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version Thomas Petazzoni
@ 2012-05-17 11:15 ` Thomas Petazzoni
  2012-05-17 13:34 ` [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version Thomas Petazzoni
  2012-05-17 21:46 ` Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2012-05-17 11:15 UTC (permalink / raw)
  To: buildroot

The documentation generation process requires a special yold2man
program, for which we don't have a package in Buildroot. Since we
generally don't care much about documentation of packages, just adjust
the package Makefile.in to not build/install its documentation.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/socat/socat-no-documentation.patch |   37 ++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 package/socat/socat-no-documentation.patch

diff --git a/package/socat/socat-no-documentation.patch b/package/socat/socat-no-documentation.patch
new file mode 100644
index 0000000..ce088df
--- /dev/null
+++ b/package/socat/socat-no-documentation.patch
@@ -0,0 +1,37 @@
+socat: disable documentation build/installation
+
+The documentation generation process requires a special yold2man
+program, for which we don't have a package in Buildroot. Since we
+generally don't care much about documentation of packages, just adjust
+the package Makefile.in to not build/install its documentation.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/Makefile.in
+===================================================================
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -93,7 +93,7 @@
+ 	Config/Makefile.Cygwin-1-5-25 Config/config.Cygwin-1-5-25.h \
+ 	Config/Makefile.MacOSX-10-5 Config/config.MacOSX-10-5.h
+ 
+-all: progs doc
++all: progs
+ 
+ scmclean: gitclean
+ 
+@@ -136,13 +136,11 @@
+ strip: progs
+ 	strip $(PROGS)
+ 
+-install: progs $(srcdir)/doc/socat.1
++install: progs
+ 	mkdir -p $(DESTDIR)$(BINDEST)
+ 	$(INSTALL) -m 755 socat $(DESTDIR)$(BINDEST)
+ 	$(INSTALL) -m 755 procan $(DESTDIR)$(BINDEST)
+ 	$(INSTALL) -m 755 filan $(DESTDIR)$(BINDEST)
+-	mkdir -p $(DESTDIR)$(MANDEST)/man1
+-	$(INSTALL) -m 644 $(srcdir)/doc/socat.1 $(DESTDIR)$(MANDEST)/man1/
+ 
+ uninstall:
+ 	rm -f $(DESTDIR)$(BINDEST)/socat
-- 
1.7.9.5

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

* [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version
  2012-05-17 11:15 [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version Thomas Petazzoni
  2012-05-17 11:15 ` [Buildroot] [PATCH 2/2] socat: disable documentation build/installation Thomas Petazzoni
@ 2012-05-17 13:34 ` Thomas Petazzoni
  2012-05-17 21:46 ` Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2012-05-17 13:34 UTC (permalink / raw)
  To: buildroot

Le Thu, 17 May 2012 13:15:57 +0200,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> a ?crit :

> In kernel >= 3.3, the ext2_fs.h can no longer be imported from
> userspace. This has been fixed for internal toolchains by adding a
> patch to kernel headers, but this doesn't work with toolchains
> generated by Crosstool-NG, or potentially upcoming external
> toolchains.
> 
> socat in fact has a test in its configure.in, but the configure was
> generated too long ago, and the generated test relies on the
> preprocessor result and not the compiler result (but warns that in the
> future, the compiler result will be used instead of the preprocessor
> result).
> 
> So, by running autoconf on this package, we fix the problem: it
> properly checks whether ext2_fs is usable or not, and acts
> accordingly. Of course, it means that with recent versions of the
> kernel, ext2-specific features of socat are unavailable, and we'll
> have to wait for the socat developers to adapt their code so that they
> use the e2fsprogs headers.

Forgot to say so in the commit log, but this fixes:
 http://autobuild.buildroot.org/results/fb8f118d0051d01f41cdc50a90df05f9d648e433/build-end.log

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

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

* [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version
  2012-05-17 11:15 [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version Thomas Petazzoni
  2012-05-17 11:15 ` [Buildroot] [PATCH 2/2] socat: disable documentation build/installation Thomas Petazzoni
  2012-05-17 13:34 ` [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version Thomas Petazzoni
@ 2012-05-17 21:46 ` Peter Korsgaard
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2012-05-17 21:46 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> In kernel >= 3.3, the ext2_fs.h can no longer be imported from
 Thomas> userspace. This has been fixed for internal toolchains by adding a
 Thomas> patch to kernel headers, but this doesn't work with toolchains
 Thomas> generated by Crosstool-NG, or potentially upcoming external
 Thomas> toolchains.

 Thomas> socat in fact has a test in its configure.in, but the configure was
 Thomas> generated too long ago, and the generated test relies on the
 Thomas> preprocessor result and not the compiler result (but warns that in the
 Thomas> future, the compiler result will be used instead of the preprocessor
 Thomas> result).

 Thomas> So, by running autoconf on this package, we fix the problem: it
 Thomas> properly checks whether ext2_fs is usable or not, and acts
 Thomas> accordingly. Of course, it means that with recent versions of the
 Thomas> kernel, ext2-specific features of socat are unavailable, and we'll
 Thomas> have to wait for the socat developers to adapt their code so that they
 Thomas> use the e2fsprogs headers.

 Thomas> We also bump the version, since a new minor version fixing a security
 Thomas> problem has been released.

Committed both, thanks.

-- 
Bye, Peter Korsgaard

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

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

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-17 11:15 [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version Thomas Petazzoni
2012-05-17 11:15 ` [Buildroot] [PATCH 2/2] socat: disable documentation build/installation Thomas Petazzoni
2012-05-17 13:34 ` [Buildroot] [PATCH 1/2] socat: fix build failure due to ext2_fs.h header, bump version Thomas Petazzoni
2012-05-17 21:46 ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox