autotools: do not overwrite first include path
cover autotools: do not overwrite first include path
The first patch fixes the issue with the autotools package. For a detailed explanation take a look into the commit message.
The second patch removes the hooks that were introduced to workaround the issue that is fixed with the first patch.
Heiko Thiery (1):
remove the hook for creating the m4 directory
Michael Walle (1):
autotools: do not overwrite first include path
package/atest/atest.mk | 6 ------ package/autoconf/autoconf.mk | 6 +++--- package/automake/automake.mk | 4 +++- package/bayer2rgb-neon/bayer2rgb-neon.mk | 6 ------ package/bluez-alsa/bluez-alsa.mk | 6 ------ package/davici/davici.mk | 5 ----- package/dropwatch/dropwatch.mk | 6 ------ package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk | 7 ------- .../gst1-plugins-bayer2rgb-neon.mk | 5 ----- package/gutenprint/gutenprint.mk | 7 ------- package/irqbalance/irqbalance.mk | 7 ------- package/jamvm/jamvm.mk | 7 ------- package/janus-gateway/janus-gateway.mk | 5 ----- package/lcdapi/lcdapi.mk | 6 ------ package/libdmtx/libdmtx.mk | 7 ------- package/libiscsi/libiscsi.mk | 6 ------ package/libpam-nfc/libpam-nfc.mk | 6 ------ package/libsoundtouch/libsoundtouch.mk | 5 ----- package/libva-utils/libva-utils.mk | 6 ------ package/ltrace/ltrace.mk | 5 ----- package/mfoc/mfoc.mk | 6 ------ package/minicom/minicom.mk | 6 ------ package/musl-fts/musl-fts.mk | 5 ----- package/open-lldp/open-lldp.mk | 8 -------- package/openpgm/openpgm.mk | 8 -------- package/pdbg/pdbg.mk | 5 ----- package/sdbusplus/sdbusplus.mk | 6 ------ package/speexdsp/speexdsp.mk | 6 ------ package/sysprof/sysprof.mk | 6 ------ package/tesseract-ocr/tesseract-ocr.mk | 7 ------- 30 files changed, 6 insertions(+), 175 deletions(-)
Signature · 1 line
2.20.1
PATCH 1/2 autotools: do not overwrite first include path
From: Michael Walle <[email protected]>
The first include path is special in aclocal. For example it is the path for the --install option. Also, the first include is treated in a special way if it doesn't exists. This might be the case if there is the following construct:
configure.ac: AC_CONFIG_MACRO_DIR([m4])
Makefile.am: ACLOCAL_AMFLAGS="-I m4"
If the package doesn't have local macros, the m4/ directory might not exist. aclocal will then just issue a warning instead of aborting the execution with a fatal error. See discussion here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663
Don't use the "-I" option in aclocal. Instead use ACLOCAL_PATH to pass the system-wide include dirs.
As a side effect this should fix the use of $(ACLOCAL) alone. Up until now, $(ACLOCAL) didn't include the ACLOCAL_HOST_DIR system include path.
autoreconf will pass the "-I" options to every tool it runs. So move the argument to each individual tool except aclocal.
--- package/autoconf/autoconf.mk | 6 +++--- package/automake/automake.mk | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-)
package/autoconf/autoconf.mk +3 -3
@@ -21,6 +21,6 @@ HOST_AUTOCONF_DEPENDENCIES = host-m4 host-libtool $(eval $(host-autotools-package)) # variables used by other packages -AUTOCONF = $(HOST_DIR)/bin/autoconf -AUTOHEADER = $(HOST_DIR)/bin/autoheader -AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true $(HOST_DIR)/bin/autoreconf -f -i -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" +AUTOCONF = $(HOST_DIR)/bin/autoconf -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" +AUTOHEADER = $(HOST_DIR)/bin/autoheader -I "$(ACLOCAL_DIR)" -I "$(ACLOCAL_HOST_DIR)" +AUTORECONF = $(HOST_CONFIGURE_OPTS) ACLOCAL="$(ACLOCAL)" AUTOCONF="$(AUTOCONF)" AUTOHEADER="$(AUTOHEADER)" AUTOMAKE="$(AUTOMAKE)" AUTOPOINT=/bin/true $(HOST_DIR)/bin/autoreconf -f -i
package/automake/automake.mk +3 -1
@@ -32,4 +32,6 @@ $(eval $(host-autotools-package)) # variables used by other packages AUTOMAKE = $(HOST_DIR)/bin/automake ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal -ACLOCAL = $(HOST_DIR)/bin/aclocal -I $(ACLOCAL_DIR) +ACLOCAL = $(HOST_DIR)/bin/aclocal +ACLOCAL_PATH = $(ACLOCAL_DIR):$(ACLOCAL_HOST_DIR) +export ACLOCAL_PATH
Signature · 1 line
2.20.1
PATCH 2/2 remove the hook for creating the m4 directory
In reply to Heiko ThieryWith "autotools: do not overwrite first include path" patch the hook to create m4 directory is on longer needed.
--- package/atest/atest.mk | 6 ------ package/bayer2rgb-neon/bayer2rgb-neon.mk | 6 ------ package/bluez-alsa/bluez-alsa.mk | 6 ------ package/davici/davici.mk | 5 ----- package/dropwatch/dropwatch.mk | 6 ------ package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk | 7 ------- .../gst1-plugins-bayer2rgb-neon.mk | 5 ----- package/gutenprint/gutenprint.mk | 7 ------- package/irqbalance/irqbalance.mk | 7 ------- package/jamvm/jamvm.mk | 7 ------- package/janus-gateway/janus-gateway.mk | 5 ----- package/lcdapi/lcdapi.mk | 6 ------ package/libdmtx/libdmtx.mk | 7 ------- package/libiscsi/libiscsi.mk | 6 ------ package/libpam-nfc/libpam-nfc.mk | 6 ------ package/libsoundtouch/libsoundtouch.mk | 5 ----- package/libva-utils/libva-utils.mk | 6 ------ package/ltrace/ltrace.mk | 5 ----- package/mfoc/mfoc.mk | 6 ------ package/minicom/minicom.mk | 6 ------ package/musl-fts/musl-fts.mk | 5 ----- package/open-lldp/open-lldp.mk | 8 -------- package/openpgm/openpgm.mk | 8 -------- package/pdbg/pdbg.mk | 5 ----- package/sdbusplus/sdbusplus.mk | 6 ------ package/speexdsp/speexdsp.mk | 6 ------ package/sysprof/sysprof.mk | 6 ------ package/tesseract-ocr/tesseract-ocr.mk | 7 ------- 28 files changed, 171 deletions(-)
package/atest/atest.mk +0 -6
@@ -12,10 +12,4 @@ ATEST_DEPENDENCIES = host-pkgconf libev alsa-lib # Fetched from Github, with no configure script ATEST_AUTORECONF = YES -# Autoreconf requires an existing m4 directory -define ATEST_PATCH_M4 - mkdir -p $(@D)/m4 -endef -ATEST_POST_PATCH_HOOKS += ATEST_PATCH_M4 - $(eval $(autotools-package))
package/bayer2rgb-neon/bayer2rgb-neon.mk +0 -6
@@ -15,10 +15,4 @@ BAYER2RGB_NEON_AUTORECONF = YES BAYER2RGB_NEON_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -mfpu=neon" -define BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - mkdir -p $(@D)/m4 -endef - -BAYER2RGB_NEON_PRE_CONFIGURE_HOOKS += BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - $(eval $(autotools-package))
package/bluez-alsa/bluez-alsa.mk +0 -6
@@ -13,12 +13,6 @@ BLUEZ_ALSA_DEPENDENCIES = alsa-lib bluez5_utils libglib2 sbc host-pkgconf # git repo, no configure BLUEZ_ALSA_AUTORECONF = YES -# Autoreconf requires an existing m4 directory -define BLUEZ_ALSA_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -BLUEZ_ALSA_POST_PATCH_HOOKS += BLUEZ_ALSA_MKDIR_M4 - BLUEZ_ALSA_CONF_OPTS = \ --enable-aplay \ --disable-debug-time \
package/davici/davici.mk +0 -5
@@ -12,9 +12,4 @@ DAVICI_DEPENDENCIES = strongswan DAVICI_INSTALL_STAGING = YES DAVICI_AUTORECONF = YES -define DAVICI_CREATE_M4 - mkdir -p $(@D)/m4 -endef -DAVICI_POST_PATCH_HOOKS += DAVICI_CREATE_M4 - $(eval $(autotools-package))
package/dropwatch/dropwatch.mk +0 -6
@@ -14,12 +14,6 @@ DROPWATCH_LICENSE_FILES = COPYING # From git DROPWATCH_AUTORECONF = YES -# Autoreconf step fails due to missing m4 directory -define DROPWATCH_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -DROPWATCH_PRE_CONFIGURE_HOOKS += DROPWATCH_CREATE_M4_DIR - DROPWATCH_CONF_OPTS = --without-bfd DROPWATCH_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS)
package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +0 -7
@@ -37,11 +37,4 @@ else GST_FSL_PLUGINS_CONF_OPTS += --disable-x11 endif -# Autoreconf requires an m4 directory to exist -define GST_FSL_PLUGINS_PATCH_M4 - mkdir -p $(@D)/m4 -endef - -GST_FSL_PLUGINS_POST_PATCH_HOOKS += GST_FSL_PLUGINS_PATCH_M4 - $(eval $(autotools-package))
package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk +0 -5
@@ -20,9 +20,4 @@ GST1_PLUGINS_BAYER2RGB_NEON_DEPENDENCIES = \ GST1_PLUGINS_BAYER2RGB_NEON_AUTORECONF = YES -define GST1_PLUGINS_BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - mkdir -p $(@D)/m4 -endef -GST1_PLUGINS_BAYER2RGB_NEON_PRE_CONFIGURE_HOOKS += GST1_PLUGINS_BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - $(eval $(autotools-package))
package/gutenprint/gutenprint.mk +0 -7
@@ -66,13 +66,6 @@ HOST_GUTENPRINT_CONF_OPTS = \ --disable-testpattern \ --without-cups -# Needed by autoreconf -define GUTENPRINT_CREATE_M4_DIR - mkdir -p $(@D)/m4local -endef -GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR -HOST_GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR - define HOST_GUTENPRINT_POST_BUILD_INSTAL_TMP_HEADER cp $(@D)/src/xml/xmli18n-tmp.h $(HOST_DIR)/include endef
package/irqbalance/irqbalance.mk +0 -7
@@ -40,13 +40,6 @@ else IRQBALANCE_CONF_OPTS += --without-systemd endif -# This would be done by the package's autogen.sh script -define IRQBALANCE_PRECONFIGURE - mkdir -p $(@D)/m4 -endef - -IRQBALANCE_PRE_CONFIGURE_HOOKS += IRQBALANCE_PRECONFIGURE - define IRQBALANCE_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/irqbalance/S13irqbalance \ $(TARGET_DIR)/etc/init.d/S13irqbalance
package/jamvm/jamvm.mk +0 -7
@@ -24,11 +24,4 @@ ifeq ($(BR2_arm),y) JAMVM_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -marm" endif -# Needed for autoreconf -define JAMVM_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -JAMVM_POST_PATCH_HOOKS += JAMVM_CREATE_M4_DIR - $(eval $(autotools-package))
package/janus-gateway/janus-gateway.mk +0 -5
@@ -17,11 +17,6 @@ JANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \ # configure.ac. JANUS_GATEWAY_AUTORECONF = YES -define JANUS_GATEWAY_M4 - mkdir -p $(@D)/m4 -endef -JANUS_GATEWAY_POST_PATCH_HOOKS += JANUS_GATEWAY_M4 - JANUS_GATEWAY_CONF_OPTS = \ --disable-data-channels \ --disable-sample-event-handler
package/lcdapi/lcdapi.mk +0 -6
@@ -11,10 +11,4 @@ LCDAPI_LICENSE_FILES = COPYING LCDAPI_AUTORECONF = YES LCDAPI_INSTALL_STAGING = YES -define LCDAPI_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -LCDAPI_POST_PATCH_HOOKS += LCDAPI_CREATE_M4_DIR - $(eval $(autotools-package))
package/libdmtx/libdmtx.mk +0 -7
@@ -12,11 +12,4 @@ LIBDMTX_INSTALL_STAGING = YES # github tarball does not include configure LIBDMTX_AUTORECONF = YES -# Create the m4 directory (missing from the archive). -# This is required for autoconf. -define LIBDMTX_CREATE_M4 - mkdir -p $(@D)/m4 -endef -LIBDMTX_PRE_CONFIGURE_HOOKS += LIBDMTX_CREATE_M4 - $(eval $(autotools-package))
package/libiscsi/libiscsi.mk +0 -6
@@ -14,10 +14,4 @@ LIBISCSI_AUTORECONF = YES LIBISCSI_CONF_OPTS = --disable-examples --disable-werror --disable-manpages \ --disable-test-tool --disable-tests -# We need to create the m4 directory to make autoreconf work properly. -define LIBISCSI_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -LIBISCSI_POST_PATCH_HOOKS += LIBISCSI_CREATE_M4_DIR - $(eval $(autotools-package))
package/libpam-nfc/libpam-nfc.mk +0 -6
@@ -19,10 +19,4 @@ LIBPAM_NFC_CONF_OPTS = \ # libpam breaks with parallel build, but is very fast to build. LIBPAM_NFC_MAKE = $(MAKE1) -# Autoreconf requires an existing m4 directory -define LIBPAM_NFC_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -LIBPAM_NFC_PRE_CONFIGURE_HOOKS += LIBPAM_NFC_MKDIR_M4 - $(eval $(autotools-package))
package/libsoundtouch/libsoundtouch.mk +0 -5
@@ -12,9 +12,4 @@ LIBSOUNDTOUCH_LICENSE_FILES = COPYING.TXT LIBSOUNDTOUCH_AUTORECONF = YES LIBSOUNDTOUCH_INSTALL_STAGING = YES -define LIBSOUNDTOUCH_CREATE_CONFIG_M4 - mkdir -p $(@D)/config/m4 -endef -LIBSOUNDTOUCH_POST_PATCH_HOOKS += LIBSOUNDTOUCH_CREATE_CONFIG_M4 - $(eval $(autotools-package))
package/libva-utils/libva-utils.mk +0 -6
@@ -11,10 +11,4 @@ LIBVA_UTILS_LICENSE = MIT LIBVA_UTILS_LICENSE_FILES = COPYING LIBVA_UTILS_DEPENDENCIES = host-pkgconf libva -define LIBVA_UTILS_CREATE_M4_DIR - @mkdir -p $(@D)/m4 -endef - -LIBVA_UTILS_POST_EXTRACT_HOOKS += LIBVA_UTILS_CREATE_M4_DIR - $(eval $(autotools-package))
package/ltrace/ltrace.mk +0 -5
@@ -12,11 +12,6 @@ LTRACE_LICENSE = GPL-2.0 LTRACE_LICENSE_FILES = COPYING LTRACE_AUTORECONF = YES -define LTRACE_CREATE_CONFIG_M4 - mkdir -p $(@D)/config/m4 -endef -LTRACE_POST_PATCH_HOOKS += LTRACE_CREATE_CONFIG_M4 - # ltrace can use libunwind only if libc has backtrace() support # We don't normally do so for uClibc and we can't know if it's external # Also ltrace with libunwind support is broken for MIPS so we disable it
package/mfoc/mfoc.mk +0 -6
@@ -13,10 +13,4 @@ MFOC_DEPENDENCIES = libnfc MFOC_AUTORECONF = YES MFOC_INSTALL_STAGING = YES -# Autoreconf requires an existing m4 directory -define MFOC_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -MFOC_PRE_CONFIGURE_HOOKS += MFOC_MKDIR_M4 - $(eval $(autotools-package))
package/minicom/minicom.mk +0 -6
@@ -16,12 +16,6 @@ MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv) \ # add host-gettext for AM_ICONV macro MINICOM_DEPENDENCIES += host-gettext -# Autoreconf requires an existing m4 directory -define MINICOM_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -MINICOM_POST_PATCH_HOOKS += MINICOM_MKDIR_M4 - MINICOM_CONF_OPTS = \ --enable-dfl-port=/dev/ttyS1 \ --enable-lock-dir=/var/lock
package/musl-fts/musl-fts.mk +0 -5
@@ -13,9 +13,4 @@ MUSL_FTS_LICENSE_FILES = COPYING MUSL_FTS_DEPENDENCIES = host-pkgconf MUSL_FTS_INSTALL_STAGING = YES -define MUSL_FTS_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -MUSL_FTS_POST_PATCH_HOOKS += MUSL_FTS_CREATE_M4_DIR - $(eval $(autotools-package))
package/open-lldp/open-lldp.mk +0 -8
@@ -13,12 +13,4 @@ OPEN_LLDP_LICENSE_FILES = COPYING # Fetching from git, need to generate configure/Makefile.in OPEN_LLDP_AUTORECONF = YES -# Create the m4 directory (missing from the archive). -# This is required for autoconf. -define OPEN_LLDP_CREATE_M4 - mkdir -p $(@D)/m4 -endef - -OPEN_LLDP_PRE_CONFIGURE_HOOKS += OPEN_LLDP_CREATE_M4 - $(eval $(autotools-package))
package/openpgm/openpgm.mk +0 -8
@@ -12,14 +12,6 @@ OPENPGM_INSTALL_STAGING = YES OPENPGM_SUBDIR = openpgm/pgm OPENPGM_AUTORECONF = YES -# We need to create the m4 directory to make sure that autoreconf will -# start calling libtoolize. Otherwise it will start with aclocal and it -# will fail because the m4 directory doesn't exist. -define OPENPGM_CREATE_M4_DIR - mkdir -p $(@D)/$(OPENPGM_SUBDIR)/m4 -endef -OPENPGM_POST_PATCH_HOOKS += OPENPGM_CREATE_M4_DIR - OPENPGM_CONF_ENV = \ ac_cv_file__proc_cpuinfo=yes \ ac_cv_file__dev_rtc=no \
package/pdbg/pdbg.mk +0 -5
@@ -13,9 +13,4 @@ PDBG_DEPENDENCIES = host-dtc PDBG_MAKE_OPTS = "GIT_SHA1=\"v$(PDBG_VERSION)\"" -define PDBG_PATCH_M4 - mkdir -p $(@D)/m4 -endef -PDBG_POST_PATCH_HOOKS += PDBG_PATCH_M4 - $(eval $(autotools-package))
package/sdbusplus/sdbusplus.mk +0 -6
@@ -22,11 +22,5 @@ SDBUSPLUS_INSTALL_STAGING = YES SDBUSPLUS_LICENSE = Apache-2.0 SDBUSPLUS_LICENSE_FILES = LICENSE -define SDBUSPLUS_CREATE_M4 - mkdir -p $(@D)/m4 -endef -SDBUSPLUS_POST_PATCH_HOOKS += SDBUSPLUS_CREATE_M4 -HOST_SDBUSPLUS_POST_PATCH_HOOKS += SDBUSPLUS_CREATE_M4 - $(eval $(autotools-package)) $(eval $(host-autotools-package))
package/speexdsp/speexdsp.mk +0 -6
@@ -13,10 +13,4 @@ SPEEXDSP_INSTALL_STAGING = YES SPEEXDSP_DEPENDENCIES = host-pkgconf SPEEXDSP_AUTORECONF = YES -# Autoreconf step fails due to missing m4 directory -define SPEEXDSP_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -SPEEXDSP_PRE_CONFIGURE_HOOKS += SPEEXDSP_CREATE_M4_DIR - $(eval $(autotools-package))
package/sysprof/sysprof.mk +0 -6
@@ -14,10 +14,4 @@ ifeq ($(BR2_PACKAGE_SYSPROF_GUI),y) SYSPROF_DEPENDENCIES += libgtk2 libglade gdk-pixbuf endif -define SYSPROF_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -SYSPROF_POST_PATCH_HOOKS += SYSPROF_CREATE_M4_DIR - $(eval $(autotools-package))
package/tesseract-ocr/tesseract-ocr.mk +0 -7
@@ -53,13 +53,6 @@ TESSERACT_OCR_EXTRA_DOWNLOADS = \ $(addprefix https://github.com/tesseract-ocr/tessdata/raw/$(TESSERACT_OCR_DATA_VERSION)/,\ $(TESSERACT_OCR_DATA_FILES)) -define TESSERACT_OCR_PRECONFIGURE - # Autoreconf step fails due to missing m4 directory - mkdir -p $(@D)/m4 -endef - -TESSERACT_OCR_PRE_CONFIGURE_HOOKS += TESSERACT_OCR_PRECONFIGURE - # Language data files installation define TESSERACT_OCR_INSTALL_LANG_DATA $(foreach langfile,$(TESSERACT_OCR_DATA_FILES), \
Signature · 1 line
2.20.1
PATCH 2/2 remove the hook for creating the m4 directory
Quoted 5 lines · Heiko Thiery
With "autotools: do not overwrite first include path" patch the hook to create m4 directory is on longer needed.
Signed-off-by Heiko Thiery <[email protected]>
Wow, great find.
Quoted 476 lines
--- package/atest/atest.mk | 6 ------ package/bayer2rgb-neon/bayer2rgb-neon.mk | 6 ------ package/bluez-alsa/bluez-alsa.mk | 6 ------ package/davici/davici.mk | 5 ----- package/dropwatch/dropwatch.mk | 6 ------ package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk | 7 ------- .../gst1-plugins-bayer2rgb-neon.mk | 5 ----- package/gutenprint/gutenprint.mk | 7 ------- package/irqbalance/irqbalance.mk | 7 ------- package/jamvm/jamvm.mk | 7 ------- package/janus-gateway/janus-gateway.mk | 5 ----- package/lcdapi/lcdapi.mk | 6 ------ package/libdmtx/libdmtx.mk | 7 ------- package/libiscsi/libiscsi.mk | 6 ------ package/libpam-nfc/libpam-nfc.mk | 6 ------ package/libsoundtouch/libsoundtouch.mk | 5 ----- package/libva-utils/libva-utils.mk | 6 ------ package/ltrace/ltrace.mk | 5 ----- package/mfoc/mfoc.mk | 6 ------ package/minicom/minicom.mk | 6 ------ package/musl-fts/musl-fts.mk | 5 ----- package/open-lldp/open-lldp.mk | 8 -------- package/openpgm/openpgm.mk | 8 -------- package/pdbg/pdbg.mk | 5 ----- package/sdbusplus/sdbusplus.mk | 6 ------ package/speexdsp/speexdsp.mk | 6 ------ package/sysprof/sysprof.mk | 6 ------ package/tesseract-ocr/tesseract-ocr.mk | 7 ------- 28 files changed, 171 deletions(-)package/atest/atest.mk +0
-6@@ -12,10 +12,4 @@ ATEST_DEPENDENCIES = host-pkgconf libev alsa-lib # Fetched from Github, with no configure script ATEST_AUTORECONF = YES -# Autoreconf requires an existing m4 directory -define ATEST_PATCH_M4 - mkdir -p $(@D)/m4 -endef -ATEST_POST_PATCH_HOOKS += ATEST_PATCH_M4 - $(eval $(autotools-package))package/bayer2rgb-neon/bayer2rgb-neon.mk +0
-6@@ -15,10 +15,4 @@ BAYER2RGB_NEON_AUTORECONF = YES BAYER2RGB_NEON_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -mfpu=neon" -define BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - mkdir -p $(@D)/m4 -endef - -BAYER2RGB_NEON_PRE_CONFIGURE_HOOKS += BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - $(eval $(autotools-package))package/bluez-alsa/bluez-alsa.mk +0
-6@@ -13,12 +13,6 @@ BLUEZ_ALSA_DEPENDENCIES = alsa-lib bluez5_utils libglib2 sbc host-pkgconf # git repo, no configure BLUEZ_ALSA_AUTORECONF = YES -# Autoreconf requires an existing m4 directory -define BLUEZ_ALSA_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -BLUEZ_ALSA_POST_PATCH_HOOKS += BLUEZ_ALSA_MKDIR_M4 - BLUEZ_ALSA_CONF_OPTS = \ --enable-aplay \ --disable-debug-time \package/davici/davici.mk +0
-5@@ -12,9 +12,4 @@ DAVICI_DEPENDENCIES = strongswan DAVICI_INSTALL_STAGING = YES DAVICI_AUTORECONF = YES -define DAVICI_CREATE_M4 - mkdir -p $(@D)/m4 -endef -DAVICI_POST_PATCH_HOOKS += DAVICI_CREATE_M4 - $(eval $(autotools-package))package/dropwatch/dropwatch.mk +0
-6@@ -14,12 +14,6 @@ DROPWATCH_LICENSE_FILES = COPYING # From git DROPWATCH_AUTORECONF = YES -# Autoreconf step fails due to missing m4 directory -define DROPWATCH_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -DROPWATCH_PRE_CONFIGURE_HOOKS += DROPWATCH_CREATE_M4_DIR - DROPWATCH_CONF_OPTS = --without-bfd DROPWATCH_MAKE_OPTS = LIBS=$(TARGET_NLS_LIBS)package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +0
-7@@ -37,11 +37,4 @@ else GST_FSL_PLUGINS_CONF_OPTS += --disable-x11 endif -# Autoreconf requires an m4 directory to exist -define GST_FSL_PLUGINS_PATCH_M4 - mkdir -p $(@D)/m4 -endef - -GST_FSL_PLUGINS_POST_PATCH_HOOKS += GST_FSL_PLUGINS_PATCH_M4 - $(eval $(autotools-package))package/gstreamer1/gst1-plugins-bayer2rgb-neon/gst1-plugins-bayer2rgb-neon.mk +0
-5@@ -20,9 +20,4 @@ GST1_PLUGINS_BAYER2RGB_NEON_DEPENDENCIES = \ GST1_PLUGINS_BAYER2RGB_NEON_AUTORECONF = YES -define GST1_PLUGINS_BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - mkdir -p $(@D)/m4 -endef -GST1_PLUGINS_BAYER2RGB_NEON_PRE_CONFIGURE_HOOKS += GST1_PLUGINS_BAYER2RGB_NEON_PRE_CONFIGURE_FIXUP - $(eval $(autotools-package))package/gutenprint/gutenprint.mk +0
-7@@ -66,13 +66,6 @@ HOST_GUTENPRINT_CONF_OPTS = \ --disable-testpattern \ --without-cups -# Needed by autoreconf -define GUTENPRINT_CREATE_M4_DIR - mkdir -p $(@D)/m4local -endef -GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR -HOST_GUTENPRINT_POST_PATCH_HOOKS += GUTENPRINT_CREATE_M4_DIR - define HOST_GUTENPRINT_POST_BUILD_INSTAL_TMP_HEADER cp $(@D)/src/xml/xmli18n-tmp.h $(HOST_DIR)/include endefpackage/irqbalance/irqbalance.mk +0
-7@@ -40,13 +40,6 @@ else IRQBALANCE_CONF_OPTS += --without-systemd endif -# This would be done by the package's autogen.sh script -define IRQBALANCE_PRECONFIGURE - mkdir -p $(@D)/m4 -endef - -IRQBALANCE_PRE_CONFIGURE_HOOKS += IRQBALANCE_PRECONFIGURE - define IRQBALANCE_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/irqbalance/S13irqbalance \ $(TARGET_DIR)/etc/init.d/S13irqbalancepackage/jamvm/jamvm.mk +0
-7@@ -24,11 +24,4 @@ ifeq ($(BR2_arm),y) JAMVM_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -marm" endif -# Needed for autoreconf -define JAMVM_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -JAMVM_POST_PATCH_HOOKS += JAMVM_CREATE_M4_DIR - $(eval $(autotools-package))package/janus-gateway/janus-gateway.mk +0
-5@@ -17,11 +17,6 @@ JANUS_GATEWAY_DEPENDENCIES = host-pkgconf jansson libnice \ # configure.ac. JANUS_GATEWAY_AUTORECONF = YES -define JANUS_GATEWAY_M4 - mkdir -p $(@D)/m4 -endef -JANUS_GATEWAY_POST_PATCH_HOOKS += JANUS_GATEWAY_M4 - JANUS_GATEWAY_CONF_OPTS = \ --disable-data-channels \ --disable-sample-event-handlerpackage/lcdapi/lcdapi.mk +0
-6@@ -11,10 +11,4 @@ LCDAPI_LICENSE_FILES = COPYING LCDAPI_AUTORECONF = YES LCDAPI_INSTALL_STAGING = YES -define LCDAPI_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -LCDAPI_POST_PATCH_HOOKS += LCDAPI_CREATE_M4_DIR - $(eval $(autotools-package))package/libdmtx/libdmtx.mk +0
-7@@ -12,11 +12,4 @@ LIBDMTX_INSTALL_STAGING = YES # github tarball does not include configure LIBDMTX_AUTORECONF = YES -# Create the m4 directory (missing from the archive). -# This is required for autoconf. -define LIBDMTX_CREATE_M4 - mkdir -p $(@D)/m4 -endef -LIBDMTX_PRE_CONFIGURE_HOOKS += LIBDMTX_CREATE_M4 - $(eval $(autotools-package))package/libiscsi/libiscsi.mk +0
-6@@ -14,10 +14,4 @@ LIBISCSI_AUTORECONF = YES LIBISCSI_CONF_OPTS = --disable-examples --disable-werror --disable-manpages \ --disable-test-tool --disable-tests -# We need to create the m4 directory to make autoreconf work properly. -define LIBISCSI_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -LIBISCSI_POST_PATCH_HOOKS += LIBISCSI_CREATE_M4_DIR - $(eval $(autotools-package))package/libpam-nfc/libpam-nfc.mk +0
-6@@ -19,10 +19,4 @@ LIBPAM_NFC_CONF_OPTS = \ # libpam breaks with parallel build, but is very fast to build. LIBPAM_NFC_MAKE = $(MAKE1) -# Autoreconf requires an existing m4 directory -define LIBPAM_NFC_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -LIBPAM_NFC_PRE_CONFIGURE_HOOKS += LIBPAM_NFC_MKDIR_M4 - $(eval $(autotools-package))package/libsoundtouch/libsoundtouch.mk +0
-5@@ -12,9 +12,4 @@ LIBSOUNDTOUCH_LICENSE_FILES = COPYING.TXT LIBSOUNDTOUCH_AUTORECONF = YES LIBSOUNDTOUCH_INSTALL_STAGING = YES -define LIBSOUNDTOUCH_CREATE_CONFIG_M4 - mkdir -p $(@D)/config/m4 -endef -LIBSOUNDTOUCH_POST_PATCH_HOOKS += LIBSOUNDTOUCH_CREATE_CONFIG_M4 - $(eval $(autotools-package))package/libva-utils/libva-utils.mk +0
-6@@ -11,10 +11,4 @@ LIBVA_UTILS_LICENSE = MIT LIBVA_UTILS_LICENSE_FILES = COPYING LIBVA_UTILS_DEPENDENCIES = host-pkgconf libva -define LIBVA_UTILS_CREATE_M4_DIR - @mkdir -p $(@D)/m4 -endef - -LIBVA_UTILS_POST_EXTRACT_HOOKS += LIBVA_UTILS_CREATE_M4_DIR - $(eval $(autotools-package))package/ltrace/ltrace.mk +0
-5@@ -12,11 +12,6 @@ LTRACE_LICENSE = GPL-2.0 LTRACE_LICENSE_FILES = COPYING LTRACE_AUTORECONF = YES -define LTRACE_CREATE_CONFIG_M4 - mkdir -p $(@D)/config/m4 -endef -LTRACE_POST_PATCH_HOOKS += LTRACE_CREATE_CONFIG_M4 - # ltrace can use libunwind only if libc has backtrace() support # We don't normally do so for uClibc and we can't know if it's external # Also ltrace with libunwind support is broken for MIPS so we disable itpackage/mfoc/mfoc.mk +0
-6@@ -13,10 +13,4 @@ MFOC_DEPENDENCIES = libnfc MFOC_AUTORECONF = YES MFOC_INSTALL_STAGING = YES -# Autoreconf requires an existing m4 directory -define MFOC_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -MFOC_PRE_CONFIGURE_HOOKS += MFOC_MKDIR_M4 - $(eval $(autotools-package))package/minicom/minicom.mk +0
-6@@ -16,12 +16,6 @@ MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv) \ # add host-gettext for AM_ICONV macro MINICOM_DEPENDENCIES += host-gettext -# Autoreconf requires an existing m4 directory -define MINICOM_MKDIR_M4 - mkdir -p $(@D)/m4 -endef -MINICOM_POST_PATCH_HOOKS += MINICOM_MKDIR_M4 - MINICOM_CONF_OPTS = \ --enable-dfl-port=/dev/ttyS1 \ --enable-lock-dir=/var/lockpackage/musl-fts/musl-fts.mk +0
-5@@ -13,9 +13,4 @@ MUSL_FTS_LICENSE_FILES = COPYING MUSL_FTS_DEPENDENCIES = host-pkgconf MUSL_FTS_INSTALL_STAGING = YES -define MUSL_FTS_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -MUSL_FTS_POST_PATCH_HOOKS += MUSL_FTS_CREATE_M4_DIR - $(eval $(autotools-package))package/open-lldp/open-lldp.mk +0
-8@@ -13,12 +13,4 @@ OPEN_LLDP_LICENSE_FILES = COPYING # Fetching from git, need to generate configure/Makefile.in OPEN_LLDP_AUTORECONF = YES -# Create the m4 directory (missing from the archive). -# This is required for autoconf. -define OPEN_LLDP_CREATE_M4 - mkdir -p $(@D)/m4 -endef - -OPEN_LLDP_PRE_CONFIGURE_HOOKS += OPEN_LLDP_CREATE_M4 - $(eval $(autotools-package))package/openpgm/openpgm.mk +0
-8@@ -12,14 +12,6 @@ OPENPGM_INSTALL_STAGING = YES OPENPGM_SUBDIR = openpgm/pgm OPENPGM_AUTORECONF = YES -# We need to create the m4 directory to make sure that autoreconf will -# start calling libtoolize. Otherwise it will start with aclocal and it -# will fail because the m4 directory doesn't exist. -define OPENPGM_CREATE_M4_DIR - mkdir -p $(@D)/$(OPENPGM_SUBDIR)/m4 -endef -OPENPGM_POST_PATCH_HOOKS += OPENPGM_CREATE_M4_DIR - OPENPGM_CONF_ENV = \ ac_cv_file__proc_cpuinfo=yes \ ac_cv_file__dev_rtc=no \package/pdbg/pdbg.mk +0
-5@@ -13,9 +13,4 @@ PDBG_DEPENDENCIES = host-dtc PDBG_MAKE_OPTS = "GIT_SHA1=\"v$(PDBG_VERSION)\"" -define PDBG_PATCH_M4 - mkdir -p $(@D)/m4 -endef -PDBG_POST_PATCH_HOOKS += PDBG_PATCH_M4 - $(eval $(autotools-package))package/sdbusplus/sdbusplus.mk +0
-6@@ -22,11 +22,5 @@ SDBUSPLUS_INSTALL_STAGING = YES SDBUSPLUS_LICENSE = Apache-2.0 SDBUSPLUS_LICENSE_FILES = LICENSE -define SDBUSPLUS_CREATE_M4 - mkdir -p $(@D)/m4 -endef -SDBUSPLUS_POST_PATCH_HOOKS += SDBUSPLUS_CREATE_M4 -HOST_SDBUSPLUS_POST_PATCH_HOOKS += SDBUSPLUS_CREATE_M4 - $(eval $(autotools-package)) $(eval $(host-autotools-package))package/speexdsp/speexdsp.mk +0
-6@@ -13,10 +13,4 @@ SPEEXDSP_INSTALL_STAGING = YES SPEEXDSP_DEPENDENCIES = host-pkgconf SPEEXDSP_AUTORECONF = YES -# Autoreconf step fails due to missing m4 directory -define SPEEXDSP_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef -SPEEXDSP_PRE_CONFIGURE_HOOKS += SPEEXDSP_CREATE_M4_DIR - $(eval $(autotools-package))package/sysprof/sysprof.mk +0
-6@@ -14,10 +14,4 @@ ifeq ($(BR2_PACKAGE_SYSPROF_GUI),y) SYSPROF_DEPENDENCIES += libgtk2 libglade gdk-pixbuf endif -define SYSPROF_CREATE_M4_DIR - mkdir -p $(@D)/m4 -endef - -SYSPROF_POST_PATCH_HOOKS += SYSPROF_CREATE_M4_DIR - $(eval $(autotools-package))package/tesseract-ocr/tesseract-ocr.mk +0
-8@@ -53,13 +53,6 @@ TESSERACT_OCR_EXTRA_DOWNLOADS = \ $(addprefix https://github.com/tesseract-ocr/tessdata/raw/$(TESSERACT_OCR_DATA_VERSION)/,\ $(TESSERACT_OCR_DATA_FILES)) -define TESSERACT_OCR_PRECONFIGURE - # Autoreconf step fails due to missing m4 directory - mkdir -p $(@D)/m4 -endef - -TESSERACT_OCR_PRE_CONFIGURE_HOOKS += TESSERACT_OCR_PRECONFIGURE - # Language data files installation define TESSERACT_OCR_INSTALL_LANG_DATA $(foreach langfile,$(TESSERACT_OCR_DATA_FILES), \ --2.20.1
cover autotools: do not overwrite first include path
In reply to Heiko ThieryHeiko, All,
On 2020-02-04 13:40 +0100, Heiko Thiery spake thusly:
Quoted 11 lines
The first patch fixes the issue with the autotools package. For a detailed explanation take a look into the commit message.
The second patch removes the hooks that were introduced to workaround the issue that is fixed with the first patch.
Heiko Thiery (1):
remove the hook for creating the m4 directoryMichael Walle (1):
autotools: do not overwrite first include path
Series applied to master, thanks! :-)
I just slightly reword the commit logs with a little bit of extra details.
Regards,
Yann E. MORIN.
Quoted 35 lines
package/atest/atest.mk | 6 ------ package/autoconf/autoconf.mk | 6 +++--- package/automake/automake.mk | 4 +++- package/bayer2rgb-neon/bayer2rgb-neon.mk | 6 ------ package/bluez-alsa/bluez-alsa.mk | 6 ------ package/davici/davici.mk | 5 ----- package/dropwatch/dropwatch.mk | 6 ------ package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk | 7 ------- .../gst1-plugins-bayer2rgb-neon.mk | 5 ----- package/gutenprint/gutenprint.mk | 7 ------- package/irqbalance/irqbalance.mk | 7 ------- package/jamvm/jamvm.mk | 7 ------- package/janus-gateway/janus-gateway.mk | 5 ----- package/lcdapi/lcdapi.mk | 6 ------ package/libdmtx/libdmtx.mk | 7 ------- package/libiscsi/libiscsi.mk | 6 ------ package/libpam-nfc/libpam-nfc.mk | 6 ------ package/libsoundtouch/libsoundtouch.mk | 5 ----- package/libva-utils/libva-utils.mk | 6 ------ package/ltrace/ltrace.mk | 5 ----- package/mfoc/mfoc.mk | 6 ------ package/minicom/minicom.mk | 6 ------ package/musl-fts/musl-fts.mk | 5 ----- package/open-lldp/open-lldp.mk | 8 -------- package/openpgm/openpgm.mk | 8 -------- package/pdbg/pdbg.mk | 5 ----- package/sdbusplus/sdbusplus.mk | 6 ------ package/speexdsp/speexdsp.mk | 6 ------ package/sysprof/sysprof.mk | 6 ------ package/tesseract-ocr/tesseract-ocr.mk | 7 ------- 30 files changed, 6 insertions(+), 175 deletions(-)Signature · 1 line
2.20.1
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
cover autotools: do not overwrite first include path
Quoted 13 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Yann" == Yann E MORIN <[email protected]> writes:
Heiko, All,
On 2020-02-04 13:40 +0100, Heiko Thiery spake thusly:Quoted 9 lines
The first patch fixes the issue with the autotools package. For a detailed explanation take a look into the commit message.
The second patch removes the hooks that were introduced to workaround the issue that is fixed with the first patch.
Heiko Thiery (1):
remove the hook for creating the m4 directory
Quoted 7 lines
Quoted 2 lines
Michael Walle (1):
autotools: do not overwrite first include pathSeries applied to master, thanks! :-)
I just slightly reword the commit logs with a little bit of extra details.
It unfortunately seems to cause some breakage :/
E.G. sdl_mixer fails with an autools-related issues since this got applied:
libtool: Version mismatch error. This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from libtool 2.2.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.
http://autobuild.buildroot.net/?reason=sdl_mixer-1.2.12
Care to take a look?
Signature · 1 line
Bye, Peter Korsgaard
cover autotools: do not overwrite first include path
Peter, All,
On 2020-02-08 08:56 +0100, Peter Korsgaard spake thusly:
Quoted 26 lines
Quoted 13 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Yann" == Yann E MORIN <[email protected]> writes:
Heiko, All,
On 2020-02-04 13:40 +0100, Heiko Thiery spake thusly:Quoted 9 lines
The first patch fixes the issue with the autotools package. For a detailed explanation take a look into the commit message.
The second patch removes the hooks that were introduced to workaround the issue that is fixed with the first patch.
Heiko Thiery (1):
remove the hook for creating the m4 directoryQuoted 7 lines
Quoted 2 lines
Michael Walle (1):
autotools: do not overwrite first include pathSeries applied to master, thanks! :-)
I just slightly reword the commit logs with a little bit of extra details.
It unfortunately seems to cause some breakage :/
E.G.
sdl_mixerfails with an autools-related issues since this got applied:
Quoted 8 lines
libtool: Version mismatch error. This is libtool 2.4.6, but the
libtool: definition of thisLT_INITcomes from libtool 2.2.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.http://autobuild.buildroot.net/?reason=sdl_mixer-1.2.12
Care to take a look?
Patch on the list. I'll test sdl2_mixer now, it should have the same issue, since that code has not changed from the 1.2 era (even if our autobuilders do not yet report a single failure...).
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
cover autotools: do not overwrite first include path
Hi Yann, All,
Am Sa., 8. Feb. 2020 um 19:40 Uhr schrieb Yann E. MORIN <[email protected]>:
Quoted 35 lines
Peter, All,
On 2020-02-08 08:56 +0100, Peter Korsgaard spake thusly:
Quoted 31 lines
Quoted 13 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Yann" == Yann E MORIN <[email protected]> writes:
Heiko, All,
On 2020-02-04 13:40 +0100, Heiko Thiery spake thusly:Quoted 9 lines
The first patch fixes the issue with the autotools package. For a detailed explanation take a look into the commit message.
The second patch removes the hooks that were introduced to workaround the issue that is fixed with the first patch.
Heiko Thiery (1):
remove the hook for creating the m4 directoryQuoted 7 lines
Quoted 2 lines
Michael Walle (1):
autotools: do not overwrite first include pathSeries applied to master, thanks! :-)
I just slightly reword the commit logs with a little bit of extra details.
It unfortunately seems to cause some breakage :/
E.G.
sdl_mixerfails with an autools-related issues since this got applied:libtool: Version mismatch error. This is libtool 2.4.6, but the
libtool: definition of thisLT_INITcomes from libtool 2.2.6.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6
libtool: and run autoconf again.
Quoted 7 lines
Quoted 3 lines
http://autobuild.buildroot.net/?reason=sdl_mixer-1.2.12
Care to take a look?
Patch on the list. I'll test
sdl2_mixernow, it should have the same issue, since that code has not changed from the 1.2 era (even if our autobuilders do not yet report a single failure...).
That was fast .. no chance for me to take a look ;-/
Quoted 10 lines
Regards,
Yann E. MORIN.--
.-----------------.--------------------.------------------.--------------------.| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |'------------------------------^-------^------------------^--------------------'