[Buildroot] FTP server for embedded application (uClibc/buildroot)

Claudio Leonel cls at elaxys.com.br
Fri Dec 15 11:19:53 UTC 2006


Hi Julien,

Your pure-ftpd package compiled OK !
I have tried to compile pure-ftpd before
but was discouraged by the errors during configuration.
Your patch seems to have taken care of them !!

Thanks !

Claudio Leonel


julien.boibessot at free.fr wrote:
> Hi Claudio,
> 
> I'm using pure-ftpd and it's working fine for me (but it's not the smallest
> existing one).
> 
> Here is a preliminary patch I wanted to post on buildroot mailing list.
> Could you give it a try and help me to integrate it in buildroot ?
> 
> Thanks !
> Julien
> 
> Quoting Claudio Leonel <cls at elaxys.com.br>:
> 
> 
>>Hi,
>>
>>Sorry if this is somewhat off-topic,
>>but I am looking for a small FTP server
>>with basic functionality that compiles OK
>>with uClibc and has very few dependencies on
>>other libraries.
>>I didn't find any in buildroot standard
>>packages.
>>Do you have sugestions ?
>>
>>Best regards,
>>Claudio Leonel
>>
>>_______________________________________________
>>buildroot mailing list
>>buildroot at uclibc.org
>>http://busybox.net/mailman/listinfo/buildroot
>>
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --- buildroot.org/package/Config.in	2006-12-05 16:35:19.000000000 +0100
> +++ buildroot/package/Config.in	2006-12-05 16:42:00.000000000 +0100
> @@ -117,6 +117,7 @@
>  source "package/pppd/Config.in"
>  source "package/procps/Config.in"
>  source "package/psmisc/Config.in"
> +source "package/pure-ftpd/Config.in"
>  source "package/pygame/Config.in"
>  source "package/python/Config.in"
>  source "package/qte/Config.in"
> --- buildroot.org/package/pure-ftpd/001-pure-ftpd-configure.patch	1970-01-01 01:00:00.000000000 +0100
> +++ buildroot/package/pure-ftpd/001-pure-ftpd-configure.patch	2006-12-05 18:30:41.000000000 +0100
> @@ -0,0 +1,65 @@
> +--- pure-ftpd-1.0.21.ori/configure	2006-12-05 17:28:52.000000000 +0100
> ++++ pure-ftpd-1.0.21/configure	2006-12-05 17:31:00.000000000 +0100
> +@@ -21379,7 +21379,7 @@
> + See \`config.log' for more details." >&5
> + echo "$as_me: error: cannot run test program while cross compiling
> + See \`config.log' for more details." >&2;}
> +-   { (exit 1); exit 1; }; }
> ++}
> + else
> +   cat >conftest.$ac_ext <<_ACEOF
> + /* confdefs.h.  */
> +@@ -21453,7 +21453,7 @@
> + See \`config.log' for more details." >&5
> + echo "$as_me: error: cannot run test program while cross compiling
> + See \`config.log' for more details." >&2;}
> +-   { (exit 1); exit 1; }; }
> ++}
> + else
> +   cat >conftest.$ac_ext <<_ACEOF
> + /* confdefs.h.  */
> +@@ -21521,7 +21521,7 @@
> + See \`config.log' for more details." >&5
> + echo "$as_me: error: cannot run test program while cross compiling
> + See \`config.log' for more details." >&2;}
> +-   { (exit 1); exit 1; }; }
> ++}
> + else
> +   cat >conftest.$ac_ext <<_ACEOF
> + /* confdefs.h.  */
> +@@ -21627,7 +21627,7 @@
> + See \`config.log' for more details." >&5
> + echo "$as_me: error: cannot run test program while cross compiling
> + See \`config.log' for more details." >&2;}
> +-   { (exit 1); exit 1; }; }
> ++}
> + else
> +   cat >conftest.$ac_ext <<_ACEOF
> + /* confdefs.h.  */
> +@@ -21696,7 +21696,7 @@
> + See \`config.log' for more details." >&5
> + echo "$as_me: error: cannot run test program while cross compiling
> + See \`config.log' for more details." >&2;}
> +-   { (exit 1); exit 1; }; }
> ++}
> + else
> +   cat >conftest.$ac_ext <<_ACEOF
> + /* confdefs.h.  */
> +@@ -22483,7 +22483,7 @@
> + See \`config.log' for more details." >&5
> + echo "$as_me: error: cannot run test program while cross compiling
> + See \`config.log' for more details." >&2;}
> +-   { (exit 1); exit 1; }; }
> ++}
> + else
> +   cat >conftest.$ac_ext <<_ACEOF
> + /* confdefs.h.  */
> +@@ -22886,7 +22886,7 @@
> + See \`config.log' for more details." >&5
> + echo "$as_me: error: cannot run test program while cross compiling
> + See \`config.log' for more details." >&2;}
> +-   { (exit 1); exit 1; }; }
> ++}
> + else
> +   cat >conftest.$ac_ext <<_ACEOF
> + /* confdefs.h.  */
> --- buildroot.org/package/pure-ftpd/Config.in	1970-01-01 01:00:00.000000000 +0100
> +++ buildroot/package/pure-ftpd/Config.in	2006-12-05 16:09:58.000000000 +0100
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_PURE_FTPD
> +	bool "Pure-FTPd"
> +	default y
> +	help
> +	  Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server.
> +
> +	  http://www.pureftpd.org/project/pure-ftpd
> --- buildroot.org/package/pure-ftpd/pure-ftpd.mk	1970-01-01 01:00:00.000000000 +0100
> +++ buildroot/package/pure-ftpd/pure-ftpd.mk	2006-12-06 10:58:15.000000000 +0100
> @@ -0,0 +1,70 @@
> +#############################################################
> +#
> +# Pure-FTPd - FTP server
> +#
> +#############################################################
> +
> +PURE_FTPD_VERSION:=1.0.21
> +PURE_FTPD_SOURCE_URL:=http://download.pureftpd.org/pub/pure-ftpd/releases
> +PURE_FTPD_SOURCE:=pure-ftpd-$(PURE_FTPD_VERSION).tar.gz
> +PURE_FTPD_DIR=$(BUILD_DIR)/pure-ftpd-$(PURE_FTPD_VERSION)
> +
> +#--- Here we go:
> +$(DL_DIR)/$(PURE_FTPD_SOURCE):
> +	 $(WGET) -P $(DL_DIR) $(PURE_FTPD_SOURCE_URL)/$(PURE_FTPD_SOURCE)
> +
> +$(PURE_FTPD_DIR)/.unpacked: $(DL_DIR)/$(PURE_FTPD_SOURCE)
> +	$(ZCAT) $(DL_DIR)/$(PURE_FTPD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
> +	toolchain/patch-kernel.sh $(PURE_FTPD_DIR) package/pure-ftpd/ \*.patch
> +	touch $@
> +
> +$(PURE_FTPD_DIR)/.configured: $(PURE_FTPD_DIR)/.unpacked
> +	(cd $(PURE_FTPD_DIR); \
> +	$(TARGET_CONFIGURE_OPTS) \
> +	CFLAGS="$(TARGET_CFLAGS) " \
> +	./configure \
> +	--target=$(GNU_TARGET_NAME) \
> +	--host=$(GNU_TARGET_NAME) \
> +	--build=$(GNU_HOST_NAME) \
> +	--prefix=$(STAGING_DIR)/usr \
> +	);
> +#	--with-minimal \ Not compiling (syslog variables redefinition)
> +	touch $@
> +
> +$(PURE_FTPD_DIR)/src/pure-ftpd: $(PURE_FTPD_DIR)/.configured
> +	$(MAKE) -C $(PURE_FTPD_DIR) \
> +	CC=$(TARGET_CC) \
> +	CFLAGS="$(TARGET_CFLAGS)" \
> +	LDFLAGS="-lcrypt"
> +# add this to CFLAGS when "--with-minimal" is selected -DHAVE_STRUCT_ADDRINFO -DHAVE_GETNAMEINFO -DHAVE_GETADDRINFO 
> +
> +$(STAGING_DIR)/usr/sbin/pure-ftpd: $(PURE_FTPD_DIR)/src/pure-ftpd
> +	$(MAKE) -C $(PURE_FTPD_DIR) \
> +	CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS)" \
> +	install
> +
> +$(TARGET_DIR)/usr/sbin/pure-ftpd: $(STAGING_DIR)/usr/sbin/pure-ftpd
> +	$(STRIP) $(STAGING_DIR)/usr/sbin/pure*
> +	$(STRIP) $(STAGING_DIR)/usr/bin/pure*
> +	cp -f $(STAGING_DIR)/usr/sbin/pure* $(TARGET_DIR)/usr/sbin/
> +	cp -f $(STAGING_DIR)/usr/bin/pure* $(TARGET_DIR)/usr/bin/
> +
> +pure-ftpd: $(TARGET_DIR)/usr/sbin/pure-ftpd
> +
> +pure-ftpd-source: $(DL_DIR)/$(PURE_FTPD_SOURCE)
> +
> +pure-ftpd-clean:
> +	$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(PURE_FTPD_BUILD_DIR) uninstall
> +	-$(MAKE) -C $(PURE_FTPD_DIR) clean
> +
> +pure-ftpd-dirclean:
> +	rm -rf $(PURE_FTPD_DIR)
> +
> +#############################################################
> +#
> +# Toplevel Makefile options
> +#
> +#############################################################
> +ifeq ($(strip $(BR2_PACKAGE_PURE_FTPD)),y)
> +TARGETS+=pure-ftpd
> +endif




More information about the buildroot mailing list