From Fedora Project Wiki
(New page: = 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...)
 
m (→‎Common rpmlint warnings and errors: Replace dead mailing list link with link to CC'd thread @ fedora-mingw list)
 
(10 intermediate revisions by 4 users not shown)
Line 4: Line 4:
This page explains what they mean and whether they can be ignored.
This page explains what they mean and whether they can be ignored.
Also details of long-term plans to get them fixed.
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 [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 ==
All MinGW packages are for development only, so when we passed
the guidelines we didn't opt to have a separate <code>-devel</code> subpackage,
since the main package would just be empty.
See [https://bugzilla.redhat.com/show_bug.cgi?id=468987 bug 468987].
== script-without-shebang [some .la file] ==
We use <code>*.la</code> files when linking.  This is [[Packaging/MinGW#Libraries_.28DLLs.29|explicitly allowed]] in the MinGW guidelines that were passed.
Longer term we would like to check whether <code>*.la</code> files
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 ==
See [https://bugzilla.redhat.com/show_bug.cgi?id=467397#c4 this comment] for a detailed explanation.
== arch-independent-package-contains-binary-or-object ==
See [https://bugzilla.redhat.com/show_bug.cgi?id=468989 bug 468989].
== non-standard-dir-in-usr i686-pc-mingw32 ==
This breaks the FHS, but is permitted by the MinGW guidelines.
These directories in <code>/usr</code> 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 <code>%find_lang</code> 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 (<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 ==
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].

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].