Re: .spec file for multiple target distros

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

 



On Sat, Jul 29, 2006 at 07:28:13PM -0400, Jeff Johnson wrote:
> The only I objective meaning I'm aware of for %{dist} is that the
> package was built with a certain value of %{dist} defined.
> 
> This is an entirely advisory mechanism, and there is no test possible
> other than examining the build system to find that, indeed, %{dist} is
> set to some desired value.

No, the package does not examine its environment to guess the valua of
the disttag, it is given (as in the example at the beginning at this
thread) upon invocation of rpmbuild.

> There are means other than editing every bleeping *.spec file in the
> world to add %{dist} to achieve exactly the same output packages,
> with exactly the same string in the Release: field. Manually editing
> every spec file is poor engineering,

Indeed, that's why it's automated in my local environment.

> and one specfile everywhere is the wrong goal.

Well, everybody his goals, please, and mine is to share a specfile for
the two lines of distros I support. Others feel the same about
specfile maintenance, that's why at the end disttags are takeing over
the world.

> So the point of dist tags is to insure that if the rest of EVR in a
> package is identical, the trailing part of the release determines
> "newer" because %{dist} has a simple monotonically integer at the
> very end?
> 
> That's an absolutely draconian method to force "newer" by demanding
> that every other part of EVR is identical so that %{dist} is the
> sole determinant of "newer".

No, you miss it again (are you doing this on purpose???). The evr are
the same to begin with. As said this *is* the same specfile and there
is no desire to fork it for each supported distro/release combination
creating a specfile maintenance nightmare. As it stands currently
ATrpms for instance supports 11 distro/release combinations. Dag even
more (13?). Having a dozen copis of the same specfile/src.rpm only
with a manually (or web-counter ...) edited Release tag is really poor
engineering IMO.

> Another hint: Wouldn't it be nice to build fc4 packages on a fc5
> system instead of having to maintain multiple distro versioned
> chroot's? The issue for a significant number of packages that, say,
> need only -lc is usually accidental pollution from a glibc versioned
> symbol that leads to a dependency that would not be met, mirroring
> the underlying fault that there would a symbol that would not be
> present on the older system. Why not address the mapping of symbols
> directly, rather than adding a magic %{dist} marker which pretends
> to accomplish the same goal, i.e.  insuring that a package can be
> installed/upgraded.

Even if it were glibc alone, every FC release, especially between FC2
and FC5 had new and improved gcc/glibc security improvements (against
execstack, buffer overflows, double frees and so on) that require a
rebuild. Before that it would be nptl/tls and in the future new
distribution properties will modify the build results. So while
compatibility is possible, why not build in chroots and have the
package fully exploit the environment?
-- 
Axel.Thimm at ATrpms.net

Attachment: pgphGjuoC2TM3.pgp
Description: PGP signature

_______________________________________________
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