MinGW/Rpmlint

From FedoraProject

< MinGW
Revision as of 22:41, 8 May 2012 by Brouhaha (Talk | contribs)

Jump to: navigation, search

Contents

Common rpmlint warnings and errors

Some rpmlint warnings and errors are generated by MinGW packages. This page explains what they mean and whether they can be ignored. Also details of long-term plans to get them fixed.

In general we hope that some future version of rpmlint will be released that allows us to ignore certain warnings for MinGW packages.

See also this message posted to the rpmlint-discuss list.

Note before running rpmlint on MinGW packages, you should make sure you have the latest mingw32-filesystem package installed.

devel-file-in-non-devel-package

All MinGW packages are for development only, so when we passed the guidelines we didn't opt to have a separate -devel subpackage, since the main package would just be empty. See bug 468987.

script-without-shebang [some .la file]

We use *.la files when linking. This is explicitly allowed in the MinGW guidelines that were passed.

Longer term we would like to check whether *.la files are genuinely necessary, and whether we can remove them.

This rpmlint warning is due to the generated *.la files having executable permissions, see this comment for a detailed explanation.

spurious-executable-perm

See this comment for a detailed explanation.

arch-independent-package-contains-binary-or-object

See bug 468989.

non-standard-dir-in-usr i686-pc-mingw32

This breaks the FHS, but is permitted by the MinGW guidelines. These directories in /usr are ugly, but are commonly used by cross-compilation tools. The FHS project upstream is dead, so we can't get the directory added to the standard. It is thought to be very complex to remove the need for this directory from gcc and binutils.

file-not-in-%lang

This is a real error. You can use %find_lang with MinGW packages, although the exact usage isn't that obvious. Use it like this:

Name: mingw32-foo

%install

%find_lang foo

%files -f foo.lang

wrong-script-end-of-line-encoding

This can be a real error, or can be ignored depending on the context.

For example, it occurs with batch files (*.bat). If they are intended to be copied directly over to a Windows machine, then it is OK that the end-of-line encoding matches what Windows requires.

For ordinary text files that are meant to be read by Fedora developers, the usual Unix end-of-line encoding should be used. Apply dos2unix to those files.

config files in /usr

[XXX What's the exact rpmlint error?]

Configuration files that occur in %{_mingw32_sysconfdir} (which is /usr/...) should be marked as %config, and rpmlint is wrong to complain about them.

debuginfo-without-sources

MinGW debuginfo packages only contain the debug symbols and not the sources, so this rpmlint error is epxected, see [1].