From Fedora Project Wiki
No edit summary
m (→‎Common rpmlint warnings and errors: Replace dead mailing list link with link to CC'd thread @ fedora-mingw list)
 
(8 intermediate revisions by 4 users not shown)
Line 8: Line 8:
released that allows us to ignore certain warnings for MinGW
released that allows us to ignore certain warnings for MinGW
packages.
packages.
See also [https://lists.fedoraproject.org/archives/list/mingw@lists.fedoraproject.org/thread/Y2YEVLLEZZJFHFFVQPGB7JOFLZVXCGOW/#Y2YEVLLEZZJFHFFVQPGB7JOFLZVXCGOW this thread]
on the fedora-mingw mailing list.
<b>Note before running rpmlint on MinGW packages, you should
make sure you have the latest <code>mingw32-filesystem</code>
package installed.</b>


== devel-file-in-non-devel-package ==
== devel-file-in-non-devel-package ==
Line 22: Line 29:
Longer term we would like to check whether <code>*.la</code> files
Longer term we would like to check whether <code>*.la</code> files
are genuinely necessary, and whether we can remove them.
are genuinely necessary, and whether we can remove them.
This rpmlint warning is due to the generated <code>*.la</code> files having executable permissions, see [https://bugzilla.redhat.com/show_bug.cgi?id=467397#c4 this comment] for a detailed explanation.


== spurious-executable-perm ==
== spurious-executable-perm ==
Line 42: Line 51:
== file-not-in-%lang ==
== file-not-in-%lang ==


We don't have a version of <code>%find_lang</code> which works
This is a real error.  You can use <code>%find_lang</code> with MinGW packages, although the exact usage isn't that obviousUse it like this:
for MinGW packages.  The installation directory of the language
 
files is in an unexpected place as far as the plain <code>%find_lang</code>
Name: mingw32-foo
is concerned.
%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 (<code>*.bat</code>).  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 ==


This needs looking into, but at the moment we just list the
MinGW debuginfo packages only contain the debug symbols and not the sources, so this rpmlint error is expected, see [http://lists.fedoraproject.org/pipermail/mingw/2012-May/005299.html].
<code>*.mo</code> files explicitly.

Latest revision as of 12:38, 8 December 2020

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 thread on the fedora-mingw mailing 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 expected, see [1].