1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
#
# Copyright (C) 2006-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=fuse
PKG_VERSION:=2.8.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
PKG_MD5SUM:=517c8384f915e40647bda9f71579fd97
PKG_INSTALL:=1
# Kernel 2.4 Module
FUSE24_VERSION=2.5.3
FUSE24_SOURCE:=$(PKG_NAME)-$(FUSE24_VERSION).tar.gz
FUSE24_MD5SUM:=9c7e8b6606b9f158ae20b8521ba2867c
FUSE24_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(FUSE24_VERSION)
FUSE24_INSTALL_DIR:=$(FUSE24_BUILD_DIR)/ipkg-install
FUSE24_PATCH_DIR:=./patches-kernel24
include $(INCLUDE_DIR)/package.mk
define Package/fuse/Default
TITLE:=FUSE
URL:=http://fuse.sourceforge.net/
endef
define Package/fuse/Default/description
FUSE (Filesystem in UserSpacE)
endef
define Package/fuse-utils
$(call Package/fuse/Default)
SECTION:=utils
CATEGORY:=Utilities
DEPENDS:=+libfuse
TITLE+= (utilities)
SUBMENU:=Filesystem
endef
define Package/fuse-utils/description
$(call Package/fuse/Default/description)
This package contains the FUSE utilities.
- fusermount
- ulockmgr_server
endef
define KernelPackage/fuse
$(call Package/fuse/Default)
SUBMENU:=Filesystems
TITLE+= (kernel module)
ifeq ($(KERNEL),2.4)
FILES:=$(FUSE24_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX)
VERSION:=$(LINUX_VERSION)+$(FUSE24_VERSION)-$(PKG_RELEASE)
else
KCONFIG:= CONFIG_FUSE_FS
FILES:=$(LINUX_DIR)/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX)
VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE)
endif
AUTOLOAD:=$(call AutoLoad,80,fuse)
endef
define KernelPackage/fuse/description
$(call Package/fuse/Default/description)
This package contains the FUSE kernel module.
endef
define Package/libfuse
$(call Package/fuse/Default)
SECTION:=libs
CATEGORY:=Libraries
TITLE+= (library)
DEPENDS:=kmod-fuse
SUBMENU:=Filesystem
endef
define Package/libfuse/description
$(call Package/fuse/Default/description)
This package contains the FUSE shared libraries, needed by other programs.
- libfuse
- libulockmgr
endef
# generic args
CONFIGURE_ARGS += \
--enable-shared \
--enable-static \
--disable-rpath \
--disable-example \
--disable-mtab
# kmod 2.4 args
FUSE24_CONFIGURE_ARGS := $(CONFIGURE_ARGS) \
--disable-lib --disable-util \
--enable-kernel-module --disable-auto-modprobe \
--with-kernel="$(LINUX_DIR)"
# generic package uses lib & utils
CONFIGURE_ARGS += --enable-lib --enable-util
####### FUSE24 - START ######
### if we're on kernel 2.4 build a kernel 2.4 compatible fuse module from older version, see also
### http://sourceforge.net/apps/mediawiki/fuse/index.php?title=FAQ#What_version_of_FUSE_do_I_need_to_use_FUSE_with_Linux_2.4.3F
ifeq ($(KERNEL),2.4)
define Download/fuse24
FILE:=$(FUSE24_SOURCE)
URL:=$(PKG_SOURCE_URL)
MD5SUM:=$(FUSE24_MD5SUM)
endef
$(eval $(call Download,fuse24))
define Build/Prepare/fuse24
rm -rf $(FUSE24_BUILD_DIR)/
mkdir -p $(FUSE24_BUILD_DIR)/
$(TAR) -xzf $(DL_DIR)/$(FUSE24_SOURCE) -C $(FUSE24_BUILD_DIR)/..
endef
define Build/Patch/fuse24
$(call PatchDir,$(FUSE24_BUILD_DIR),$(FUSE24_PATCH_DIR),)
endef
define Build/Configure/fuse24
(cd $(FUSE24_BUILD_DIR); \
rm -rf config.{cache,status} ; \
$(CONFIGURE_VARS) \
./configure \
$(FUSE24_CONFIGURE_ARGS) \
);
endef
define Build/Compile/fuse24
$(MAKE) -C $(FUSE24_BUILD_DIR)/$(MAKE_PATH) \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
all;
endef
define Build/Install/fuse24
rm -rf $(FUSE24_INSTALL_DIR)
mkdir -p $(FUSE24_INSTALL_DIR)
$(MAKE) -C $(FUSE24_BUILD_DIR) \
ARCH="$(LINUX_KARCH)" \
CROSS_COMPILE="$(TARGET_CROSS)" \
DESTDIR="$(FUSE24_INSTALL_DIR)" \
install
endef
define Build/Prepare
@echo "--> Build/Prepare enter"
$(call Build/Prepare/fuse24)
$(call Build/Patch/fuse24)
$(call Build/Prepare/Default)
@echo "--> Build/Prepare leave"
endef
define Build/Configure
@echo "--> Build/Configure enter"
$(call Build/Configure/fuse24)
$(call Build/Configure/Default)
@echo "--> Build/Configure leave"
endef
define Build/Compile
@echo "--> Build/Compile enter"
$(call Build/Compile/fuse24)
$(call Build/Compile/Default)
@echo "--> Build/Compile leave"
endef
define Build/Install
@echo "--> Build/Install enter"
$(call Build/Install/fuse24)
$(call Build/Install/Default)
@echo "--> Build/Install leave"
endef
endif
####### FUSE24 - END ######
define Build/InstallDev
@echo "--> Build/InstallDev enter"
mkdir -p $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/{fuse,*.h} $(1)/usr/include/
mkdir -p $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} $(1)/usr/lib/
mkdir -p $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(1)/usr/lib/pkgconfig/
$(SED) 's,-I$$$${includedir}/fuse,,g' $(1)/usr/lib/pkgconfig/fuse.pc
$(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/fuse.pc
@echo "--> Build/InstallDev leave"
endef
define Package/fuse-utils/install
@echo "--> Package/fuse-utils/install enter"
$(INSTALL_DIR) $(1)/usr/bin
# use cp and keep fusermount sticky bit
$(FIND) $(PKG_INSTALL_DIR)/usr/bin/ -type f -exec $(CP) -a {} $(1)/usr/bin/ \;
@echo "--> Package/fuse-utils/install leave"
endef
define Package/libfuse/install
@echo "--> Package/libfuse/install enter"
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
@echo "--> Package/libfuse/install leave"
endef
define Package/kmod-fuse/install
@echo "--> Package/kmod-fuse/install enter/leave"
endef
$(eval $(call BuildPackage,fuse-utils))
$(eval $(call BuildPackage,libfuse))
$(eval $(call KernelPackage,fuse))
|