RPM构建错误:来自/var/tmp/rpm-tmp.32XJLX的错误退出状态(%install)

Ara*_*nda 2 bash centos rpm rpmbuild rpm-spec

我试图在centos 6.5上创建一个简单的rpm包..但我无法完成它,因为它给我错误..我已经遵循这两个线程.. 来自/var/tmp/rpm-tmp.b1DgAt的错误退出状态(%建)从/var/tmp/rpm-tmp.ajKra4(%PREP)坏退出状态 ..但没有运气...

我无法弄清楚我在这里缺少什么..请帮我解决这个问题..

这是我的

Name:   test
Version: 1.0    
Release:    1%{?dist}
Summary: A test package 

Group:      Testing
License:    GPL
URL:        http://www.yahoo.com
Source0:        test-1.0.tar.gz
BuildRoot:  %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:  /bin/rm, /bin/mkdir, /bin/cp
Requires:   /bin/bash, /bin/date

%description
this is the test package build for rhche

%prep
%setup -q

%build
./configure
%install
rm -rf $RPM_BUILD_ROOT
make -p $RPM_BUILD_ROOT/usr/local/bin
cp myscriptdate $RPM_BUILD_ROOT/usr/local/bin

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%attr(0755,root,root)/usr/local/bin/myscriptdate

%changelog
* Thu Dec 09 2010 Forrest <forrest@redhat.com> 1.0-1
-Initial RPM
-Added /usr/local/bin/myscript
Run Code Online (Sandbox Code Playgroud)

源目录是/ test1

[ara@catshit test1]$ pwd
/test1
[ara@catshit test1]$ ls -ls
total 12
4 drwxrwxrwx. 2 ara ara 4096 Dec  7 00:02 test-1.0
4 -rw-rw-r--. 1 ara ara  210 Dec  7 00:09 test-1.0.tar.gz
4 -rwxrwxrwx. 1 ara ara  742 Dec  7 00:17 test.spec
[ara@catshit test1]$
Run Code Online (Sandbox Code Playgroud)

test-1.0被压缩为test-1.0.tar.gz.在test-1.0里面我有一个名为myscriptdate的脚本,它有以下简单的代码.

"#!/斌/庆典

日期

当我尝试rpmbuild -ba test.spec它给我

# Not a target:
.f:
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.
#  commands to execute (built-in):
    $(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@

# Not a target:
.f.o:
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.
#  commands to execute (built-in):
    $(COMPILE.f) $(OUTPUT_OPTION) $<

# files hash-table stats:
# Load=70/1024=7%, Rehash=0, Collisions=278/1660=17%
# VPATH Search Paths

# No `vpath' search paths.

# No general (`VPATH' variable) search path.

# # of strings in strcache: 0
# # of strcache buffers: 0
# strcache size: total = 0 / max = 0 / min = 4096 / avg = 0
# strcache free: total = 0 / max = 0 / min = 4096 / avg = 0

# Finished Make data base on Sun Dec  7 00:51:01 2014

error: Bad exit status from /var/tmp/rpm-tmp.ZFlmeu (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.ZFlmeu (%install)
Run Code Online (Sandbox Code Playgroud)

/var/tmp/rpm-tmp.ZFlmeu内容如下

#!/bin/sh

  RPM_SOURCE_DIR="/home/ara/rpmbuild/SOURCES"
  RPM_BUILD_DIR="/home/ara/rpmbuild/BUILD"
  RPM_OPT_FLAGS="-O2 -g"
  RPM_ARCH="x86_64"
  RPM_OS="linux"
  export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
  RPM_DOC_DIR="/usr/share/doc"
  export RPM_DOC_DIR
  RPM_PACKAGE_NAME="test"
  RPM_PACKAGE_VERSION="1.0"
  RPM_PACKAGE_RELEASE="1.el6"
  export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
  LANG=C
  export LANG
  unset CDPATH DISPLAY ||:
  RPM_BUILD_ROOT="/home/ara/rpmbuild/BUILDROOT/test-1.0-1.el6.x86_64"
  export RPM_BUILD_ROOT

  PKG_CONFIG_PATH="/usr/lib64/pkgconfig:/usr/share/pkgconfig"
  export PKG_CONFIG_PATH

  set -x
  umask 022
  cd "/home/ara/rpmbuild/BUILD"
cd 'test-1.0'
rm -rf $RPM_BUILD_ROOT
make -p $RPM_BUILD_ROOT/usr/local/bin
cp myscriptdate $RPM_BUILD_ROOT/usr/local/bin





    /usr/lib/rpm/brp-compress 
    /usr/lib/rpm/brp-strip 
    /usr/lib/rpm/brp-strip-static-archive 
    /usr/lib/rpm/brp-strip-comment-note 
Run Code Online (Sandbox Code Playgroud)

Eta*_*ner 7

make -p $RPM_BUILD_ROOT/usr/local/bin条线是你的问题.

虽然不是问题,但你几乎肯定不想-p在那条线上.因为它在编译期间没有对你有用,你的rpm构建过程不需要查看规则的make数据库.

真正的问题是你告诉make你希望它构建$RPM_BUILD_ROOT/usr/local/bin目标,实际上知道如何构建它是非常不可能的(因此导致make无法构建它并给你一个错误).删除-p将帮助您查看实际的错误,因为它不会吐出规则数据库的东西.

认为你的意思mkdir -p相反.(哪个应该可用作%{__mkdir_p}宏.)