Cross-building RHEL and SLES rpm's from Ubuntu?
Panu Matilainen
pmatilai at laiskiainen.org
Wed Mar 14 10:06:06 UTC 2012
On 03/02/2012 12:10 AM, Dan Stromberg wrote:
> Is it practical to build rpms for RHEL 6.0 and SLES 11 SP1, by building one
> or two older versions of rpmbuild on Ubuntu 11.04?
Whether it's possible depends on the package, but practical it is
probably not even if possible.
>
> RHEL appears to use rpm-build-4.8.0-12.
>
> SLES appears to use rpm-build-4.4.2.3-37.16.37.
>
> Are they both on the same side of the main rpm fork?
> http://en.wikipedia.org/wiki/RPM_Package_Manager#Forks
>
> Do these distributions include any patches in their respective rpm-build
> SRPM's that might complicate matters?
Both are from rpm.org origin, but include largish number of patches that
can and do affect compatibility in some cases.
> Can we reasonably hope that we can grab
> http://rpm.org/wiki/Releases/4.4.2.3 (since
> it's the older of the two), build it once on Ubuntu 11.04, and then build
> compatible rpm's for both RHEL and SLES?
All rpm >= 4.x versions in the upstream default configuration produce
packages that are compatible with any rpm >= 4.x version, as long as
feature set used by the build and the package is limited to the lowest
common denominator. Distros can and do however enable features in their
default configuration that cause incompatibilities especially to older
rpm versions. The other other, at least as big issue is that package
"cross-built" on another distro (be it Ubuntu or something else) often
end up depending on libraries and their versions that are not available
on the target distro. At that point it doesn't matter whether the
package format is compatible from rpm POV, the package wont be
installable and/or runnable anyway.
Generally it's best (and easiest, really) to build packages on the
targeted distro. You might want to look at Suse's Open Build Service
(http://openbuildservice.org/) for this.
- Panu -
More information about the Rpm-list
mailing list