mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-28 22:20:18 +02:00
Add shfs package
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@593 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
6853fd4973
commit
bbe718534f
24
openwrt/package/shfs/Config.in
Normal file
24
openwrt/package/shfs/Config.in
Normal file
@ -0,0 +1,24 @@
|
||||
config BR2_PACKAGE_SHFS
|
||||
tristate "shfs (SHell FileSystem kernel module and utilities)"
|
||||
default n
|
||||
help
|
||||
ShFS is a simple and easy to use Linux kernel module which
|
||||
allows you to mount remote filesystems using a plain shell
|
||||
(SSH) connection. When using ShFS, you can access all remote
|
||||
files just like the local ones, only the access is governed
|
||||
through the transport security of SSH.
|
||||
|
||||
ShFS supports some nice features:
|
||||
|
||||
* file cache for access speedup
|
||||
* perl and shell code for the remote (server) side
|
||||
* could preserve uid/gid (root connection)
|
||||
* number of remote host platforms (Linux, Solaris, Cygwin, ...)
|
||||
* Linux kernel 2.4.10+ and 2.6
|
||||
* arbitrary command used for connection (instead of SSH)
|
||||
* persistent connection (reconnect after SSH dies)
|
||||
|
||||
|
||||
http://shfs.sourceforge.net/
|
||||
|
||||
|
52
openwrt/package/shfs/Makefile
Normal file
52
openwrt/package/shfs/Makefile
Normal file
@ -0,0 +1,52 @@
|
||||
# $Id$
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME := shfs
|
||||
PKG_VERSION := 0.35
|
||||
PKG_RELEASE := 2
|
||||
PKG_MD5SUM := 016f49d71bc32eee2b5d11fc1600cfbe
|
||||
|
||||
PKG_SOURCE_SITE := @SF/shfs
|
||||
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_CAT := zcat
|
||||
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
|
||||
|
||||
I_KMOD_SHFS := $(PACKAGE_DIR)/kmod-shfs_$(LINUX_VERSION)+$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
|
||||
I_SHFS_UTILS := $(PACKAGE_DIR)/shfs-utils_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
|
||||
|
||||
|
||||
$(DL_DIR)/$(PKG_SOURCE_FILE):
|
||||
mkdir -p $(DL_DIR)
|
||||
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
|
||||
|
||||
$(PKG_BUILD_DIR)/ipkg/rules: $(DL_DIR)/$(PKG_SOURCE_FILE)
|
||||
mkdir -p $(TOOL_BUILD_DIR)
|
||||
rm -rf $(PKG_BUILD_DIR)
|
||||
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
$(PATCH) $(PKG_BUILD_DIR) ./patches
|
||||
cp -fpR ./ipkg $(PKG_BUILD_DIR)/
|
||||
chmod a+x $(PKG_BUILD_DIR)/ipkg/rules
|
||||
touch $(PKG_BUILD_DIR)/ipkg/rules
|
||||
|
||||
$(I_KMOD_SHFS) $(I_SHFS_UTILS): $(PKG_BUILD_DIR)/ipkg/rules
|
||||
cd $(PKG_BUILD_DIR); \
|
||||
TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \
|
||||
./ipkg/rules package
|
||||
|
||||
$(IPKG_STATE_DIR)/info/kmod-shfs.list: $(I_KMOD_SHFS)
|
||||
$(IPKG) install $(I_KMOD_SHFS)
|
||||
|
||||
$(IPKG_STATE_DIR)/info/shfs-utils.list: $(I_SHFS_UTILS)
|
||||
$(IPKG) install $(I_SHFS_UTILS)
|
||||
|
||||
source: $(DL_DIR)/$(PKG_SOURCE_FILE)
|
||||
prepare: $(PKG_BUILD_DIR)/ipkg/rules
|
||||
compile: $(I_KMOD_SHFS) $(I_SHFS_UTILS)
|
||||
install: $(IPKG_STATE_DIR)/info/kmod-shfs.list $(IPKG_STATE_DIR)/info/shfs-utils.list
|
||||
|
||||
clean:
|
||||
rm -rf $(PKG_BUILD_DIR)
|
||||
rm -f $(I_KMOD_SHFS) $(I_SHFS_UTILS)
|
||||
|
8
openwrt/package/shfs/ipkg/kmod-shfs/CONTROL/control
Normal file
8
openwrt/package/shfs/ipkg/kmod-shfs/CONTROL/control
Normal file
@ -0,0 +1,8 @@
|
||||
Package: kmod-shfs
|
||||
Priority: optional
|
||||
Section: net
|
||||
Version: [TBDL]
|
||||
Architecture: [TBDL]
|
||||
Maintainer: Nico <nthill@free.fr>
|
||||
Source: http://nthill.free.fr/openwrt/sources/shfs/
|
||||
Description: SHell FileSystem Linux kernel module
|
111
openwrt/package/shfs/ipkg/rules
Normal file
111
openwrt/package/shfs/ipkg/rules
Normal file
@ -0,0 +1,111 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
ifneq ($(strip ${IPKG_RULES_INC}),)
|
||||
include $(IPKG_RULES_INC)
|
||||
endif
|
||||
|
||||
##
|
||||
|
||||
PKG_VERSION := $(shell cat ./ipkg/version)
|
||||
CURRENT_DIR := $(shell pwd)
|
||||
INSTALL_DIR ?= $(CURRENT_DIR)/ipkg-install
|
||||
|
||||
unexport INSTALL_DIR
|
||||
|
||||
I_KMOD_SHFS := ipkg/kmod-shfs
|
||||
I_SHFS_UTILS := ipkg/shfs-utils
|
||||
|
||||
BUILD_DEPS = \
|
||||
|
||||
##
|
||||
|
||||
all: package
|
||||
|
||||
|
||||
.stamp-configured: $(BUILD_DEPS)
|
||||
|
||||
touch .stamp-configured
|
||||
|
||||
|
||||
.stamp-built: .stamp-configured
|
||||
|
||||
$(MAKE) \
|
||||
OFLAGS="$(TARGET_CFLAGS)" \
|
||||
CC="$(TARGET_CC)" \
|
||||
LINKER="$(TARGET_CC)" \
|
||||
KERNEL="$(LINUX_VERSION)" \
|
||||
KERNEL_SOURCES="$(LINUX_DIR)" \
|
||||
all
|
||||
|
||||
touch .stamp-built
|
||||
|
||||
|
||||
$(INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/shfs.o: .stamp-built
|
||||
|
||||
mkdir -p $(INSTALL_DIR)
|
||||
|
||||
$(MAKE) \
|
||||
ROOT="$(INSTALL_DIR)" \
|
||||
KERNEL="$(LINUX_VERSION)" \
|
||||
KERNEL_SOURCES="$(LINUX_DIR)" \
|
||||
install
|
||||
|
||||
|
||||
configure: .stamp-configured
|
||||
|
||||
|
||||
build: .stamp-built
|
||||
|
||||
|
||||
install: $(INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/shfs.o
|
||||
|
||||
|
||||
package: $(INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/shfs.o
|
||||
|
||||
mkdir -p $(I_KMOD_SHFS)/lib/modules/$(LINUX_VERSION)
|
||||
cp -fpR $(INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/shfs/shfs.o \
|
||||
$(I_KMOD_SHFS)/lib/modules/$(LINUX_VERSION)/
|
||||
$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note \
|
||||
$(I_KMOD_SHFS)/lib/modules/$(LINUX_VERSION)/*.o
|
||||
|
||||
mkdir -p $(I_SHFS_UTILS)/usr/sbin
|
||||
cp -fpR $(INSTALL_DIR)/usr/sbin/shfs{,u}mount $(I_SHFS_UTILS)/usr/sbin/
|
||||
cp -fpR $(INSTALL_DIR)/usr/sbin/mount.shfs $(I_SHFS_UTILS)/usr/sbin/
|
||||
$(STRIP) $(I_SHFS_UTILS)/usr/sbin/shfs*
|
||||
|
||||
chmod 0755 ipkg/*/CONTROL/
|
||||
chmod 0644 ipkg/*/CONTROL/control
|
||||
|
||||
perl -pi -e "s/^Arch.*:.*/Architecture: $(ARCH)/g" ipkg/*/CONTROL/control
|
||||
ifneq ($(strip $(PKG_VERSION)),)
|
||||
perl -pi -e "s/^Vers.*:.*/Version: $(PKG_VERSION)/g" ipkg/*/CONTROL/control
|
||||
perl -pi -e "s/^Vers.*:.*/Version: $(LINUX_VERSION)+$(PKG_VERSION)/g" $(I_KMOD_SHFS)/CONTROL/control
|
||||
endif
|
||||
|
||||
$(IPKG_BUILD) $(I_KMOD_SHFS) $(IPKG_TARGET_DIR)
|
||||
$(IPKG_BUILD) $(I_SHFS_UTILS) $(IPKG_TARGET_DIR)
|
||||
|
||||
|
||||
clean:
|
||||
|
||||
-$(MAKE) \
|
||||
ROOT="$(INSTALL_DIR)" \
|
||||
KERNEL="$(LINUX_VERSION)" \
|
||||
KERNEL_SOURCES="$(LINUX_DIR)" \
|
||||
uninstall clean
|
||||
|
||||
rm -rf .stamp-* \
|
||||
$(INSTALL_DIR) \
|
||||
$(I_KMOD_SHFS)/lib \
|
||||
$(I_SHFS_UTILS)/usr \
|
||||
|
||||
|
||||
control:
|
||||
|
||||
@cat $(I_KMOD_SHFS)/CONTROL/control
|
||||
@echo
|
||||
@cat $(I_SHFS_UTILS)/CONTROL/control
|
||||
@echo
|
||||
|
||||
|
||||
.PHONY: configure build install package clean control
|
9
openwrt/package/shfs/ipkg/shfs-utils/CONTROL/control
Normal file
9
openwrt/package/shfs/ipkg/shfs-utils/CONTROL/control
Normal file
@ -0,0 +1,9 @@
|
||||
Package: shfs-utils
|
||||
Priority: optional
|
||||
Section: net
|
||||
Version: [TBDL]
|
||||
Architecture: [TBDL]
|
||||
Maintainer: Nico <nthill@free.fr>
|
||||
Source: http://nthill.free.fr/openwrt/sources/shfs/
|
||||
Description: SHell FileSystem Linux mount/umount utilities
|
||||
Depends: kmod-shfs
|
1
openwrt/package/shfs/ipkg/version
Normal file
1
openwrt/package/shfs/ipkg/version
Normal file
@ -0,0 +1 @@
|
||||
0.35-2
|
103
openwrt/package/shfs/patches/101-kmod-build.patch
Normal file
103
openwrt/package/shfs/patches/101-kmod-build.patch
Normal file
@ -0,0 +1,103 @@
|
||||
--- shfs-0.35-orig/shfs/Linux-2.4/Makefile 2004-06-01 15:16:19.000000000 +0200
|
||||
+++ shfs-0.35-2/shfs/Linux-2.4/Makefile 2005-04-09 02:34:35.000000000 +0200
|
||||
@@ -1,3 +1,17 @@
|
||||
+#
|
||||
+# the original Makefile was trashed and replaced by this one
|
||||
+# The main reason is that loadable modules should be built with
|
||||
+# the same compile flags the kernel was built with, so we'd better
|
||||
+# let the kernel tree build the module for us, like that :
|
||||
+#
|
||||
+# make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules
|
||||
+# make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules_install
|
||||
+#
|
||||
+#
|
||||
+# $(TOPDIR)/lib/string.o is needed at link time because the memchr function
|
||||
+# is not exported on mips (insmod: unresolved symbol memchr)
|
||||
+#
|
||||
+
|
||||
ifndef KERNEL
|
||||
KERNEL=$(shell uname -r)
|
||||
endif
|
||||
@@ -10,67 +24,30 @@
|
||||
KERNEL_SOURCES=${MODULESDIR}/build
|
||||
endif
|
||||
|
||||
-ifeq (${MODVERSIONS},detect)
|
||||
- ifeq ($(shell test -e ${KERNEL_SOURCES}/include/linux/modversions.h; echo $$?),0)
|
||||
- MODVERSIONS=yes
|
||||
- endif
|
||||
-endif
|
||||
-
|
||||
-ifeq (${MODVERSIONS},yes)
|
||||
-MVER=-DMODVERSIONS -DEXPORT_SYMTAB
|
||||
-endif
|
||||
-
|
||||
-LINVER=linux-${KERNEL}
|
||||
-
|
||||
-ALL_TARGETS := shfs.o
|
||||
-
|
||||
-SEARCHDIRS := -I- -I. -I${KERNEL_SOURCES}/include #-I/usr/src/linux/include/
|
||||
+all: all-y
|
||||
|
||||
-CC := gcc
|
||||
-CFLAGS = -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -Wall ${SEARCHDIRS} -DMODULE ${MVER} -D__KERNEL__ -DLINUX
|
||||
-LINKER := ld
|
||||
-LDFLAGS = -r
|
||||
-LOADLIBES :=
|
||||
+O_TARGET := shfs.o
|
||||
|
||||
-all: ${ALL_TARGETS}
|
||||
+shfs-objs := dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
|
||||
|
||||
-%.o: %.c $(wildcard *.h)
|
||||
- ${CC} ${CFLAGS} -c $< -o $@
|
||||
+obj-y := $(shfs-objs)
|
||||
+obj-m := $(O_TARGET)
|
||||
|
||||
-shfs.o: dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
|
||||
- ${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LOADLIBES}
|
||||
-
|
||||
-tidy:
|
||||
- ${RM} core dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
|
||||
-
|
||||
-clean: tidy patch-clean
|
||||
- ${RM} shfs.o
|
||||
+-include $(TOPDIR)/Rules.make
|
||||
|
||||
+all-y:
|
||||
+ make -C ${KERNEL_SOURCES} TOPDIR="${KERNEL_SOURCES}" SUBDIRS="$(shell pwd)" modules
|
||||
+
|
||||
install: shfs.o
|
||||
rm -f ${MODULESDIR}/kernel/fs/shfs/shfs.o
|
||||
install -m644 -b -D shfs.o ${MODULESDIR}/kernel/fs/shfs/shfs.o
|
||||
- if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
|
||||
|
||||
uninstall:
|
||||
rm -rf ${MODULESDIR}/kernel/fs/shfs
|
||||
- if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
|
||||
|
||||
-patch:
|
||||
- rm -rf ${LINVER} ${LINVER}.orig; mkdir ${LINVER};
|
||||
- for i in Documentation fs/shfs include/linux; do \
|
||||
- mkdir -p ${LINVER}/$$i; \
|
||||
- done
|
||||
- cp ${KERNEL_SOURCES}/Documentation/Configure.help ${LINVER}/Documentation
|
||||
- cp ${KERNEL_SOURCES}/fs/{Makefile,Config.in} ${LINVER}/fs
|
||||
- cp -r ${LINVER} ${LINVER}.orig
|
||||
- cp ../../Changelog *.c shfs_debug.h proc.h ${LINVER}/fs/shfs/
|
||||
- cp shfs.h shfs_fs* ${LINVER}/include/linux/
|
||||
- (cd ${LINVER}; patch -p1 <../kernel-config.diff)
|
||||
- find . -type f -name "*.orig" -print | xargs rm -f
|
||||
- diff -urN ${LINVER}.orig ${LINVER} >${LINVER}.diff; true
|
||||
-
|
||||
-patch-clean:
|
||||
- rm -rf ${LINVER} ${LINVER}.orig;
|
||||
- rm -f ${LINVER}.diff
|
||||
-
|
||||
-.PHONY : all tidy clean install uninstall patch patch-clean
|
||||
+clean:
|
||||
+ rm -f core *.o *.a *.s
|
||||
+
|
||||
+shfs.o: $(shfs-objs)
|
||||
+ $(LD) -r -o $@ $(shfs-objs) $(TOPDIR)/lib/string.o
|
||||
+
|
40
openwrt/package/shfs/patches/102-utils-build-fixes.patch
Normal file
40
openwrt/package/shfs/patches/102-utils-build-fixes.patch
Normal file
@ -0,0 +1,40 @@
|
||||
--- shfs-0.35-orig/shfsmount/Makefile 2004-06-01 15:16:19.000000000 +0200
|
||||
+++ shfs-0.35-2/shfsmount/Makefile 2005-04-09 01:27:22.000000000 +0200
|
||||
@@ -2,15 +2,16 @@
|
||||
SHFS_VERSION=unknown
|
||||
endif
|
||||
|
||||
-SHFSMOUNT := /usr/bin/shfsmount
|
||||
-SHFSUMOUNT := /usr/bin/shfsumount
|
||||
+SHFSMOUNT := /usr/sbin/shfsmount
|
||||
+SHFSUMOUNT := /usr/sbin/shfsumount
|
||||
|
||||
ALL_TARGETS := shfsmount shfsumount
|
||||
|
||||
SEARCHDIRS := -I- -I. -I../shfs/Linux-2.4/
|
||||
|
||||
CC := gcc
|
||||
-CFLAGS = -g -Wall ${SEARCHDIRS} -DSHFS_VERSION=\"${SHFS_VERSION}\"
|
||||
+OFLAGS = -g
|
||||
+CFLAGS = $(OFLAGS) -Wall ${SEARCHDIRS} -DSHFS_VERSION=\"${SHFS_VERSION}\"
|
||||
|
||||
LINKER := gcc
|
||||
LDFLAGS =
|
||||
@@ -40,12 +41,12 @@
|
||||
|
||||
|
||||
install: shfsmount shfsumount
|
||||
- install -m755 -b -D shfsmount ${ROOT}${SHFSMOUNT}
|
||||
- install -m755 -b -D shfsumount ${ROOT}${SHFSUMOUNT}
|
||||
- if [ ! -d ${ROOT}/sbin ]; then mkdir ${ROOT}/sbin; fi
|
||||
- ln -fs ${SHFSMOUNT} ${ROOT}/sbin/mount.shfs
|
||||
+ install -m755 -D shfsmount ${ROOT}${SHFSMOUNT}
|
||||
+ install -m755 -D shfsumount ${ROOT}${SHFSUMOUNT}
|
||||
+ if [ ! -d ${ROOT}/usr/sbin ]; then mkdir ${ROOT}/usr/sbin; fi
|
||||
+ ln -fs ${SHFSMOUNT} ${ROOT}/usr/sbin/mount.shfs
|
||||
|
||||
uninstall:
|
||||
- rm -f ${ROOT}${SHFSMOUNT} ${ROOT}${SHFSUMOUNT} ${ROOT}/sbin/mount.shfs
|
||||
+ rm -f ${ROOT}${SHFSMOUNT} ${ROOT}${SHFSUMOUNT} ${ROOT}/usr/sbin/mount.shfs
|
||||
|
||||
.PHONY : all tidy clean install uninstall
|
Loading…
Reference in New Issue
Block a user