困扰一天的rpm打包问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了困扰一天的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.


本文出自 “linux系统维护” 博客,请务必保留此出处http://linuxadmin.blog.51cto.com/2683824/1751745

以上是关于困扰一天的rpm打包问题的主要内容,如果未能解决你的问题,请参考以下文章

泪目了,记录一下改了一天的bug

牛逼!一行代码居然能解决这么多曾经困扰我半天的算法题

JavaScript - 获取一周中下一天的日期(对于每一天)

迷惑一天的代码

JS 时间加一天的问题

在 ionic v1 中的每一天的特定时间发送通知