FBA

RPMLint Problem Descriptions


Problem Name (350) Description
%ifarch-applied-patch A patch is applied inside an %ifarch block. Patches must be applied
on all architectures and may contain necessary configure and/or code
patch to be effective only on a given arch.
apache2-naming-policy-not-applied This package doesn't respect the naming policy for apache2 packages.
Its name should begin with apache2-mod_.
arch-dependent-file-in-usr-share This package installs an ELF binary in the /usr/share
hierarchy, which is reserved for architecture-independent files.
arch-independent-package-contains-binary-or-object The package contains a binary or object file but is tagged
noarch.
backup-file-in-package You have a file whose name looks like one for backup files, usually created
by an editor or resulting from applying unclean (fuzzy, or ones with line
offsets) patches.
bad-crc-in-zip The reported file in the zip fails the CRC check. Usually this is a
sign of a corrupt zip file.
binary-in-etc This package installs an ELF binary in /etc. Both the
FHS and the FSSTND forbid this.
binary-or-shlib-defines-rpath The binary or shared library defines `RPATH'. Usually this is a
bad thing because it hardcodes the path to search libraries and so
makes it difficult to move libraries around. Most likely you will find a
Makefile with a line like: gcc test.o -o test -Wl,--rpath. Also, sometimes
configure scripts provide a --disable-rpath flag to avoid this.
binaryinfo-readelf-failed Executing readelf on this file failed, all checks could not be run.
binaryinfo-tail-failed Reading trailing bytes of this file failed, all checks could not be run.
broken-syntax-in-scriptlet-requires Comma separated context marked dependencies are silently broken in some
versions of rpm. One way to work around it is to split them into several ones,
eg. replace "Requires(post,preun): foo" with "Requires(post): foo" and
"Requires(preun): foo".
buildarch-instead-of-exclusivearch-tag Use ExclusiveArch instead of BuildArch (or BuildArchitectures)
to restrict build on some specific architectures.
Only use BuildArch with noarch
buildprereq-use The use of BuildPreReq is deprecated, build dependencies are always required
before a package can be built. Use plain BuildRequires instead.
changelog-time-in-future The timestamp of the latest entry in %changelog is in the future.
changelog-time-overflow The timestamp of the latest entry in %changelog is suspiciously far away in
the past; it is possible that it is actually so much in the future that it
has overflowed rpm's timestamp representation.
class-path-in-manifest The META-INF/MANIFEST.MF file in the jar contains a hardcoded Class-Path.
These entries do not work with older Java versions and even if they do work,
they are inflexible and usually cause nasty surprises.
comparison-operator-in-deptoken This dependency token contains a comparison operator (<, > or =). This is
usually not intended and may be caused by missing whitespace between the token's
name, the comparison operator and the version string.
compressed-symlink-with-wrong-ext The symlink points to a compressed file but doesn't use the same
extension.
conffile-without-noreplace-flag A configuration file is stored in your package without the noreplace flag.
A way to resolve this is to put the following in your SPEC file:

%config(noreplace) /etc/your_config_file_here
configure-without-libdir-spec A configure script is run without specifying the libdir. configure
options must be augmented with something like --libdir=%{_libdir} whenever
the script supports it.
cross-directory-hard-link File is hard linked across directories. This can cause problems in
installations where the directories are located on different devices.
dangling-relative-symlink The target of the symbolic link does not exist within this package or its
file based dependencies. Verify spelling of the link target and that the
target is included in a package in this package's dependency chain.
dangling-symlink The target of the symbolic link does not exist within this package or its
file based dependencies. Verify spelling of the link target and that the
target is included in a package in this package's dependency chain.
debuginfo-without-sources This debuginfo package appears to contain debug symbols but no source files.
This is often a sign of binaries being unexpectedly stripped too early during
the build, or being compiled without compiler debug flags (which again often
is a sign of distro's default compiler flags ignored which might have security
consequences), or other compiler flags which result in rpmbuild's debuginfo
extraction not working as expected. Verify that the binaries are not
unexpectedly stripped and that the intended compiler flags are used.
deprecated-grep Direct use of grep as egrep or fgrep is deprecated in GNU grep and
historical in POSIX, use grep -E and grep -F instead.
depscript-without-disabling-depgen In some common rpm configurations/versions, defining __find_provides and/or
__find_requires has no effect if rpm's internal dependency generator has not
been disabled for the build. %define _use_internal_dependency_generator to 0
to disable it in the specfile, or don't define __find_provides/requires.
description-line-too-long Your description lines must not exceed 79 characters. If a line is exceeding
this number, cut it to fit in two lines.
devel-dependency Your package has a dependency on a devel package but it's not a devel
package itself.
devel-file-in-non-devel-package A development file (usually source code) is located in a non-devel
package. If you want to include source code in your package, be sure to
create a development package.
dir-or-file-in-home A file in the package is located in /home. It's not permitted
for packages to install files in this directory.
dir-or-file-in-mnt A file in the package is located in /mnt. It's not permitted
for packages to install files in this directory.
dir-or-file-in-opt A file in the package is located in /opt. It's not permitted
for packages to install files in this directory.
dir-or-file-in-tmp A file in the package is located in /tmp. It's not permitted
for packages to install files in this directory.
dir-or-file-in-usr-local A file in the package is located in /usr/local. It's not permitted
for packages to install files in this directory.
dir-or-file-in-var-local A file in the package is located in /var/local. It's not permitted
for packages to install files in this directory.
doc-file-dependency An included file marked as %doc creates a possible additional dependency in
the package. Usually, this is not wanted and may be caused by eg. example
scripts with executable bits set included in the package's documentation.
double-slash-in-path This pkg-config file contains a path with double slash ('//') in it. This
will break debugedit when stripping debug symbols during package building if
these paths has been passed to gcc, and fail with the following error:
"canonicalization unexpectedly shrank by one character"
duplicate-executable This executable file exists in more than one standard binary directories.
It can cause problems when dirs in $PATH are reordered.
empty-debuginfo-package This debuginfo package contains no files. This is often a sign of binaries
being unexpectedly stripped too early during the build, rpmbuild not being able
to strip the binaries, the package actually being a noarch one but erratically
packaged as arch dependent, or something else. Verify what the case is, and
if there's no way to produce useful debuginfo out of it, disable creation of
the debuginfo package.
enchant-dictionary-not-found A dictionary for the Enchant spell checking library is not available for
the language given in the info message. Spell checking will proceed with
rpmlint's built-in implementation for localized tags in this language.
For better spell checking results in this language, install the appropriate
dictionary that Enchant will use for this language, often for example
hunspell-* or aspell-*.
executable-crontab-file This crontab file has executable bit set, which is refused by newer version
of cron
executable-in-library-package The package mixes up libraries and executables. Mixing up these
both types of files makes upgrades quite impossible.
executable-marked-as-config-file Executables must not be marked as config files because that may
prevent upgrades from working correctly. If you need to be able to
customize an executable, make it for example read a config file in
/etc/sysconfig.
executable-sourced-script This text file has executable bit set, but is meant to be sourced, not
executed.
executable-stack The binary declares the stack as executable. Executable stack is usually an
error as it is only needed if the code contains GCC trampolines or similar
constructs which uses code on the stack. One common source for needlessly
executable stack cases are object files built from assembler files which
don't define a proper .note.GNU-stack section.
explicit-lib-dependency You must let rpm find the library dependencies by itself. Do not put unneeded
explicit Requires: tags.
external-depfilter-with-internal-depgen If the internal dependency generator is enabled, the variables for use with
the external dependency generator cannot be used.
file-in-meta-package This package seems to be a meta-package (an empty package used to require
other packages), but it is not empty. You should remove or rename it, see the
option MetaPackageRegexp.
file-md5-mismatch The MD5 hash of the file in the package does not match the MD5 hash
indicated by peeking at its URL. Verify that the file in the package has the
intended contents.
file-not-utf8 The character encoding of this file is not UTF-8. Consider converting it
in the specfile's %prep section for example using iconv(1).
file-size-mismatch The size of the file in the package does not match the size indicated by
peeking at its URL. Verify that the file in the package has the intended
contents.
filename-not-utf8 The character encoding of the name of this file is not UTF-8.
Rename it.
filename-too-long-for-joliet This filename is too long to fit on a joliet filesystem (limit is 64 unicode
chars).
files-attr-not-set A file or a directory entry in a %files section does not have attributes
set which may result in unexpected file permissions and thus security issues
in the resulting binary package depending on the build environment and rpmbuild
version (typically < 4.4). Add default attributes using %defattr before it in
the %files section, or use per entry %attr's.
forbidden-selinux-command-in-%post A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%posttrans A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%postun A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%pre A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%pretrans A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%preun A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%trigger A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%triggerin A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%triggerpostun A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%triggerprein A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%triggerun A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
forbidden-selinux-command-in-%verifyscript A command which requires intimate knowledge about a specific SELinux
policy type was found in the scriptlet. These types are subject to change
on a policy version upgrade. Use the restorecon command which queries the
currently loaded policy for the correct type instead.
fortune-naming-policy-not-applied This package doesn't respect the naming policy for fortune packages.
Its name should match the regular expression ^fortune(-|$).
FSSTND-dir-in-var Your package is creating an illegal directory in /var. The FSSTND (illegal)
ones are:
adm, catman, local, named, nis, preserve.
hardcoded-library-path A library path is hardcoded to one of the following paths: /lib,
/usr/lib. It should be replaced by something like /%{_lib} or %{_libdir}.
hardcoded-packager-tag The Packager tag is hardcoded in your spec file. It should be removed, so
as to use rebuilder's own defaults.
hardcoded-path-in-buildroot-tag A path is hardcoded in your Buildroot tag. It should be replaced
by something like %{_tmppath}/%name-root.
hardcoded-path-in-menu-icon The path of the icon is hardcoded in the menu entry. This prevent multiple
sizes of the icon from being found.
hardcoded-prefix-tag The Prefix tag is hardcoded in your spec file. It should be removed, so as
to allow package relocation.
hidden-file-or-dir The file or directory is hidden. You should see if this is normal,
and delete it from the package if not.
htaccess-file You have individual apache configuration .htaccess file(s) in your package.
Replace them by a central configuration file in /etc/, according to the web
application packaging policy for your distribution.
incoherent-init-script-name The init script name should be the same as the package name in lower case,
or one with 'd' appended if it invokes a process by that name.
incoherent-logrotate-file Your logrotate file should be named /etc/logrotate.d/<package name>.
incoherent-package-value-in-menu The package field of the menu entry isn't the same as the package name.
incoherent-subsys The filename of your lock file in /var/lock/subsys/ is incoherent
with your actual init script name. For example, if your script name
is httpd, you have to use 'httpd' as the filename in your subsys directory.
It is also possible that rpmlint gets this wrong, especially if the init
script contains nontrivial shell variables and/or assignments. These
cases usually manifest themselves when rpmlint reports that the subsys name
starts a with '$'; in these cases a warning instead of an error is reported
and you should check the script manually.
incoherent-version-in-changelog The latest entry in %changelog contains a version identifier that is not
coherent with the epoch:version-release tuple of the package.
incoherent-version-in-name The package name should contain the major version of the library.
incorrect-fsf-address The Free Software Foundation address in this file seems to be outdated or
misspelled. Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.
info-dir-file You have /usr/info/dir or /usr/share/info/dir in your package. It will cause
conflicts with other packages and thus is not allowed. Please remove it and
rebuild your package.
info-files-with-install-info-postin While this package contains info files and provides a %post scriptlet
containing a call to install-info, this is no longer required due to file
trigger replacement.
info-files-with-install-info-postun While this package contains info files and provides a %postun scriptlet
containing a call to install-info, this is no longer required due to file
trigger replacement.
info-files-without-install-info-postin This package contains info files and provides no %post scriptlet containing
a call to install-info.
info-files-without-install-info-postun This package contains info files and provides no %postun scriptlet containing
a call to install-info.
infopage-not-compressed This info page is not compressed with the bz2 compression method
(does not have the bz2 extension). If the compression does not happen
automatically when the package is rebuilt, make sure that you have the
appropriate rpm helper and/or config packages for your target distribution
installed and try rebuilding again; if it still does not happen automatically,
you can compress this file in the %install section of the spec file.
init-script-name-with-dot The init script name should not contain a dot in its name. Some versions
of chkconfig don't work as expected with init script names like that.
init-script-non-executable The init script should have at least the execution bit set for root
in order for it to run at boot time.
init-script-without-chkconfig-postin The package contains an init script but doesn't contain a %post with
a call to chkconfig.
init-script-without-chkconfig-preun The package contains an init script but doesn't contain a %preun with
a call to chkconfig.
install-file-in-docs A file whose name suggests that it contains installation instructions is
included in the package. Such instructions are often not relevant for already
installed packages; if this is the case for this file and it does not contain
any information that is of interest after the package has been built and
installed, do not include the file in the binary package.
invalid-build-requires Your source package contains a dependency not compliant with the lib64
naming. This BuildRequires dependency will not be resolved on lib64 platforms
(eg. amd64).
invalid-dependency An invalid dependency has been detected. It usually means that the build of
the package was buggy.
invalid-desktopfile .desktop file is not valid, check with desktop-file-validate
invalid-directory-reference This file contains a reference to /tmp or /home.
invalid-distribution The distribution value should be "".
invalid-ldconfig-symlink The symbolic link references the wrong file. It should reference
the shared library.
invalid-license The value of the License tag was not recognized.
invalid-menu-section The section field of the menu entry isn't standard.
invalid-packager The packager email must end with an email compatible with the Packager
option of rpmlint. Please change it and rebuild your package.
invalid-soname The soname of the library is neither of the form lib<libname>.so.<major> or
lib<libname>-<major>.so.
invalid-spec-name Your spec filename must end with '.spec'. If it's not the case, rename your
file and rebuild your package.
invalid-title The menu title contains invalid characters like /.
invalid-url The value should be a valid, public HTTP, HTTPS, or FTP URL.
invalid-vendor In the "" distribution, vendor should be "".
invalid-version The version string must not contain the pre, alpha, beta or rc suffixes
because when the final version will be out, you will have to use an Epoch tag
to make the package upgradable. Instead put it in the release tag, prefixed
with something you have control over.
jar-indexed The jar file is indexed, ie. it contains the META-INF/INDEX.LIST file.
These files are known to cause problems with some older Java versions.
jar-not-indexed The jar file is not indexed, ie. it does not contain the META-INF/INDEX.LIST
file. Indexed jars speed up the class searching process of classloaders
in some situations.
large-icon-not-in-package The large icon isn't present in the package.
ldd-failed Executing ldd on this file failed, all checks could not be run.
legacy-mandriva-filetriggers This package provides legacy Mandriva file triggers. These triggers should
now be replaced by native rpm file triggers.
lib-package-without-%mklibname The package name must be built using %mklibname to allow lib64 and lib32
coexistence.
libdir-macro-in-noarch-package The %{_libdir} or %{_lib} macro was found in a noarch package in a section
that gets included in binary packages. This is most likely an error because
these macros are expanded on the build host and their values vary between
architectures, probably resulting in a package that does not work properly
on all architectures at runtime. Investigate whether the package is really
architecture independent or if some other dir/macro should be instead.
library-without-ldconfig-postin This package contains a library and provides no %post scriptlet containing
a call to ldconfig.
library-without-ldconfig-postun This package contains a library and provides no %postun scriptlet containing
a call to ldconfig.
log-files-without-logrotate This package contains files in /var/log/ without adding logrotate
configuration for them.
macro-in-%changelog Macros are expanded in %changelog too, which can in unfortunate cases lead
to the package not building at all, or other subtle unexpected conditions that
affect the build. Even when that doesn't happen, the expansion results in
possibly "rewriting history" on subsequent package revisions and generally
odd entries eg. in source rpms, which is rarely wanted. Avoid use of macros
in %changelog altogether, or use two '%'s to escape them, like '%%foo'.
macro-in-comment There is a unescaped macro after a shell style comment in the specfile.
Macros are expanded everywhere, so check if it can cause a problem in this
case and escape the macro with another leading % if appropriate.
make-check-outside-check-section Make check or other automated regression test should be run in %check, as
they can be disabled with a rpm macro for short circuiting purposes.
manifest-in-perl-module This perl module package contains a MANIFEST or a MANIFEST.SKIP file
in the documentation directory.
manpage-not-compressed This manual page is not compressed with the bz2 compression method
(does not have the bz2 extension). If the compression does not happen
automatically when the package is rebuilt, make sure that you have the
appropriate rpm helper and/or config packages for your target distribution
installed and try rebuilding again; if it still does not happen automatically,
you can compress this file in the %install section of the spec file.
manual-page-warning This man page may contain problems that can cause it not to be formatted
as intended.
menu-command-not-in-package The command used in the menu isn't included in the package.
menu-in-wrong-directory The menu files must be under /usr/lib/menu.
menu-longtitle-not-capitalized The longtitle field of the menu doesn't start with a capital letter.
menu-title-not-capitalized The title field of the menu entry doesn't start with a capital letter.
menu-without-postin A menu file exists in the package but no %post scriptlet is present to call
update-menus.
menu-without-postun A menu file exists in the package but no %postun scriptlet is present to call
update-menus.
mini-icon-not-in-package The mini icon isn't present in the package.
missing-lsb-keyword The package contains an init script that does not contain one of the LSB
init script comment block convention keywords that are recommendable for all
init scripts. If there is nothing to add to a keyword's value, include the
keyword in the script with an empty value. Note that as of version 3.2, the
LSB specification does not mandate presence of any keywords.
missing-menu-command The menu file doesn't contain a command.
missing-PT_GNU_STACK-section The binary lacks a PT_GNU_STACK section. This forces the dynamic linker to
make the stack executable. Usual suspects include use of a non-GNU linker or
an old GNU linker version.
mixed-use-of-spaces-and-tabs The specfile mixes use of spaces and tabs for indentation, which is a
cosmetic annoyance. Use either spaces or tabs for indentation, not both.
module-without-depmod-postin This package contains a kernel module but provides no call to depmod in the
%post scriptlet.
module-without-depmod-postun This package contains a kernel module but provides no call to depmod in the
%postun scriptlet.
more-than-one-%changelog-section The spec file unnecessarily contains more than one %changelog section;
remove the extra ones.
multiple-specfiles Your package contains multiple spec files. To build a
correct package, you need to have only one spec file containing
all your RPM information.
name-repeated-in-summary The name of the package is repeated in its summary. This is often redundant
information and looks silly in various programs' output. Make the summary
brief and to the point without including redundant information in it.
network-checks-disabled Checks requiring network access have not been enabled in configuration,
see the NetworkEnabled option.
no-%build-section The spec file does not contain a %build section. Even if some packages
don't directly need it, section markers may be overridden in rpm's
configuration to provide additional "under the hood" functionality, such as
injection of automatic -debuginfo subpackages. Add the section, even if
empty.
no-%clean-section The spec file doesn't contain a %clean section to remove the files installed
by the %install section.
no-%install-section The spec file does not contain an %install section. Even if some packages
don't directly need it, section markers may be overridden in rpm's
configuration to provide additional "under the hood" functionality. Add the
section, even if empty.
no-%prep-section The spec file does not contain a %prep section. Even if some packages don't
directly need it, section markers may be overridden in rpm's configuration
to provide additional "under the hood" functionality. Add the section, even
if empty.
no-binary The package should be of the noarch architecture because it doesn't contain
any binaries.
no-buildroot-tag The BuildRoot tag isn't used in your spec. It must be used in order to
allow building the package as non root on some systems. For some rpm versions
(e.g. rpm.org >= 4.6) the BuildRoot tag is not necessary in specfiles and is
ignored by rpmbuild; if your package is only going to be built with such rpm
versions you can ignore this warning.
no-changelogname-tag There is no %changelog tag in your spec file. To insert it, just insert a
'%changelog' in your spec file and rebuild it.
no-chkconfig-line The init script doesn't contain a chkconfig line to specify the runlevels
at which to start and stop it.
no-cleaning-of-buildroot You should clean $RPM_BUILD_ROOT in the %clean section and in the beginning
of the %install section. Use "rm -rf $RPM_BUILD_ROOT". Some rpm configurations
do this automatically; if your package is only going to be built in such
configurations, you can ignore this warning for the section(s) where your rpm
takes care of it.
no-default-runlevel The default runlevel isn't specified in the init script.
no-dependency-on rpmlint has detected that the package uses some capabilities not provided by its dependencies. E.g., the package installs Perl modules but does not require Perl itself.
no-description-tag The description of the package is empty or missing. To add it, insert a
%description section in your spec file, add a textual description of the
package after it, and rebuild the package.
no-documentation The package contains no documentation (README, doc, etc).
You have to include documentation files.
no-epoch-in-conflicts Your package contains a versioned Conflicts entry without an Epoch.
no-epoch-in-dependency Your package contains a versioned dependency without an Epoch.
no-epoch-in-obsoletes Your package contains a versioned Obsoletes entry without an Epoch.
no-epoch-in-provides Your package contains a versioned Provides entry without an Epoch.
no-epoch-tag There is no Epoch tag in your package. You have to specify an epoch using the
Epoch tag.
no-group-tag There is no Group tag in your package. You have to specify a valid group
in your spec file using the Group tag.
no-icon-in-menu The menu entry doesn't contain an icon field.
no-ldconfig-symlink The package should not only include the shared library itself, but
also the symbolic link which ldconfig would produce. (This is
necessary, so that the link gets removed by rpm automatically when
the package gets removed, even if for some reason ldconfig would not be
run at package postinstall phase.)
no-license There is no License tag in your spec file. You have to specify one license
for your program (eg. GPL). To insert this tag, just insert a 'License' in
your specfile.
no-longtitle-in-menu The longtitle field isn't present in the menu entry.
no-major-in-name The major number of the library isn't included in the package's name.
no-manual-page-for-binary Each executable in standard binary directories should have a man page.
no-name-tag There is no Name tag in your package. You have to specify a name using the
Name tag.
no-packager-tag There is no Packager tag in your package. You have to specify a packager
using the Packager tag. Ex: Packager: John Doe <john.doe@example.com>.
no-provides Your library package doesn't provide the -devel name without the major
version included.
no-release-tag There is no Release tag in your package. You have to specify a release using
the Release tag.
no-reload-entry In your init script (/etc/rc.d/init.d/your_file), you don't
have a 'reload' entry, which is necessary for good functionality.
no-signature You have to include your pgp or gpg signature in your package.
For more information on signatures, please refer to www.gnupg.org.
no-spec-file No spec file was specified in your RPM building. Please specify a valid
SPEC file to build a valid RPM package.
no-status-entry In your init script (/etc/rc.d/init.d/your_file), you don't
have a 'status' entry, which is necessary for good functionality.
no-summary-tag There is no Summary tag in your package. You have to describe your package
using this tag. To insert it, just insert a tag 'Summary'.
no-title-in-menu The title field isn't present in the menu entry.
no-url-tag The URL tag is missing.
no-version-in-last-changelog The latest changelog entry doesn't contain a version. Please insert the
version that is coherent with the version of the package and rebuild it.
no-version-tag There is no Version tag in your package. You have to specify a version using
the Version tag.
non-break-space The spec file contains a non-break space, which looks like a regular space
in some editors but can lead to obscure errors. It should be replaced by a
regular space.
non-coherent-filename The file which contains the package should be named
<NAME>-<VERSION>-<RELEASE>-<DISTSUFFIX><DISTEPOCH>.<ARCH>.rpm.
non-coherent-menu-filename The menu file name should be /usr/lib/menu/<package>.
non-conffile-in-etc A non-executable file in your package is being installed in /etc, but is not
a configuration file. All non-executable files in /etc should be configuration
files. Mark the file as %config in the spec file.
non-empty-%post Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%posttrans Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%postun Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%pre Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%pretrans Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%preun Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%trigger Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%triggerin Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%triggerpostun Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%triggerprein Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%triggerun Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-empty-%verifyscript Scriptlets for the interpreter mentioned in the message should be empty.
One common case where they are unintentionally not is when the specfile
contains comments after the scriptlet and before the next section. Review
and clean up the scriptlet contents if appropriate.
non-etc-or-var-file-marked-as-conffile A file not in /etc or /var is marked as being a configuration file.
Please put your conf files in /etc or /var.
non-executable-in-bin A file is being installed in /usr/bin, but is not an executable. Be sure
that the file is an executable or that it has executable permissions.
non-executable-script This text file contains a shebang or is located in a path dedicated for
executables, but lacks the executable bits and cannot thus be executed. If
the file is meant to be an executable script, add the executable bits,
otherwise remove the shebang or move the file elsewhere.
non-file-in-menu-dir /usr/lib/menu must not contain anything else than normal files.
non-ghost-file File should be tagged %ghost.
non-ghost-in-var-lock A file or directory in the package is located in /var/lock. Files installed
in this directory should be marked as %ghost and created at runtime to work
properly in tmpfs /var/lock setups.
non-ghost-in-var-run A file or directory in the package is located in /var/run. Files installed
in this directory should be marked as %ghost and created at runtime to work
properly in tmpfs /var/run setups.
non-lsb-compliant-package-name Your package name contains an illegal character. Use only
alphanumeric symbols in your package name.
non-lsb-compliant-release Your version number contains an illegal character. Use only
lowercase letters and/or numbers.
non-lsb-compliant-version Your version number contains an illegal character. Use only
lowercase letters and/or numbers.
non-owner-writeable-only-crontab-file This crontab file is writeable by other users as its owner, which is refused
by newer version of cron and insecure
non-position-independent-executable This executable must be position independent. Check that it is built with
-fPIE/-fpie in compiler flags and -pie in linker flags.
non-readable The file can't be read by everybody. If this is expected (for security
reasons), contact your rpmlint distributor to get it added to the list of
exceptions for your distro (or add it to your local configuration if you
installed rpmlint from the source tarball).
non-readable-menu-file The menu file isn't readable. Check the permissions.
non-root-group-log-file If you need log files owned by a non-root group, just create a subdir in
/var/log and put your log files in it.
non-root-user-log-file If you need log files owned by a non-root user, just create a subdir in
/var/log and put your log files in it.
non-standard-dir-in-usr Your package is creating a non-standard subdirectory in /usr. The standard
directories are:
X11R6, X386, bin, games, include, lib, lib64, local, sbin, share, src, spool, tmp.
non-standard-dir-in-var Your package is creating a non-standard subdirectory in /var. The standard
directories are:
account, lib, cache, crash, games, lock, log, opt, run, spool, state, tmp, yp, www, ftp.
non-standard-dir-perm A standard directory should have permission set to 0755. If you get this
message, it means that you have wrong directory permissions in some dirs
included in your package.
non-standard-executable-perm A standard executable should have permission set to 0755. If you get this
message, it means that you have a wrong executable permissions in some files
included in your package.
non-standard-gid A file in this package is owned by a non standard group.
Standard groups are:
root, bin, daemon, adm, lp, sync, shutdown, halt, mail, news, uucp, man, nobody.
non-standard-group The value of the Group tag in the package is not valid. Valid groups are:
"".
non-standard-uid A file in this package is owned by a non standard user.
Standard users are:
root, bin, daemon, adm, lp, sync, shutdown, halt, mail, news, uucp, operator, man, nobody.
non-transparent-xpm xpm icon should be transparent for use in menus.
non-utf8-desktopfile .desktop file is not encoded in UTF-8
non-utf8-spec-file The character encoding of the spec file is not UTF-8. Convert it for
example using iconv(1).
non-versioned-file-in-library-package The package contains files in non versioned directories. This makes it
impossible to have multiple major versions of the libraries installed.
One solution can be to change the directories which contain the files
to subdirs of /usr/lib/<name>-<version> or /usr/share/<name>-<version>.
Another solution can be to include a version number in the file names
themselves.
non-xdg-migrated-menu The menu file has not been migrated to new XDG menu system.
normal-icon-not-in-package The normal icon isn't present in the package.
not-listed-as-documentation The documentation files of this package are not listed with
the standard %doc tag.
not-standard-release-extension Your release tag must match the regular expression .
obsolete-not-provided If a package is obsoleted by a compatible replacement, the obsoleted package
should also be provided in order to not cause unnecessary dependency breakage.
If the obsoleting package is not a compatible replacement for the old one,
leave out the Provides.
obsolete-tag The following tags are obsolete: Copyright and Serial. They must
be replaced by License and Epoch respectively.
ocaml-mixed-executable Executables built with ocamlc -custom are deprecated. Packagers should ask
upstream maintainers to build these executables without the -custom option. If
this cannot be changed and the executable needs to be packaged in its current
form, make sure that rpmbuild does not strip it during the build, and on setups
that use prelink, make sure that prelink does not strip it either, usually by
placing a blacklist file in /etc/prelink.conf.d. For more information, see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900#49
ocaml-naming-policy-not-applied This package doesn't respect the naming policy for ocaml packages.
Its name should match the regular expression ^ocaml(-|$).
one-line-command-in-%post You should use %post -p <command> instead of using:

%post
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%posttrans You should use %posttrans -p <command> instead of using:

%posttrans
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%postun You should use %postun -p <command> instead of using:

%postun
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%pre You should use %pre -p <command> instead of using:

%pre
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%pretrans You should use %pretrans -p <command> instead of using:

%pretrans
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%preun You should use %preun -p <command> instead of using:

%preun
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%trigger You should use %trigger -p <command> instead of using:

%trigger
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%triggerin You should use %triggerin -p <command> instead of using:

%triggerin
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%triggerpostun You should use %triggerpostun -p <command> instead of using:

%triggerpostun
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%triggerprein You should use %triggerprein -p <command> instead of using:

%triggerprein
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%triggerun You should use %triggerun -p <command> instead of using:

%triggerun
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
one-line-command-in-%verifyscript You should use %verifyscript -p <command> instead of using:

%verifyscript
<command>

It will avoid the fork of a shell interpreter to execute your command as
well as allows rpm to automatically mark the dependency on your command
for the excecution of the scriptlet.
only-non-binary-in-usr-lib There are only non binary files in /usr/lib so they should be in
/usr/share.
outside-libdir-files This library package must not contain non library files to allow 64
and 32 bits versions of the package to coexist.
patch-not-applied A patch is included in your package but was not applied. Refer to the patches
documentation to see what's wrong.
percent-in-%post The %post scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%posttrans The %posttrans scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%postun The %postun scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%pre The %pre scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%pretrans The %pretrans scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%preun The %preun scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%trigger The %trigger scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%triggerin The %triggerin scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%triggerpostun The %triggerpostun scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%triggerprein The %triggerprein scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%triggerun The %triggerun scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
percent-in-%verifyscript The %verifyscript scriptlet contains a "%" in a context which might indicate it being
fallout from an rpm macro/variable which was not expanded during build.
Investigate whether this is the case and fix if appropriate.
perl-temp-file You have a perl temporary file in your package. Usually, this
file is beginning with a dot (.) and contain "perl" in its name.
perl5-naming-policy-not-applied This package doesn't respect the naming policy for perl5 packages.
Its name should match the regular expression ^perl(-|$).
php-naming-policy-not-applied This package doesn't respect the naming policy for php packages.
Its name should match the regular expression ^php(-|$).
postin-with-wrong-depmod This package contains a kernel module but its %post scriptlet calls depmod
for the wrong kernel.
postin-without-chkconfig The package contains an init script but doesn't call chkconfig in its
%post script.
postin-without-ghost-file-creation A file tagged as ghost is not created during %prein nor during %postin.
postin-without-install-info This package contains info files and its %post doesn't call install-info.
postin-without-ldconfig This package contains a library and its %post scriptlet doesn't call
ldconfig.
postin-without-update-menus A menu file exists in the package but its %post scriptlet doesn't call
update-menus.
postun-with-wrong-depmod This package contains a kernel module but its %postun scriptlet calls depmod
for the wrong kernel.
postun-without-install-info This package contains info files and its %postun doesn't call
install-info.
postun-without-ldconfig This package contains a library and its %postun doesn't call ldconfig.
postun-without-update-menus A menu file exists in the package but its %postun scriptlet doesn't call
update-menus.
prereq-use The use of PreReq is deprecated. In the majority of cases, a plain Requires
is enough and the right thing to do. Sometimes Requires(pre), Requires(post),
Requires(preun) and/or Requires(postun) can also be used instead of PreReq.
preun-without-chkconfig The package contains an init script but doesn't call chkconfig in its
%preun script.
private-shared-object-provides A shared object soname provides is provided by a file in a path from which
other packages should not directly load shared objects from. Such shared
objects should thus not be depended on and they should not result in provides
in the containing package. Get rid of the provides if appropriate, for example
by filtering it out during build. Note that in some cases this may require
disabling rpmbuild's internal dependency generator.
python-bytecode-inconsistent-mtime The timestamp embedded in this python bytecode file isn't equal to the mtime
of the original source file, which will force the interpreter to recompile the
.py source every time, ignoring the saved bytecode.
python-bytecode-without-source This python bytecode file (.pyo/.pyc) is not accompanied by its original
source file (.py)
python-bytecode-wrong-magic-value The "magic" ABI version embedded in this python bytecode file isn't equal
to that of the corresponding runtime, which will force the interpreter to
recompile the .py source every time, ignoring the saved bytecode.
python-naming-policy-not-applied This package doesn't respect the naming policy for python packages.
Its name should match the regular expression ^python(-|$).
read-error This file could not be read. A reason for this could be that the info about
it in the rpm header indicates that it is supposed to be a readable normal file
but it actually is not in the filesystem. Because of this, some checks will
be skipped.
requires-on-install-info This rpm requires install-info which is no longer necessary as it's use now
is automatically handled by a file trigger.
requires-on-release This rpm requires a specific release of another package.
rpath-in-buildconfig This build configuration file contains rpaths which will be introduced into
dependent packages.
rpm-buildroot-usage $RPM_BUILD_ROOT should not be touched during %build or %prep stage, as it
may break short circuit builds.
ruby-naming-policy-not-applied This package doesn't respect the naming policy for ruby packages.
Its name should match the regular expression ^ruby(-|$).
score-file-must-not-be-conffile A file in /var/lib/games/ is a configuration file. Store your conf
files in /etc instead.
script-without-shebang This text file has executable bits set or is located in a path dedicated
for executables, but lacks a shebang and cannot thus be executed. If the file
is meant to be an executable script, add the shebang, otherwise remove the
executable bits or move the file elsewhere.
self-obsoletion The package obsoletes itself. This is known to cause errors in various
tools and should thus be avoided, usually by using appropriately versioned
Obsoletes and/or Provides and avoiding unversioned ones.
service-default-enabled The service is enabled by default after "chkconfig --add"; for security
reasons, most services should not be. Use "-" as the default runlevel in the
init script's "chkconfig:" line and/or remove the "Default-Start:" LSB keyword
to fix this if appropriate for this service.
setgid-binary The file is setgid. Usually this is a packaging bug. If this is a game,
then, you should use the proper rpm group, or location.
setuid-binary The file is setuid; this may be dangerous, especially if this
file is setuid root. Sometimes file capabilities can be used instead of
setuid bits.
setup-not-in-prep The %setup macro should only be used within the %prep section because it may
not expand to anything outside of it and can break the build in unpredictable
ways.
setup-not-quiet Use the -q option to the %setup macro to avoid useless build output from
unpacking the sources.
shared-lib-calls-exit This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.
shared-lib-not-executable This library doesn't have the executable bit set. Without this bit set,
rpm for instance won't be able identify the file as a library and not
generate dependencies or strip debug symbols from it.
shlib-with-non-pic-code The listed shared libraries contain object code that was compiled
without -fPIC. All object code in shared libraries should be
recompiled separately from the static libraries with the -fPIC option.

Another common mistake that causes this problem is linking with
``gcc -Wl,-shared'' instead of ``gcc -shared''.
siteperl-in-perl-module This perl module package installs files under the subdirectory site_perl,
while they must appear under vendor_perl.
source-or-patch-not-compressed A source archive or file in your package is not compressed using the bz2
compression method (doesn't have the bz2 extension).
sourced-script-with-shebang This text file contains a shebang, but is meant to be sourced, not
executed.
specfile-error This error occurred when rpmlint used rpm to query the specfile. The error
is output by rpm and the message should contain more information.
spelling-error The value of this tag appears to be misspelled. Please double-check.
spurious-bracket-in-%post The %post scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%posttrans The %posttrans scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%postun The %postun scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%pre The %pre scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%pretrans The %pretrans scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%preun The %preun scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%trigger The %trigger scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%triggerin The %triggerin scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%triggerpostun The %triggerpostun scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%triggerprein The %triggerprein scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%triggerun The %triggerun scriptlet contains an "if []" construct without a space before
the "]".
spurious-bracket-in-%verifyscript The %verifyscript scriptlet contains an "if []" construct without a space before
the "]".
spurious-executable-perm The file is installed with executable permissions, but was identified as one
that probably should not be executable. Verify if the executable bits are
desired, and remove if not.
standard-dir-owned-by-package This package owns a directory that is part of the standard hierarchy, which
can lead to default directory permissions or ownerships being changed to
something non-standard.
statically-linked-binary The package installs a statically linked binary or object file.

Usually this is a packaging bug. If not, contact your rpmlint distributor
about this so that this error gets included in the exception file for rpmlint
and will not be flagged as a packaging bug in the future (or add it to your
local configuration if you installed rpmlint from the source tarball).
strange-permission A file that you listed to include in your package has strange
permissions. Usually, a file should have 0644 permissions.
subdir-in-bin The package contains a subdirectory in /usr/bin. It's not permitted to
create a subdir there. Create it in /usr/lib/ instead.
subfile-not-in-%lang If /foo/bar is not tagged %lang(XX) whereas /foo is, the package won't be
installable if XX is not in %_install_langs.
subsys-not-used While your daemon is running, you have to put a lock file in
/var/lock/subsys/. To see an example, look at this directory on your
machine and examine the corresponding init scripts.
subsys-unsupported The init script uses /var/lock/subsys which is not supported by
this distribution.
summary-ended-with-dot Summary ends with a dot.
summary-has-leading-spaces Summary begins with whitespace which will waste space when displayed.
summary-not-capitalized Summary doesn't begin with a capital letter.
summary-on-multiple-lines Your summary must fit on one line. Please make it shorter and rebuild the
package.
summary-too-long The "Summary:" must not exceed 79 characters.
symlink-crontab-file This crontab file is a symbolic link, which is insecure and refused by newer
version of cron
symlink-should-be-relative Absolute symlinks are problematic eg. when working with chroot environments.
symlinks(8) is a tool that can be useful for creating/dealing with relative
symlinks at package build time.
tag-in-description Something that looks like a tag was found in the package's description.
This may indicate a problem where the tag was not actually parsed as a tag
but just textual description content, thus being a no-op. Verify if this is
the case, and move the tag to a place in the specfile where %description
won't fool the specfile parser, and rebuild the package.
tag-not-utf8 The character encoding of the value of this tag is not UTF-8.
unable-to-parse-menu-section rpmlint wasn't able to parse the menu section. Please report.
uncompressed-zip The zip file is not compressed.
undefined-non-weak-symbol The binary contains undefined non-weak symbols. This may indicate improper
linkage; check that the binary has been linked as expected.
unexpanded-macro This package contains a file whose path contains something that looks like
an unexpanded macro; this is often the sign of a misspelling. Please check your
specfile.
unknown-key The package was signed, but with an unknown key.
See the rpm --import option for more information.
unreasonable-epoch The value of your Epoch tag is unreasonably large (> 99).
unused-direct-shlib-dependency The binary contains unused direct shared library dependencies. This may
indicate gratuitously bloated linkage; check that the binary has been linked
with the intended shared libraries only.
unversioned-explicit-obsoletes The specfile contains an unversioned Obsoletes: token, which will match all
older, equal and newer versions of the obsoleted thing. This may cause update
problems, restrict future package/provides naming, and may match something it
was originally not inteded to match -- make the Obsoletes versioned if
possible.
unversioned-explicit-provides The specfile contains an unversioned Provides: token, which will match all
older, equal, and newer versions of the provided thing. This may cause
update problems and will make versioned dependencies, obsoletions and conflicts
on the provided thing useless -- make the Provides versioned if possible.
use-of-launcher-in-menu-but-no-requires-on The menu command uses a launcher but there is no dependency in the package
that contains it.
use-of-RPM_SOURCE_DIR You use $RPM_SOURCE_DIR or %{_sourcedir} in your spec file. If you have to
use a directory for building, use $RPM_BUILD_ROOT instead.
use-old-pam-stack Update pam file to use include instead of pam_stack.
useless-provides This package provides 2 times the same capacity. It should only provide it
once.
version-control-internal-file You have included file(s) internally used by a version control system
in the package. Move these files out of the package and rebuild it.
version-in-menu-longtitle The longtitle filed of the menu entry contains a version. This is bad
because it will be prone to error when the version of the package changes.
version-in-menu-title The title filed of the menu entry contains a version. This is bad
because it will be prone to error when the version of the package changes.
world-writable A file or directory in the package is installed with world writable
permissions, which is most likely a security issue.
wrong-file-end-of-line-encoding This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.
wrong-script-end-of-line-encoding This script has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It will prevent its execution.
wrong-script-interpreter This script uses an incorrect interpreter.
xmms-naming-policy-not-applied This package doesn't respect the naming policy for xmms packages.
Its name should match the regular expression ^xmms(-|$).
zero-length These files shouldn't be included unless they're required for something.