rpm包制作

rpm包制作

工具

安装rpm-build:

yum install -y rpm-build

建立目录结构

mkdir -p /root/rpmbuild/BUILD
mkdir -p /root/rpmbuild/BUILDROOT
mkdir -p /root/rpmbuild/RPMS
mkdir -p /root/rpmbuild/SOURCES
mkdir -p /root/rpmbuild/SPECS
mkdir -p /root/rpmbuild/SRPMS

准备工作

配置.spec文件

以下是postgresql-hll-2.10.2的spec文件(postgresql-hll.spec)示例:

# SPEC file for postgresql-hll
%define pgbaseinstdir /usr/pgsql-10

Name:           postgresql-hll
Version:        2.10.2
Release:        1.el7
Summary:        SUNING

Group:          SUNING
License:        Apache License, Version 2.0
URL:            https://github.com/aggregateknowledge/postgresql-hll
Source0:        postgresql-hll-2.10.2.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  gcc

%description

PostgreSQL extension adding HyperLogLog data structures as a native data type

%prep
%setup -q


%build
PATH=/usr/pgsql-10/bin:$PATH
make


%install
rm -rf %{buildroot}
PATH=/usr/pgsql-10/bin:$PATH
make install DESTDIR=%{buildroot}


%clean
rm -rf %{buildroot}


%files
%dir %{pgbaseinstdir}/share/extension
%defattr(0644,root,root)
%{pgbaseinstdir}/share/extension/hll.control
%{pgbaseinstdir}/share/extension/hll--2.10.sql
%defattr(0755,root,root)
%{pgbaseinstdir}/lib/hll.so

%changelog

其中Release设置成“1%{?dis}”,则打包的rpm包名称中会包含linux系统类型(如centos)。

postgresql-hll.spec放到指定目录:

cp postgresql-hll.spec /root/rpmbuild/SPECS/

将源码包放到指定目录

cp postgresql-hll-2.10.2.tar.gz /root/rpmbuild/SOURCES/

注: 源码包名称postgresql-hll-2.10.2.tar.gz要与配置文件postgresql-hll.spec中的Source0设置一致。

打包

cd /root/rpmbuild
rpmbuild -bb SPECS/postgresql-hll.spec
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值