aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorAlexandros C. Couloumbis <alex@ozo.com>2010-08-01 16:57:24 +0000
committerAlexandros C. Couloumbis <alex@ozo.com>2010-08-01 16:57:24 +0000
commit54913f956b6dee3e647d9ed2ec363795feb11475 (patch)
tree2a7ad6a5f846233b486dc7a38270bbd8978e0d6a /package
parent505c98f1f6e6b7c08eb88e9c6385684a5305dc1d (diff)
downloadupstream-54913f956b6dee3e647d9ed2ec363795feb11475.tar.gz
upstream-54913f956b6dee3e647d9ed2ec363795feb11475.tar.bz2
upstream-54913f956b6dee3e647d9ed2ec363795feb11475.zip
package/compcache: use mainline modules for kernels >=2.6.33 (thank you nbd)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22458 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/compcache/Makefile36
-rw-r--r--package/compcache/files/compcache.init.new50
-rw-r--r--package/compcache/patches/003-no_stats.patch12
3 files changed, 87 insertions, 11 deletions
diff --git a/package/compcache/Makefile b/package/compcache/Makefile
index 5106293e8d..f7b7c5b3f1 100644
--- a/package/compcache/Makefile
+++ b/package/compcache/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=compcache
PKG_VERSION:=0.6.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE_URL:=http://compcache.googlecode.com/files/
PKG_MD5SUM:=27aec78dc50e34fb800c74e879057743
@@ -23,8 +23,17 @@ define KernelPackage/ramzswap
DEPENDS:=@BUSYBOX_CONFIG_SWAPONOFF
TITLE:=Driver for compressed ram swap device
VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)+$(PKG_RELEASE)
- FILES:=$(PKG_BUILD_DIR)/ramzswap.ko \
- $(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod/lzo1x.ko
+ KCONFIG:=CONFIG_RAMZSWAP=m CONFIG_RAMZSWAP_STATS=n
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
+ FILES:= \
+ $(LINUX_DIR)/drivers/staging/ramzswap/ramzswap.ko \
+ $(LINUX_DIR)/lib/lzo/lzo_compress.ko \
+ $(LINUX_DIR)/lib/lzo/lzo_decompress.ko
+else
+ FILES:= \
+ $(PKG_BUILD_DIR)/ramzswap.ko \
+ $(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod/lzo1x.ko
+endif
URL:=http://code.google.com/p/compcache/
endef
@@ -39,20 +48,21 @@ endef
include $(INCLUDE_DIR)/kernel-defaults.mk
-LZO = sub-projects/compression/lzo-kmod
RZSC = sub-projects/rzscontrol
-BUILDFLAGS:=-DCONFIG_RAMZSWAP_STATS \
- -I$(PKG_BUILD_DIR)/$(LZO) \
- -Wall
-
RZSCFLAGS:=-I$(PKG_BUILD_DIR)/$(RZSC)/../include \
-I$(PKG_BUILD_DIR)/$(RZSC)/../..
-define Build/Compile
- $(MAKE) $(KERNEL_MAKEOPTS) EXTRA_CFLAGS="$(BUILDFLAGS)" M="$(PKG_BUILD_DIR)" modules
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
+ define Build/Compile
+ $(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
+ endef
+else
+ define Build/Compile
+ $(MAKE) $(KERNEL_MAKEOPTS) EXTRA_CFLAGS="-I$(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod -Wall" M="$(PKG_BUILD_DIR)" modules
$(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
-endef
+ endef
+endif
define Package/compcache/install
$(INSTALL_DIR) $(1)/etc/config
@@ -62,7 +72,11 @@ define Package/compcache/install
-e 's,%BACKUP_DEV%,$(call qstrip,$(CONFIG_COMPCACHE_BACKUP_DEV)),g' \
$(1)/etc/config/compcache
$(INSTALL_DIR) $(1)/etc/init.d
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.33)),1)
+ $(INSTALL_BIN) ./files/compcache.init.new $(1)/etc/init.d/compcache
+else
$(INSTALL_BIN) ./files/compcache.init $(1)/etc/init.d/compcache
+endif
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rzscontrol $(1)/sbin/rzscontrol
endef
diff --git a/package/compcache/files/compcache.init.new b/package/compcache/files/compcache.init.new
new file mode 100644
index 0000000000..18aead9f26
--- /dev/null
+++ b/package/compcache/files/compcache.init.new
@@ -0,0 +1,50 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2008 OpenWrt.org
+START=14
+
+load_modules() {
+ local section="$1"
+ config_get "size_kbytes" "$section" "size_kbytes"
+ config_get "backup_dev" "$section" "backup_dev"
+ #CC_PARAM_STR="memlimit_kb=$1 backing_dev=$BACKING_DEV"
+ config_get_bool "enabled" "$section" "enabled" '1'
+ if [ "$enabled" -gt 0 ]; then
+ if [ "`cat /proc/swaps | grep 'ramzswap0'`" != "" ]; then
+ echo "compcache already loaded"
+ else
+ if [ "$backup_dev" != "" ]; then
+ params_set="memlimit_kb=$size_kbytes backing_swap=$backup_dev"
+ else
+ params_set="disksize_kb=$size_kbytes"
+ fi
+ if [ "`lsmod | grep 'ramzswap'`" == "" ]; then
+ insmod lzo_compress
+ insmod lzo_decompress
+ insmod ramzswap $params_set
+ sleep 2
+ swapon /dev/ramzswap0
+ fi
+ fi
+ fi
+}
+
+remove_modules() {
+ local section="$1"
+ config_get_bool "enabled" "$section" "enabled" '1'
+ if [ "$enabled" -gt 0 ]; then
+ [ "`cat /proc/swaps | grep 'ramzswap0'`" != "" ] && swapoff /dev/ramzswap0
+ [ "`lsmod | grep 'ramzswap'`" != "" ] && rmmod ramzswap &> /dev/null
+ [ "`lsmod | grep 'lzo_compress'`" != "" ] && rmmod lzo_compress &> /dev/null
+ [ "`lsmod | grep 'lzo_decompress'`" != "" ] && rmmod lzo_decompress &> /dev/null
+ fi
+}
+
+start() {
+ config_load "compcache"
+ config_foreach load_modules "compcache"
+}
+
+stop() {
+ config_load "compcache"
+ config_foreach remove_modules "compcache"
+}
diff --git a/package/compcache/patches/003-no_stats.patch b/package/compcache/patches/003-no_stats.patch
new file mode 100644
index 0000000000..bfa25f8c98
--- /dev/null
+++ b/package/compcache/patches/003-no_stats.patch
@@ -0,0 +1,12 @@
+--- a/Makefile
++++ b/Makefile
+@@ -2,8 +2,7 @@ KERNEL_BUILD_PATH ?= "/lib/modules/$(she
+
+ XVM = sub-projects/allocators/xvmalloc-kmod
+ LZO = sub-projects/compression/lzo-kmod
+-EXTRA_CFLAGS := -DCONFIG_RAMZSWAP_STATS \
+- -Wall
++EXTRA_CFLAGS := -Wall
+
+ obj-m += ramzswap.o $(LZO)/lzo1x.o
+ ramzswap-objs := ramzswap_drv.o $(XVM)/xvmalloc.o