Jul 27, 2011
*Edit:* Yes, there is fedpkg lint but it somewhat limited so read on. Instead of addition of "rpmlint" command Pingou will improve current lint
Recently I was trying to help OpenSuSE guys with some updates to their Java stack and I was sent link to their build system. I noticed a file called jpackage-utils-rpmlintrc and this got me thinking...
What if we added rpmlint command to fedpkg with per-package rpmlint ignore settings? Turns out Pingou took my idea and implemented it in under an hour :-)
An example run:
Recently I was trying to help OpenSuSE guys with some updates to their Java stack and I was sent link to their build system. I noticed a file called jpackage-utils-rpmlintrc and this got me thinking...
What if we added rpmlint command to fedpkg with per-package rpmlint ignore settings? Turns out Pingou took my idea and implemented it in under an hour :-)
An example run:
$ fedpkg rpmlint plexus-interpolation.spec: W: invalid-url Source0: plexus-interpolation-1.14.tar.xz 0 packages and 1 specfiles checked; 0 errors, 1 warnings. plexus-interpolation.spec: W: invalid-url Source0: plexus-interpolation-1.14.tar.xz plexus-interpolation.src: W: spelling-error %description -l en_US interpolator -> interpolate, interpolation, interrogator plexus-interpolation.src: W: invalid-url Source0: plexus-interpolation-1.14.tar.xz 1 packages and 1 specfiles checked; 0 errors, 3 warnings. 2 packages run rpmlint has not been run on rpm files but shouldOK, so we can run rpmlint on spec, srpm and binary rpms with single command. But I don't like to see the same warnings all the time, because that means I will probably miss real problems when they appear. For this fedpkg rpmlint uses .rpmlint file as additional rpmlint config. So after creating:
$ cat > .rpmlint << EOF # we have scm checkout with comment in spec addFilter('invalid-url') # false positive addFilter('spelling-error.*interpolator') EOF $ fedpkg rpmlint 0 packages and 1 specfiles checked; 0 errors, 0 warnings. 1 packages and 1 specfiles checked; 0 errors, 0 warnings. 2 packages run rpmlint has not been run on rpm files but shouldCool right? Pierre sent patch with this feature to fedpkg developers, so hopefully we'll see this addition soon. I then plan to add custom .rpmlint configurations to all my packages so that they will be warning-free.