标签: rpm

为什么RPM比MeeGo的DEB好?

我知道在关于Moblin和Maemo合并的各种论坛和新闻组中,关于这个主题有很多模糊.我想知道stackoverflow-fellows对此的看法.RPM包装比DEB有什么好处,使其成为MeeGo的更好选择?

debian packaging rpm deb meego

8
推荐指数
3
解决办法
3820
查看次数

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

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

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

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

谢谢.

linux rpm rpmbuild

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

是否有任何语法或技巧可以创建多行rpm规范文件宏

背景。

$ rpmbuild-版本
RPM版本4.3.3

我正在处理一个规范文件,该文件需要处理多个scriptlet中的文件列表。DRY(不重复自己)让我一次将列表定义为一个宏,并将其扩展为各种帮助程序脚本。维护列表很麻烦,因为我没有找到避免将所有文件放在同一行的方法。

%定义列表\
一种 \
b 

给出一个错误

%定义列表a \
b \

也给出一个错误

%定义列表a
%定义列表%列表b

由于递归错误而失败

macros packaging rpm rpmbuild rpm-spec

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

如何捆绑Linux应用程序

我正在编写一个(闭源)应用程序,并将为所有三个主要平台(MacOS X,Linux和Windows)提供二进制文件.它在LGPL许可下使用Qt,因此我需要动态链接Qt库.我理解如何通过简单地为应用程序提供Qt动态库来捆绑MacOS和Windows的应用程序,但我不确定如何正确地为Linux做这件事.

将应用程序作为包(.deb和.rpm)提供并允许包系统解析依赖关系是很传统的.应该用这种方法吗?如果是这样,我应该针对哪些发行版(我假设是Ubuntu和Fedora)?如果有人对此有任何经验,我会有兴趣听到它.

linux installation qt rpm deb

8
推荐指数
1
解决办法
2228
查看次数

检查bash脚本中是否存在rpm静默

我正在尝试使用if语句快速检查是否在bash脚本中安装了rpm.但我想默默地做.目前,当我运行脚本并且rpm确实存在时,它将rpm的输出输出到我不想要的屏幕.

if rpm -qa | grep glib; then
    do something
fi
Run Code Online (Sandbox Code Playgroud)

也许有一个我失踪的rpm选项?或者如果我只是需要改变我的陈述?

谢谢

bash rpm

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

如何在不安装RPM的情况下"重新打包"RPM文件,例如cpio2rpm?

  1. 我能够从RPM文件中提取文件,但是如何"重建"它,例如cpio2rpm?
  2. 我使用以下命令解压缩了RPM文件.rpm2cpio theFileName.rpm | cpio -idmv
  3. 我必须修改一些Web应用程序文件,如*.php,*.html或.js.这些文件不需要任何源重新编译.因此,我想在不重建rpm的情况下更改或更改这些文件.因为,我需要为Redhat Linux和SUSE等多个平台以及32位和64位操作系统等多种架构执行此操作.
  4. 我希望只在系统上进行这些更改,而不需要重建rpm,并且不会有目标系统架构依赖(如i386,64).
  5. 我看起来不像命令rpmbuild -rebuild the.src.rpm,因为我没有源代码.我需要重建二进制.RPM文件(不是源.rpm)
  6. 我希望在没有源和平台或架构独立的情况下这样做,如果可能的话不使用spec文件.

    任何好友,请你建议任何解决方案或任何免费工具.

    感谢所有花时间阅读和回复我的线程的人.

linux rebuild rpm

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

在RPM spec文件中使用Jenkins BUILD NUMBER

Name:                   My Software
Version:                1.0.5
Release:                1
Summary:                This is my software
Run Code Online (Sandbox Code Playgroud)

不确定是否有人之前尝试过此操作或是否容易,但是:

