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

New /etc/rpm/platform file used to determine arch & os



It's time to get rpm out of the arch/os detection business.

What that means is that the current mechanism, calling uname(2),
and using the un.machine and un.sysname fields to determine
the arch and os of the machine on which rpm is run is breaking
badly in many, many ways.

So, instead, I'm gonna parse a platform string out of an /etc/rpm/platform
file. The first line w/o a '#' comment is the platform string, and the
string is broken down into cpu, vendor, os, and gnu components
in all the usual ways.

For example, here's what I have ATM in /etc/rpm/platform:
	i686-redhat-linux-gnu
	i386-[^-]*-linux-.*
	noarch-[^-]*-.*
	[^-]*-noos-.*

Additional lines in /etc/rpm/platform will be treated as regex(3) patterns,
that will be applied against a platform string synthesized from the existing
arch and os tags in a package.

Machine scoring will be provided by application of patterns against a
platform string, the index of the 1st pattern that matches determines
the machine score, where the lowest number is the preferred match.

*Very* reluctantly, I will add support for vendor, just like arch/os.

Backward compatibility with existing rpm behavior is provided in the
interim by
	rm /etc/rpm/platform
and the Good Old uname(2) mechanism will be used.

What that also means is that all the current rpmrc configuration
is gonna go away. R.I.P.

The remaining uses of rpmrc are

	1) specifying the macrofiles: path

	2) separate build and install arch/os compatibility chains

	3) determining optflags automagically

which will be handled differently, dunno yet.

Here's what you've been asking for Tim :-)

73 de Jeff

-- 
Jeff Johnson	ARS N3NPQ
jbj@redhat.com (jbj@jbj.org)
Chapel Hill, NC





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