编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

rpm——打包实战——kafka-manager

wxchong 2024-10-19 15:48:49 开源技术 10 ℃ 0 评论

#软件包的名称,后面可使用%{name}的方式引用

Name:kafka-manager

#软件的实际版本号,例如:1.0.1等,后面可使用%{version}引用

Version:1.3.3.4

#发布序列号,例如:1linuxing等,标明第几次打包,后面可使用%{release}引用

Release:1%{?dist}

#软件包的内容概要

Summary:kafka-manager

#软件分组,建议使用标准分组

# Amusements/Games (娱乐/游戏)

# Amusements/Graphics(娱乐/图形)

# Applications/Archiving (应用/文档)

# Applications/Communications(应用/通讯)

# Applications/Databases (应用/数据库)

# Applications/Editors (应用/编辑器)

# Applications/Emulators (应用/仿真器)

# Applications/Engineering (应用/工程)

# Applications/File (应用/文件)

# Applications/Internet (应用/因特网)

# Applications/Multimedia(应用/多媒体)

# Applications/Productivity (应用/产品)

# Applications/Publishing(应用/印刷)

# Applications/System(应用/系统)

# Applications/Text (应用/文本)

# Development/Debuggers (开发/调试器)

# Development/Languages (开发/语言)

# Development/Libraries (开发/函数库)

# Development/System (开发/系统)

# Development/Tools (开发/工具)

# Documentation (文档)

# System Environment/Base(系统环境/基础)

# System Environment/Daemons (系统环境/守护)

# System Environment/Kernel (系统环境/内核)

# System Environment/Libraries (系统环境/函数库)

# System Environment/Shells (系统环境/接口)

# User Interface/Desktops(用户界面/桌面)

# User Interface/X (用户界面/X窗口)

# User Interface/X Hardware Support (用户界面/X硬件支持)

Group:Applications/Productivity

#软件授权方式,通常就是GPL

License:GPL

#软件的主页

URL:https://github.com/yahoo/kafka-manager

#源代码包,可以带多个用Source1、Source2等源,后面也可以用%{source1}、%{source2}引用

Source0:kafka-manager-1.3.3.4.tar.gz

#这个是安装或编译时使用的“虚拟目录”,考虑到多用户的环境,一般定义为:

#该参数非常重要,因为在生成rpm的过程中,执行make install时就会把软件安装到上述的路径中,

#在打包的时候,同样依赖“虚拟目录”为“根目录”进行操作。后面可使用$RPM_BUILD_ROOT 方式引用

BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:java

Requires:rpm

#打包者的信息

Packager:dtinone

#软件的详细说明

%description

#预处理脚本

# setup -n %{name}-%{version} 把源码包解压并放好

# 通常是从/usr/src/asianux/SOURCES里的包解压到/usr/src/asianux/BUILD/%{name}-%{version}中。

# 一般用%setup -c就可以了,但有两种情况:

# 一就是同时编译多个源码包,

# 二就是源码的tar包的名称与解压出来的目录不一致,

# 此时,就需要使用-n参数指定一下了。

%prep

%setup -q

#开始构建包

%build

#开始把软件安装到虚拟的根目录中

%install

mkdir -p $RPM_BUILD_ROOT%{_prefix}/local/%{name}-%{version}/

cp -a * $RPM_BUILD_ROOT%{_prefix}/local/%{name}-%{version}/

#files 定义那些文件或目录会放入rpm中

# 这里会在虚拟根目录下进行,千万不要写绝对路径,而应用宏或变量表示相对路径。

# 如果描述为目录,表示目录中除%exclude外的所有文件。

# defattr (-,root,root) 指定包装文件的属性,分别是(mode,owner,group),-表示默认值,对文本文件是0644,可执行文件是0755

# exclude 列出不想打包到rpm中的文件

%files

%defattr(-,root,root,-)

%doc

/*

#清理临时文件

%clean

#rpm安装前执行的脚本

%pre

#rpm安装后执行的脚本

%post

ln -s %{_prefix}/local/%{name}-%{version}/bin/kafka-manager %{_bindir}/kafka-manager

#rpm卸载前执行的脚本

%preun

#rpm卸载后执行的脚本

%postun

rm -rf %{_bindir}/kafka-manager

rm -rf %{_prefix}/local/%{name}-%{version}

#变更日志

%changelog

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表