I've found the problem that prevent to build some packages like systemimager
(same pb as jobmonarch).
The problem is that yume is unable to install a "provides". It can only install
real packages. (yum can install packages that provides something).
yum install systemd-units => works
yume install systemd-units => fails.
yum install /usr/lib/libcrypt.a => works
yume install /usr/lib/libcrypt.a => fails.
yum install "perl(MLDBM)" => works
yume install "perl(MLDBM)" => fails.
The problem is in the availability of package detection. line 303: yum info
needs a real package, not a feature.
The benefit of supporting "features" in yume is that for example, systemd-units
is included in the systemd package on rhel/fedora, but is a true package on
Mandriva and maybe SuSE. Thus requiring the feature would permit to avoid too
many different requirements. It would also be more simple as we could really
mirror the spec BuildRequires lines (thus we would be 100% sure that the
BuildRequires from the spec file and the build.cfg would truly match).
The cons is that if more than one package provides the feature, then I think
that the 1st one is chosen, which may be incorrect (example tetex and texlive
both provides latex....). Though, if the spec file is written in that was, it's
either bad or it is compatible with all packages that provides the feature.
(IMHO, not an issue)
To fix the code, I think that parsing the output of yum provides "feature"
(instead of checking the return code of yum info) by looking if the output
doesn't contain the "No Matches found" is the solution.
BTW, I've also seen an inconcistency in yume between lines 296 and 298. if arch
is not ix86 (thus 64bits), the query is firstly done on x86_64 package then on
noarch package. while if arch is ix86, then the query is firstly done on noarch
then on i386 i586 and i686.
For the moment, the easy-fix for systemimager build is to replace systemd-units
as a requirement in build.cf by systemd, but this differs from the spec, so we
must keep that in mind (just in case if in the future, the systemd-units
becomes a true package like on Mandriva).
What do you think DongInn? Is it worth changing yume so it works the same way
as yum?
--
Olivier LAHAYE
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Oscar-devel mailing list
Oscar-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oscar-devel