socat: fix build failure due to ext2_fs.h header, bump version

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>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni 2012-05-17 01:15:57 +00:00 committed by Peter Korsgaard
parent 02b00dc9df
commit 878401a9d0

View File

@ -4,7 +4,7 @@
# #
############################################################# #############################################################
SOCAT_VERSION = 2.0.0-b4 SOCAT_VERSION = 2.0.0-b5
SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2 SOCAT_SOURCE = socat-$(SOCAT_VERSION).tar.bz2
SOCAT_SITE = http://www.dest-unreach.org/socat/download/ SOCAT_SITE = http://www.dest-unreach.org/socat/download/
SOCAT_CONF_ENV = sc_cv_termios_ispeed=no \ 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_tabdly_shift=11 \
sc_cv_sys_csize_shift=4 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)) $(eval $(call AUTOTARGETS))