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

Reply via email to