[opensuse-buildservice] python, buildarch, and post build checks
Using openSUSE.org:openSUSE:11.1:Update as my remote repo, I've been getting errors like this: python-setuptools: "/usr/lib64/python2.6/site-packages/setuptools/command/setopt.pyc" is not allowed in a noarch package. However, /usr/lib64/python2.6 is where the python installation is located. I see two conflicting problems here: 1. the package really is arch independant. .pyo and .pyc files are, this provides no shared libraries, etc... 2. the python install is directing the package to usr /usr/lib64 I don't want to remove the BuildArch: noarch directive, as the package really is noarch. Where *should* the package be installing so that it doesn't trigger this issue? Also, how do I turn off individual post-build checks (like the bz2 check) for local OBS instances? -- Jon -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wed, Sep 02, 2009 at 01:21:56PM -0500, Jon Nelson wrote:
Using openSUSE.org:openSUSE:11.1:Update as my remote repo, I've been getting errors like this:
python-setuptools: "/usr/lib64/python2.6/site-packages/setuptools/command/setopt.pyc" is not allowed in a noarch package.
However, /usr/lib64/python2.6 is where the python installation is located.
I see two conflicting problems here:
1. the package really is arch independant. .pyo and .pyc files are, this provides no shared libraries, etc... 2. the python install is directing the package to usr /usr/lib64
I don't want to remove the BuildArch: noarch directive, as the package really is noarch.
Where *should* the package be installing so that it doesn't trigger this issue?
Also, how do I turn off individual post-build checks (like the bz2 check) for local OBS instances?
I am having a very similar problem. https://build.opensuse.org/package/live_build_log?arch=x86_64&package=libsmbios&project=isv%3Adell%3Acommunity&repository=suse-factory-x86_64 ====== RPM build errors: File not found by glob: /usr/src/packages/BUILDROOT/libsmbios2-2.2.17-4.7.x86_64/usr/lib64/python2.6/site-packages/* System halted. ====== It looks to me like python and rpm disagree over what py_sitedir should be. I have this in my spec file: # per fedora and suse python packaging guidelines # suse: will define py_sitedir for us # fedora: use the !? code below to define when it isnt already %{!?py_sitedir: %define py_sitedir %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} And then I use "%{py_sitedir}/*" in my %files list. It looks like py_sitedir is set to one thing and python is installing the files elsewhere. -- Michael
On Wed, Sep 2, 2009 at 1:44 PM, Michael E Brown<Michael_E_Brown@dell.com> wrote:
On Wed, Sep 02, 2009 at 01:21:56PM -0500, Jon Nelson wrote:
Using openSUSE.org:openSUSE:11.1:Update as my remote repo, I've been getting errors like this:
python-setuptools: "/usr/lib64/python2.6/site-packages/setuptools/command/setopt.pyc" is not allowed in a noarch package.
However, /usr/lib64/python2.6 is where the python installation is located.
I see two conflicting problems here:
1. the package really is arch independant. .pyo and .pyc files are, this provides no shared libraries, etc... 2. the python install is directing the package to usr /usr/lib64
I don't want to remove the BuildArch: noarch directive, as the package really is noarch.
Where *should* the package be installing so that it doesn't trigger this issue?
Also, how do I turn off individual post-build checks (like the bz2 check) for local OBS instances?
I am having a very similar problem.
https://build.opensuse.org/package/live_build_log?arch=x86_64&package=libsmbios&project=isv%3Adell%3Acommunity&repository=suse-factory-x86_64 ====== RPM build errors: File not found by glob: /usr/src/packages/BUILDROOT/libsmbios2-2.2.17-4.7.x86_64/usr/lib64/python2.6/site-packages/* System halted. ======
It looks to me like python and rpm disagree over what py_sitedir should be. I have this in my spec file: # per fedora and suse python packaging guidelines # suse: will define py_sitedir for us # fedora: use the !? code below to define when it isnt already %{!?py_sitedir: %define py_sitedir %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
And then I use "%{py_sitedir}/*" in my %files list. It looks like py_sitedir is set to one thing and python is installing the files elsewhere.
I'm wondering if this isn't part of a larger problem: python .py files are arch independant. IMO, that means that they should be in noarch packages. .so python modules are *not* arch independant, and so they should end up in x86_64, i586, and so on packages. However, python (the package) is clearly arch specific (/usr/bin/python and all of the .so modules are, anyway, even if the .py, .pyo, and .pyc are not). The python *package* uses /usr/${arch} or some such. My reading of the FHS seems to suggest that python should use: /usr/lib/python/i386/ for all i386/i586 arch-specific bits and /usr/lib/python/x86_64/ for all x86_64 arch-specific bits and /usr/share/python/ for everything else (.py, .pyo, .pyc and other arch independant bits) This means 3x site-packages directories, and each package ending split up over 3 different locations within those site-packages. This seems a bit over the top, but I suspect it can be done easily by tweaking distutils.cfg (provided *by* the python package). -- Jon -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Jon Nelson wrote:
Using openSUSE.org:openSUSE:11.1:Update as my remote repo, I've been getting errors like this:
python-setuptools: "/usr/lib64/python2.6/site-packages/setuptools/command/setopt.pyc" is not allowed in a noarch package.
Wrong Mailinglist, try packaging instead and read this: http://lists.opensuse.org/opensuse-packaging/2009-08/msg00021.html http://lists.opensuse.org/opensuse-packaging/2009-08/msg00110.html Summary: python packages can't be noarch in <= 11.1 cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (3)
-
Jon Nelson
-
Ludwig Nussel
-
Michael E Brown