diff --git a/package/kernel/lantiq/ltq-tapi/Makefile b/package/kernel/lantiq/ltq-tapi/Makefile index 36fd067b105..3c47775ca29 100644 --- a/package/kernel/lantiq/ltq-tapi/Makefile +++ b/package/kernel/lantiq/ltq-tapi/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=drv_tapi PKG_VERSION:=3.13.0 -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_SOURCE:=drv_tapi-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@OPENWRT diff --git a/package/kernel/lantiq/ltq-tapi/patches/021-keep-build-paths-out-of-the-configure-string.patch b/package/kernel/lantiq/ltq-tapi/patches/021-keep-build-paths-out-of-the-configure-string.patch new file mode 100644 index 00000000000..70b119c77c0 --- /dev/null +++ b/package/kernel/lantiq/ltq-tapi/patches/021-keep-build-paths-out-of-the-configure-string.patch @@ -0,0 +1,46 @@ +From: John Crispin +Subject: [PATCH] keep build paths out of the configure string + +configure.in compiles the whole configure command line into the module as +DRV_TAPI_CONFIGURE_STR, and drv_tapi_linux.c prints it through a proc +file. The command line holds the absolute paths of the build machine, +among them --enable-kernelbuild, --with-ifxos-incl, CPPFLAGS and LDFLAGS. +The module therefore depends on the directory it was built in, and two +builds in different directories produce different modules. + +The published snapshot module of lantiq/xway holds, for example, +--enable-kernelbuild=/builder/shared-workdir/build/build_dir/... + +Drop every argument that holds a path. The feature flags, which are the +part a reader of the proc file wants, stay. The loop repeats the idiom +that the file already uses for CONFIGURE_OPTIONS. + +Signed-off-by: John Crispin +--- + configure.in | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +--- a/configure.in ++++ b/configure.in +@@ -86,7 +86,20 @@ AH_BOTTOM([ + #endif /* _DRV_CONFIG_H_ */ + ]) + +-AC_DEFINE_UNQUOTED([DRV_TAPI_CONFIGURE_STR], ["$ac_configure_args"], [configure options string]) ++# The string below is printed through a proc file. An absolute path of the ++# build machine has no meaning on the target, and it makes the module depend ++# on the directory it was built in. Keep the arguments that hold no path. ++CONFIGURE_STR='' ++for c_arg in $ac_configure_args; do ++ case $c_arg in ++ *"/"*) ++ ;; ++ *) ++ CONFIGURE_STR="$CONFIGURE_STR $c_arg" ++ ;; ++ esac ++done ++AC_DEFINE_UNQUOTED([DRV_TAPI_CONFIGURE_STR], ["$CONFIGURE_STR"], [configure options string]) + + dnl enable linux kernel 2.6.x support (Make sure AC_PROG_CC is defined before to set $CC!) + AM_CONDITIONAL(KERNEL_2_6, false) diff --git a/package/kernel/lantiq/ltq-vmmc/Makefile b/package/kernel/lantiq/ltq-vmmc/Makefile index d2204c2a96e..22e7a5a0a17 100644 --- a/package/kernel/lantiq/ltq-vmmc/Makefile +++ b/package/kernel/lantiq/ltq-vmmc/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=drv_vmmc PKG_VERSION:=1.9.0 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_HASH:=707f515eb727c032418c4da67d7e86884bb56cdc2a606e8f6ded6057d8767e57 diff --git a/package/kernel/lantiq/ltq-vmmc/patches/022-keep-build-paths-out-of-the-configure-string.patch b/package/kernel/lantiq/ltq-vmmc/patches/022-keep-build-paths-out-of-the-configure-string.patch new file mode 100644 index 00000000000..db53d02fc36 --- /dev/null +++ b/package/kernel/lantiq/ltq-vmmc/patches/022-keep-build-paths-out-of-the-configure-string.patch @@ -0,0 +1,46 @@ +From: John Crispin +Subject: [PATCH] keep build paths out of the configure string + +configure.in compiles the whole configure command line into the module as +VMMC_CONFIGURE_STR, and drv_vmmc_init.c keeps it in DRV_VMMC_WHICHCONFIG. +The command line holds the absolute paths of the build machine, among them +--enable-kernelbuild, --enable-tapiincl, CPPFLAGS and LDFLAGS. The module +therefore depends on the directory it was built in, and two builds in +different directories produce different modules. + +The published snapshot module of lantiq/xway holds, for example, +--enable-kernelbuild=/builder/shared-workdir/build/build_dir/... + +Drop every argument that holds a path. The feature flags, which are the +part a reader wants, stay. The loop repeats the idiom that the file +already uses for CONFIGURE_OPTIONS. + +Signed-off-by: John Crispin +--- + configure.in | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +--- a/configure.in ++++ b/configure.in +@@ -66,7 +66,20 @@ AH_BOTTOM([ + #endif /* _DRV_CONFIG_H_ */ + ]) + +-AC_DEFINE_UNQUOTED([VMMC_CONFIGURE_STR], ["$ac_configure_args"], [configure options string]) ++# The string below ends up in the module. An absolute path of the build ++# machine has no meaning on the target, and it makes the module depend on ++# the directory it was built in. Keep the arguments that hold no path. ++CONFIGURE_STR='' ++for c_arg in $ac_configure_args; do ++ case $c_arg in ++ *"/"*) ++ ;; ++ *) ++ CONFIGURE_STR="$CONFIGURE_STR $c_arg" ++ ;; ++ esac ++done ++AC_DEFINE_UNQUOTED([VMMC_CONFIGURE_STR], ["$CONFIGURE_STR"], [configure options string]) + + dnl enable linux kernel 2.6.x support (Make sure AC_PROG_CC is defined before to set $CC!) + AM_CONDITIONAL(KERNEL_2_6, false)