mysql的.rpm的源码包怎么用啊,利用源码制作 RPM 包(三):制作MySQL RPM包

1.建立用于制作RPM包的目录:

默认,我们在 /usr/src 目录下建立 rpmbuild 目录:

再在 rpmbuild 目录下建立:BUILD RPMS SOURCES SPECS SRPMS  [目录均为大写]

[root@localhost rpmbuild]# mkdir  BUILD RPMS SOURCES SPECS SRPMS

注:

在centos 系统中,默认为root/rpmbuild/{ BUILD RPMS SOURCES SPECS SRPMS}

在redhat 系统中,默认为/usr/src/redhat/{BUILD RPMS SOURCES SPECS SRPMS}

但往往我们需要重新定义这个目录:

如下命令:

将新目录路径写入到 当前用户家目录下的.rpmmacros

echo “%_topdir /usr/src/rpmbuild” >> $HOME/.rpmmacros

2.安装mysql 编译需要的相关依赖包:

yum -y  install gcc-c++ ncurses-devel  make perl bison ncurses cmake

[ 这个spec文件,没有初始化数据库,只做编译]

Summary: MySQL 5.5.37

Name: mysql

Version:5.5.37

Release: 1%{?dist}

License: GPL

URL: http://downloads.mysql.com/archives/get/file/mysql-5.5.37.tar.gz

Group: applications/database

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

BuildRequires: cmake

Packager: cloud_data@163.com

Autoreq: no

Source: %{name}-%{version}.tar.gz

prefix: /project/class/mysql

%description

%define MYSQL_USER mysql

%define MYSQL_GROUP mysql

%define __os_install_post %{nil}

%prep

/usr/sbin/groupadd mysql

/usr/sbin/useradd -g mysql mysql

%setup -q

%build

CFLAGS=”-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing”

CXX=g++

CXXFLAGS=”-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing”

export CFLAGS CXX CXXFLAGS

cmake .                                                                     \

-DCMAKE_INSTALL_PREFIX:PATH=%{prefix}               \

-DSYSCONFDIR:PATH=%{prefix}                                \

-DCMAKE_BUILD_TYPE:STRING=Release                     \

-DENABLE_PROFILING:BOOL=ON                                 \

-DWITH_DEBUG:BOOL=OFF                                        \

-DWITH_VALGRIND:BOOL=OFF                                   \

-DENABLE_DEBUG_SYNC:BOOL=OFF                            \

-DWITH_EXTRA_CHARSETS:STRING=all                      \

-DWITH_SSL:STRING=bundled                                    \

-DWITH_UNIT_TESTS:BOOL=OFF                                \

-DWITH_ZLIB:STRING=bundled                                    \

-DWITH_PARTITION_STORAGE_ENGINE:BOOL=ON        \

-DWITH_INNOBASE_STORAGE_ENGINE:BOOL=ON         \

-DWITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON           \

-DWITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON        \

-DWITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON     \

-DDEFAULT_CHARSET=utf8                                         \

-DDEFAULT_COLLATION=utf8_general_ci                      \

-DWITH_EXTRA_CHARSETS=all                                   \

-DENABLED_LOCAL_INFILE:BOOL=ON                            \

-DWITH_EMBEDDED_SERVER=0                                   \

-DINSTALL_LAYOUT:STRING=STANDALONE                  \

-DCOMMUNITY_BUILD:BOOL=ON  ;

make -j `cat /proc/cpuinfo | grep processor| wc -l`

%install

make DESTDIR=$RPM_BUILD_ROOT install#%pre%post

#ln -s %{prefix}/lib %{prefix}/lib64

mkdir  -p  %{prefix}/log

chown -R %{MYSQL_USER}:%{MYSQL_GROUP} %{prefix}/log%preun%clean

rm -rf $RPM_BUILD_ROOT%files

%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP})

%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}

%changelog

4.进入SPECS目录:

执行如下命令:

以下命令 二 选 一

rpmbuild -ba mysql.spec      # 这个制作成功会在RPMS里生成rpm包,在SRPMS里生成 源码的 RPM包

rpmbuild -bb mysql.spec      # 这个只在在RPMS里生成rpm包

5.下面就可以利用刚才的RPM包安装了

这个安装包相当于 二进制安装包,安装完成后,需要手动初始化数据库,启动数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值