- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对 RPM 和 RPM 构建完全陌生。
这是我得到的错误:
[impulse@localhost SPECS]$ rpmbuild -bp pa_connector.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.71097
+ umask 022
+ cd /usr/src/redhat/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ $'\r'
: command not found097: line 27:
error: Bad exit status from /var/tmp/rpm-tmp.71097 (%prep)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.71097 (%prep)
我不确定该临时文件是如何或何时创建的,也不确定它的用途。如果有人也能为我澄清这一点,我将不胜感激!
这是我的规范文件:
Summary: PA_Connector
Name: PA_Connector
Provides: PA_Connector
Version: 1.0
Release: 1.0
License: GPLv2+ and LGPLv2+
Group: System Environment/Daemons
URL: http://www.impulse.com/
Source: pa_connector.tar.gz
%define initddir %{?_initddir:%{_initddir}}%{!?_initddir:%{_initrddir}}
%define scriptdir ./script\\\ src
%define installdir $RPM_BUILD_ROOT/opt/pa_connector
%define libdir %{installdir}/lib
%define builddir %{installdir}/build
%define configdir config
#BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires: ant
%description
Testing PA building
%prep
%setup -q -n PA_Connector -c PA_Connector pa_connector
%build
# Right now no build is really taking place, the build.xml file is executed first.
/usr/bin/ant -Djava.io.tmpdir=/tmp/PA_CONNECTOR-CORE-JOB1 -f build.xml jar
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{installdir}
install -D -m 755 %{scriptdir}/pa_connector $RPM_BUILD_ROOT/%{initddir}/pa_connector
install -D -m 755 %{scriptdir}/pa_connector.sh %{installdir}/pa_connector.sh
install -D -m 644 %{configdir}/config.xml %{installdir}/config.xml
install -D -m 644 %{configdir}/log4j.properties %{installdir}/log4j.properties
install -D -d lib %{libdir}
install -D -m 644 pa_connector.jar %{libdir}/pa_connector.jar
install -D -m 644 lib/commons-logging-1.1.1.jar %{libdir}/commons-logging-1.1.1.jar
install -D -m 644 lib/log4j-1.2.17.jar %{libdir}/log4j-1.2.17.jar
%clean
rm -rf $RPM_BUILD_ROOT
# Make sure our user/group is present prior to any package or subpackage installation
%pre
if [ $1 -eq 1 ];then #Install
getent group impulse >/dev/null || /usr/sbin/groupadd -r -g 500 impulse > /dev/null 2>&1
getent passwd impulse >/dev/null || /usr/sbin/useradd -r -g impulse -u 500 -c "impulse user" -s /sbin/nologin impulse > /dev/null 2>&1
elif [ $1 -eq 2 ];then #Upgrade
# Stop the service before upgrading
/sbin/service pa_connector stop &> /dev/null
fi
exit 0
%files
%defattr(-,root,root)
%{initddir}/pa_connector
%dir %attr(755,impulse,impulse) /opt/pa_connector
attr(755,impulse,impulse) /opt/pa_connector/pa_connector.sh
%dir %attr(755,impulse,impulse) /opt/pa_connector/lib
attr(644,impulse,impulse) /opt/pa_connector/lib/pa_connector.jar
attr(644,impulse,impulse) /opt/pa_connector/lib/commons-logging-1.1.1.jar
attr(644,impulse,impulse) /opt/pa_connector/lib/log4j-1.2.17.jar
attr(644,impulse,impulse) /opt/pa_connector/log4j.properties
attr(644,impulse,impulse) /opt/pa_connector/config.xml
压缩包包含以下内容:
[impulse@localhost SPECS]$ tar -tvf ../SOURCES/pa_connector.tar.gz
drwxr-xr-x root/root 0 2013-04-05 16:24:52 pa_connector/
drwxr-xr-x root/root 0 2013-03-29 14:22:33 pa_connector/lib/
-rwxr-xr-x root/root 489883 2013-03-29 14:22:33 pa_connector/lib/log4j-1.2.17.jar
-rwxr-xr-x root/root 60841 2013-03-29 14:22:33 pa_connector/lib/commons-logging-1.1.1.jar
drwxr-xr-x root/root 0 2013-03-29 14:22:33 pa_connector/src/
drwxr-xr-x root/root 0 2013-03-29 14:22:33 pa_connector/src/com/
drwxr-xr-x root/root 0 2013-03-29 14:22:33 pa_connector/src/com/impulse/
drwxr-xr-x root/root 0 2013-03-29 14:22:33 pa_connector/src/com/impulse/connector/
drwxr-xr-x root/root 0 2013-03-29 14:22:34 pa_connector/src/com/impulse/connector/paloalto/
-rw-r--r-- root/root 2389 2013-03-29 14:22:34 pa_connector/src/com/impulse/connector/paloalto/AuthDeltaBroker.java
... etc
如有任何帮助,我们将不胜感激!
最佳答案
我能够修复它。这个错误不断出现的原因是因为我最初是在 Windows 文本编辑器上创建我的规范文件的,该编辑器插入了那些回车符。我在 CentOS 盒子上重新制作了文件,现在可以正常工作了。希望对遇到此问题的其他人有所帮助!
关于linux - 临时文件中的 rpmbuild 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15879973/
是否可以将参数传递给 rpmbuild 以填充在规范文件中调用的用户定义变量? 例子: 在 .spec 文件(但为空)中调用的用户定义变量 %{foobar} 应填充执行 rpmbuild 命令时传递
我正在从单一来源构建一系列 rpm,并且只想构建子包;即我不想创建一个空的主包,只想创建子包。 我该怎么做呢?它是 rpmbuild 开关还是我放入规范文件的东西? 谢谢 最佳答案 通常,您通过没有
我正在尝试构建我的第一个 RPM,但出现错误。我的 .rpmmarcos 文件如下所示: %packager Your Name %_topdir /home/snort/test %_tmppa
我正在尝试从 source-1.4.3-linux.tgz(已下载,因此我无法控制名称)构建 rpm,并将文件解压到目录 source-1.4.3-linux 中。在我的 source.spec 文件
我正在尝试制定 RPM 的构建流程。 当我生成源 RPM 时,它在文件名中包含 %{dist}。我希望它只对二进制 RPM 执行此操作,因为源 RPM 不是特定于发行版的。 dist 宏在 /etc/
我正在尝试创建一个仅更新系统上文件的包,但运行 rpmbuild 时不断出现错误。该错误表明文件丢失。 我已在 CentOS 5 和 6 上尝试过此操作,结果相同。 我使用rpmdev-setuptr
寻找某人在仅放置文件时澄清 %install 宏。我创建了一个没有错误的 RPM,它应该只是从 buildroot 中获取文件并将它们 cp 到/usr/lib。我在 %install 的 SPEC
我正在尝试构建一个 RPM(rpmbuild -bb 规范文件)。安装 rpm 时,一些可执行的 tcl 文件已损坏,并且所有文件的大小都相同。 最佳答案 在规范文件中声明“%global __os_
我想构建 RPM 文件,我希望它们被普遍使用,并且不依赖于安装的发行版。现在我发现了一个在 RHEL 和 SLES 上名称不同的需求。我发现这是可能的解决方案: %if 0%{?suse_versio
我在构建日志中收到以下信息: Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.CgE2Qn + umask 022 + cd /export/home/s
rpmbuild 可以通过查找包中包含的二进制文件所需的共享库来自动检测依赖关系,虽然这几乎每次都是一个很好的想法,但有时它是不可取的,但仅限于某些特定的库。我指的是某些二进制文件需要的库不是通过 r
我是 rpm 打包的初学者,据我所知,由于 cpio 限制,rpm-build 存在文件大小>4GB 的问题。因此,我将包中的大文件与 gnu 拆分为 512MB 的文件 [这是作为 rpmbuild
我正在使用 rpmbuild在AWS Lambda其存储限制为 512MB,磁盘空间即将用完。 我想删除原始文件/ Assets 以释放文件 /tmp/rpm-tmp.XXXX 之后的空间已创建且在最
我在/opt/MyApp 中有一个应用程序,我需要使用 FPM 将其打包到 RPM 包中如下: fpm -e -s dir -t rpm --name 'MyApp' --version '1.0'
我正在尝试为我制作的应用程序构建 rpm。我已经编写了spec文件并制作了一个额外的bash脚本来自动将所有必需的文件复制到rpmbuild目录结构中,即{BUILD,BUILDROOT,RPMS,S
我只是在学习为一些从源代码编译的自定义构建的软件制作 rpm 包(一些遗留的东西需要这个,所以我正在努力学习,因为一些包不能使用最新版本),但是遇到错误(我在 Vagrant 中以 root 身份执行
在过去的 6 个月里,我一直在努力弄清楚如何构建一个 rpm,但我仍在努力理解我在构建过程中遗漏了什么。我的目标是让我的 rpm 安装一个 tar.gz 文件。 这是我的 .rpmmacros 文件
在我正在处理的项目中,我需要使用私钥从我的输出可执行文件 (elf) 之一生成签名(签名形成 rpm 中的文件之一,私钥永远不会执行此操作离开构建机器)。目前,这是在我的 makefile 中完成的,
rpmbuild 在哪个目录下生成RPM? 我检查了 RPMS 目录:- [root@tom adil]# ls /usr/src/redhat/ BUILD RPMS SOURCES SPEC
假设我为 myprog1 和 myprog2 构建的包要安装在/usr/lib/mysystem/myprog1/和/usr/lib/mysystem/myprog2/中 根据一些发行版的文档,例如
我是一名优秀的程序员,十分优秀!