[opensuse-packaging] some "interesting" rpmlint warnings
Hello, I found some "interesting" rpmlint warnings with my package "patch2mail" in home:cboltz. patch2mail.noarch: W: explicit-lib-dependency libxslt You must let rpm find the library dependencies by itself. Do not put unneeded explicit Requires: tags. I tested without libxslt in Requires:, but it is _not_ autodetected that it is needed. (The patch2mail script calls xsltproc.) patch2mail.noarch: W: missing-dependency-to-cron for logrotate script /etc/cron.daily/patch2mail This package installs a file in /etc/logrotate.d/ or in /etc/cron.*/ but doesn't require cron to be installed. as cron is not part of the essential packages, your package should explicitely require cron to make sure that your logrotate or cron job is executed. Hmm, what's wrong with my Requires: line? It already includes cron... Requires: bash mktemp mail grep zypper coreutils net-tools cron libxslt Should I simply ignore these warnings or are this bugs in rpmlint? BTW: Does the buildservice read the rpm changelog from patch2mail.changes or do I have to include it in the spec directly? Regards, Christian Boltz -- Hmm, wenn Du von CD aus Dein Linux-System booten kannst, dann scheint vielleicht Dein MBR gerade Urlaub zu machen ;-) [Martin Mewes in suse-linux] --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Christian Boltz napsal(a):
patch2mail.noarch: W: explicit-lib-dependency libxslt You must let rpm find the library dependencies by itself. Do not put unneeded explicit Requires: tags.
I tested without libxslt in Requires:, but it is _not_ autodetected that it is needed. (The patch2mail script calls xsltproc.)
The rpmlint check assumes that lib* packages are library packages as desscribed in http://en.opensuse.org/Packaging/Shared_Library_Packaging_Policy. The libxslt is not such a package though, as it contains both binaries and libraries (and it's therefore valid to require it explicitly). Maybe the check should only look for explicit requires matching lib*[0-9], to reduce the amount of false positives.
patch2mail.noarch: W: missing-dependency-to-cron for logrotate script /etc/cron.daily/patch2mail This package installs a file in /etc/logrotate.d/ or in /etc/cron.*/ but doesn't require cron to be installed. as cron is not part of the essential packages, your package should explicitely require cron to make sure that your logrotate or cron job is executed.
Hmm, what's wrong with my Requires: line? It already includes cron... Requires: bash mktemp mail grep zypper coreutils net-tools cron libxslt
I don't see this warning in https://build.opensuse.org/package/live_build_log?arch=i586&package=patch2mail&project=home%3Acboltz&repository=Factory , did you fix it in the meantime? Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hello, on Sonntag, 20. Juli 2008, Michal Marek wrote:
Christian Boltz napsal(a):
patch2mail.noarch: W: explicit-lib-dependency libxslt
... The rpmlint check assumes that lib* packages are library packages as desscribed in http://en.opensuse.org/Packaging/Shared_Library_Packaging_Policy. The libxslt is not such a package though, as it contains both binaries and libraries (and it's therefore valid to require it explicitly). Maybe the check should only look for explicit requires matching lib*[0-9], to reduce the amount of false positives.
Sounds like a good idea to me.
patch2mail.noarch: W: missing-dependency-to-cron for logrotate script /etc/cron.daily/patch2mail
...
Hmm, what's wrong with my Requires: line? It already includes cron... Requires: bash mktemp mail grep zypper coreutils net-tools cron libxslt
I don't see this warning in https://build.opensuse.org/package/live_build_log?arch=i586&package=p atch2mail&project=home%3Acboltz&repository=Factory , did you fix it in the meantime?
No - interestingly this message only appears in the openSUSE:11.0 build, but not in Factory. Regards, Christian Boltz -- Now I hope the best for my seven 1.44MB disks, oh yes, very old ... and I feel about 8 years younger by copying files to disks. [Thomas Porschberg in opensuse] --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Christian Boltz wrote:
on Sonntag, 20. Juli 2008, Michal Marek wrote:
Christian Boltz napsal(a):
patch2mail.noarch: W: missing-dependency-to-cron for logrotate script /etc/cron.daily/patch2mail
Hmm, what's wrong with my Requires: line? It already includes cron... Requires: bash mktemp mail grep zypper coreutils net-tools cron libxslt I don't see this warning in https://build.opensuse.org/package/live_build_log?arch=i586&package=p atch2mail&project=home%3Acboltz&repository=Factory , did you fix it in
... the meantime?
No - interestingly this message only appears in the openSUSE:11.0 build, but not in Factory.
I see. This is probably https://bugzilla.novell.com/show_bug.cgi?id=400921 , which is fixed in Factory. Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
* Christian Boltz <opensuse@cboltz.de> [2008-07-20 20:56]:
BTW: Does the buildservice read the rpm changelog from patch2mail.changes or do I have to include it in the spec directly?
Yes. You only have to add a '%changelog' line in the spec. Bernhard -- Bernhard Walle, SUSE LINUX Products GmbH, Architecture Development --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Christian Boltz escribió:
Hello,
I found some "interesting" rpmlint warnings with my package "patch2mail" in home:cboltz.
patch2mail.noarch: W: explicit-lib-dependency libxslt You must let rpm find the library dependencies by itself. Do not put unneeded explicit Requires: tags.
that's right, Require /usr/bin/xsltproc instead, the package that contains /usr/bin/xsltproc may be renamed at anytime and will break yours ! ;, I have checked out your package, there is a patch attached with some cleanups ;-)
patch2mail.noarch: W: missing-dependency-to-cron for logrotate script /etc/cron.daily/patch2mail This package installs a file in /etc/logrotate.d/ or in /etc/cron.*/ but doesn't require cron to be installed. as cron is not part of the essential packages, your package should explicitely require cron to make sure that your logrotate or cron job is executed.
Hmm, what's wrong with my Requires: line? It already includes cron... Requires: bash mktemp mail grep zypper coreutils net-tools cron libxslt
That may be a bug.. probably Dirk knows about it.. "A computer is like an Old Testament god, with a lot of rules and no mercy. " Cristian Rodríguez R. Platform/OpenSUSE - Core Services SUSE LINUX Products GmbH Research & Development http://www.opensuse.org/
* Cristian Rodríguez [2008-07-20 17:40]:
that's right, Require /usr/bin/xsltproc instead, the package that contains /usr/bin/xsltproc may be renamed at anytime
But why /usr/bin/xsltproc? The program may moved to /bin, and it still works. Bernhard -- Bernhard Walle, SUSE LINUX Products GmbH, Architecture Development --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Am Montag 21 Juli 2008 09:54:45 schrieb Bernhard Walle:
* Cristian Rodríguez [2008-07-20 17:40]:
that's right, Require /usr/bin/xsltproc instead, the package that contains /usr/bin/xsltproc may be renamed at anytime
But why /usr/bin/xsltproc? The program may moved to /bin, and it still works.
Require binaries/files is anyway not a good idea, because metadata may not contain it. So installers may not be able to resolve the dependency. -- Adrian Schroeter SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) email: adrian@suse.de --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Adrian Schröter wrote:
Require binaries/files is anyway not a good idea, because metadata may not contain it. So installers may not be able to resolve the dependency.
I could add "Provides: xsltproc" to libxslt package so other packages could require this symbol, but I do not know if this is a good idea. -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
* Pavol Rusnak [2008-07-21 10:49]:
Adrian Schröter wrote:
Require binaries/files is anyway not a good idea, because metadata may not contain it. So installers may not be able to resolve the dependency.
I could add "Provides: xsltproc" to libxslt package so other packages could require this symbol, but I do not know if this is a good idea.
The libxslt package needs to be split, and the xsltproc package needs to be in a subpackage. That subpackage should be required. That solves all problems. Bernhard -- Bernhard Walle, SUSE LINUX Products GmbH, Architecture Development --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hello, on Montag, 21. Juli 2008, Bernhard Walle wrote: ...
The libxslt package needs to be split, and the xsltproc package needs to be in a subpackage. That subpackage should be required. That solves all problems.
Well, at least for future openSUSE releases. For now I'll keep the libxslt requirement since it seems to be the method causing the least problems ;-) Regards, Christian Boltz -- Swapping horses in the middle of a river... ah no the wrong citate... changing package managers in the middle of a beta was a very bad decision, specifically as it was not read for production use when being introduced. [Ulrich Windl in opensuse] --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Am Montag 21 Juli 2008 schrieb Adrian Schröter:
Am Montag 21 Juli 2008 09:54:45 schrieb Bernhard Walle:
* Cristian Rodríguez [2008-07-20 17:40]:
that's right, Require /usr/bin/xsltproc instead, the package that contains /usr/bin/xsltproc may be renamed at anytime
But why /usr/bin/xsltproc? The program may moved to /bin, and it still works.
Require binaries/files is anyway not a good idea, because metadata may not contain it. So installers may not be able to resolve the dependency.
That's a rpmlint error if you rely on binaries not in our metadata :) Gruss, Stephan -- SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hello, on Sonntag, 20. Juli 2008, Cristian Rodríguez wrote:
Christian Boltz escribió:
patch2mail.noarch: W: explicit-lib-dependency libxslt
that's right, Require /usr/bin/xsltproc instead, the package that contains /usr/bin/xsltproc may be renamed at anytime and will break yours ! ;,
Well, the discussion sounds like this isn't the best idea. Unfortunately there's nothing that could be called "perfect solution". I'll stick with requiring libxslt for now as this seams to cause the least problems.
I have checked out your package, there is a patch attached with some cleanups ;-)
Thanks, applied (except the Requires: change) Regards, Christian Boltz -- Du bist wirklich Designfetischist, oder? IMHO merkt den Unterschied später sowieso keiner. Aber deinen Arbeitseifer zu stoppen wäre ja fatal... ;-))) [Andreas Schott zu David Haller in suse-linux-faq] --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Sunday 20 July 2008, Cristian Rodríguez wrote:
Hmm, what's wrong with my Requires: line? It already includes cron... Requires: bash mktemp mail grep zypper coreutils net-tools cron libxslt That may be a bug.. probably Dirk knows about it..
there was a bug in rpmlint from 11.0, fixed for Factory already. Greetings, Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Sunday 20 July 2008 20:56:38 you wrote:
Hello,
Hi,
patch2mail.noarch: W: missing-dependency-to-cron for logrotate
script /etc/cron.daily/patch2mail
This package installs a file in /etc/logrotate.d/ or in /etc/cron.*/
but doesn't require cron to be installed. as cron is not part of the
essential packages, your package should explicitely require cron to
make sure that your logrotate or cron job is executed.
Hmm, what's wrong with my Requires: line? It already includes cron...
Requires: bash mktemp mail grep zypper coreutils net-tools cron libxslt
I think cron should be recommended for logrotate and not required. rpmlint should suggest to use Recommend: cron -- andreas
On Wednesday 23 July 2008, Andreas Schneider wrote:
I think cron should be recommended for logrotate and not required. rpmlint should suggest to use
Recommend: cron
that depends on the usage. In any case, rpmlint accepts cron to be suggested, recommended or required. Greetings, Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Dirk Mueller wrote:
On Wednesday 23 July 2008, Andreas Schneider wrote:
I think cron should be recommended for logrotate and not required. rpmlint should suggest to use
Recommend: cron
that depends on the usage. In any case, rpmlint accepts cron to be suggested, recommended or required.
Then the check doesn't work as expected. The section in the spec files: %if 0%{?suse_version} > 1030 Recommends: cron %endif The rpmlint warning: samba-winbind.x86_64: W: missing-dependency-to-logrotate for logrotate script /etc/logrotate.d/samba-winbind samba.x86_64: W: missing-dependency-to-logrotate for logrotate script /etc/logrotate.d/samba This package installs a file in /etc/logrotate.d/ but doesn't require logrotate to be installed. Because logrotate is not part of the essential packages, your package should explicitely depend on logrotate to make sure that your logrotate job is executed. If it is an optional feature of your package, recommend or suggest logrotate.
Greetings, Dirk
-- andreas
On Thursday 24 July 2008, Andreas Schneider wrote:
Recommends: cron samba-winbind.x86_64: W: missing-dependency-to-logrotate for logrotate script /etc/logrotate.d/samba-winbind
Your check is about missing logrotate dependency. Adding cron will not help with that. Greetings, Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (9)
-
Adrian Schröter
-
Andreas Schneider
-
Bernhard Walle
-
Christian Boltz
-
Cristian Rodríguez
-
Dirk Mueller
-
Michal Marek
-
Pavol Rusnak
-
Stephan Kulow