proftpd: fix largefile file size printing

The configure script uses AC_TRY_RUN to detect if it can use the %llu format
string for printing the file size, which doesn't work when cross compiling.

We unfortunately cannot AUTORECONF the package, so instead patch configure
to force it on if we know we support it.

E.G.:

dd if=/dev/zero of=/home/ftp/file bs=1M seek=8000 count=1
1+0 records in
1+0 records out

total 1032
-rw-r--r--    1 root     root     8389656576 Jan  1 00:00 file

ncftp / > ls -l
-rw-r--r--   0        0   8389656576   Jan  1 00:00   file

VS:

ncftp / > ls -l
-rw-r--r--   0        0   4094689280   Jan  1 00:00   file

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Peter Korsgaard 2014-04-24 13:28:56 +02:00
parent 108d50d50c
commit 722090da36
1 changed files with 12 additions and 0 deletions

View File

@ -26,6 +26,18 @@ ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REWRITE),y)
PROFTPD_CONF_OPT += --with-modules=mod_rewrite
endif
ifeq ($(BR2_LARGEFILE),y)
# configure script doesn't handle detection of %llu format string
# support for printing the file size when cross compiling, breaking
# access for large files.
# We unfortunately cannot AUTORECONF the package, so instead force it
# on if we know we support it
define PROFTPD_USE_LLU
$(SED) 's/HAVE_LU/HAVE_LLU/' $(@D)/configure
endef
PROFTPD_PRE_CONFIGURE_HOOKS += PROFTPD_USE_LLU
endif
define PROFTPD_MAKENAMES
$(MAKE1) CC="$(HOSTCC)" CFLAGS="" LDFLAGS="" -C $(@D)/lib/libcap _makenames
endef