使用rmpbuild制作AliSQL数据库rpm软件包

环境:REHL6.5

软件:rpmbuild

使用到的文件:ALiSQL-Master

一、安装所需要的软件

[root@alisql ~]# yum install rpm* rpm-build rpmdev* –y
[root@alisql ~]# rpmdev-setuptree
[root@alisql ~]# tree rpmbuild/  
rpmbuild/
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS

5 directories, 0 files

二、将软件源码包上传到SOURCE目录

三、编写配置文件

在rpmbuild/SPECS目录下执行rpmdev-newspec -o alisql.spec,会在当前目录下生成名为alisql.spec的模板文件

[root@alisql SPECS]# rpmdev-newspec -o alisql.spec

根据修改alisql.spec文件,修改后的内容如下

Name:          alisql
Version:       
5.6. 3
Release:       
1%{? dist}
Summary:        AliSQL

Group:          System Environment
/ Libraries
License:        GPL
URL:            http:
// www.abner.com.cn
Source0:        %{name}-%{version}. tar .gz
BuildRequires: 
gcc gcc-c++
Requires:      ncurses
- devel bison

% define MYSQL_USER mysql
% define MYSQL_GROUP mysql


% description   
The
%{name}-devel package contains libraries and header files for
developing applications that use
% {name}.


% prep
%setup - q
useradd mysql
mkdir –p /usr/local/ mysql
mkdir -p /data/ mysqldb

% build
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE= 1 -DWITH_ARCHIVE_STORAGE_ENGINE= 1 -DWITH_BLACKHOLE_STORAGE_ENGINE= 1 -DMYSQL_DATADIR=/data/mysqldb -DMYSQL_TCP_PORT= 3306 -DENABLE_DOWNLOADS= 1

make %{? _smp_mflags}


% install
rm - rf $RPM_BUILD_ROOT
make install DESTDIR= $RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -name ' *.la ' -exec rm -f {} ' ; '

% pre
id mysql||useradd -m -s /bin/bash mysql &>/dev/ null
mkdir -p /data/ mysqldb
chown -R mysql: /data/ mysqldb

% clean
rm - rf $RPM_BUILD_ROOT


% post
/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql --user=mysql  --datadir=/data/mysqldb &>/dev/ null
cp -f /usr/local/mysql/support-files/my-default.cnf /etc/ my.cnf
sed -i ' s/^# basedir.*/basedir=\/usr\/local\/mysql/g ' /etc/ my.cnf
sed -i ' s/^# datadir.*/datadir=\/data\/mysqldb/g ' /etc/ my.cnf
sed -i ' s/^# socket.*/socket= \/tmp\/mysql.sock/g ' /etc/ my.cnf
cp -f /usr/local/mysql/support-files/mysql.server  /etc/init.d/ mysqld
echo export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH >> /etc/ profile
source
/etc/ profile
chkconfig
--add mysqld &>/dev/ null
chkconfig mysqld on
&>/dev/ null


% preun
chkconfig
--del mysqld &>/dev/ null
rm -rf /etc/init.d/mysqld &>/dev/ null

% postun
userdel
-r mysql &>/dev/ null
rm -fr /data/mysqldb &>/dev/ null
rm -fr /usr/local/mysql &>/dev/ null

% files
%defattr(-,mysql,mysql,- )
/usr/local/mysql /*



%changelog

四、安装打包编译需要的软件

1、安装编译所需要的软件

[root@alisql ~]# yum install gcc gcc-c++ ncurses-devel perl -y

2、安装cmake软件

cmake-2.8.8.tar.gz可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

具体下载目录在 /2017年资料/2月/17日/使用rmpbuild制作AliSQL数据库rpm软件包/

------------------------------------------分割线------------------------------------------

将cmake源码包上传到家目录进行解压

[root@alisql ~]# tar -xf cmake-2.8.8.tar.gz 
[root@alisql ~]# cd cmake-2.8.8
[root@alisql cmake-2.8.8]# ./configure 
[root@alisql cmake-2.8.8]# make && make install

3、安装bison

[root@alisql ~]# yum install bison -y

五、在rpmbuild/SPECS目录下执行打包编译

[root@alisql SPECS]# rpmbuild -bb alisql.spec

等待软件打包成功,此时会在rpmbuild/RPMS/x86_64文件夹下生成rpm软件包。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-02/140725.htm