标签: rpmbuild

Rpmbuild - 设置创建的.rpm的名称

我一直试图找出在rpm创建过程中设置固定文件名的最简单方法.它可以在.spec文件中设置或作为rpmbuild参数设置吗?默认名称取决于版本和版本号.我的rpm名称必须始终相同.

谢谢

同步

rpm rpmbuild

11
推荐指数
1
解决办法
2万
查看次数

rpm将图标安装到桌面

在Fedora Gnome ......

在我的rpm中使用.desktop文件,我已成功将我的gui软件放入gnome应用程序菜单中.

我想知道是否有办法在安装rpm时将图标放到gnome桌面上?

更新:

现在我可以在...中rpmbuild成功使用rpmbuild 并在此过程中在我的桌面上放置一个图标(甚至在安装rpm之前!)我做错了.有什么建议?xdg-desktop-icon%install

这是我的spec文件的相关部分:

Source1: %{name}.desktop
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  gettext, python-devel, desktop-file-utils, xdg-utils

...

%install
rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE1}
xdg-desktop-icon install --novendor %{SOURCE1}
Run Code Online (Sandbox Code Playgroud)

linux gnome fedora rpm rpmbuild

9
推荐指数
1
解决办法
2730
查看次数

rpmbuild错误:找到已安装(但未打包)的文件

我正在构建一个自定义rpm来安装apache等等.当我尝试构建时,我得到上述错误,然后列出/httpd-2.2.17/及其所有子文件.

据我所知,这是构建目录,所以不应该打包.为了尝试修复此问题,我添加了rm -rf /httpd-2.2.17,但这似乎没有帮助.

我不想将它添加到%files部分,因为我们完成后不应该在系统上安装它们.

有人知道我做错了什么吗?

值得注意的是,apache是​​第二个源文件,第一个是未编译的tar文件

rpm rpmbuild rpm-spec

9
推荐指数
1
解决办法
7121
查看次数

rpm规范文件中的chkconfig命令

我想在rpm spec文件的%install部分中使用'chkconfig --del NetworkManager'命令.如果我包含此命令,rpm正在构建正常但是当我安装该rpm时,它看起来命令没有被执行.安装后我使用'chkconfig --list'命令验证并观察到服务一直运行.

这是我正在使用的spec文件.请让我知道我错了.

%define name disable_network-manager
%define version 1.0
%define release fc

Name:       %{name}
Version:    %{version}
Release:    1%{?dist}
Summary:    Includes the script to disable Network Manager services

Group:      Development/Other
License:    GPL
URL:        www.abcd.com
Source0:    %{name}-%{version}.tar.gz
BuildRoot:  %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

%description
sample text.

%prep
%setup -q

#%build

%install
/sbin/chkconfig --del NetworkManager
rm -rf $RPM_BUILD_ROOT
install -m 0755 -d $RPM_BUILD_ROOT/usr/bin
install -m 0755 enablenm.sh $RPM_BUILD_ROOT/usr/bin/enablenm.sh

%clean
rm -rf $RPM_BUILD_ROOT


%files
/usr/bin/enablenm.sh
Run Code Online (Sandbox Code Playgroud)

rpm rpmbuild

9
推荐指数
1
解决办法
5161
查看次数

来自/var/tmp/rpm-tmp.ajKra4的退出状态不佳(%prep)

我有一个奇怪的RPM问题,我是新手,所以请耐心等待...我创建了spec文件,当我运行构建时出现错误:

/var/tmp/rpm-tmp.ajKra4:第36行:cd:hero-01:没有这样的文件或目录错误:/var/tmp/rpm-tmp.ajKra4的错误退出状态(%prep)

然后我检查那个临时文件,它正在尝试将CD发送到一个不存在的目录.它应该在spec文件中创建吗?如果是这样的话?

这是我的spec文件:

    Summary: Install Hero
    Name: hero
    Version: 01 
    Release: 1
    Group: Billing reporting
    Source: %{name}-%{version}.tar.gz
    License: SLA

    %description
    Hero billing reports system

    %prep
    rm -rf %{_topdir}/BUILD/*

    %setup

    %install
    mkdir -p /opt/%{name}
    cp -r * /opt/%{name}

    %post
    find /opt/%{name} -type d -exec chmod 755 {} \;
    find /opt/%{name} -type f -exec chmod 644 {} \;
    chmod -R 755 /opt/%{name}/bin



    %files 
    /opt/%{name}
    %defattr(-,root,root,0755)

    %clean
    rm -rf $RPM_BUILD_ROOT

    %postun
    rm -rf /opt/%{name}
Run Code Online (Sandbox Code Playgroud)

也许我错过了什么?不会是第一个大声笑,谢谢

这也是tmp文件输出的内容:

    #!/bin/sh

      RPM_SOURCE_DIR="/root/rpmbuild/SOURCES"
      RPM_BUILD_DIR="/root/rpmbuild/BUILD"
      RPM_OPT_FLAGS="-O2 -g"
      RPM_ARCH="x86_64" …
Run Code Online (Sandbox Code Playgroud)

specifications centos rpm rpmbuild

9
推荐指数
1
解决办法
2万
查看次数

rpmbuild已安装(但未打包)的文件源

我正在尝试在REDHAT 6系统上从二进制文件构建RPM.我有所有文件包含在%files部分(查找/ path/to/fake/install -type f >> specfile)

当我运行rpmbuild -bb specfile --target x86_64时,我得到了

检查未打包的文件:/ usr/lib/rpm/check-files /path/to/rpmbuild/BUILDROOT/Package-1.0.0-1.el6.x86_64错误:已找到已安装(但未打包)的文件:

RPM构建错误:已找到已安装(但未打包)的文件:

请注意,错误消息中未列出任何文件.我不确定什么是错的,还有想法?

linux packaging redhat rpm rpmbuild

9
推荐指数
2
解决办法
2万
查看次数

rpmbuild%清除阶段而不删除文件

我在构建日志中收到以下内容:

Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.CgE2Qn
+ umask 022
+ cd /export/home/svn_checkouts/*snip*/Output/release/bin/packaging/BUILD
+ /bin/rm -rf /export/home/svn_checkouts/*snip*/Output/release/bin
+ exit 0
Run Code Online (Sandbox Code Playgroud)

