diff --git a/rpmlint.config.el4 b/rpmlint.config.el4 index acc24d9..356368d 100644 --- a/rpmlint.config.el4 +++ b/rpmlint.config.el4 @@ -10,353 +10,8 @@ import sys from Config import * import Pkg - -setOption("CompressExtension", "gz") -setOption("DefaultPythonVersion", sys.version[:3]) -setOption("KernelModuleRPMsOK", False) -setOption("MaxLineLength", 80) -setOption("NetworkEnabled", True) -setOption("ReleaseExtension", '\.(fc|rhe?l|el)\d+(?=\.|$)') -setOption("UseDefaultRunlevels", False) -setOption("UseEpoch", False) -setOption("UseUTF8", True) -setOption("UseVersionInChangeLog", True) -setOption("ValidSrcPerms", (0664, 0644, )) - -setOption("ValidShells", ( - "", - "/bin/sh", - "/bin/bash", - "/sbin/ldconfig", - "/usr/bin/perl", - "/usr/bin/python", -)) - -setOption("DanglingSymlinkExceptions", ( - ['consolehelper$', 'usermode'], - ['consolehelper-gtk$', 'usermode-gtk'], -)) - -setOption("ValidLicenses", ( - # These are the short names for all of the Fedora approved licenses. - # The master list is kept here: http://fedoraproject.org/wiki/Licensing - # Last synced with revision "1.85, 21 October 2010" of that page. - 'AAL', - 'Abstyles', - 'Adobe', - 'ADSL', - 'AFL', - 'AGPLv1', - 'AGPLv3', - 'AGPLv3 with exceptions', - 'AMDPLPA', - 'AML', - 'AMPAS BSD', - 'APSL 2.0', - 'APSL 2.0+', - 'ARL', - 'Artistic 2.0', - 'Artistic clarified', - 'ASL 1.0', - 'ASL 1.0+', - 'ASL 1.1', - 'ASL 1.1+', - 'ASL 2.0', - 'ASL 2.0+', - 'Barr', - 'BeOpen', - 'BitTorrent', - 'Boost', - 'BSD', - 'BSD Protection', - 'BSD with advertising', - 'CATOSL', - 'CC0', - 'CeCILL', - 'CeCILL-B', - 'CeCILL-C', - 'CDDL', - 'CNRI', - 'Condor', - 'Copyright only', - 'CPAL', - 'CPL', - 'Crossword', - 'Crystal Stacker', - 'DOC', - 'Dotseqn', - 'dvipdfm', - 'ECL 1.0', - 'ECL 2.0', - 'eCos', - 'EFL 2.0', - 'EFL 2.0+', - 'Entessa', - 'EPL', - 'ERPL', - 'EU Datagrid', - 'EUPL 1.1', - 'Eurosym', - 'Fair', - 'FTL', - 'Giftware', - 'GL2PS', - 'Glide', - 'gnuplot', - 'GPL+', - 'GPL+ or Artistic', - 'GPL+ with exceptions', - 'GPLv1', - 'GPLv2 or Artistic', - 'GPLv2+ or Artistic', - 'GPLv2', - 'GPLv2 with exceptions', - 'GPLv2+', - 'GPLv2+ with exceptions', - 'GPLv3', - 'GPLv3 with exceptions', - 'GPLv3+', - 'GPLv3+ with exceptions', - 'IBM', - 'IJG', - 'ImageMagick', - 'iMatix', - 'Imlib2', - 'Intel ACPI', - 'Interbase', - 'ISC', - 'Jabber', - 'JasPer', - 'JPython', - 'Knuth', - 'Latex2e', - 'LBNL BSD', - 'LGPLv2', - 'LGPLv2 with exceptions', - 'LGPLv2+', - 'LGPLv2+ or Artistic', - 'LGPLv2+ with exceptions', - 'LGPLv3', - 'LGPLv3 with exceptions', - 'LGPLv3+', - 'LGPLv3+ with exceptions', - 'Lhcyr', - 'libtiff', - 'LLGPL', - 'Logica', - 'LPL', - 'LPPL', - 'mecab-ipadic', - 'MirOS', - 'MIT', - 'MIT with advertising', - 'mod_macro', - 'Motosoto', - 'MPLv1.0', - 'MPLv1.0+', - 'MPLv1.1', - 'MPLv1.1+', - 'MS-PL', - 'MS-RL', - 'Naumen', - 'NCSA', - 'NetCDF', - 'Netscape', - 'Newmat', - 'Newsletr', - 'NGPL', - 'Nokia', - 'NOSL', - 'Noweb', - 'OML', - 'OpenLDAP', - 'OpenPBS', - 'OpenSSL', - 'OReilly', - 'OSL 1.0', - 'OSL 1.0+', - 'OSL 1.1', - 'OSL 1.1+', - 'OSL 2.0', - 'OSL 2.0+', - 'OSL 2.1', - 'OSL 2.1+', - 'OSL 3.0', - 'OSL 3.0+', - 'Phorum', - 'PHP', - 'PlainTeX', - 'Plexus', - 'PostgreSQL', - 'psutils', - 'Public Domain', - 'Python', - 'Qhull', - 'QPL', - 'Rdisc', - 'RiceBSD', - 'Romio', - 'RPSL', - 'Rsfs', - 'Ruby', - 'Saxpath', - 'SCEA', - 'SCRIP', - 'Sendmail', - 'Sleepycat', - 'SISSL', - 'SLIB', - 'SNIA', - 'SPL', - 'TCL', - 'Teeworlds', - 'Threeparttable', - 'TMate', - 'TOSL', - 'TPL', - 'UCD', - 'Vim', - 'VNLSL', - 'VOSTROM', - 'VSL', - 'W3C', - 'Webmin', - 'Wsuipa', - 'WTFPL', - 'wxWidgets', - 'Xerox', - 'xinetd', - 'XSkat', - 'YPLv1.1', - 'Zed', - 'Zend', - 'zlib', - 'zlib with acknowledgement', - 'ZPLv1.0', - 'ZPLv1.0+', - 'ZPLv2.0', - 'ZPLv2.0+', - 'ZPLv2.1', - 'ZPLv2.1+', - # Documentation licenses - 'CDL', - 'FBSDDL', - 'GFDL', - 'IEEE', - 'LDPL', - 'OFSFDL', - 'Open Publication', - 'Public Use', - # Content licenses - 'CC-BY', - 'CC-BY-ND', - 'CC-BY-SA', - 'DMTF', - 'DSL', - 'EFML', - 'Free Art', - 'GeoGratis', - 'Green OpenMusic', - 'OAL', - # Font licenses - 'AMS', - 'Arphic', - 'Baekmuk', - 'Bitstream Vera', - 'DoubleStroke', - 'Hershey', - 'IPA', - 'Liberation', - 'Lucida', - 'MgOpen', - 'mplus', - 'OFL', - 'PTFL', - 'STIX', - 'Utopia', - 'Wadalab', - 'XANO', - # Others - 'Redistributable, no modification permitted', - 'Freely redistributable without restriction', -)) - -setOption('SystemLibPaths', ('/lib', '/lib64', '/usr/lib', '/usr/lib64')) - -# Get standard users and groups from the setup package's uidgid file -setOption('StandardUsers', []) -setOption('StandardGroups', []) -setup_pkg = None -try: - setup_pkg = Pkg.InstalledPkg('setup') -except: - pass -if setup_pkg: - users = set() - groups = set() - uidgid_regex = re.compile(r'^\s*(\S+)\s+(-|\d+)\s+(-|\d+|\(\d+\))\s') - for uidgid_file in [x for x in setup_pkg.files() if x.endswith('/uidgid')]: - if os.path.exists(uidgid_file): - fobj = open(uidgid_file) - try: - for line in fobj.read().strip().splitlines(): - res = uidgid_regex.search(line) - if res: - name = res.group(1) - if res.group(2) != '-': - users.add(name) - if res.group(3) != '-' and not '(' in res.group(3): - groups.add(name) - del res - del line - finally: - fobj.close() - del fobj - setOption('StandardUsers', sorted(users)) - setOption('StandardGroups', sorted(groups)) - del uidgid_regex, uidgid_file, users, groups -del setup_pkg - -# Output filters -addFilter("source-or-patch-not-compressed") -addFilter("%mklibname") -addFilter("no-dependency-on (perl|python)-base") -addFilter("no-dependency-on locales-") -addFilter("(python|perl5)-naming-policy-not-applied") -addFilter("no-(packager-tag|signature)") -addFilter("incoherent-version-in-name") -addFilter("invalid-build-requires") -addFilter("ghost-files-without-postin") -addFilter("postin-without-ghost-file-creation") -addFilter("no-major-in-name") -addFilter("no-provides") -addFilter("executable-in-library-package") -addFilter("non-versioned-file-in-library-package") -addFilter("requires-on-release") -addFilter("jar-not-indexed") -addFilter("outside-libdir-files") -addFilter("-debuginfo.* no-documentation") -addFilter("-debuginfo.* /usr/lib/debug/") -addFilter("non-standard-dir-in-usr libexec") -addFilter("^gpg-pubkey:") -addFilter(" doc-file-dependency .* /bin/sh$") -addFilter("hardcoded-library-path .*/lib/udev(/|$)") -addFilter("not-standard-release-extension") -addFilter("explicit-lib-dependency (liberation-fonts|libertas-.*-firmware|libvirt$|.*-(java|python)$)") -addFilter("filename-too-long-for-joliet") -addFilter("symlink-should-be-") -addFilter("dangling-\S*symlink /usr/share/doc/HTML/\S+/common .+/common$") -addFilter("hidden-file-or-dir .*/man5/\.k5login\.5[^/]+$") -addFilter("blender.+ (wrong-script-interpreter|non-executable-script) .+/blender/.+\.py.*BPY.*") -# https://bugzilla.redhat.com/496737, https://bugzilla.redhat.com/646455 -for pkg, exe in (("coreutils", "/bin/su"), - ("krb5-workstation", "/usr/kerberos/bin/ksu"), - ("passwd", "/usr/bin/passwd"), - ("sudo", "/usr/bin/sudo(edit)?"), - ("upstart", "/sbin/initctl"), - ("usermode", "/usr/sbin/userhelper")): - addFilter("%s.* (setuid-binary|non-standard-executable-perm) %s (root )?04" - % (pkg, exe)) +# Inherit the base config and build from there. +exec(open("/usr/share/rpmlint/config","rb").read()) # Fedora 12 and newer no longer need a buildroot defined, to have the buildroot cleaned at the beginning # of %install, and do not need to define a %clean section unless the default is invalid. diff --git a/rpmlint.config.el5 b/rpmlint.config.el5 index acc24d9..356368d 100644 --- a/rpmlint.config.el5 +++ b/rpmlint.config.el5 @@ -10,353 +10,8 @@ import sys from Config import * import Pkg - -setOption("CompressExtension", "gz") -setOption("DefaultPythonVersion", sys.version[:3]) -setOption("KernelModuleRPMsOK", False) -setOption("MaxLineLength", 80) -setOption("NetworkEnabled", True) -setOption("ReleaseExtension", '\.(fc|rhe?l|el)\d+(?=\.|$)') -setOption("UseDefaultRunlevels", False) -setOption("UseEpoch", False) -setOption("UseUTF8", True) -setOption("UseVersionInChangeLog", True) -setOption("ValidSrcPerms", (0664, 0644, )) - -setOption("ValidShells", ( - "", - "/bin/sh", - "/bin/bash", - "/sbin/ldconfig", - "/usr/bin/perl", - "/usr/bin/python", -)) - -setOption("DanglingSymlinkExceptions", ( - ['consolehelper$', 'usermode'], - ['consolehelper-gtk$', 'usermode-gtk'], -)) - -setOption("ValidLicenses", ( - # These are the short names for all of the Fedora approved licenses. - # The master list is kept here: http://fedoraproject.org/wiki/Licensing - # Last synced with revision "1.85, 21 October 2010" of that page. - 'AAL', - 'Abstyles', - 'Adobe', - 'ADSL', - 'AFL', - 'AGPLv1', - 'AGPLv3', - 'AGPLv3 with exceptions', - 'AMDPLPA', - 'AML', - 'AMPAS BSD', - 'APSL 2.0', - 'APSL 2.0+', - 'ARL', - 'Artistic 2.0', - 'Artistic clarified', - 'ASL 1.0', - 'ASL 1.0+', - 'ASL 1.1', - 'ASL 1.1+', - 'ASL 2.0', - 'ASL 2.0+', - 'Barr', - 'BeOpen', - 'BitTorrent', - 'Boost', - 'BSD', - 'BSD Protection', - 'BSD with advertising', - 'CATOSL', - 'CC0', - 'CeCILL', - 'CeCILL-B', - 'CeCILL-C', - 'CDDL', - 'CNRI', - 'Condor', - 'Copyright only', - 'CPAL', - 'CPL', - 'Crossword', - 'Crystal Stacker', - 'DOC', - 'Dotseqn', - 'dvipdfm', - 'ECL 1.0', - 'ECL 2.0', - 'eCos', - 'EFL 2.0', - 'EFL 2.0+', - 'Entessa', - 'EPL', - 'ERPL', - 'EU Datagrid', - 'EUPL 1.1', - 'Eurosym', - 'Fair', - 'FTL', - 'Giftware', - 'GL2PS', - 'Glide', - 'gnuplot', - 'GPL+', - 'GPL+ or Artistic', - 'GPL+ with exceptions', - 'GPLv1', - 'GPLv2 or Artistic', - 'GPLv2+ or Artistic', - 'GPLv2', - 'GPLv2 with exceptions', - 'GPLv2+', - 'GPLv2+ with exceptions', - 'GPLv3', - 'GPLv3 with exceptions', - 'GPLv3+', - 'GPLv3+ with exceptions', - 'IBM', - 'IJG', - 'ImageMagick', - 'iMatix', - 'Imlib2', - 'Intel ACPI', - 'Interbase', - 'ISC', - 'Jabber', - 'JasPer', - 'JPython', - 'Knuth', - 'Latex2e', - 'LBNL BSD', - 'LGPLv2', - 'LGPLv2 with exceptions', - 'LGPLv2+', - 'LGPLv2+ or Artistic', - 'LGPLv2+ with exceptions', - 'LGPLv3', - 'LGPLv3 with exceptions', - 'LGPLv3+', - 'LGPLv3+ with exceptions', - 'Lhcyr', - 'libtiff', - 'LLGPL', - 'Logica', - 'LPL', - 'LPPL', - 'mecab-ipadic', - 'MirOS', - 'MIT', - 'MIT with advertising', - 'mod_macro', - 'Motosoto', - 'MPLv1.0', - 'MPLv1.0+', - 'MPLv1.1', - 'MPLv1.1+', - 'MS-PL', - 'MS-RL', - 'Naumen', - 'NCSA', - 'NetCDF', - 'Netscape', - 'Newmat', - 'Newsletr', - 'NGPL', - 'Nokia', - 'NOSL', - 'Noweb', - 'OML', - 'OpenLDAP', - 'OpenPBS', - 'OpenSSL', - 'OReilly', - 'OSL 1.0', - 'OSL 1.0+', - 'OSL 1.1', - 'OSL 1.1+', - 'OSL 2.0', - 'OSL 2.0+', - 'OSL 2.1', - 'OSL 2.1+', - 'OSL 3.0', - 'OSL 3.0+', - 'Phorum', - 'PHP', - 'PlainTeX', - 'Plexus', - 'PostgreSQL', - 'psutils', - 'Public Domain', - 'Python', - 'Qhull', - 'QPL', - 'Rdisc', - 'RiceBSD', - 'Romio', - 'RPSL', - 'Rsfs', - 'Ruby', - 'Saxpath', - 'SCEA', - 'SCRIP', - 'Sendmail', - 'Sleepycat', - 'SISSL', - 'SLIB', - 'SNIA', - 'SPL', - 'TCL', - 'Teeworlds', - 'Threeparttable', - 'TMate', - 'TOSL', - 'TPL', - 'UCD', - 'Vim', - 'VNLSL', - 'VOSTROM', - 'VSL', - 'W3C', - 'Webmin', - 'Wsuipa', - 'WTFPL', - 'wxWidgets', - 'Xerox', - 'xinetd', - 'XSkat', - 'YPLv1.1', - 'Zed', - 'Zend', - 'zlib', - 'zlib with acknowledgement', - 'ZPLv1.0', - 'ZPLv1.0+', - 'ZPLv2.0', - 'ZPLv2.0+', - 'ZPLv2.1', - 'ZPLv2.1+', - # Documentation licenses - 'CDL', - 'FBSDDL', - 'GFDL', - 'IEEE', - 'LDPL', - 'OFSFDL', - 'Open Publication', - 'Public Use', - # Content licenses - 'CC-BY', - 'CC-BY-ND', - 'CC-BY-SA', - 'DMTF', - 'DSL', - 'EFML', - 'Free Art', - 'GeoGratis', - 'Green OpenMusic', - 'OAL', - # Font licenses - 'AMS', - 'Arphic', - 'Baekmuk', - 'Bitstream Vera', - 'DoubleStroke', - 'Hershey', - 'IPA', - 'Liberation', - 'Lucida', - 'MgOpen', - 'mplus', - 'OFL', - 'PTFL', - 'STIX', - 'Utopia', - 'Wadalab', - 'XANO', - # Others - 'Redistributable, no modification permitted', - 'Freely redistributable without restriction', -)) - -setOption('SystemLibPaths', ('/lib', '/lib64', '/usr/lib', '/usr/lib64')) - -# Get standard users and groups from the setup package's uidgid file -setOption('StandardUsers', []) -setOption('StandardGroups', []) -setup_pkg = None -try: - setup_pkg = Pkg.InstalledPkg('setup') -except: - pass -if setup_pkg: - users = set() - groups = set() - uidgid_regex = re.compile(r'^\s*(\S+)\s+(-|\d+)\s+(-|\d+|\(\d+\))\s') - for uidgid_file in [x for x in setup_pkg.files() if x.endswith('/uidgid')]: - if os.path.exists(uidgid_file): - fobj = open(uidgid_file) - try: - for line in fobj.read().strip().splitlines(): - res = uidgid_regex.search(line) - if res: - name = res.group(1) - if res.group(2) != '-': - users.add(name) - if res.group(3) != '-' and not '(' in res.group(3): - groups.add(name) - del res - del line - finally: - fobj.close() - del fobj - setOption('StandardUsers', sorted(users)) - setOption('StandardGroups', sorted(groups)) - del uidgid_regex, uidgid_file, users, groups -del setup_pkg - -# Output filters -addFilter("source-or-patch-not-compressed") -addFilter("%mklibname") -addFilter("no-dependency-on (perl|python)-base") -addFilter("no-dependency-on locales-") -addFilter("(python|perl5)-naming-policy-not-applied") -addFilter("no-(packager-tag|signature)") -addFilter("incoherent-version-in-name") -addFilter("invalid-build-requires") -addFilter("ghost-files-without-postin") -addFilter("postin-without-ghost-file-creation") -addFilter("no-major-in-name") -addFilter("no-provides") -addFilter("executable-in-library-package") -addFilter("non-versioned-file-in-library-package") -addFilter("requires-on-release") -addFilter("jar-not-indexed") -addFilter("outside-libdir-files") -addFilter("-debuginfo.* no-documentation") -addFilter("-debuginfo.* /usr/lib/debug/") -addFilter("non-standard-dir-in-usr libexec") -addFilter("^gpg-pubkey:") -addFilter(" doc-file-dependency .* /bin/sh$") -addFilter("hardcoded-library-path .*/lib/udev(/|$)") -addFilter("not-standard-release-extension") -addFilter("explicit-lib-dependency (liberation-fonts|libertas-.*-firmware|libvirt$|.*-(java|python)$)") -addFilter("filename-too-long-for-joliet") -addFilter("symlink-should-be-") -addFilter("dangling-\S*symlink /usr/share/doc/HTML/\S+/common .+/common$") -addFilter("hidden-file-or-dir .*/man5/\.k5login\.5[^/]+$") -addFilter("blender.+ (wrong-script-interpreter|non-executable-script) .+/blender/.+\.py.*BPY.*") -# https://bugzilla.redhat.com/496737, https://bugzilla.redhat.com/646455 -for pkg, exe in (("coreutils", "/bin/su"), - ("krb5-workstation", "/usr/kerberos/bin/ksu"), - ("passwd", "/usr/bin/passwd"), - ("sudo", "/usr/bin/sudo(edit)?"), - ("upstart", "/sbin/initctl"), - ("usermode", "/usr/sbin/userhelper")): - addFilter("%s.* (setuid-binary|non-standard-executable-perm) %s (root )?04" - % (pkg, exe)) +# Inherit the base config and build from there. +exec(open("/usr/share/rpmlint/config","rb").read()) # Fedora 12 and newer no longer need a buildroot defined, to have the buildroot cleaned at the beginning # of %install, and do not need to define a %clean section unless the default is invalid. diff --git a/rpmlint.spec b/rpmlint.spec index bdc5b5f..bf8798b 100644 --- a/rpmlint.spec +++ b/rpmlint.spec @@ -1,6 +1,6 @@ Name: rpmlint Version: 1.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Tool for checking common errors in RPM packages Group: Development/Tools @@ -95,11 +95,16 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Dec 7 2010 Tom "spot" Callaway - 1.0-3 +- fix typo in changelog +- %% comment out item in changelog +- simplify el4/el5 config files (thanks to Ville Skyttä) + * Mon Dec 6 2010 Tom "spot" Callaway - 1.0-2 -- add support for el5-rpmlint, el6-rpmlint +- add support for el4-rpmlint, el5-rpmlint - disable no-cleaning-of-buildroot checks for Fedora - disable no-buildroot-tag check for Fedora -- disable no-%clean-section check for Fedora +- disable no-%%clean-section check for Fedora * Mon Nov 1 2010 Ville Skyttä - 1.0-1 - Update to 1.0; fixes #637956, and #639823.