[zypp-devel] multiarch/noarch not working with repomd repos

I'm trying to get zypper & friends working on Fedora but I have run into a little snag. For some reason, zypper can't find noarch & i686 (I'm on x86_64) packages. It seems to be parsing the metadata correctly because repomd2solv shows them and zypper can install them if I force the arch in zypp.conf. I assumed the problem is somewhere in the repomd parsing logic, as I'd imagine people would be yelling quite loudly if noarch didn't work on openSUSE. ;-) But, that just seems to parse it and pass it off to the satsolver code, and I've looked everywhere from Arch.cc to PoolImpl.cc and everything looks like it should be handling this just fine. I also wanted to check if there was a regression somewhere, but I can't use anything much older than current git because the stable openSUSE branches don't support RPM 4.9. Thanks a lot, T.C. -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org

On Monday 15 August 2011 18:13:43 T.C. Hollingsworth wrote:
For some reason, zypper can't find noarch & i686 (I'm on x86_64) packages. It seems to be parsing the metadata correctly because repomd2solv shows them and zypper can install them if I force the arch in zypp.conf.
Might be the same problem the MeeGo guys experienced a few weeks ago (using gcc-4.6). Maybe the workaround described below helps:
------
So the question is how to let gobals in Arch.cc being initialized first, how to control the initialization sequence.
We currently depend on the linker, and it might be the policy changed with 4.6, that's why it broke. I'll see how to fix his.
For now you may try this: Look into the zypp/CMakeLists.txt. You'll find the ADD_LIBRARY line. Reverse the input list of sources:
+ list( REVERSE zypp_lib_SRCS ) ADD_LIBRARY(zypp SHARED ${zypp_lib_SRCS}) ------
-- cu, Michael Andres +------------------------------------------------------------------+ Key fingerprint = 2DFA 5D73 18B1 E7EF A862 27AC 3FB8 9E3A 27C6 B0E4 +------------------------------------------------------------------+ Michael Andres SUSE LINUX Products GmbH, Development, ma@suse.de GF:Jeff Hawn,Jennifer Guild,Felix Imendörffer, HRB16746(AG Nürnberg) Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0 +------------------------------------------------------------------+ -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org

Michael Andres wrote:
On Monday 15 August 2011 18:13:43 T.C. Hollingsworth wrote:
For some reason, zypper can't find noarch& i686 (I'm on x86_64) packages. It seems to be parsing the metadata correctly because repomd2solv shows them and zypper can install them if I force the arch in zypp.conf.
Might be the same problem the MeeGo guys experienced a few weeks ago (using gcc-4.6). Maybe the workaround described below helps:
------
So the question is how to let gobals in Arch.cc being initialized first, how to control the initialization sequence.
We currently depend on the linker, and it might be the policy changed with 4.6, that's why it broke. I'll see how to fix his.
For now you may try this: Look into the zypp/CMakeLists.txt. You'll find the ADD_LIBRARY line. Reverse the input list of sources:
+ list( REVERSE zypp_lib_SRCS ) ADD_LIBRARY(zypp SHARED ${zypp_lib_SRCS}) ------
Worked great, thanks! -T.C. -- To unsubscribe, e-mail: zypp-devel+unsubscribe@opensuse.org For additional commands, e-mail: zypp-devel+help@opensuse.org
participants (2)
-
Michael Andres
-
T.C. Hollingsworth