困扰一天的rpm打包问题

rpm打包我们经常会遇到,通过直接拷贝的方式达来打包的情况。但是发现打包的时候并不是想象中的那么顺利,比如你会遇到这种情况:

通常遇上上面的警告之后,你还是能打包完成的。但是你会发现打包完成的rpm包很不正常的,无论从大小和安装方面都不行。holy shit!,我只是简单的拷贝啊。我们的rpmbuild代码也很简单:

# Disable the stupid stuff rpm distros include in the build process by default:
#   Disable any prep shell actions. replace them with simply ‘true‘
#%define __spec_prep_post true
#%define __spec_prep_pre true
#   Disable any build shell actions. replace them with simply ‘true‘
#%define __spec_build_post true
#%define __spec_build_pre true
#   Disable any install shell actions. replace them with simply ‘true‘
#%define __spec_install_post true
#%define __spec_install_pre true
#   Disable any clean shell actions. replace them with simply ‘true‘
#%define __spec_clean_post true
#%define __spec_clean_pre true
# Disable checking for unpackaged files ?
#%undefine __check_files

# Use md5 file digest method
#%define _binary_filedigest_algorithm 1

# Use gzip payload compression
#%define _binary_payload w9.gzdio

%preq
# noop
%setup -q

%build
# noop

%install
# noop
%{__mkdir_p} %{buildroot}%{_usr}/local/resin1414
%{__mkdir_p} %{buildroot}/tmp/mysql
%{__cp} -r %{_builddir}/%{name}-%{version}/* %{buildroot}/tmp/mysql/.

#%{__cp} -r $RPM_BUILD_DIR/%{name}-%{version}/* %{buildroot}/tmp/.
#%{__cp} -r /root/rpmbuild/BUILD/%{name}-%{version}/* %{buildroot}/tmp/mysql/.

%clean
# noop

%files
%defattr(-,root,root,-)

# Reject config files already listed or parent directories, then prefix files
# with "/", then make sure paths with spaces are quoted. I hate rpm so much.
/tmp/mysql/
/usr/local/resin1414

为这个问题我夜里睡不着,吃饭也不香。此问题不解决,早晚有一天也会再次困扰我。终于还是找到了。

AutoReqProv: no

是的,就是这个参数。

The autoreqprov, autoreq, and autoprov Tags — Disable Automatic Dependency Processing
There may be times when RPM‘s automatic dependency processing is not desired. In these cases, the autoreqprov, autoreq, and autoprov tags may be used to disable it. This tag takes a yes/no or 0/1 value. For example, to disable automatic dependency processing, the following line may be used:
AutoReqProv: no

The autoreq and autoprov tags can be used to disable automatic processing of requirementsor "provides" only, respectively.
时间: 2024-10-23 03:40:14

困扰一天的rpm打包问题的相关文章

Centos6_64 rpm打包实践

安装rpmbuild sudo yum install rpm-build 普通用户的配置 /home/you/rpmbuild/ 假设是要构建rpm的目录 先说说rpmbuild有什么用,给一个例子: echo "%  _topdir/home/you/rpmbuild" > ~/.rpmmacros mkdir -p /home/you/rpmbuild/{SPECS,BUILD,SRPMS,RPMS,SOURCES} /usr/lib/rpm/macros 中配置可以更改具

使用spec与fpm 2种方式进行rpm打包

最近分享zabbix与ansible好多,大家看烦了,我也没啥存货了,现在就介绍一下如何进行rpm打包吧. rpm打包有2个,一个是自己写spec,另外要给是使用ruby的fpm,我个人比较倾向于第二种fpm,这个不需要写spec文件,特简单,不过为了让大家看明白,我分别介绍一下这2款软件是如何进行rpm打包的. 目录 一.使用spec构建rpm 二.使用fpm构建rpm 一.使用spec构建rpm 在构架rpm包的时候,需要经过3个过程 1.解压源码包 2.编译环境configure 3.ma

openstack RPM打包

背景: 常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这里我们是以其软件包的格式来划分的,这两类系统分别提供了自己的软件包管理系统和相应的工具.类RedHat系统中软件包的后缀是rpm:类Debian系统中软件包的后缀是deb.另一方面,类RedHat系统提供了同名的rpm命令来安装.卸载.升级rpm软件包:类Debian系统同样提供了dpkg命令来对后缀是deb的软件包进行安装.卸载和升级等操作. rpm的全称是Redhat Package Manager,

subversion(版本控制),RPM打包

########################################################################################## subversion: 简介: subversion是一个自由/开源的版本控制系统 -->subversion允许你的数据恢复到早期版本 -->或者是检查数据修改的历史 架构: 客户端-命令行,图形 通信方式-本地访问,svn服务器,web服务器 仓库存储-文件系统(FSFS),数据库(Berkeley DB) 基

使用rpm 打包开发的postgres extension

环境准备 安装依赖包 rpmdevtools rpm-build yum install -y rpm-build rpmdevtools 初始化rpm pacakge 项目 主要是rpm 打包的目录结构 使用rpmdev-setuptree 工具 效果如下: ── rpmbuild ├── BUILD ├── RPMS ├── SOURCES ├── SPECS └── SRPMS 创建简单pg extension 扩展 具体实现的功能很简单,可以参考github 项目https://gith

以打包fuse为例介绍rpm打包工具rpmbuild的使用和SPEC文件的编写

一.rpmbuild命令的安装 yum install rpm-build 二.用法 rpmbuild -bb XXXX.spec或者rpmbuild -ba XXX.tar.gz 三.目录概述 rpmbuild在运行后会在用户目录下生成一个rpmbuild的文件夹:[[email protected] rpmbuild]# ls ~/rpmbuild/BUILD BUILDROOT RPMS SOURCES SPECS SRPMS有四个目录:BUILD:你要打包的文件将会在这里编译;BUILD

rpm打包

首先安装打包软件# yum install rpmbuild  rpmdevtools -y 生成打包路径1.使用rpmdev-setuptree ,会自动在用户家目录生成一个rpmbuild的文件夹,作为工作路径2.cd rpmbuild/SPECS路径,创建my.spec文件,仅仅需要以下内容################my.spec##############Name: shepherdVersion: 1.0Release: 1Summary: luckykrisLicense: [

运维自动化_rpmbulid 线上服务rpm打包

运维自动化需要涉及到rpmbuild的学习,现对rpmbuild进行打包,以下是spec文件内容: # online rpmbulid for h5_back Name:             h5_bak Version:          0.0.1 Release:          1%{?dist} Summary:          data_back for h5 Group:            Applications/File License:          BSD

使用RPM 打包PG程序

1.编辑spec Summary:  gfsunny pgdb Name:     postgresql Version:  9.3.4 Release:  1 License:  peak Group:    Applications/Databases Source:   /home/pgsql/%{name}-%{version}.tar.gz BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root Url:      http:/