[opensuse-packaging] Need help with rpmlint warnings.
Hi, in home:plater ffado (on it's way to mmlibs ffado) I've a couple of python rpmlint errors that I don't quite understand, the first looks like an upstream bug :- ffado.x86_64: W: python-naming-policy-not-applied /usr/lib/python2.6/site-packages/ffado/mixer/globalmixer.py This package doesn't respect the naming policy for python packages. Its name should match the regular expression ^python(-|$). ffado.x86_64: W: no-dependency-on python-base 2.6 This last one I can't understand because the ffado package that contains the python files has an automatic dependency on python-base listed. Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Dave,
On 6/16/2010 at 9:59, Dave Plater
wrote: Hi, in home:plater ffado (on it's way to mmlibs ffado) I've a couple of python rpmlint errors that I don't quite understand, the first looks like an upstream bug :- ffado.x86_64:W:python-naming-policy-not-applied /usr/lib/python2.6/site-packages/ffado/mixer/globalmixer.py Thispackagedoesn'trespectthenamingpolicyforpythonpackages.Its name shouldmatchtheregularexpression^python(-|$).
Policy-wise this package should be called python-ffado (not sure if it makes sense: this policy is not enforced everywhere and might lack at some cases... just because an app is written in py, should not make it's name python- IMHO. python-* is useful for package that are used as dependencies in others, but not when the package itself is an app).
ffado.x86_64:W:no-dependency-onpython-base2.6 This last one I can't understand because the ffado package that contains the python files has an automatic dependency on python-base listed. Thanks Dave P
Add a %py_requires to your preamble. Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 06/16/2010 10:09 AM, Dominique Leuenberger wrote:
On 6/16/2010 at 9:59, Dave Plater
wrote: Hi, in home:plater ffado (on it's way to mmlibs ffado) I've a couple of python rpmlint errors that I don't quite understand, the first looks like an upstream bug :- ffado.x86_64:W:python-naming-policy-not-applied /usr/lib/python2.6/site-packages/ffado/mixer/globalmixer.py Thispackagedoesn'trespectthenamingpolicyforpythonpackages.Its name shouldmatchtheregularexpression^python(-|$).
Policy-wise this package should be called python-ffado
(not sure if it makes sense: this policy is not enforced everywhere and might lack at some cases... just because an app is written in py, should not make it's name python- IMHO. python-* is useful for package that are used as dependencies in others, but not when the package itself is an app).
The weird thing is, there are a number of python files under libexec/python2.6/site-packages/ffado/ and rpmlint only picks on the one.
ffado.x86_64:W:no-dependency-onpython-base2.6 This last one I can't understand because the ffado package that contains the python files has an automatic dependency on python-base listed. Thanks Dave P
Add a %py_requires to your preamble.
Dominique
-- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 6/16/2010 at 11:31, Dave Plater
wrote: On 06/16/2010 10:09 AM, Dominique Leuenberger wrote: On 6/16/2010 at 9:59, Dave Plater
wrote: Hi, in home:plater ffado (on it's way to mmlibs ffado) I've a couple of python rpmlint errors that I don't quite understand, the first looks like an upstream bug :- ffado.x86_64:W:python-naming-policy-not-applied /usr/lib/python2.6/site-packages/ffado/mixer/globalmixer.py Thispackagedoesn'trespectthenamingpolicyforpythonpackages.Its name shouldmatchtheregularexpression^python(-|$).
Policy-wise this package should be called python-ffado
(not sure if it makes sense: this policy is not enforced everywhere and might lack at some cases... just because an app is written in py, should not make it's name python- IMHO. python-* is useful for package that are used as dependencies in others, but not when the package itself is an app).
The weird thing is, there are a number of python files under libexec/python2.6/site-packages/ffado/ and rpmlint only picks on the one.
/libexec ? Probably the lint just misses detection of stuff that should not exist anyway :) That sounds like the path settings are not properly handled anyway.... on openSUSE, %_libexec is defined as /usr/lib (on recent releases) Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 06/16/2010 11:35 AM, Dominique Leuenberger wrote:
On 6/16/2010 at 11:31, Dave Plater
wrote: On 06/16/2010 10:09 AM, Dominique Leuenberger wrote:
On 6/16/2010 at 9:59, Dave Plater
wrote: Hi, in home:plater ffado (on it's way to mmlibs ffado) I've a couple of python rpmlint errors that I don't quite understand, the first looks like an upstream bug :- ffado.x86_64:W:python-naming-policy-not-applied /usr/lib/python2.6/site-packages/ffado/mixer/globalmixer.py Thispackagedoesn'trespectthenamingpolicyforpythonpackages.Its name shouldmatchtheregularexpression^python(-|$).
Policy-wise this package should be called python-ffado
(not sure if it makes sense: this policy is not enforced everywhere and
might lack at some cases... just because an app is written in py, should not
make it's name python- IMHO. python-* is useful for package that are used as dependencies in others, but
not when the package itself is an app).
The weird thing is, there are a number of python files under libexec/python2.6/site-packages/ffado/ and rpmlint only picks on the one.
/libexec ? Probably the lint just misses detection of stuff that should not exist anyway :) That sounds like the path settings are not properly handled anyway.... on openSUSE, %_libexec is defined as /usr/lib (on recent releases)
Dominique
Sorry, I meant %_libexec, upstream have only started using /usr/lib for these packages, they used to be under /usr/share/libffado/python and some are still there. These files are needed for a mixer/configuration gui. I need to report a shared-lib-calls-exit and I want to be clear about the above warning when I report it. The devs have been very helpful about passing %optflags to scons and I'd like to keep a good relationship. The lib provides musical instrument firewire support to jack and I plan to push it into factory after 11.3 release. Regards Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 6/16/2010 at 12:29, Dave Plater
wrote: On 06/16/2010 11:35 AM, Dominique Leuenberger wrote: On 6/16/2010 at 11:31, Dave Plater
wrote: On 06/16/2010 10:09 AM, Dominique Leuenberger wrote:
> On 6/16/2010 at 9:59, Dave Plater
wrote: > > Hi, in home:plater ffado (on it's way to mmlibs ffado) I've a couple of python rpmlint errors that I don't quite understand, the first looks like an upstream bug :- ffado.x86_64:W:python-naming-policy-not-applied /usr/lib/python2.6/site-packages/ffado/mixer/globalmixer.py Thispackagedoesn'trespectthenamingpolicyforpythonpackages.Its name shouldmatchtheregularexpression^python(-|$). Policy-wise this package should be called python-ffado
(not sure if it makes sense: this policy is not enforced everywhere and
might lack at some cases... just because an app is written in py, should not
make it's name python- IMHO. python-* is useful for package that are used as dependencies in others, but
not when the package itself is an app).
The weird thing is, there are a number of python files under libexec/python2.6/site-packages/ffado/ and rpmlint only picks on the one.
/libexec ? Probably the lint just misses detection of stuff that should not exist anyway :) That sounds like the path settings are not properly handled anyway.... on openSUSE, %_libexec is defined as /usr/lib (on recent releases)
Dominique
Sorry, I meant %_libexec, upstream have only started using /usr/lib for these packages, they used to be under /usr/share/libffado/python and some are still there. These files are needed for a mixer/configuration gui. I need to report a shared-lib-calls-exit and I want to be clear about the above warning when I report it. The devs have been very helpful about passing %optflags to scons and I'd like to keep a good relationship. The lib provides musical instrument firewire support to jack and I plan to push it into factory after 11.3 release.
for python you should probably not use %{_libdir} and %{_libexecdir} but use the (more verbose and obvious) macros: %python_sitearch: /usr/lib64/python2.6/site-packages %python_sitelib: /usr/lib/python2.6/site-packages Helps you also in case we get a new python version for not having to update all the specs. As for the weirdness in reporting: I'm not entirely sure that lint would report all the files it finds: the scheme would remain the same: according to the policy, the package name should by python-ffado. Somebody like darix might shed more light when and how this is useful (in case of applications, not of "libraries") Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 06/16/2010 12:36 PM, Dominique Leuenberger wrote:
for python you should probably not use %{_libdir} and %{_libexecdir} but use the (more verbose and obvious) macros: %python_sitearch: /usr/lib64/python2.6/site-packages %python_sitelib: /usr/lib/python2.6/site-packages
Helps you also in case we get a new python version for not having to update all the specs.
As for the weirdness in reporting: I'm not entirely sure that lint would report all the files it finds: the scheme would remain the same: according to the policy, the package name should by python-ffado.
Somebody like darix might shed more light when and how this is useful (in case of applications, not of "libraries")
Dominique
On my x86_64 system I have both lib64/python2.6/site-packages and lib/python2.6/site-packages, scons install placed the packages under the %_libexecdir and not the %_libdir and %_libexec isn't used in the spec file at build time. So I leave well alone and let scons place them where it wants but if python files are arch specific, there are matching pyc files as well, then I suppose I have to go about forcing them into lib64 for x86_64. Regards Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 6/16/2010 at 13:18, Dave Plater
wrote: On 06/16/2010 12:36 PM, Dominique Leuenberger wrote: On my x86_64 system I have both lib64/python2.6/site-packages and lib/python2.6/site-packages, scons install placed the packages under the %_libexecdir and not the %_libdir and %_libexec isn't used in the spec file at build time. So I leave well alone and let scons place them where it wants but if python files are arch specific, there are matching pyc files as well, then I suppose I have to go about forcing them into lib64 for x86_64.
if you have to hack around that in such a bad way, upstream is broken. the .pyc files are not arch dependent by the way... Upstream should simply query python to get the proper path for arch dependent and arch independent locations: Location for arch independent files: python -c "import distutils.sysconfig ; print distutils.sysconfig.get_python_lib(plat_specific=0)" (this maps in the spec file to %python_sitelib) And for arch dependent files: python -c "import distutils.sysconfig ; print distutils.sysconfig.get_python_lib(plat_specific=1)" (this maps to %python_sitearch) You can't just move files around as you wish for python to find them. It has it's logic / algorithms on where to look for files. Dominique -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 06/16/2010 01:25 PM, Dominique Leuenberger wrote:
On 6/16/2010 at 13:18, Dave Plater
wrote: On 06/16/2010 12:36 PM, Dominique Leuenberger wrote: On my x86_64 system I have both lib64/python2.6/site-packages and lib/python2.6/site-packages, scons install placed the packages under the %_libexecdir and not the %_libdir and %_libexec isn't used in the spec file at build time. So I leave well alone and let scons place them where it wants but if python files are arch specific, there are matching pyc files as well, then I suppose I have to go about forcing them into lib64 for x86_64.
if you have to hack around that in such a bad way, upstream is broken. the .pyc files are not arch dependent by the way...
Upstream should simply query python to get the proper path for arch dependent and arch independent locations:
Location for arch independent files: python -c "import distutils.sysconfig ; print distutils.sysconfig.get_python_lib(plat_specific=0)" (this maps in the spec file to %python_sitelib)
And for arch dependent files: python -c "import distutils.sysconfig ; print distutils.sysconfig.get_python_lib(plat_specific=1)" (this maps to %python_sitearch)
You can't just move files around as you wish for python to find them. It has it's logic / algorithms on where to look for files.
Dominique
Which leaves me with the dilemma of what actually causes the rpmlint error, I'll post a fresh message to the list before I report it to upstream. Thanks for the %py_requires. Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 16.6.2010 12:29, Dave Plater wrote:
Sorry, I meant %_libexec, upstream have only started using /usr/lib for these packages, they used to be under /usr/share/libffado/python and some are still there. These files are needed for a mixer/configuration gui.
And are the files needed by anything else than this application? If these are only private modules, then they should stay in a private directory. OTOH if they are usable by other programs, then they perhaps should be packaged separately. IMO the warning is correct here. Michal -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 06/16/2010 01:31 PM, Michal Marek wrote:
On 16.6.2010 12:29, Dave Plater wrote:
Sorry, I meant %_libexec, upstream have only started using /usr/lib for these packages, they used to be under /usr/share/libffado/python and some are still there. These files are needed for a mixer/configuration gui.
And are the files needed by anything else than this application? If these are only private modules, then they should stay in a private directory. OTOH if they are usable by other programs, then they perhaps should be packaged separately. IMO the warning is correct here.
Michal
They are part of the qt4 mixer/configuration gui for ffado and used by the ffado-mixer binary. Thanks Dave P -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (3)
-
Dave Plater
-
Dominique Leuenberger
-
Michal Marek