riak的Makefile文件提供了各个平台上的安装包的生成脚本。因此自己制作一个特定版本的riak安装文件是很方便的。
[size=x-large]一、前提[/size]
0. git
没错,打包需要git
1. build-essential工具要安装,它包括了gcc编译器,在build leveldb时需要。
2. ubuntu要有安装deb打包工具:
[size=x-large]二、步骤[/size]
[size=medium]1. 在本地clone riak[/size]
[size=medium]2. 检出要打包的特定版本[/size]
如果不检出,在下一步打包时会出现如下错误
make -C package -f riak-1.3.1/deps/node_package/Makefile
make[1]: Entering directory `/home/xxx/software/riak/distdir'
make[1]: riak-1.3.1/deps/node_package/Makefile: No such file or directory
make[1]: *** No rule to make target `riak-1.3.1/deps/node_package/Makefile'. Stop.
make[1]: Leaving directory `/home/xxx/software/riak/distdir'
make: *** [package] Error 2
[size=medium]3. 生成deb安装包[/size]
在漫长的git clone和make之后,会在packages/packages目录下生成打包好的deb文件:
riak_1.3.1-git_amd64.deb
git是RELEASE的值,我自己定的,一般是数字。
amd64时根据当前OS平台自动判断的,
[size=x-large]一、前提[/size]
0. git
没错,打包需要git
1. build-essential工具要安装,它包括了gcc编译器,在build leveldb时需要。
sudo apt-get install build-essential
2. ubuntu要有安装deb打包工具:
sudo apt-get install devscripts debhelper
[size=x-large]二、步骤[/size]
[size=medium]1. 在本地clone riak[/size]
git clone git://github.com/basho/riak
[size=medium]2. 检出要打包的特定版本[/size]
git checkout -b riak-1.3.1 riak-1.3.1
如果不检出,在下一步打包时会出现如下错误
make -C package -f riak-1.3.1/deps/node_package/Makefile
make[1]: Entering directory `/home/xxx/software/riak/distdir'
make[1]: riak-1.3.1/deps/node_package/Makefile: No such file or directory
make[1]: *** No rule to make target `riak-1.3.1/deps/node_package/Makefile'. Stop.
make[1]: Leaving directory `/home/xxx/software/riak/distdir'
make: *** [package] Error 2
[size=medium]3. 生成deb安装包[/size]
make package RELEASE=git REPO_TAG=riak-1.3.1
在漫长的git clone和make之后,会在packages/packages目录下生成打包好的deb文件:
riak_1.3.1-git_amd64.deb
git是RELEASE的值,我自己定的,一般是数字。
amd64时根据当前OS平台自动判断的,