这几天的工作是将Openwrt中的freeCWMP替换为easyCWMP.由于easyCWMP默认是不存在于menuconfig中的,因此只能通过添加pacakge的方式来进行.
好在easyCWMP对openWRT的支持很友好,可以直接在package下解压,就可以在menuconfig中识别到了.
BUT!!!
坑也不少.
原以为可以直接在package/解压目录下修改源码,然后编译,即可生效.最终弄了2天才弄清怎么修改easyCWMP源码.真是图样图森破.
首先需要知道的是easyCWMP适用于openWRT的MAKE文件是在easyCWMP根目录/ext/openwrt/build/下的.这个MakeFile中有如下定义:
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://easycwmp.org/download/
这就是直接修改package中源码不生效的原因,人家每次都是从 dl 目录来获取源码的(dl 没有的话,从那个URL下载).
其实弄清了上面这一点就可以少走很多弯路了.
既然每次都是download,那么这个package下的资源文件都没用了,是吧.为了干净整洁,我们把所有内容都删掉,就只留下MakeFile和config.in.(config.in不能删,不然make menuconfig都出错).
既然这里都没有资源文件了,我们就不动”在这里修改源码”的歪脑筋了.想了想之前使用的三方包是如何修改源码的?
patch啊啊啊!
赶紧回去翻了一下之前三方包的目录结构和MakeFile文件,果然是一样的,有PKG_SOURCE,有PKG_SOURCE_URL.整个目录就一个MakeFile,一个patches文件夹.稍作验证,看来是可行的.2天的迷茫就这么散了