4

我环顾四周,但在我的简单包中没有一个相同错误消息的答案......我正在使用 Redhat ES 6 上的 rpmbuild 构建 rpm,无论我在我的规范文件中做了什么,我都会得到相同的结果。预先感谢您的帮助。

这是我的规格文件:

Name:  package
Version: 3.2.5
Release: redhat
Summary: Company package gateway pos server

Group:  Engineering
License: Company LLC - owned
URL:    http://www.company.com
Source: %{name}.tar.gz

%description
The Company package gateway server provides a key component in the Company system      architecture which passes information between the clients and the API.

%prep
%setup -n %{name}

%build

%define debug_package %{nil}

%install
mkdir -p $RPM_BUILD_ROOT/srv/package/gateways/config
mkdir -p $RPM_BUILD_ROOT/srv/package/gateways/logs

install -m 700 gateway $RPM_BUILD_ROOT/srv/package/
install -m 700 gatewayclient.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 gateway.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 rules.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 gatewaytest.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 gateways/bci.exe $RPM_BUILD_ROOT/srv/package/gateways/
install -m 700 gateways/config/bci_iso8583.conf $RPM_BUILD_ROOT/srv/package/gateways/config/

%post

%clean
rm -rf %{buildroot}
rm -rf $RPM_BUILD_ROOT
rm -rf %{_tmppath/%{name}
rm -rf %{_topdir}/BUILD%{name}

%files -f %{name}.lang
%defattr(-,root,root,-)

/srv/
/srv/package/
/srv/package/gateways/
/srv/package/gateways/logs/
/srv/package/gateways/config/
/srv/package/gateway
/srv/package/gatewayclient.conf
/srv/package/gateway.conf
/srv/package/gatewaytest.conf
/srv/package/rules.conf
/srv/package/gateways/bci.exe
/srv/package/gateways/config/bci_iso8583.conf

%changelog
* Thurs May 09 2013 Owner
- 1.0 r1 First release

错误信息在这里:

Checking for unpackaged file(s): /usr/lib/rpm/check-files     /home/rpmbuild/rpmbuild/BUILDROOT/package-3.2.5-redhat.x86_64
error: Installed (but unpackaged) file(s) found:
   /srv/package/gateways/bci.exe
   /srv/package/gateways/config/bci_iso8583.conf
   /srv/package/gateway
   /srv/package/gateway.conf
   /srv/package/gatewayclient.conf
   /srv/package/gatewaytest.conf
   /srv/package/rules.conf


RPM build errors:
   Installed (but unpackaged) file(s) found:
   /srv/package/gateways/bci.exe
   /srv/package/gateways/config/bci_iso8583.conf
   /srv/package/gateway
   /srv/package/gateway.conf
   /srv/package/gatewayclient.conf
   /srv/package/gatewaytest.conf
   /srv/package/rules.conf

版 - 重新运行以下建议并获得以下结果:

Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/rpmbuild/rpmbuild/BUILDROOT/package-3.2.5-redhat.x86_64
error: Installed (but unpackaged) file(s) found:
   /srv/package/gateways/bci.exe
   /srv/package/gateways/config/bci_iso8583.conf
   /srv/package/gateway
   /srv/package/gateway.conf
   /srv/package/gatewayclient.conf
   /srv/package/gatewaytest.conf
   /srv/package/rules.conf


RPM build errors:
    Installed (but unpackaged) file(s) found:
   /srv/package/gateways/bci.exe
   /srv/package/gateways/config/bci_iso8583.conf
   /srv/package/gateway
   /srv/package/gateway.conf
   /srv/package/gatewayclient.conf
   /srv/package/gatewaytest.conf
   /srv/package/rules.conf
4

3 回答 3

8

尝试更改您的%files部分:

%defattr(-,root,root,-)
# Don't own /srv/, but own directories:
%dir /srv/package/
%dir /srv/package/gateways/
%dir /srv/package/gateways/logs/
%dir /srv/package/gateways/config/
# Everything in those directories:
# (lazy way instead of specifying each file)
/srv/package

如前所述,您不想自己拥有“ /srv/”。如果这不起作用,我无法解释为什么有些与您列出的相同,但是gatewaygw*您的脚本需要包含或从目标根目录中删除“”。

于 2013-05-16T09:19:53.527 回答
0

您将-f %{name}.lang参数传递给%files,但您似乎没有调用%find_lang或发送 /usr/share/locale 中的任何文件。如果您不调用%find_lang,RPM 不会创建%{name}.lang带有翻译文件列表的文件。-f参数%files只是让 RPM%files在构建时添加该文件的内容;如果该文件不存在,则完全没有必要。不幸的是,如果该文件不存在,它似乎也会破坏 RPM。

因此,只需从中删除-f参数%files,它应该可以工作。

于 2013-05-18T22:15:18.527 回答
0

我最新的 SPEC 文件:

Name:  package
Version: 3.2.5
Release: redhat
Summary: company package gateway pos server

Group:  Engineering
License: company LLC - owned
URL:    http://www.company.com
Source: %{name}.tar.gz

%description
The company package gateway server provides a key component in the company system architecture which passes information between the clients and the API.

%prep
%setup -n %{name}

%build

%define debug_package %{nil}

%install
mkdir -p $RPM_BUILD_ROOT/srv/package/gateways/config
mkdir -p $RPM_BUILD_ROOT/srv/package/gateways/logs

install -m 700 package $RPM_BUILD_ROOT/srv/package/
install -m 700 packageclient.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 package.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 rules.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 packagetest.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 gateways/bci.exe $RPM_BUILD_ROOT/srv/package/gateways/
install -m 700 gateways/config/bci_iso8583.conf $RPM_BUILD_ROOT/srv/package/gateways/config/

%post

%clean
rm -rf %{buildroot}
rm -rf $RPM_BUILD_ROOT
rm -rf %{_tmppath/%{name}
rm -rf %{_topdir}/BUILD%{name}

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

%dir /srv/package/
%dir /srv/package/gateways/
%dir /srv/package/gateways/logs/
%dir /srv/package/gateways/config/
bci.exe
bci_iso8583.conf
package
package.conf
packageclient.conf
packagetest.conf
rules.conf

%changelog
* Thurs May 09 2013 Todd McGuinness
- 1.0 r1 First release
于 2013-05-20T19:21:22.783 回答