Re: Building RPMs for different distributions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



alex@xxxxxxxxxxxxxxx (Aleksandar Milivojevic) writes:

> Quoting "Wichmann, Mats D" <mats.d.wichmann@xxxxxxxxx>:
> 
> > Anyway, the idea of LSB is to build distro-independent rpms,
> > which means we don't want anything which identifies a
> > target distro - if it needs that, it's by definition not
> > distro-independent.
> 
> Distribution independent RPMs are a noble goal.  However, reality
> check is in order here.
> 
> When I write "distribution" in this email, I mean specific version of
> specific distribution.  I don't mean "latest available version".

Yes and there _ARE_ a lot of legacy users out there. This will not change.

> The thing is, there is no such thing as 100% distribution independent
> RPM.  Good luck attempting to install any non-trivial RPM built for
> Fedora Core 4 on Red Hat 7.3.  Distributions evelove, in non-backward
> compatible ways.  If nothing else, the versions of libraries change,
> the kernels change.
> 
> Sometimes it is possible to build on older distribution (for example,
> it might be possible to install most/some Red Hat 7.3 RPMs on Fedora
> Core, provided compatibility libraries are available).  Sometimes it
> isn't (for example, packages that specifically depend on 2.4 or 2.6
> kernels).  Even when possible, it results in suboptimal packages that
> require obsoleted libraries in newer distributions.

Agreed this is a real PITA. I've been building postfix rpms for rh6.2
until RHEL4 with FC support.  My rpms may not be built in a 100%
standard way but evolved providing support for a large variety of
custom options.  Making this work on the different distributions is
next to impossible although it _IS_ pretty much possible to build the
correct RPM for the target distribution ON the target distribution
(using rpm --rebuild or equivalent). Of course if we do this we really
NEED to have the binary rpm identify for which distribution it's
built. This is irrelevant for the .src.rpm, although it's difficult to
get the rebuilt .src.rpm to have a distribution INDEPENDENT name. (I
rename by hand to give a package-release-version.src.rpm..)

> So, instead of attempting to do something impossible, why not
> concentrate on something realistically possible.  Building RPMs that
> can be installed on defined group of distributions.  An example would
> be Fedora Core 3 and Red Hat Enterprise Linux 4 (and other non-Red Hat
> distributions released in same timeframe).  That is where I see the
> value of LSB.  But then, we need something to identify the group.  The
> simplest thing is to have distribution identifier and apply some
> common sense to it.  If RPM package says "built on fc3", it's OK to
> install on fc4, rhel4, compatible version of mandrake and others
> (hooray LSB), but obviously not on rhl73.  If it says "built on
> rhl73", I guess installing it on rhl8 and rhel3 should be still OK, it
> might work on newer ones like rhel4 too (with obsoleted compatibility
> libraries), but the user should be aware it is suboptimal solution and
> the package should be rebuilt if possible.

IMO the best solution is a "portable" src.rpm which can be built on
the target distribution to provide the correct binary rpm.  Those of
us who do this provide one .src.rpm and as many distribution specific
binary rpms as we are able to build.  The end-user can always rebuild
himself if we haven't built for his distribution.

Regards,

Simon

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux