中国空间站天宫课堂,平陆县网站建设,惠州网站优化,广州越秀公司网站建设前文
本文适合对openGauss源代码有好奇心的爱好者#xff0c;那么一个友好的openGauss源代码环境应该是怎么样的。openGauss的开发环境是如何设置的#xff1f;openGauss的编译环境是如何构建的#xff1f;如何向openGauss提交代码#xff0c;笔者集合官方和几位博主实践提…前文
本文适合对openGauss源代码有好奇心的爱好者那么一个友好的openGauss源代码环境应该是怎么样的。openGauss的开发环境是如何设置的openGauss的编译环境是如何构建的如何向openGauss提交代码笔者集合官方和几位博主实践提供友好的openGauss源代码阅读环境。在这个环境你可以阅读、可以开发、可以调试、可以运行。你可以马上把它提交gitee也可以选择向openGauss合并。
需要windows主机linux服务器gitee帐号各一个你需要准备以下
centos7.6作为linux服务器即调试编译环境Visual Studio code 1.80安装在windows主机上即开发阅读环境确认已注册gitee帐号已经拥有gitee用户名和gitee密码
openGauss源代码阅读环境的思路如下分为4步走。 用自己帐号gitee把源码openGauss相关的都fork到自己的仓库下面centos7.6服务器上运行clone把自己的远端代码全部弄下来。centos7.6服务器安装调试工具验证调试代码可编译可运行【此刻已经有openGauss安装包生成】windows主机安装vscode,安装nbsp;Remote -SSHnbsp;和Remote - Development插件。安装后可以友好阅读并修改远端centos7.6的gauss内核代码修改后保持同步。centos7.6服务器设置git环境保持与自己的gitee仓库同步,等待自己的gitee仓库与opengauss审核 并合入。
第一步克隆官方openGauss环境
登陆gitee把官方openGauss的代码fork过来nbsp;https://gitee.com/opengauss/openGauss-server
点击fork 弹出窗口 这时可以看到自己的仓库https://gitee.com/xxxxx/openGauss-server 第二步centos7.6打造编译开发环境
此处需要openGauss-server、openGauss-OM和openGauss-5.0.0-CentOS-64bit-all.tar.gzmkdir /tmp/omm500
cd /tmp/omm500git clone https://gitee.com/opengauss/openGauss-OM.git
git clone https://gitee.com/angryart/openGauss-server
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz tar -xvf openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz 注入环境变量
yum remove libaio-devel libaio -y
yum install -y git gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libaio libaio-devel flex bison ncurese-devel glibc-devel patch rehat-lsb-core readline-devel perl gcc gcc-c # 配置环境变量
echo export CODE_BASE/tmp/omm500/openGauss-server # Path of the openGauss-server file ~/.bashrc
echo export BINARYLIBS/tmp/omm500/openGauss-third_party_binarylibs_Centos7.6_x86_64 # Path of the binarylibs file ~/.bashrc
echo export GAUSSHOME\$CODE_BASE/dest/ ~/.bashrc
echo export GCC_PATH\$BINARYLIBS/buildtools/gcc7.3/ ~/.bashrc
echo export CC\$GCC_PATH/gcc/bin/gcc ~/.bashrc
echo export CXX\$GCC_PATH/gcc/bin/g ~/.bashrc
echo export LD_LIBRARY_PATH\$GAUSSHOME/lib:\$GCC_PATH/gcc/lib64:\$GCC_PATH/isl/lib:\$GCC_PATH/mpc/lib/:\$GCC_PATH/mpfr/lib/:\$GCC_PATH/gmp/lib/:\$LD_LIBRARY_PATH ~/.bashrc
echo export PATH\$GAUSSHOME/bin:\$GCC_PATH/gcc/bin:\$PATH ~/.bashrc
echo export PGDATA/opt/omm500/data ~/.bashrc
echo export PGPORT5432 ~/.bashrc
echo export PGDATABASEpostgres ~/.bashrc # 加载环境变量
source ~/.bashrc # 进入源码目录
cd $CODE_BASE # 编译server (这里就是openGauss提供的一键式编译脚本)
sh build.sh -m release -3rd $BINARYLIBS -pkg 如果成功编译好,如下界面
chmod x build.sh
这个是opengauss安装的工具 ./build.sh -3rd $BINARYLIBS_PATH 成功后会有两个文件输出 第三步windowsnbsp; vs code安装扩展插件连上仓库
windows下面已经安装好vs code网上找直接下一步下一步进行安装准备安装 选择Remote-SSHnbsp;和nbsp;Remote Development 依下图123对目标服务器进行连接 点击框中搜索相关openGauss的目录 修改源码openGauss的内核代码是gausskernel下面nbsp;src\gausskernel\storage\access\archive\archive_am.cpp增多一段 “Just for a test” centos7.6下面查看nbsp;src\gausskernel\storage\access\archive\archive_am.cppnbsp;发现文件的确已经发生变化 第四步centos7.6服务器设置git环境[
rootserver131 omm500]
# git config --global user.name xxxx gitee帐号名称
[
rootserver131 omm500]
# git config --global user.email xxx139.com gitee邮箱
[
rootserver131 omm500]
# ssh-keygen -t rsa -C xxx139.com gitee帐号密码
Generating
public/
private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):Created directory /root/.ssh.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:SHA256:RDYDta9IiPzK5eZCXu8bU0kOgQuhim9SwvSuZJmsCEI 15920142730139.comThe keys randomart image is:---[RSA 2048]----| .. .oo* || .. . ||.. . .. ||..... o |
|E.. . S . |
|o... o . |
|Oooo. . |
|B. .o |
|o.oo.o. |
----[SHA256]-----
[rootserver131 openGauss-server]# git clone https://gitee.com/angryart/openGauss-server
[
rootserver131 openGauss-server]
#
git remote
add upstream https:
//gitee.com/opengauss/openGauss-server
[
rootserver131 openGauss-server]
# git remote set-url --push upstream no_push 提交代码
[
rootserver131 openGauss-server]
# git add .
[
rootserver131 openGauss-server]
# git commit -m message
[
rootserver131 openGauss-server]
# git push origin master 最后检验自己的仓库已经提交成功 下面是自己的远端仓库与openGauss同步需要提交pull request 这里要写清楚改了什么源分支是你修改的源代码nbsp; 目标分支是nbsp; openGauss侧的的如果官方同意就会把你的代码合并到里面去。