PKG_NAME:=compcache
PKG_VERSION:=0.6.2
-PKG_RELEASE:=3
+PKG_RELEASE:=2
PKG_SOURCE_URL:=http://compcache.googlecode.com/files/
PKG_MD5SUM:=27aec78dc50e34fb800c74e879057743
DEPENDS:=@BUSYBOX_CONFIG_SWAPONOFF
TITLE:=Driver for compressed ram swap device
VERSION:=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)+$(PKG_RELEASE)
- 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
+ FILES:=$(PKG_BUILD_DIR)/ramzswap.ko \
+ $(PKG_BUILD_DIR)/sub-projects/compression/lzo-kmod/lzo1x.ko
URL:=http://code.google.com/p/compcache/
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)/../..
-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
+define Build/Compile
+ $(MAKE) $(KERNEL_MAKEOPTS) EXTRA_CFLAGS="$(BUILDFLAGS)" M="$(PKG_BUILD_DIR)" modules
$(TARGET_CC) $(TARGET_CFLAGS) $(RZSCFLAGS) $(PKG_BUILD_DIR)/$(RZSC)/rzscontrol.c -o $(PKG_BUILD_DIR)/rzscontrol
- endef
-endif
+endef
define Package/compcache/install
$(INSTALL_DIR) $(1)/etc/config
-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
+++ /dev/null
-#!/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"
-}