Index: doc/openvpn.txt =================================================================== --- doc/openvpn.txt (revision 0) +++ doc/openvpn.txt (revision 0) @@ -0,0 +1,5 @@ +openvpn.txt +----------- + +OpenVPN package - see http://openvpn.net for information on usage etc + Index: patch/openvpn.patch =================================================================== --- patch/openvpn.patch (revision 0) +++ patch/openvpn.patch (revision 0) @@ -0,0 +1,11 @@ +diff -ur openvpn.orig/config.sub openvpn/config.sub +--- openvpn.orig/config.sub 2009-10-05 19:58:28.000000000 +0000 ++++ openvpn/config.sub 2009-10-05 19:59:02.000000000 +0000 +@@ -231,6 +231,7 @@ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ ++ | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ Index: patch/vendors/Rowetel/IP04/device_table.txt =================================================================== --- patch/vendors/Rowetel/IP04/device_table.txt (revision 2061) +++ patch/vendors/Rowetel/IP04/device_table.txt (working copy) @@ -205,3 +205,6 @@ #/dev/mcd b 640 0 0 23 0 0 0 - #/dev/optcd b 640 0 0 17 0 0 0 - +# Tun devices (for OpenVPN) +/dev/net d 755 0 0 - - - - - +/dev/net/tun c 640 0 0 10 200 0 0 - Index: patch/vendors/Rowetel/IP04/config.linux-2.6.x =================================================================== --- patch/vendors/Rowetel/IP04/config.linux-2.6.x (revision 2061) +++ patch/vendors/Rowetel/IP04/config.linux-2.6.x (working copy) @@ -724,7 +724,7 @@ # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set -# CONFIG_TUN is not set +CONFIG_TUN=y # # PHY device support Index: openvpn.mk =================================================================== --- openvpn.mk (revision 0) +++ openvpn.mk (revision 0) @@ -0,0 +1,114 @@ +######################################################## +# OpenVPN for uClinux +# Alex Brett October 2009 +# +# make -f libssl.mk libssl-package +# make -f openvpn.mk openvpn-package +# +# Run after "make -f libssl.mk libssl" +# +# TODO: Fix the --daemon mode (currently doesn't work) +# Add an init script +######################################################### + +include rules.mk + +OPENVPN_SITE=http://openvpn.net/release/ +OPENVPN_VERSION=2.0.9 +OPENVPN_SOURCE=openvpn-$(OPENVPN_VERSION).tar.gz +OPENVPN_UNZIP=zcat +OPENVPN_DIR=$(BUILD_DIR)/openvpn + +TARGET_DIR=$(BUILD_DIR)/tmp/openvpn/ipkg/openvpn +PKG_NAME:=openvpn +PKG_VERSION:=$(OPENVPN_VERSION) +PKG_RELEASE:=1 +PKG_BUILD_DIR:=$(BUILD_DIR)/tmp/openvpn + +STAGING_INC=$(STAGING_DIR)/usr/include +STAGING_LIB=$(STAGING_DIR)/usr/lib + +export CFLAGS = -I$(STAGING_DIR)/usr/include +export LDFLAGS = -L$(STAGING_DIR)/usr/lib +export CC=bfin-linux-uclibc-gcc + +OPENVPN_CONFIGURE_OPTS=--host=bfin-linux-uclibc \ + --build=i686-pc-linux-gnu \ + --target=bfin-linux-uclibc \ + --disable-lzo \ + --with-ssl-headers=$(STAGING_INC) \ + --with-ssl-lib=$(STAGING_LIB) + +$(DL_DIR)/$(OPENVPN_SOURCE): + $(WGET) -P $(DL_DIR) $(OPENVPN_SITE)/$(OPENVPN_SOURCE) + + +$(OPENVPN_DIR)/.unpacked: $(DL_DIR)/$(OPENVPN_SOURCE) + $(OPENVPN_UNZIP) $(DL_DIR)/$(OPENVPN_SOURCE) | \ + tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + mv $(BUILD_DIR)/openvpn-$(OPENVPN_VERSION) $(BUILD_DIR)/openvpn + $(PATCH_KERNEL) $(OPENVPN_DIR) patch openvpn.patch + + touch $(OPENVPN_DIR)/.unpacked + +$(OPENVPN_DIR)/.configured: $(OPENVPN_DIR)/.unpacked + cd $(OPENVPN_DIR); \ + ./configure $(OPENVPN_CONFIGURE_OPTS) + touch $(OPENVPN_DIR)/.configured + +$(PKG_BUILD_DIR)/.built: $(OPENVPN_DIR)/.configured + $(MAKE) -C $(OPENVPN_DIR) + + rm -Rf $(TARGET_DIR) + mkdir -p $(TARGET_DIR) + mkdir -p $(TARGET_DIR)/bin + mkdir -p $(TARGET_DIR)/etc/openvpn + cp -v $(OPENVPN_DIR)/openvpn $(TARGET_DIR)/bin/ + mkdir -p $(TARGET_DIR)/usr/doc + cp -v doc/openvpn.txt $(TARGET_DIR)/usr/doc + + + touch $(PKG_BUILD_DIR)/.built + +.PHONY: openvpn +openvpn: $(PKG_BUILD_DIR)/.built + +all: openvpn + +dirclean: + rm -rf $(OPENVPN_DIR) + + +#--------------------------------------------------------------------------- +# CREATING PACKAGE +#--------------------------------------------------------------------------- + +define Package/openvpn + SECTION:=net + CATEGORY:=Network + TITLE:=OPENVPN + DEPENDS:=libssl + DESCRIPTION:=\ + A web-scale networking platform enabling the next wave of VPN services + URL:=http://openvpn.net/release/openvpn-2.0.9.tar.gz + ARCHITECTURE:=bfin-uclinux + +endef + +# post installation - add the sym link for auto start + +define Package/openvpn/postinst +#!/bin/sh +endef + +# pre-remove - remove sym link + +define Package/openvpn/prerm +#!/bin/sh +rm -rf /bin/openvpn +endef + +$(eval $(call BuildPackage,openvpn)) + +openvpn-package: openvpn $(PACKAGE_DIR)/openvpn_$(VERSION)_$(PKGARCH).ipk +