added missing descriptions.

git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@481 9bc8b190-ac0f-0410-8968-dc7d1f502856
This commit is contained in:
Frédéric Lepied 2001-07-15 17:01:17 +00:00
parent c52595d12e
commit 0f1c9a5b07
8 changed files with 186 additions and 201 deletions

View File

@ -215,8 +215,8 @@ FHS and the FSSTND forbid this.''',
'''The soname of the library isn't in the form lib<libname>.so.<major>.''',
'invalid-ldconfig-symlink',
'''The symbolic link references the wrong file. (It should reference
the shared library.)''',
'''The symbolic link references the wrong file. It should reference
the shared library.''',
'no-ldconfig-symlink',
'''The package should not only include the shared library itself, but
@ -245,8 +245,8 @@ Makefile with a line like: gcc test.o -o test -Wl,--rpath.''',
Usually this is a bug. Otherwise, please contact
<flepied@mandrakesoft.com> about this so that this error gets included
in the exception file for rpmlint. (With that, rpmlint will ignore
this bug in the future.)''',
in the exception file for rpmlint. With that, rpmlint will ignore
this bug in the future.''',
'executable-in-library-package',
'''The package mixes up libraries and executables. Mixing up these

View File

@ -13,16 +13,17 @@ import rpm
import re
import Config
man_regex=re.compile("/man./")
info_regex=re.compile("/info/")
info_dir_regex=re.compile("/info/dir$")
bz2_regex=re.compile(".bz2$")
gz_regex=re.compile(".gz$")
vendor=Config.getOption("Vendor", "MandrakeSoft")
distribution=Config.getOption("Distribution", "Mandrake Linux")
use_bzip2=Config.getOption("UseBzip2", 1)
class DistributionCheck(AbstractCheck.AbstractCheck):
man_regex=re.compile("/man./")
info_regex=re.compile("/info/")
info_dir_regex=re.compile("/info/dir$")
bz2_regex=re.compile(".bz2$")
gz_regex=re.compile(".gz$")
vendor=Config.getOption("Vendor", "MandrakeSoft")
distribution=Config.getOption("Distribution", "Mandrake Linux")
use_bzip2=Config.getOption("UseBzip2", 1)
def __init__(self):
AbstractCheck.AbstractCheck.__init__(self, "DistributionCheck")
@ -32,10 +33,10 @@ class DistributionCheck(AbstractCheck.AbstractCheck):
if pkg.isSource():
return
if pkg[rpm.RPMTAG_VENDOR] != DistributionCheck.vendor:
if pkg[rpm.RPMTAG_VENDOR] != vendor:
printWarning(pkg, "invalid-vendor", pkg[rpm.RPMTAG_VENDOR])
if pkg[rpm.RPMTAG_DISTRIBUTION] != DistributionCheck.distribution:
if pkg[rpm.RPMTAG_DISTRIBUTION] != distribution:
printWarning(pkg, "invalid-distribution", pkg[rpm.RPMTAG_DISTRIBUTION])
# Check the listing of files
@ -43,17 +44,17 @@ class DistributionCheck(AbstractCheck.AbstractCheck):
if list:
for f in list:
if DistributionCheck.man_regex.search(f):
if DistributionCheck.use_bzip2:
if not DistributionCheck.bz2_regex.search(f):
if man_regex.search(f):
if use_bzip2:
if not bz2_regex.search(f):
printWarning(pkg, "manpage-not-bzipped", f)
elif not DistributionCheck.gz_regex.search(f):
elif not gz_regex.search(f):
printWarning(pkg, "manpage-not-gzipped", f)
if DistributionCheck.info_regex.search(f) and not DistributionCheck.info_dir_regex.search(f):
if DistributionCheck.use_bzip2:
if not DistributionCheck.bz2_regex.search(f):
if info_regex.search(f) and not info_dir_regex.search(f):
if use_bzip2:
if not bz2_regex.search(f):
printWarning(pkg, "infopage-not-bzipped", f)
elif not DistributionCheck.gz_regex.search(f):
elif not gz_regex.search(f):
printWarning(pkg, "infopage-not-gzipped", f)
# Create an object to enable the auto registration of the test
@ -62,28 +63,29 @@ check=DistributionCheck()
if Config.info:
addDetails(
'invalid-vendor',
"""In the Mandrake Linux distribution, the vendor should be MandrakeSoft.
""",
'In the ' + distribution + ' distribution, the vendor should be "' + vendor + '".',
'invalid-distribution',
"""In the Mandrake Linux distribution, the distribution value should be "Mandrake Linux"
""",
'The distribution value should be "' + distribution + '".',
'manpage-not-bzipped',
"""Manual Pages are not under the .bz2 extension/format. Please
run bzip2 <man page file> to bzip it and after, build the package""",
'''Manual Pages are not under the .bz2 extension/format. Please
run bzip2 <man page file> to bzip it in the %install section and
after, build the package. You can also use the spec-helper package
that automatizes this task.''',
'manpage-not-gzipped',
"""Manual Pages are not under the .gz extension/format. Please
run gzip <man page file> to gzip it and after, build the package""",
'''Manual Pages are not under the .gz extension/format. Please
run gzip <man page file> to gzip it and after, build the package.''',
'infopage-not-bzipped',
"""An info page is not under the .bz2 extension/format. Please
run bzip2 <info page file> to bzip it and after, build the package""",
'''An info page is not under the .bz2 extension/format. Please
run bzip2 <info page file> to bzip it and after, build the package.
You can also use the spec-helper package that automatizes this task.''',
'infopage-not-gzipped',
"""An info page is not under the .gz extension/format. Please
run gzip <info page file> to gzip it and after, build the package""",
'''An info page is not under the .gz extension/format. Please
run gzip <info page file> to gzip it and after, build the package.''',
)
# DistributionCheck.py ends here

View File

@ -393,16 +393,17 @@ check=FilesCheck()
if Config.info:
addDetails(
'no-documentation',
"""The package contains no documentation (README, doc, etc).
You have to include documentation files.""",
'''The package contains no documentation (README, doc, etc).
You have to include documentation files.''',
'not-listed-as-documentation',
"""The documentation files of this package are not listed with
the standard %doc tag.""",
'''The documentation files of this package are not listed with
the standard %doc tag.''',
'non-standard-uid',
"""A file in this package is owned by a non standard owner.
Standard owners are:\n
'''A file in this package is owned by a non standard owner.
Standard owners are:
- root - bin
- daemon - adm
- lp - sync
@ -414,11 +415,12 @@ Standard owners are:\n
- nobody - lists
- gdm - xfs
- apache - postgres
- rpcuser - rpm""",
- rpcuser - rpm''',
'non-standard-gid',
"""A file in this package is owned by a non standard group.
Standard groups are:\n
'''A file in this package is owned by a non standard group.
Standard groups are:
- root - bin - dip
- daemon - sys - ftp
- adm - tty - smb
@ -432,146 +434,142 @@ Standard groups are:\n
- lists - gdm - xfs
- popusers - slipusers - slocate
- x10 - urpmi - apache
- postgres - rpcuser - rpm""",
- postgres - rpcuser - rpm''',
'library-without-ldconfig-postin',
"""
""",
'''This package contains a library and provides no %post with a call to ldconfig.''',
'postin-without-ldconfig',
"""
""",
'''This package contains a library and its %post doesn't call ldconfig.''',
'library-without-ldconfig-postun',
"""
""",
'''This package contains a library and provides no %postun with a call to ldconfig.''',
'postun-without-ldconfig',
"""
""",
'''This package contains a library and its %postun doesn't call ldconfig.''',
'info-files-without-install-info-postin',
"""
""",
'''This package contains info files and provides no %post with a call to install-info.''',
'postin-without-install-info',
"""
""",
'''This package contains info files and its %post doesn't call install-info.''',
'info-files-without-install-info-postun',
"""
""",
'''This package contains info files and provides no %postun with a call to install-info.''',
'postun-without-install-info',
"""
""",
'''This package contains info files and its %postun doesn't call install-info.''',
'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.""",
'''You have a perl temporary file in your package. Usually, this
file is beginning with a dot (.) and contain "perl" in its name.''',
'dir-or-file-in-tmp',
"""A file in the package is located in /tmp. It's not permitted
to put a file in this directory.""",
'''A file in the package is located in /tmp. It's not permitted
to put a file in this directory.''',
'dir-or-file-in-mnt',
"""A file in the package is located in /mnt. It's not permitted
to put a file in this directory.""",
'''A file in the package is located in /mnt. It's not permitted
to put a file in this directory.''',
'dir-or-file-in-opt',
"""A file in the package is located in /opt. It's not permitted
to put a file in this directory.""",
'''A file in the package is located in /opt. It's not permitted
to put a file in this directory.''',
'subdir-in-bin',
"""The package contains a sub-directory in the /usr/bin. You can't
create a subdir there. Create it in /usr/lib/ instead.""",
'''The package contains a sub-directory in the /usr/bin. You can't
create a subdir there. Create it in /usr/lib/ instead.''',
'backup-file-in-package',
"""You have a backup file in your package. The files are usually
'''You have a backup file in your package. The files are usually
beginning with ~ (vi) or #file# (emacs). Please remove it and rebuild
your package.""",
your package.''',
'dir-or-file-in-home',
"""A file in the package is located in /home. It's not permitted
to put a file in this directory.""",
'''A file in the package is located in /home. It's not permitted
to put a file in this directory.''',
'cvs-internal-file',
"""You have file(s) from your CVS build directory. Move your CVS directory
out of the package and rebuild it.""",
'''You have file(s) from your CVS build directory. Move your CVS directory
out of the package and rebuild it.''',
'info-dir-file',
"""You have /usr/info/dir or /usr/share/info/dir in your package. It's not allowed.
Please remove it and rebuild your package.""",
'''You have /usr/info/dir or /usr/share/info/dir in your package. It's not allowed.
Please remove it and rebuild your package.''',
'non-conffile-in-etc',
"""A file in your package is being installed in /etc, but is not a
configuration file. All the files in /etc MUST be configuration files.""",
'''A file in your package is being installed in /etc, but is not a
configuration file. All the files in /etc MUST be configuration files.''',
'compressed-symlink-with-wrong-ext',
"""
""",
'''The symlink points to a compressed file but doesn't use the same extension.''',
'setuid-gid-binary',
"""
""",
'''The file is setuid and setgid. Usually this is a bug. Otherwise, please contact
<flepied@mandrakesoft.com> about this so that this error gets included
in the exception file for rpmlint. With that, rpmlint will ignore
this bug in the future.''',
'setuid-binary',
"""
""",
'''The file is setuid. Usually this is a bug. Otherwise, please contact
<flepied@mandrakesoft.com> about this so that this error gets included
in the exception file for rpmlint. With that, rpmlint will ignore
this bug in the future.''',
'setgid-binary',
"""
""",
'''The file is setgid. Usually this is a bug. Otherwise, please contact
<flepied@mandrakesoft.com> about this so that this error gets included
in the exception file for rpmlint. With that, rpmlint will ignore
this bug in the future.''',
'non-standard-executable-perm',
"""A standard executable should have permission set to 0755. If you get this message,
that means that you have a wrong executable permission in your package""",
'''A standard executable should have permission set to 0755. If you get this message,
that means that you have a wrong executable permission in your package.''',
'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.""",
'''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.''',
'devel-file-in-non-devel-package',
"""A development file (usually source code) is located in a non-devel
'''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.""",
create a development package.''',
'non-standard-dir-perm',
"""A standard directory should have permission set to 0755. If you get this message,
that means that you have a wrong directory permission in your package""",
'''A standard directory should have permission set to 0755. If you get this message,
that means that you have a wrong directory permission in your package.''',
'standard-dir-owned-by-package',
"""
""",
'''This package owns a directory that is part of the standard hierarchy and this
can lead to default directory rights, owner or group be changed to something
non standard.''',
'no-dependancy-on',
"""
""",
'''
''',
'dangling-symlink',
"""
""",
'''The symbolik link points nowhere.''',
'symlink-should-be-relative',
"""
""",
'''
''',
'dangling-relative-symlink',
"""
""",
'''The relative symbolik link points nowhere.''',
'symlink-has-too-many-up-segments',
"""
""",
'''
''',
'symlink-should-be-absolute',
"""
""",
'''
''',
'symlink-contains-up-and-down-segments',
"""
"""
'''
'''
)
# FilesCheck.py ends here

View File

@ -83,50 +83,43 @@ check=InitScriptCheck()
if Config.info:
addDetails(
'init-script-without-chkconfig-postin',
"""
""",
'''The package contains an initscript but doesn't contain a %post with
a call to chkconfig.''',
'postin-without-chkconfig',
"""
""",
'''The package contains an initscript but doesn't call chkconfig in its %post.''',
'init-script-without-chkconfig-preun',
"""
""",
'''The package contains an initscript but doesn't contain a %preun with
a call to chkconfig.''',
'preun-without-chkconfig',
"""
""",
'''The package contains an initscript but doesn't call chkconfig in its %preun.''',
'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 a good functionnality.
""",
'''In your init script (/etc/rc.d/init.d/your_file), you don't
have a 'status' entry, which is necessary for a good functionnality.''',
'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 a good functionnality.
""",
'''In your init script (/etc/rc.d/init.d/your_file), you don't
have a 'reload' entry, which is necessary for a good functionnality.''',
'no-chkconfig-line',
"""
""",
'''The initscript doesn't contain a chkconfig line to specify the runlevels at which
to start and stop it.''',
'no-default-runlevel',
"""
""",
'''The default runlevel isn't specified in the initscript.''',
'subsys-not-used',
"""While your program is running, you have to put a lock file in
'''While your program is running, you have to put a lock file in
/var/lock/subsys/. To see an example, look at this directory on your
machine.
""",
machine.''',
'incoherent-subsys',
"""The filename of your lock file in /var/lock/subsys/ is incoherent
'''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 put a 'httpd' file in your subsys directory.
""",
is httpd, you have to put a 'httpd' file in your subsys directory.''',
)
# InitScriptCheck.py ends here

View File

@ -297,96 +297,86 @@ check=MenuCheck()
if Config.info:
addDetails(
'non-file-in-menu-dir',
"""
""",
'''/usr/lib/menu must not contain something else than normal files.''',
'non-coherent-menu-filename',
"""
""",
'''The menu file name should be /usr/lib/menu/<package>.''',
'non-readable-menu-file',
"""
""",
'''The menu file isn't readable. Check the permissions.''',
'old-menu-entry',
"""
""",
'''
''',
'non-transparent-xpm',
"""
""",
'''xpm icon should be transparent to used in menus.''',
'menu-without-postin',
"""
""",
'''A menu file exists in the package but no %post is present to call
update-menus.''',
'postin-without-update-menus',
"""
""",
'''A menu file exists in the package but the %post doesn't call update-menus.''',
'menu-without-postun',
"""
""",
'''A menu file exists in the package but no %postun is present to call
update-menus.''',
'postun-without-update-menus',
"""
""",
'''A menu file exists in the package but the %postun doesn't call update-menus.''',
'incoherent-package-value-in-menu',
"""
""",
'''The package field of the menu entry isn't the same as the package name.''',
'use-of-launcher-in-menu-but-no-requires-on',
"""
""",
'''The menu command uses a launcher but there is no require on the package
that contains it.''',
'menu-command-not-in-package',
"""
""",
'''The command used in the menu isn't contained in the package.''',
'menu-longtitle-not-capitalized',
"""
""",
'''The lontitle field of the menu doesn't start with a capital letter.''',
'version-in-menu-longtitle'
"""
""",
'''A version is contained in the longtitle field of the menu entry. This is bad because
it will be prone to error when the version of the package changes.''',
'no-longtitle-in-menu',
"""
""",
'''The longtitle field isn't present in the menu entry.''',
'menu-title-not-capitalized',
"""
""",
'''The title field of the menu entry doesn't start with a capital letter.''',
'version-in-menu-title',
"""
""",
'''A version is contained in the title field of the menu entry. This is bad because
it will be prone to error when the version of the package changes.''',
'no-title-in-menu',
"""
""",
'''The title field isn't present in the menu entry.''',
'invalid-menu-section',
"""
""",
'''The section field of the menu entry isn't standard.''',
'unable-to-parse-menu-section',
"""
""",
'''rpmlint wasn't able to parse the menu section. Please report.''',
'hardcoded-path-in-menu-icon',
"""
""",
'''The path of the icon is hardcoded in the menu entry. This prevent multiple sizes
of the icon to be found.''',
'-icon-not-in-package',
"""
""",
'normal-icon-not-in-package',
'''The normal icon isn't present in the package.''',
'mini-icon-not-in-package',
'''The mini icon isn't present in the package.''',
'large-icon-not-in-package',
'''The large icon isn't present in the package.''',
'no-icon-in-menu',
"""
""",
'''The menu entry doesn't contain an icon field.''',
)

View File

@ -33,8 +33,9 @@ check=SignatureCheck()
if Config.info:
addDetails(
'no-signature',
"""You have to include your pgp or gpg signature in your package.
For more informations on your signature, please refer to www.gnupg.org""",
'''You have to include your pgp or gpg signature in your package.
For more informations on your signature, please refer to www.gnupg.org.''',
)
# SignatureCheck.py ends here

View File

@ -54,21 +54,21 @@ check=SourceCheck()
if Config.info:
addDetails(
'multiple-specfiles',
"""Your package contain multiple spec files. To build a
'''Your package contain multiple spec files. To build a
correct package, you need to have only one spec file containing
all your RPM information.""",
all your RPM information.''',
'source-or-patch-not-bzipped',
"""A source package or file in your package is not bzipped (doesn't
have the .bz2 extension. To bzip it, use bzip2.""",
'''A source package or file in your package is not bzipped (doesn't
have the .bz2 extension. To bzip it, use bzip2.''',
'source-or-patch-not-gzipped',
"""A source package or file in your package is not gzipped (doesn't
have the .gz extension. To gzip it, use the gzip command""",
'''A source package or file in your package is not gzipped (doesn't
have the .gz extension. To gzip it, use the gzip command.''',
'strange-permission',
"""A file that you listed to include in your package is under strange
permissions. Usually, a file is under a 0644 permission.""",
'''A file that you listed to include in your package is under strange
permissions. Usually, a file is under a 0644 permission.''',
)
# SourceCheck.py ends here

View File

@ -87,24 +87,25 @@ check=SpecCheck()
if Config.info:
addDetails(
'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 spec file was specified in your RPM building. Please specify a valid
SPEC file to build a valid RPM package.''',
'invalid-spec-name',
"""Your spec file must finish with '.spec'. If it's not the case, rename your
file and rebuild your package.""",
'''Your spec file must finish with '.spec'. If it's not the case, rename your
file and rebuild your package.''',
'use-of-RPM_SOURCE_DIR',
"""You use RPM_SOURCE_DIR in your spec file. If you have to use a directory
for building, use RPM_BUILD_ROOT instead.""",
'''You use RPM_SOURCE_DIR in your spec file. If you have to use a directory
for building, use RPM_BUILD_ROOT instead.''',
'patch-not-applied',
"""A patch is included in your package but was not applied. Refer to the patches
documentation to see what's wrong.""",
'''A patch is included in your package but was not applied. Refer to the patches
documentation to see what's wrong.''',
'obsolete-tag',
'''The following tags are obsolete: Copyright and Serial. They must
be replaced by License and Epoch respectively.''',
)
# SpecCheck.py ends here