我正在尝试通过 rpm 包管理器创建 rpm。以下是我的 spec 文件:
**# This is a spec file for openldappkg**
%define _topdir /osp/rpmBuildOpenLdap
%define name openldap
%define release 1
%define version 2.4.30
%define buildroot %{_topdir}/%{name}-%{version}-root
BuildRoot: %{buildroot}
Summary: openldap pkg
License: GPL
Name: %{name}
Version: %{version}
Release: %{release}
Source: %{name}-%{version}.tgz
Prefix: /usr
Group:
%description
The openldap pkg program downloads files installs openldap for use.
%prep
%setup -q
%build
./configure
make
%install
make install prefix=$RPM_BUILD_ROOT/usr
############################################################
下面是我收到的错误:
{部分日志被跳过}
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.60752
+ umask 022
+ cd /osp/rpmBuildOpenLdap/BUILD
+ cd openldap-2.4.30
+ LANG=C
+ export LANG
+ unset DISPLAY
+ ./configure
/var/tmp/rpm-tmp.60752: line 30: ./configure: Permission denied
error: Bad exit status from /var/tmp/rpm-tmp.60752 (%build)
RPM 构建错误:/var/tmp/rpm-tmp.60752 (%build) 的退出状态错误
#当我直接通过 ./configure -> make -> make install 安装包时,安装成功,但是当我尝试通过 rpm 创建包时,问题就出现了。
请提出您宝贵的建议。
感谢您。
答案1
临时目录是否可能以 noexec 方式挂载?
刚刚注意到我错过了哪个目录配置用完了 - 应该是“/osp/rpmBuildOpenLdap/BUILD 的某些部分是否可能以 noexec 方式安装?”
答案2
终于找到问题了。问题出在源头上。
我想用根据我的要求修改的文件替换源中的某些文件,为此我解压了原始源文件并放入修改后的文件,然后将其压缩回去。
现在,当我用这个更改后的源创建包时,出现了权限被拒绝的错误。虽然我的问题没有解决,但我仍然找到了根本原因。只是想和大家分享一下。
谢谢。