我想避免rpmbuild删除构建目录中的所有文件,因为在构建RPM之后我需要将其他文件删除.我可以覆盖此行为吗?

我读到某些版本的RPM支持一个--noclean参数,但不幸的是我们的.

rpm rpmbuild

9
推荐指数
1
解决办法
8751
查看次数

CentOS上的rpmbuild问题 - 来自/home/me/rpmbuild/tmp/rpm-tmp.58942的错误退出状态

我正在尝试创建一个只更新系统上文件的软件包,但是在运行rpmbuild时我一直遇到错误.该错误表示文件丢失.

我在CentOS 5和6上尝试过这个,结果相同.

我曾经rpmdev-setuptree设置过文件系统,也就是设置~/.rpmmacros文件.然后我用来rpmdev-newspec初始化spec文件.

我作为非root用户运行.

我有spec文件~/rpmbuild/SPECS/test.spec,我的来源是:~/rpmbuild/SOURCES/test-1.tar.gz.提取此文件会创建一个以test-12个文件命名的目录.我已经确认~/rpmbuild/BUILD/test-1在我尝试构建软件包时它会被提取出来.

我跑: rpmbuild -ba ~/rpmbuild/SPECS/test.spec

然后我收到这个错误:

  • ./configure --build = x86_64-redhat-linux-gnu --host = x86_64-redhat-linux-gnu --target = x86_64-redhat-linux-gnu --program-prefix = --prefix =/usr - exec-prefix =/usr --bindir =/usr/bin --sbindir =/usr/sbin --sysconfdir =/etc --datadir =/usr/share --includedir =/usr/include --libdir =/usr/lib64 --libexecdir =/usr/libexec --localstatedir =/var --sharedstatedir =/usr/com --mandir =/usr/share/man --infodir =/usr/share/info/home/me/rpmbuild /tmp/rpm-tmp.58942:line 37:./ configure:没有这样的文件或目录错误:/home/me/rpmbuild/tmp/rpm-tmp.58942(%build)的退出状态错误

RPM构建错误:/home/me/rpmbuild/tmp/rpm-tmp.58942(%build)的退出状态错误

这是我的spec文件:

Name:           test
Version:        1
Release:        1%{?dist}
Summary:        Test

Group:          Test
License: …
Run Code Online (Sandbox Code Playgroud)

rpm rpmbuild

9
推荐指数
1
解决办法
8803
查看次数

从rpm.spec文件中的%文件中排除或删除目录路径

我的spec文件路径如下所示:

/opt/OV
/opt/OV/NonOV
/opt/OV/NonOV/ABCD
/opt/OV/NonOV/ABCD/ABC
/opt/OV/NonOV/ABCD/ABC/Test1
/opt/OV/NonOV/ABCD/ABC/Test1/test1.txt
/opt/OV/NonOV/ABCD/ABC/Test2
/opt/OV/NonOV/ABCD/ABC/Test2/test2.txt
/opt/OV/newconfig
/opt/OV/newconfig/inventory
/opt/OV/newconfig/inventory/HPOvXYZ.xml
Run Code Online (Sandbox Code Playgroud)

我不希望将此路径包含在spec文件中 /opt/OV/newconfig/inventory"因为如果多个rpm具有此公共路径,则会出现错误"与包中的文件冲突."

我已经检查过%excludes如下命令:

%files
%exclude /opt/OV/newconfig/inventory
Run Code Online (Sandbox Code Playgroud)

这个命令的问题是,它是直接排除和文件递归.rpm.spec文件路径如下所示:

/opt/OV
/opt/OV/NonOV
/opt/OV/NonOV/ABCD
/opt/OV/NonOV/ABCD/ABC
/opt/OV/NonOV/ABCD/ABC/Test1
/opt/OV/NonOV/ABCD/ABC/Test1/test1.txt
/opt/OV/NonOV/ABCD/ABC/Test2
/opt/OV/NonOV/ABCD/ABC/Test2/test2.txt
/opt/OV/newconfig
Run Code Online (Sandbox Code Playgroud)

它也排除了/opt/OV/newconfig/inventory/HPOvXYZ.xml这条道路.是否有任何命令,所以我只排除/删除目录路径.

提前致谢.

rpm rpmbuild rpm-spec

9
推荐指数
1
解决办法
7533
查看次数

构建RPM包的开发版和普通版

我有一个库,我想从中创建两个RPM包.

虽然我找到了几个关于如何创建基本RPM包的链接,但我找不到如何创建devel包(如果你想知道包是什么的话,请参阅这个问题devel).

如何生成RPM包的版本develnon-devel版本,我该怎么办?

谢谢.

linux rpm rpmbuild

8
推荐指数
2
解决办法
7285
查看次数

标签 统计

rpm ×10

rpmbuild ×10

linux ×3

rpm-spec ×2

centos ×1

fedora ×1

gnome ×1

packaging ×1

redhat ×1

specifications ×1