spec文件的版本有两个唯一的指标:

  • 版本(指定软件版本)
  • 释放(指定包的编号 - 如果您构建一个RPM,它已经破坏,并构建另一个,您可以使用'Release'编号.

我想知道是否有人尝试或知道如何使用Jenkins $ BUILD_NUMBER变量来动态更改Release数字,从而Release每次新的成功构建完成时都会增加数量......?

linux rpm rpmbuild rpm-spec jenkins

8
推荐指数
1
解决办法
9962
查看次数

构建环境隔离和文件系统差异

好的,所以在试图追踪第n次各种软件的依赖关系并复制各种人为所有不同的linux发行版做的工作后,我想知道是否有更好的方法来捆绑各种软件到.rpm或.deb文件中以便于分发.

我目前为此做的设置是各种工具的frankenstein怪物,但主要是Vagrant和libguestfs,它们是在Fedora中运行的源代码构建的,因为没有任何发行版实际发布它virt-diff.以下是我目前遵循的步骤:

  1. 使用Vagrant框或通过Live CD创建一个OS来启动基本操作系统.
  2. 导出.vmdk并调用它base-image.
  3. 旋转上一张图像的精确副本并前往城镇:使用包管理器或其他方法下载,编译和安装我需要的所有部分.再一次,导出.vmdk并调用它non-base-image.
  4. 使两个基本映像可用于具有libguestfs的Fedora来宾操作系统.
  5. 使用virt-diff差异比较两个图像和转储数据文件调用diff.
  6. 运行几个ruby脚本按摩diff到另一种格式,其中包含我需要的信息,没有任何废话,我不喜欢的东西/var.
  7. 运行另一个脚本以guestfish使用一堆copy-out命令生成脚本.
  8. 运行guestfish脚本.
  9. 运行另一个脚本以重新生成符号链接,diff因为guestfish无法执行此操作.
  10. 将生成的文件夹结构转换为.deb或.rpm文件并发送.

我想知道是否有更好的方法来做到这一点.你认为会有,但我还没弄清楚.

linux debian build rpm isolation

8
推荐指数
1
解决办法
657
查看次数

cpack生成具有与RPM规范冲突的%文件条目的RPM.怎么修?

最近,我需要确保我们的软件可以使用cpackRHEL 7及其免费重建(例如CentOS 7)进行打包.尽管如此,我一直遇到RHEL 6.x及其免费重建所不存在的问题:cpack生成的RPM 都在其%files部分系统目录条目中具有如下内容:

%dir %attr(0755, root, root) "/"
%dir %attr(0755, root, root) "/usr"
%dir %attr(0755, root, root) "/usr/bin"
%dir %attr(0755, root, root) "/usr/share"
%dir %attr(0755, root, root) "/usr/share/applications"
%dir %attr(0755, root, root) "/usr/share/doc"
%dir %attr(0755, root, root) "/usr/share/icons"
%dir %attr(0755, root, root) "/usr/share/icons/hicolor"
%dir %attr(0755, root, root) "/usr/share/icons/hicolor/scalable"
%dir %attr(0755, root, root) "/usr/share/icons/hicolor/scalable/apps"enter code here
Run Code Online (Sandbox Code Playgroud)

不应该由包声明.

AFAIK,这个要求多年来一直在RPM规范中,但仅在RPM的最新版本(即比4.8.0更新)中强制实施.由于RHEL 7与RPM 4.11.1捆绑在一起,因此在下列期间cpack生成的内容filesystem-3.2-18.el7.x86_64与下面的错误冲突yum install ...:

file / from install of …
Run Code Online (Sandbox Code Playgroud)

rpm cmake cpack

8
推荐指数
1
解决办法
3224
查看次数

让rpm-maven-plugin在MAC OS上工作(小牛队)

我使用rpm-maven-plugin来生成安装包.这在UBUNTU上运行正常但是当我在mac os上运行时,我遇到了以下错误.有没有办法让它在mac os上运行?

<groupId>org.codehaus.mojo</groupId>
    <artifactId>rpm-maven-plugin</artifactId>
        <executions>
            <execution>
                <phase>prepare-package</phase>
                <goals>
                    <goal>rpm</goal>
                </goals>
            </execution>
        </executions>

[WARNING] /bin/sh: rpm: command not found
[ERROR] Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.0.1:rpm (default) on project mongodb: RPM query for default vendor returned: '127' executing '/bin/sh -c rpm -E '%{_host_vendor}'' -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

java rpm maven

8
推荐指数
1
解决办法
2989
查看次数

标签 统计

rpm ×10

linux ×5

rpmbuild ×3

deb ×2

debian ×2

packaging ×2

rpm-spec ×2

bash ×1

build ×1

cmake ×1

cpack ×1

installation ×1

isolation ×1

java ×1

jenkins ×1

macros ×1

maven ×1

meego ×1

qt ×1

rebuild ×1