How to get original library/package version from rpm package version?

1

I use Centos 7 and I need to know what is my version of Xdmx. rpm -qa and yum list installed return version of rpm package which, I think, is different from original Xdmx version.

$yum list installed | grep Xdmx
xorg-x11-server-Xdmx.x86_64            1.15.0-7.el7                    @base 


$rpm -qa | grep Xdmx
xorg-x11-server-Xdmx-1.15.0-7.el7.x86_64

1.15.0-7.el7 is a version of rpm package. How can I get Xdmx version from it? I read Xdmx command manual and I can't find any way to check Xdmx version.

I am not sure if i understand correctly creation of rpm package so I would like to clarify it. Xdmx is only example and I would like to now general rule. Xorg is a author of Xdmx. When Xorg's programmers write some library, they don't care on what distribution of linux it will works. Code of library is universal and can be compiled and launched on any linux distribution if there are necessary dependencies. But most of users don't want to waste time and they don't want to install library from source code, they prefer compiled packages. RPM package contains information about dependencies what allows to automatically download and install necessary dependencies for linux distribution. I don't know if there are some another differences in rpm packages intended for different linux distribution. Let's assume that Fedora and Centos released rpm packages for Xdmx 1.0. Are there any differences between Fedora and Centos Xdmx rpm package except differences in dependencies? Maybe compilation process for Fedora gives another result than compilation for Centos? Maybe linux distribution providers provide some custom changes to Xdmx library? If dependencies works properly on Centos and Fedora is it possible that Xdmx 1.0 works right on fedora and does not work properly on Centos?

Mariusz

Posted 2014-10-16T08:09:14.713

Reputation: 169

Answers

1

The exact contents of an rpm package depend entirely on the maintainers.

An rpm could contain patches, configuration files and documents that the original source did not.

To get an exact idea of what is in an RPM, you should look for the SRPM (source rpm) corresponding to the package and unpack it with rpm2cpio <rpmname.rpm> | cpio -idmv

The .spec file contains the exact instructions to build the package, references to the original source code and to all the files involved.

To understand this better, I advise www.rpm.org/max-rpm/

It is a fully detailed guide to rpm building, and it is my reference of choice to build rpms.

To answer you other questions: it is very likely that a Fedora rpm will not work in CentOS; mainly because Centos uses init.d and Fedora systemd (does not apply to most libraries).

You should stick to rpms from repositories (epel and rpmforge will give you most of what you might need) and source code installs; pick and mix of rpms downloaded through http are a bad idea, a bad policy to have and a great source of troubles.

Bruno9779

Posted 2014-10-16T08:09:14.713

Reputation: 1 225