我最近为Debian(实际上是Ubuntu18和20(构建了一个可执行文件包。核心内容的tarball能够在Fedora 34上运行。所以现在我被要求为它创建一个RPM。
Debian文件名类似于:
mystuff-sfwrname-edu_21.05-0715.1234-u20_amd64.deb
这对应于Debian包文件名的name_版本_arch.deb语法。下划线是主要分隔符;减号其实并不重要。(u20
表示Ubuntu 20.04版本;由于libc
问题,Ubuntu 18.04也有u18
版本。(
来到RPM世界,我发现语法是:名称-版本-发布arch.rpm,其中减号和最后一个周期是显著的。然而,似乎有像openssh-clients-7.4p1-16.el7.x86_64
这样的包名称在名称中带有减号,在体系结构之前带有句点。
然后我可以把我的包裹命名为:吗
mystuff-sfwrname-edu-21.05-0715.1234.el7.x86-64.rpm
其中:
name
=mystuff-sfwrname-edu
(带多个减号(version
=21.05
release
=0715.1234.el7
arch
=x86_64
如果我认为相同的RPM在Fedora 34和CentOS 7上都有效,我会去掉el7
还是有其他我不知道的规则/实践?
简而言之,是的,你可以。
有关版本指南的详细信息https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
.el7
是disttag。通常在规范中写为:
发布:0715.1234%{?dist}
RPM本身根本不关心它。它把它当作一根简单的绳子。仅CCD_ 17<CCD_ 18。因此,从技术上讲,您可以安装从.el7
到RHEL8的软件包。但当然,有时由于不同平台上的路径不同,它不会像预期的那样工作。你必须自己测试。