RPM支持Epoch标头,以便在版本比较不充分的情况下提供版本排序,例如2.0a3> 2.0.没有指定Epoch的包被认为具有0或-1的Epoch,这取决于一些不明确的因素.文档表明Epoch从1开始并随每个版本递增.
Epoch值是否有任何大小限制?如果我使用32位或更大的值,这会导致任何类型的溢出吗?
我有一个tar.gz我想要创建一个RPM,我目前正在处理spec文件.我似乎无法理解%files在.spec部分中包含文件的规则是什么.我tar.gz由两个python包组成,并通过一个简单调用setup.py哪个用于distutils setup()安装它们的makefile 安装.
我目前包含我的文档,但不知道如何选择其他内容:
%files
%doc README changelog
...
Run Code Online (Sandbox Code Playgroud)
另外,我的makefile man为应用程序生成一个页面; 在.spec文件中应该包含哪些/如何包含?
我在redhat上这样做.
我使用Centos 6.4和RPM.当我安装RPM时,linux会出错
Installing : XXX
Error unpacking rpm package XXX
error: unpacking of archive failed on file /lib/libasteriskssl.so;51f7eebf: cpio: Digest mismatch
Verifying : XXX
Run Code Online (Sandbox Code Playgroud)
有谁能够帮我?
我有一个错误:
%post(blabla.i386) scriptlet failed, exit status 1
Run Code Online (Sandbox Code Playgroud)
这个scriptlet在哪里?
我正在构建一些自定义rpm包,并试图将另一个项目的源包含为要构建的子模块.在我第一次运行期间,我添加了包,当我查看Github页面时,我可以看到显示链接子模块的图标,但它位于错误的位置.
我做了一些更改,将子模块放在我需要的地方(在一个/SOURCES文件夹中)但是当我提交或尝试做任何事情来更新repo时,我没有看到任何表明子模块正在加载到正确位置的东西.
使用submodule update或任何其他相关命令时,我也看不到任何更改.
我应该删除.gitmodules文件并重新开始吗?我担心会产生无法预料的后果.是否有任何命令告诉git检查.gitmodules文件并采取相应的措施?
谢谢你的帮助.
我是java/gradle安装的新手,并且能够使用此处提供的示例构建jar文件.同时也实现了Jacoco代码覆盖工具.
但遇到以下问题
我的build.gradle文件如下
plugins {
id "nebula.ospackage" version "3.2.0"
}
apply plugin: 'nebula.ospackage'
apply plugin: 'java'
apply plugin: "jacoco"
repositories {
mavenCentral()
jcenter()
}
dependencies {
testCompile 'org.testng:testng:6.8'
compile 'log4j:log4j:1.2.17'
}
sourceSets {
main {
java { srcDir 'src/main/java/' }
resources { srcDir 'src/main/resources' }
}
test {
java { srcDir 'src/test/java/' }
resources { srcDir 'src/test/resources' }
}
}
test {
// explicitly include or exclude tests
include 'src/test/java/**'
useTestNG{
useDefaultListeners = …Run Code Online (Sandbox Code Playgroud) 以内核rpm为例,它允许在系统上同时安装多个版本。规格文件中到底允许什么?
我想打包一个已经存在且具有不同安装前缀的多个版本的项目。
我试图s3cmd通过使用命令在我的CentOS 6.x上安装rpm,yum install s3cmd但我得到以下错误输出:
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: centos.mirror.net.in
* extras: centos.mirror.net.in
* updates: centos.mirror.net.in
No package s3cmd available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)
有人可以提供我手动下载s3cmdrpm的URL 或任何其他解决方案吗?
寻找有人只是在%install放置文件时澄清宏.我创建了一个没有错误的RPM,它应该只从buildroot中获取文件,然后将它们转换为/ usr/lib.我在%安装的SPEC文件中有以下内容,并基于这篇文章.我虽然这足以让rpm将文件从buildroot复制到/ usr/lib位置.
这是我尝试过的,它构建:
%install
mkdir -p %{buildroot}/usr/lib
install -d %{buildroot}/usr/lib/
Run Code Online (Sandbox Code Playgroud)
重新思考,我想,好吧让我们告诉我想要复制文件的rpm.所以我试过这个:
%install
mkdir -p %{buildroot}/usr/lib
cp %{buildroot}/usr/lib/ /usr/lib/
Run Code Online (Sandbox Code Playgroud)
好吧,抱怨/ usr/lib/location不能被用户写入我在构建机器上创建rpm.我的印象是,%installspec文件的那一部分应该是在目标服务器上安装rpm时应该将文件复制到的位置的说明.我不希望它查看rpm构建服务器的本地文件系统.我虽然落后于此,但是应该构建RPM,但是如果我尝试将rpm安装为非特权用户,则在rpm安装之前不应该失败.在构建期间它不应该在意.我只是尝试将一些lib文件cp /解压缩到我安装rpm的服务器上的/ usr/lib.
我的假设是,rpm将在我正在安装rpm的服务器上创建BUILDROOT位置,然后将内容从buildroot位置cp到所提到的目标位置.