在 RHEL 5.3 上通过 rpm 包管理器创建 rpm 时权限被拒绝

在 RHEL 5.3 上通过 rpm 包管理器创建 rpm 时权限被拒绝

我正在尝试通过 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

终于找到问题了。问题出在源头上。

我想用根据我的要求修改的文件替换源中的某些文件,为此我解压了原始源文件并放入修改后的文件,然后将其压缩回去。

现在,当我用这个更改后的源创建包时,出现了权限被拒绝的错误。虽然我的问题没有解决,但我仍然找到了根本原因。只是想和大家分享一下。

谢谢。

相关内容