Group :: Desenvolvimento/Outros
RPM: rpmlint
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: rpmlint-2.4.0.patch
Download
Download
.gear/config.alt | 389 +++++++++++++++
.gear/rpmlint.spec | 296 +++++++++++
.gear/rules | 6 +
.../tags/192fc817e8ca74cb4d168966a4735c8564af3e09 | 6 +
.gear/tags/list | 1 +
.gear/upstream/remotes | 3 +
configs/ALT/alt.toml | 314 ++++++++++++
configs/ALT/groups.toml | 121 +++++
configs/ALT/licenses.toml | 550 +++++++++++++++++++++
configs/ALT/scoring.toml | 33 ++
configs/ALT/users-groups.toml | 96 ++++
rpmlint/pkg.py | 18 +-
12 files changed, 1820 insertions(+), 13 deletions(-)
diff --git a/.gear/config.alt b/.gear/config.alt
new file mode 100644
index 0000000..266edca
--- /dev/null
+++ b/.gear/config.alt
@@ -0,0 +1,389 @@
+# -*- python -*-
+# Configuration for the rpmlint utility.
+# Loaded before ~/.rpmlintrc
+# $Id: config,v 1.38 2000/08/31 11:24:03 flepied Exp $
+
+# This line is mandatory to access the configuration functions
+from Config import *
+
+# Additionale path to look for checks
+
+#addCheckDir("~/mandrake/rpmlint")
+
+# Configure the checks if you don't want the default ones
+
+resetChecks()
+
+addCheck("DistributionCheck")
+addCheck("TagsCheck")
+addCheck("BinariesCheck")
+addCheck("ConfigCheck")
+addCheck("FilesCheck")
+addCheck("FHSCheck")
+addCheck("SignatureCheck")
+addCheck("I18NCheck")
+addCheck("MenuCheck")
+addCheck("PostCheck")
+addCheck("InitScriptCheck")
+addCheck("SourceCheck")
+addCheck("SpecCheck")
+addCheck("NamingPolicyCheck")
+addCheck("ZipCheck")
+
+
+# Configuration options used by the checks
+
+# for ALT Linux only!!!
+setOption("Vendor", "ALT Linux Team")
+setOption("Distribution", "ALT Linux")
+#setOption("UseBzip2", 1)
+setOption("Packager",
+'@altlinux\.(ru|org|com)| at altlinux dot (ru|org)|@packages\.altlinux\.org| at altlinux\.ru')
+setOption("ReleaseExtension", "^(alt[0-9]+|ipl[0-9]+mdk)$")
+setOption("ValidLicenses", (
+"GPL",
+"LGPL",
+"GPL v2",
+"Proprietary",
+"distributable",
+"Distributable",
+"Different licenses",
+"Public Domain",
+"public domain",
+"OpenSource",
+"ARTISTIC BSD GPL_V2 LGPL_V2 QPL_V1.0",
+"Boost Software License",
+"CMU License",
+"GPL or Academic Free License",
+"MPL",
+"MIT",
+"FTL/GPL",
+"GPL2",
+"Dual: GPL or BSD",
+"Apache",
+"Artistic",
+"FDL",
+"GPL, LGPL",
+"AT&T open source (see COPYING)",
+"AFL/GPL",
+"GPL with exceptions (see COPYING.txt)"
+"BSD License",
+"Sun Binary Code License",
+"Free for non-commercial use",
+"BSD derivative",
+"QPL",
+"ARSENAL INC.",
+"QPL & LGPL",
+"Sleepycat",
+"GPL/QPL",
+"OSL",
+"MIT/X Consortium",
+"BSD style + APSL",
+"Modified BSD",
+"OpenLDAP Public License",
+"Distributable (see License.htm)",
+"Apple Public Source License",
+"Distributable (see LICENSE)",
+"OSI certified",
+"GPL & QPL",
+"Dual: GPL and Ruby",
+"Freely Distributable",
+"LGPL/FDL",
+"GNU GPL",
+"X/MIT and other",
+"Free",
+"PHP",
+"MPL/NPL",
+"Commercial",
+"free to use, but restricted (see EULA)",
+"Public domain",
+"NVIDIA",
+"QPL & LGPL",
+"Open Group Public License",
+"GPL, LGPL, SISSL, PDL",
+"GPL or Artistic",
+"Apache License v2.0",
+"GPL/Artistic/Tk/Tix (see docs)",
+"PHP Licence",
+"IBM Public License",
+"povray",
+"freeware",
+"PSF",
+"wxWindows Library Licence",
+"Dual: GPL and Ruby",
+"LGPL/FDL",
+"Python License",
+"The author disclaims copyright to this source code.",
+"GPL-2",
+"freely modifiable and distributable",
+"Freely distributable",
+"GPL, URW holds copyright",
+"Charityware",
+"wxWidgets License",
+"BSD with minor restrictions",
+"Free for personal and educational use, see /usr/share/doc/xmms-in-mac-0.2.1/COPYING",
+"BSD"))
+
+setOption("ValidBuildHost", '\.hasher\.altlinux\.(ru|org)|\.office\.altlinux\.ru$')
+
+# ValidGroups taken from rpm-4.0.4-alt73
+setOption("ValidGroups", (
+"Accessibility",
+"Archiving/Backup",
+"Archiving/Cd burning",
+"Archiving/Compression",
+"Archiving/Other",
+"Books/Computer books",
+"Books/Faqs",
+"Books/Howtos",
+"Books/Literature",
+"Books/Other",
+"Communications",
+"Databases",
+"Development/C",
+"Development/C++",
+"Development/Databases",
+"Development/Debuggers",
+"Development/Documentation",
+"Development/Functional",
+"Development/GNOME and GTK+",
+"Development/Haskell",
+"Development/Java",
+"Development/KDE and QT",
+"Development/Kernel",
+"Development/Lisp",
+"Development/ML",
+"Development/Objective-C",
+"Development/Other",
+"Development/Perl",
+"Development/Python",
+"Development/Ruby",
+"Development/Scheme",
+"Development/Tcl",
+"Documentation",
+"Editors",
+"Education",
+"Emulators",
+"File tools",
+"Games/Adventure",
+"Games/Arcade",
+"Games/Boards",
+"Games/Cards",
+"Games/Educational",
+"Games/Other",
+"Games/Puzzles",
+"Games/Sports",
+"Games/Strategy",
+"Graphical desktop/Enlightenment",
+"Graphical desktop/FVWM based",
+"Graphical desktop/GNOME",
+"Graphical desktop/GNUstep",
+"Graphical desktop/Icewm",
+"Graphical desktop/KDE",
+"Graphical desktop/Motif",
+"Graphical desktop/Other",
+"Graphical desktop/Rox",
+"Graphical desktop/Sawfish",
+"Graphical desktop/Window Maker",
+"Graphical desktop/XFce",
+"Graphics",
+"Monitoring",
+"Networking/Chat",
+"Networking/DNS",
+"Networking/File transfer",
+"Networking/FTN",
+"Networking/IRC",
+"Networking/Instant messaging",
+"Networking/Mail",
+"Networking/News",
+"Networking/Other",
+"Networking/Remote access",
+"Networking/WWW",
+"Office",
+"Publishing",
+"Sciences/Astronomy",
+"Sciences/Biology",
+"Sciences/Chemistry",
+"Sciences/Computer science",
+"Sciences/Geosciences",
+"Sciences/Mathematics",
+"Sciences/Medicine",
+"Sciences/Other",
+"Sciences/Physics",
+"Security/Antivirus",
+"Security/Networking",
+"Shells",
+"Sound",
+"System/Base",
+"System/Configuration/Boot and Init",
+"System/Configuration/Hardware",
+"System/Configuration/Networking",
+"System/Configuration/Other",
+"System/Configuration/Packaging",
+"System/Configuration/Printing",
+"System/Fonts/Console",
+"System/Fonts/True type",
+"System/Fonts/Type1",
+"System/Fonts/X11 bitmap",
+"System/Internationalization",
+"System/Kernel and hardware",
+"System/Libraries",
+"System/Servers",
+"System/Servers/ZProducts",
+"System/X11",
+"System/XFree86",
+"Terminals",
+"Text tools",
+"Toys",
+"Video"))
+
+# taken from menu-policy-0.0.2.txt
+setOption("ValidMenuSections", (
+"Amusement/Adventure",
+"Amusement/Arcade",
+"Amusement/Boards",
+"Amusement/Cards",
+"Amusement/Puzzles",
+"Amusement/Sports",
+"Amusement/Strategy",
+"Amusement/Toys",
+"Amusement/Other",
+"Applications/Accessibility",
+"Applications/Archiving/Compression",
+"Applications/Archiving/Cd burning",
+"Applications/Archiving/Backup",
+"Applications/Archiving/Other",
+"Applications/Communications",
+"Applications/Databases",
+"Applications/Development/Interpreters",
+"Applications/Development/Code generators",
+"Applications/Development/Development environments",
+"Applications/Development/Tools",
+"Applications/Editors",
+"Applications/Emulators",
+"Applications/File tools",
+"Applications/Finances",
+"Applications/Monitoring",
+"Applications/Publishing",
+"Applications/Sciences/Astronomy",
+"Applications/Sciences/Biology",
+"Applications/Sciences/Chemistry",
+"Applications/Sciences/Computer science",
+"Applications/Sciences/Geosciences",
+"Applications/Sciences/Mathematics",
+"Applications/Sciences/Physics",
+"Applications/Sciences/Other",
+"Applications/Shells",
+"Applications/Text tools",
+"Chinese/Configuration",
+"Chinese/Boot and Init",
+"Chinese/Hardware",
+"Chinese/Networking",
+"Chinese/Packaging",
+"Chinese/Printing",
+"Chinese/Other",
+"Documentation",
+"Edutainment/Languages",
+"Edutainment/Mathematics",
+"Edutainment/Science",
+"Edutainment/Tools",
+"Edutainment/Other",
+"Multimedia/Graphics",
+"Multimedia/Sound",
+"Multimedia/Video",
+"Networking/Chat",
+"Networking/IRC",
+"Networking/Instant messaging",
+"Networking/File transfer",
+"Networking/Mail",
+"Networking/News",
+"Networking/Remote access",
+"Networking/WWW",
+"Networking/Other",
+"Office/Accessories",
+"Office/AddressBooks",
+"Office/Graphs",
+"Office/PDA",
+"Office/Presentations",
+"Office/Spreadsheets",
+"Office/Tasks management",
+"Office/Time management",
+"Office/Wordprocessors",
+"Session/Windowmanagers",
+"Terminals"))
+
+
+# Output filters
+# addFilter("E: .* no-signature")
+
+# ALT Linux filters
+# defaults
+addFilter('E: .* no-buildroot-tag')
+addFilter('W: .* hardcoded-packager-tag')
+addFilter('E: .* no-%clean-section')
+addFilter('E: .* no-cleaning-of-buildroot')
+addFilter('W: .* setup-not-quiet')
+addFilter('W: .* source-or-patch-not-bzipped')
+addFilter('W: .* manpage-not-bzipped')
+addFilter('W: .* infopage-not-bzipped')
+addFilter('W: .* non-conffile-in-etc /etc/rpm/macros.d/')
+addFilter('E: .* requires-on-release')
+#
+addFilter('W: .* not-standard-release-extension')
+addFilter('W: .* invalid-license')
+addFilter('W: .* summary-not-capitalized')
+addFilter('W: .* summary-ended-with-dot')
+addFilter('W: .* non-conffile-in-etc /etc/buildreqs')
+
+# kernel's
+addFilter('unstripped-binary-or-object /lib/modules/')
+
+# rootfiles-alt-alt9.noarch.rpm
+addFilter('rootfiles non-etc-or-var-file-marked-as-conffile /root/.*')
+addFilter('rootfiles non-readable /root/.*')
+
+# mkinitrd-busybox-1.00.rel-alt3.i586.rpm
+addFilter('mkinitrd-busybox statically-linked-binary /lib/mkinitrd/busybox')
+
+# glibc-2.3.5-alt5.i586.rpm
+addFilter('glibc no-binary')
+addFilter('glibc-core statically-linked-binary /sbin/ldconfig')
+
+# etcskel-2.0.10-alt1.2.noarch.rpm
+addFilter('etcskel hidden-file-or-dir /etc/skel.*/')
+addFilter('etcskel zero-length /etc/skel.*/.mutt/folder')
+addFilter('etcskel executable-marked-as-config-file /etc/skel.*/.mutt/color-select')
+
+# filesystem-2.3.1-alt1.i586.rpm
+addFilter('filesystem no-binary')
+addFilter('filesystem non-standard-dir-perm /root 0700')
+addFilter('filesystem non-standard-dir-perm /lib/modules 0700')
+addFilter('filesystem non-standard-dir-perm /boot 0700')
+addFilter('filesystem non-standard-dir-perm /sys 0555')
+addFilter('filesystem non-standard-dir-perm /proc 0555')
+addFilter('filesystem non-standard-dir-perm /tmp 01777')
+addFilter('filesystem dir-or-file-in-usr-local .*')
+addFilter('filesystem dir-or-file-in-mnt /mnt/(floppy|disk|cdrom)')
+
+# MPlayer-1.0-alt20.pre7.i586.rpm
+# MPlayer-doc-1.0-alt20.pre7.i586.rpm
+# MPlayer-gui-1.0-alt20.pre7.i586.rpm
+# MPlayer-skin-default-1.7-alt1.1.i586.rpm
+addFilter('MPlayer invalid-license GPL for all but not for OpenDivX')
+addFilter('MPlayer-doc invalid-license GPL for all but not for OpenDivX')
+addFilter('MPlayer-gui invalid-license GPL for all but not for OpenDivX')
+addFilter('MPlayer-skin-default invalid-license GPL for all but not for OpenDivX')
+addFilter('MPlayer conffile-without-noreplace-flag /etc/MPlayer/codecs.conf')
+
+# altlinux-release-Sisyphus-alt20050723.noarch.rpm
+addFilter('altlinux-release non-conffile-in-etc /etc/altlinux-release')
+
+# rpm-4.0.4-alt89.i586.rpm and later
+addFilter('E: rpm-build.* only-non-binary-in-usr-lib') # files in /usr/lib/rpm/ may be scripts
+
+# hack's
+#addFilter('E: .* invalid-lc-messages-dir')
+#addFilter('W: .* no-url-tag')
+#addFilter('W: .* no-documentation')
+
+# config ends here
diff --git a/.gear/rpmlint.spec b/.gear/rpmlint.spec
new file mode 100644
index 0000000..7eae029
--- /dev/null
+++ b/.gear/rpmlint.spec
@@ -0,0 +1,296 @@
+%def_disable check
+
+Name: rpmlint
+Version: 2.4.0
+Release: alt2
+
+Summary: Tool for checking common errors in RPM packages
+License: GPL-2
+Group: Development/Other
+URL: https://github.com/rpm-software-management/rpmlint
+
+Source0: %name-%version.tar
+Patch0: %name-%version.patch
+BuildArch: noarch
+
+BuildRequires(pre): rpm-build-python3
+BuildRequires: python3-devel
+
+%if_enabled check
+# for tests
+BuildRequires: /proc
+BuildRequires: python3-module-pyxdg python3-module-rpm python3-module-toml python3-module-zstd python3-module-pybeam
+BuildRequires: python3-module-pytest python3-module-pytest-cov python3-module-pytest-flake8 python3-module-pytest-xdist
+BuildRequires: python3-module-enchant hunspell-en hunspell-cs glibc-locales
+BuildRequires: glibc-utils binutils
+BuildRequires: dash
+BuildRequires: /usr/bin/appstream-util
+BuildRequires: /usr/bin/checkbashisms
+BuildRequires: /usr/bin/desktop-file-validate
+%endif
+
+Requires: rpm-build glibc-utils binutils
+#Requires: /usr/bin/appstream-util
+Requires: /usr/bin/bzip2
+Requires: /usr/bin/checkbashisms
+Requires: /bin/cpio
+Requires: /usr/bin/desktop-file-validate
+Requires: /usr/bin/groff
+Requires: /usr/bin/gtbl
+Requires: /usr/bin/ldd
+Requires: /usr/bin/man
+Requires: /usr/bin/perl
+Requires: /usr/bin/readelf
+Requires: /usr/bin/xz
+Requires: /usr/bin/zstd
+%py3_requires tomli
+%py3_requires magic
+%py3_provides rpmlint.checks
+
+%description
+Rpmlint is a tool to check common errors on rpm packages.
+Binary and source packages can be checked.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+%python3_build
+
+%install
+%python3_install
+
+mkdir -p %buildroot%_sysconfdir/xdg/rpmlint
+cp -a configs/ALT/*.toml %buildroot%_sysconfdir/xdg/rpmlint/
+
+%check
+python3 -m pytest
+
+%files
+%doc README.md
+%config(noreplace) %_sysconfdir/xdg/rpmlint/*.toml
+%_bindir/*
+%python3_sitelibdir/*
+
+%changelog
+* Wed Apr 26 2023 Alexey Shabalin <shaba@altlinux.org> 2.4.0-alt2
+- backport fix for python-magic and add requires python3(magic).
+- add requires python3(tomli).
+
+* Sun Mar 26 2023 Alexey Shabalin <shaba@altlinux.org> 2.4.0-alt1
+- New version 2.4.0.
+
+* Wed Dec 22 2021 Alexey Shabalin <shaba@altlinux.org> 2.2.0-alt1
+- new version 2.2.0
+
+* Wed Sep 15 2021 Alexey Shabalin <shaba@altlinux.org> 2.1.0-alt1
+- 2.1.0
+- Filter no-cleaning-of-buildroot, setup-not-quiet in ALT config
+- Disable R: /usr/bin/appstream-util
+
+* Fri Aug 06 2021 Alexey Shabalin <shaba@altlinux.org> 2.0.0-alt1
+- 2.0.0 (ALT #39550)
+
+* Mon Dec 2 2019 Terechkov Evgenii <evg@altlinux.org> 0.85-alt6
+- Build with python2 (Patch2)
+
+* Wed Dec 28 2016 Terechkov Evgenii <evg@altlinux.org> 0.85-alt5
+- Turn off patch0 to work with rpm-4.3
+
+* Thu Jul 3 2014 Terechkov Evgenii <evg@altlinux.org> 0.85-alt4
+- Patch0 updated to work with ALT >= rpm-4.0.4-alt100.78
+
+* Sat Oct 22 2011 Vitaly Kuznetsov <vitty@altlinux.ru> 0.85-alt3.1
+- Rebuild with Python-2.7
+
+* Tue Jan 12 2010 Terechkov Evgenii <evg@altlinux.ru> 0.85-alt3
+- Patch1 added to remove warnings on deprecated popen2 module
+
+* Wed Nov 11 2009 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 0.85-alt2.1
+- Rebuilt with python 2.6
+
+* Tue Mar 17 2009 Terechkov Evgenii <evg@altlinux.ru> 0.85-alt2
+- Noarch build fix (shame on me)
+
+* Tue Mar 17 2009 Terechkov Evgenii <evg@altlinux.ru> 0.85-alt1
+- 0.85 (#19195)
+- Build as noarch
+- Buildrequires updated
+- Packager tag updated
+
+* Sun Mar 16 2008 Terechkov Evgenii <evg@altlinux.ru> 0.82-alt1
+- 0.82
+- Licencse tag changed to gpl2
+- Some filters added to config (#14098)
+- Spec cleanups
+
+* Fri Jan 25 2008 Grigory Batalov <bga@altlinux.ru> 0.80-alt1.1
+- Rebuilt with python-2.5.
+
+* Fri Apr 27 2007 Igor Zubkov <icesik@altlinux.org> 0.80-alt1
+- 0.79 -> 0.80
+
+* Sun Mar 18 2007 Igor Zubkov <icesik@altlinux.org> 0.79-alt1
+- 0.71 -> 0.79
+- update Patch0 for old rpm
+- add manpage
+- enable all checks in rpmlint
+
+* Tue Mar 13 2007 Igor Zubkov <icesik@altlinux.org> 0.71-alt7
+- sync list groups with rpm-4.0.4-alt73
+- update Url
+
+* Tue Mar 13 2007 Igor Zubkov <icesik@altlinux.org> 0.71-alt6
+- bzip2 ChangeLog file (closes #11080)
+- buildreq
+
+* Mon Oct 31 2005 Igor Zubkov <icesik@altlinux.ru> 0.71-alt5
+- update ValidBuildHost
+- remove not-standard-release-extension warning
+- remove invalid-license warning
+- remove summary-not-capitalized warning
+- remove summary-ended-with-dot warning
+
+* Mon Oct 31 2005 Igor Zubkov <icesik@altlinux.ru> 0.71-alt4
+- remove requires-on-release warning
+- enable TagsCheck
+
+* Mon Oct 31 2005 Igor Zubkov <icesik@altlinux.ru> 0.71-alt3
+- disable all checks
+- enable DistributionCheck
+
+* Mon Oct 31 2005 Igor Zubkov <icesik@altlinux.ru> 0.71-alt2
+- update config
+
+* Mon Oct 31 2005 Igor Zubkov <icesik@altlinux.ru> 0.71-alt1
+- update to 0.71
+
+* Fri Sep 09 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.8
+- added /etc/bash_completion.d/rpmlint
+
+* Wed Sep 07 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.7
+- add check for missing Packager tag
+
+* Mon Sep 05 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.6
+- correct check for release tag
+
+* Sun Sep 04 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.5
+- correct groups and users check
+
+* Sat Sep 03 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.4
+- correct check for menu files
+
+* Sat Aug 20 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.3
+- realy remove some old policy (thx to rpmlint)
+
+* Fri Aug 19 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.2
+- remove some old policy from mandrake (mandriva)
+- add some new policy for ALTLinux Sisyphus
+
+* Mon Aug 15 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0.1
+- fix work with old rpm
+
+* Mon Aug 15 2005 Igor Zubkov <icesik@altlinux.ru> 0.70-alt0
+- update to 0.70
+
+* Mon Aug 15 2005 Igor Zubkov <icesik@altlinux.ru> 0.48-alt0
+- update to 0.48
+
+* Mon Aug 15 2005 Igor Zubkov <icesik@altlinux.ru> 0.47-alt0
+- update to 0.47
+
+* Thu Aug 11 2005 Igor Zubkov <icesik@altlinux.ru> 0.46-alt0.2
+- twiks
+
+* Wed Aug 10 2005 Igor Zubkov <icesik@altlinux.ru> 0.46-alt0.1
+- add README.ALT to package
+
+* Sat Aug 06 2005 Igor Zubkov <icesik@altlinux.ru> 0.46-alt0
+- update to 0.46
+
+* Sat Aug 06 2005 Igor Zubkov <icesik@altlinux.ru> 0.45-alt0
+- update to 0.45
+
+* Sat Aug 06 2005 Igor Zubkov <icesik@altlinux.ru> 0.44-alt0
+- update to 0.44
+
+* Sat Aug 06 2005 Igor Zubkov <icesik@altlinux.ru> 0.43-alt0
+- update to 0.43
+
+* Sat Aug 06 2005 Igor Zubkov <icesik@altlinux.ru> 0.42-alt0
+- update to 0.42
+
+* Sat Aug 06 2005 Igor Zubkov <icesik@altlinux.ru> 0.41-alt0
+- update to 0.41
+
+* Sat Aug 06 2005 Igor Zubkov <icesik@altlinux.ru> 0.40-alt1.1
+- add config
+
+* Tue Jan 29 2002 Dmitry V. Levin <ldv@alt-linux.org> 0.40-alt1
+- 0.40
+- Relocated %_datadir/%name to %_libdir/%name.
+
+* Wed Nov 28 2001 Konstantin Volckov <goldhead@altlinux.ru> 0.39-alt1
+- 0.39
+
+* Wed Jun 27 2001 Konstantin Volckov <goldhead@altlinux.ru> 0.32-alt1
+- New version
+- Killed all changelogs before 2001
+
+* Mon Jun 18 2001 Christian Belisle <cbelisle@mandrakesoft.com> 0.32-2mdk
+- Added descriptions for the -i option.
+
+* Wed Jun 13 2001 Frederic Lepied <flepied@mandrakesoft.com> 0.32-1mdk
+- rpmlint.py: o If the file given on the command line doesn't exist,
+ try to use the name as an installed package to check.
+ o new -i option to give explanation on the errors/warnings (not too much
+ descriptions have been added ;-)
+
+- MenuCheck.py: added new Office sub menus.
+
+- FilesCheck.py: o added /usr/X11R6/man subdirs to the list of
+ STANDARD_DIRS.
+ o warn for .so file only if they are in a lib dir.
+ o warn for source files in a non devel package only if they are not
+ doc files.
+
+- TagsCheck.py: corrected description-line-too-long check.
+
+- FilesCheck.py: add the rpm user and group per request of Jeff
+ Johnson for the future version of rpm.
+
+* Fri May 18 2001 Frederic Lepied <flepied@mandrakesoft.com> 0.31-1mdk
+- PostCheck.py: check that a script isn't only one command.
+ check postin and prein instead of postun and preun
+ for ghost files creation.
+
+- MenuCheck.py: don't check NO_XALF in menu command.
+
+- FilesCheck.py: Add rpcuser.
+
+- Config.py: Expections for ldconfig, initscripts, netkit-base and iputils.
+
+- TagsCheck.py: check length of summary and description lines.
+
+* Fri Feb 16 2001 Frederic Lepied <flepied@mandrakesoft.com> 0.30-1mdk
+
+- InitScriptCheck.py: check if runlevels are set
+
+- MenuCheck.py: added support to check launchers.
+
+- I18NCheck.py: check subdirs of /sur/share/man.
+
+- PostCheck.py: check that the postun creates the ghost files
+ added install to dangerous commands
+
+- LSBCheck.py: first version
+
+- TagsCheck.py: changed Window Maker to WindowMaker
+ Add https as valid url.
+ Used list of licenses from www.opensource.org/licenses
+ Check the full license before splitting in it
+ multiple parts.
+
+* Tue Dec 26 2000 Dmitry V. Levin <ldv@fandra.org> 0.29-ipl1mdk
+- RE adaptions.
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 0000000..dbd574f
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,6 @@
+spec: .gear/rpmlint.spec
+copy?: .gear/*.ALT
+copy?: .gear/*.alt
+copy?: .gear/*.patch
+tar: @version@:.
+diff: @version@:. . name=@name@-@version@.patch
diff --git a/.gear/tags/192fc817e8ca74cb4d168966a4735c8564af3e09 b/.gear/tags/192fc817e8ca74cb4d168966a4735c8564af3e09
new file mode 100644
index 0000000..f79dac0
--- /dev/null
+++ b/.gear/tags/192fc817e8ca74cb4d168966a4735c8564af3e09
@@ -0,0 +1,6 @@
+object 7f427752e76624b15e9c5dfaea35c1fa11aa4b0b
+type commit
+tag 2.4.0
+tagger Martin Liska <mliska@suse.cz> 1664805652 +0200
+
+2.4.0
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 0000000..2b90751
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1 @@
+192fc817e8ca74cb4d168966a4735c8564af3e09 2.4.0
diff --git a/.gear/upstream/remotes b/.gear/upstream/remotes
new file mode 100644
index 0000000..c4e95ab
--- /dev/null
+++ b/.gear/upstream/remotes
@@ -0,0 +1,3 @@
+[remote "upstream"]
+ url = https://github.com/rpm-software-management/rpmlint.git
+ fetch = +refs/heads/*:refs/remotes/upstream/*
diff --git a/configs/ALT/alt.toml b/configs/ALT/alt.toml
new file mode 100644
index 0000000..556c66a
--- /dev/null
+++ b/configs/ALT/alt.toml
@@ -0,0 +1,314 @@
+# ALT configuration for the rpmlint utility.
+
+# Configuration options used by the checks
+CompressExtension = ""
+BadnessThreshold = 999
+
+# Regexp string with expected suffix in Release tags.
+ReleaseExtension = "^(alt[0-9]+|ipl[0-9]+mdk)$"
+
+# String regexp validating value for the Packager tag.
+Packager = '@altlinux\.(ru|org|com)| at altlinux dot (ru|org)|@packages\.altlinux\.org| at altlinux\.ru'
+
+# Regexp string with value for the BuildHost preamble tag
+ValidBuildHost = '\.hasher\.altlinux\.(ru|org)|\.office\.altlinux\.ru$'
+
+# List of directories considered to be system default library search paths.
+SystemLibPaths = [
+ "/lib",
+ "/usr/lib",
+ "/lib64",
+ "/usr/lib64",
+]
+
+# Enabled checks for the rpmlint to be run (besides the default set)
+Checks = [
+ "BashismsCheck",
+ "PAMModulesCheck",
+ "TmpFilesCheck",
+ "SysVInitOnSystemdCheck",
+ "SharedLibraryPolicyCheck",
+]
+
+# Package scriptlet interpreters
+ValidShells = [
+ "<lua>",
+ "/bin/sh",
+ "/bin/bash",
+ "/usr/bin/perl",
+ "/usr/bin/python2",
+ "/usr/bin/python3",
+]
+
+# List of directory prefixes that are not allowed in packages
+DisallowedDirs = [
+ "/etc/NetworkManager/dispatcher.d",
+ "/etc/binfmt.d",
+ "/etc/depmod.d",
+ "/etc/modules-load.d",
+ "/etc/modprobe.d",
+ "/etc/sysctl.d",
+ "/etc/systemd/system",
+ "/etc/tmpfiles.d",
+ "/etc/udev/rules.d",
+]
+
+Filters = [
+ '.*invalid-version.*',
+ '.*invalid-packager.*',
+ '.*not-standard-release-extension.*',
+ '.*invalid-buildhost.*',
+ '.*executable-in-library-package.*',
+ '.*non-versioned-file-in-library-package.*',
+ '.*shlib-policy-name-error.*',
+ '.*hardcoded-path-in-buildroot-tag.*',
+ '.*no-buildroot-tag.*',
+ '.*cross-directory-hard-link.*',
+
+# Do not validate package rpm groups
+ '.*devel-package-with-non-devel-group.*',
+ '.*no-group-tag.*',
+ '.*non-standard-group.*',
+
+# Output filters
+ '.*spurious-bracket-in-.*',
+ '.*one-line-command-in-.*',
+ ' dir-or-file-in-opt ', # handled by CheckFilelist.py
+ ' dir-or-file-in-usr-local ', # handled by CheckFilelist.py
+ ' non-standard-dir-in-usr ', # handled by CheckFilelist.py
+ ' no-signature',
+ ' symlink-crontab-file', #bnc591431
+ ' without-chkconfig',
+ 'unstripped-binary-or-object.*\.ko',
+ ' no-chkconfig',
+ ' subsys-not-used',
+ ' dangerous-command.*',
+ ' setuid-binary.*',
+ 'subdir-in-bin /sbin/conf.d/',
+ '.* nss_db non-standard-dir-in-var db',
+ 'non-standard-dir-in-usr openwin',
+ 'ibcs2 non-standard-dir-in-usr i486-sysv4',
+ 'shlibs5 non-standard-dir-in-usr i486-linux-libc5',
+ 'explicit-lib-dependency libtool',
+#
+## Filesystem package needs special exceptions
+ '^filesystem\..*: dir-or-file-in-var-run',
+ '^filesystem\..*: dir-or-file-in-var-lock',
+ '^filesystem\..*: dir-or-file-in-var-tmp',
+ '^filesystem\..*: dir-or-file-in-var-run',
+ '^filesystem\..*: dir-or-file-in-var-lock',
+ '^filesystem\..*: dir-or-file-in-usr-tmp',
+ '^filesystem\..*: dir-or-file-in-tmp',
+ '^filesystem\..*: dir-or-file-in-mnt',
+ '^filesystem\..*: dir-or-file-in-home',
+ '^filesystem\..*: hidden-file-or-dir /root/.gnupg',
+ '^filesystem\..*: hidden-file-or-dir /root/.gnupg',
+ '^filesystem\..*: hidden-file-or-dir /etc/skel.*/.config',
+ '^filesystem\..*: hidden-file-or-dir /etc/skel/.local',
+ '^filesystem\..*: hidden-file-or-dir /tmp/.X11-unix',
+ '^filesystem\..*: hidden-file-or-dir /tmp/.ICE-unix',
+ '^filesystem\..*: hidden-file-or-dir /etc/skel/.fonts',
+ '^filesystem\..*: filelist-forbidden-fhs23',
+ '^filesystem\..*: filelist-forbidden-opt',
+ '^filesystem\..*: non-standard-uid /var/lib/nobody nobody',
+ '^filesystem\..*: missing-dependency-to-cron',
+## has arch specific dirs in /usr
+ '^filesystem\..*: no-binary',
+#
+## Suppress any errors about internal packages
+ '^qa\S+: [EWI]:',
+ '^\S*(?:INTERNAL|internal)\.\S+: [EWI]:',
+#
+## Exceptions for devel-files
+ 'devel-file-in-non-devel-package.*/boot/vmlinuz-.*autoconf.h',
+ 'devel-file-in-non-devel-package.*/usr/src/linux-',
+ 'devel-file-in-non-devel-package.*/usr/share/systemtap',
+ '-(?:examples|doc)\.\S+: \w: devel-file-in-non-devel-package',
+ 'java\S+-demo\.\S+: \w: devel-file-in-non-devel-package',
+ 'avr-libc\.\S+: \w: devel-file-in-non-devel-package',
+ 'cross-.*devel-file-in-non-devel-package',
+ 'cmake.*devel-file-in-non-devel-package',
+ 'gcc\d\d.*devel-file-in-non-devel-package',
+ 'OpenOffice_org-sdk\.\S+: \w: devel-file-in-non-devel-package',
+ 'wnn-sdk\.\S+: \w: devel-file-in-non-devel-package',
+ 'ocaml\.\S+: \w: devel-file-in-non-devel-package',
+ 'xorg-x11-server-sdk\.\S+: \w: devel-file-in-non-devel-package',
+ 'linux-kernel-headers\.\S+: \w: devel-file-in-non-devel-package',
+ ' devel-file-in-non-devel-package.*-config',
+ 'libtool\.\S+: \w: devel-file-in-non-devel-package',
+ 'sdb.* dangling-relative-symlink /usr/share/doc/sdb/.*/gifs ../gifs',
+ 'kernel-modules-not-in-kernel-packages',
+#
+## SUSE kmp's don't need manual depmod (bnc#456048)
+# 'module-without-depmod-postin',
+# 'postin-with-wrong-depmod',
+# 'module-without-depmod-postun',
+# 'postun-with-wrong-depmod',
+# 'configure-without-libdir-spec',
+# 'conffile-without-noreplace-flag /etc/init.d',
+# 'use-of-RPM_SOURCE_DIR',
+# 'use-tmp-in-',
+# 'symlink-contains-up-and-down-segments /var/lib/named',
+# 'no-ldconfig-symlink',
+# 'aaa_base\.\S+: \w: use-of-home-in-%post',
+# 'description-line-too-long',
+ 'hardcoded-library-path',
+#
+## Doesn't seem to make sense
+# 'invalid-ldconfig-symlink',
+# 'invalid-soname',
+# 'library-not-linked-against-libc',
+# 'only-non-binary-in-usr-lib',
+ 'outside-libdir-files',
+#
+## We want these files
+ ' perl-temp-file ',
+ ' hidden-file-or-dir .*/\.packlist',
+ ' hidden-file-or-dir .*/\.directory',
+ 'perl-.*no-binary',
+ ' no-major-in-name ',
+#
+## We check for that already
+ 'dangling-relative-symlink',
+ ' lib-package-without-%mklibname',
+ ' requires-on-release',
+ ' non-executable-script /etc/profile.d/',
+# ' non-executable-script /var/adm/fillup-templates/',
+# ' init-script-name-with-dot ',
+ '.* statically-linked-binary /sbin/ldconfig',
+ '.* statically-linked-binary /sbin/init',
+# 'valgrind.* statically-linked-binary',
+# 'ldconfig-post.*/ddiwrapper/wine/',
+# 'glibc\.\S+: \w: statically-linked-binary /usr/sbin/glibc_post_upgrade',
+ ' symlink-should-be-relative ',
+# ' binary-or-shlib-defines-rpath .*ORIGIN',
+# 'libzypp.*shlib-policy-name-error.*libzypp',
+# 'libtool.*shlib-policy.*',
+#
+## Stuff that is currently too noisy, but might become relevant in the future
+# ' prereq-use',
+# ' file-not-utf8',
+# ' tag-not-utf8',
+ ' setup-not-quiet',
+ ' no-cleaning-of-buildroot ',
+# ' mixed-use-of-spaces-and-tabs ',
+# ' prereq-use ',
+#
+## An issue with OBS, works with autobuild
+ ' no-packager-tag',
+# ' unversioned-explicit-provides ',
+# ' unversioned-explicit-obsoletes ',
+# ' service-default-enabled ',
+# ' non-standard-dir-perm ',
+# ' conffile-without-noreplace-flag ',
+# ' non-standard-executable-perm ',
+ ' jar-not-indexed ',
+# ' uncompressed-zip ',
+# ' %ifarch-applied-patch ',
+# ' read-error ',
+# ' init-script-without-chkconfig-postin ',
+# ' init-script-without-chkconfig-preun ',
+# ' postin-without-chkconfig ',
+# ' preun-without-chkconfig ',
+ ' no-dependency-on locales',
+ ' no-dependency-on perl-base',
+ ' no-dependency-on python-base',
+ ' python-naming-policy-not-applied',
+ # FIXME does this really exists?
+ ' perl-naming-policy-not-applied',
+# ' shlib-policy-name-error',
+# ' binary-or-shlib-defines-rpath',
+# ' executable-marked-as-config-file',
+# ' log-files-without-logrotate',
+# ' hardcoded-prefix-tag',
+ ' -debug(info|source).* no-documentation',
+# ' multiple-specfiles',
+# ' no-default-runlevel ',
+# ' setgid-binary ',
+# ' non-readable ',
+ ' postin-without-ghost-file-creation ',
+#
+## Exceptions for filelist checks
+# 'nfs-client\.\S+: \w: filelist-forbidden-backup-file /var/lib/nfs/sm.bak',
+# 'perl\.\S+: \w: filelist-forbidden-perl-dir ',
+# 'info\.\S+: \w: info-dir-file .*/usr/share/info/dir',
+#
+## These packages are used for CD creation and are not supposed to be
+## installed. It's still a dirty hack to make an exception. The
+## packages should either be built in a separate project with
+## different config or file be put somewhere below /opt/suse/*
+# '(?:dosutils|skelcd|installation-images|yast2-slide-show|instlux|skelcd-.*|patterns-.*)\.\S+: \w: filelist-forbidden-fhs23 /CD1',
+#
+## Too noisy, and usually not something downstream packagers can fix
+# ' incorrect-fsf-address ',
+# ' no-manual-page-for-binary ',
+# ' static-library-without-debuginfo /usr/lib(?:64)?/ghc-[\d\.]+/',
+#
+## Many places have shorter paths
+# ' non-coherent-filename ',
+
+# Mandriva specific stuff that we don't want
+ ' invalid-build-requires ',
+ ' no-provides ',
+
+# Bash completion files are not scripts, do not require them marked as %config
+ 'W: non-conffile-in-etc /etc/bash_completion.d/',
+
+# ALT specific stuff that we don't want
+ ' ghost-files-without-postin',
+ ' -debuginfo.* /usr/lib/debug/',
+ ' -debugsource.* /usr/src/debug/',
+ ' doc-file-dependency .* /bin/sh$',
+ # Don't bother with the non-ghost-in-run checks, /var/lock and /var/run are
+ # symlinks to /run/lock and /run respectively, and /run is a tmpfs
+ 'non-ghost-in-run',
+ # Someone thought it was a good idea to make .desktop files executable. They were wrong.
+ # Nevertheless, I do not yet control the universe, so we squelch the error here.
+ 'script-without-shebang .*\.desktop$',
+ # Some files in /etc/ are not meant to be modified by the sysadmin
+ 'non-conffile-in-etc /etc/rpm/.*$',
+ 'W: non-conffile-in-etc /etc/buildreqs',
+ # Don't care about long descriptions on debuginfo packages
+ # They automatically include the package name and are always
+ # quite long.
+ '-debuginfo.* description-line-too-long',
+ # ALT no uses explicit ldconfig %post/%postun
+ 'library-without-ldconfig-postin',
+ 'library-without-ldconfig-postun',
+ # Ignore 700 dir perms here
+ 'non-standard-dir-perm /etc/.* 700',
+ 'non-standard-dir-perm /var/lib/.* 700',
+ 'non-standard-dir-perm /root 0700',
+ 'non-standard-dir-perm /lib/modules 0700',
+ 'non-standard-dir-perm /boot 0700',
+ 'non-standard-dir-perm /sys 0555',
+ 'non-standard-dir-perm /proc 0555',
+ 'non-standard-dir-perm /tmp 01777',
+
+# Info uses file triggers now (boo#1152169)
+ ' info-files-without-install-info-postin',
+ ' info-files-without-install-info-postun ',
+ ' postin-without-install-info ',
+]
+
+[DanglingSymlinkExceptions."/usr/share/licenses/"]
+path = "/usr/share/licenses/"
+name = "licenses"
+[DanglingSymlinkExceptions."consolehelper$"]
+path = "consolehelper$"
+name = "usermode"
+[DanglingSymlinkExceptions."consolehelper-gtk$"]
+path = "consolehelper-gtk$"
+name = "usermode-gtk"
+
+[Descriptions]
+non-standard-uid = '''A file in this package is owned by an unregistered user id.
+To register the user, please make a pull request to the rpmlint config file
+configs/ALT/alt.toml in the rpmlint repository.
+'''
+non-standard-gid = '''A file in this package is owned by an unregistered group id.
+To register the group, please make a pull request to the rpmlint config file
+configs/ALT/alt.toml in the rpmlint repository.
+'''
+no-changelogname-tag = '''There is no changelog. Please insert a '%changelog' section heading in your
+spec file and prepare your changes file using e.g. the 'add_changelog' command.'''
diff --git a/configs/ALT/groups.toml b/configs/ALT/groups.toml
new file mode 100644
index 0000000..184136f
--- /dev/null
+++ b/configs/ALT/groups.toml
@@ -0,0 +1,121 @@
+# based on /usr/lib/rpm/GROUPS from rpm
+
+ValidGroups = [
+ 'Accessibility',
+ 'Archiving/Backup',
+ 'Archiving/Cd burning',
+ 'Archiving/Compression',
+ 'Archiving/Other',
+ 'Books/Computer books',
+ 'Books/Faqs',
+ 'Books/Howtos',
+ 'Books/Literature',
+ 'Books/Other',
+ 'Communications',
+ 'Databases',
+ 'Development/C',
+ 'Development/C++',
+ 'Development/Databases',
+ 'Development/Debug',
+ 'Development/Debuggers',
+ 'Development/Documentation',
+ 'Development/Erlang',
+ 'Development/Functional',
+ 'Development/GNOME and GTK+',
+ 'Development/Haskell',
+ 'Development/Java',
+ 'Development/KDE and QT',
+ 'Development/Kernel',
+ 'Development/Lisp',
+ 'Development/ML',
+ 'Development/Objective-C',
+ 'Development/Other',
+ 'Development/Perl',
+ 'Development/Python',
+ 'Development/Python3',
+ 'Development/Ruby',
+ 'Development/Scheme',
+ 'Development/Tcl',
+ 'Development/Tools',
+ 'Documentation',
+ 'Editors',
+ 'Education',
+ 'Emulators',
+ 'Engineering',
+ 'File tools',
+ 'Games/Adventure',
+ 'Games/Arcade',
+ 'Games/Boards',
+ 'Games/Cards',
+ 'Games/Educational',
+ 'Games/Other',
+ 'Games/Puzzles',
+ 'Games/Sports',
+ 'Games/Strategy',
+ 'Graphical desktop/Enlightenment',
+ 'Graphical desktop/FVWM based',
+ 'Graphical desktop/GNOME',
+ 'Graphical desktop/GNUstep',
+ 'Graphical desktop/Icewm',
+ 'Graphical desktop/KDE',
+ 'Graphical desktop/MATE',
+ 'Graphical desktop/Motif',
+ 'Graphical desktop/Other',
+ 'Graphical desktop/Rox',
+ 'Graphical desktop/Sawfish',
+ 'Graphical desktop/Sugar',
+ 'Graphical desktop/Window Maker',
+ 'Graphical desktop/XFce',
+ 'Graphics',
+ 'Monitoring',
+ 'Networking/Chat',
+ 'Networking/DNS',
+ 'Networking/File transfer',
+ 'Networking/FTN',
+ 'Networking/IRC',
+ 'Networking/Instant messaging',
+ 'Networking/Mail',
+ 'Networking/News',
+ 'Networking/Other',
+ 'Networking/Remote access',
+ 'Networking/WWW',
+ 'Office',
+ 'Other',
+ 'Publishing',
+ 'Sciences/Astronomy',
+ 'Sciences/Biology',
+ 'Sciences/Chemistry',
+ 'Sciences/Computer science',
+ 'Sciences/Geosciences',
+ 'Sciences/Mathematics',
+ 'Sciences/Medicine',
+ 'Sciences/Other',
+ 'Sciences/Physics',
+ 'Security/Antivirus',
+ 'Security/Networking',
+ 'Shells',
+ 'Sound',
+ 'System/Base',
+ 'System/Configuration/Boot and Init',
+ 'System/Configuration/Hardware',
+ 'System/Configuration/Networking',
+ 'System/Configuration/Other',
+ 'System/Configuration/Packaging',
+ 'System/Configuration/Printing',
+ 'System/Fonts/Console',
+ 'System/Fonts/True type',
+ 'System/Fonts/Type1',
+ 'System/Fonts/X11 bitmap',
+ 'System/Internationalization',
+ 'System/Kernel and hardware',
+ 'System/Libraries',
+ 'System/Legacy libraries',
+ 'System/Servers',
+ 'System/Servers/ZProducts',
+ 'System/X11',
+ 'System/XFree86',
+ 'Terminals',
+ 'Text tools',
+ 'Toys',
+ 'Video',
+]
diff --git a/configs/ALT/licenses.toml b/configs/ALT/licenses.toml
new file mode 100644
index 0000000..6188a1e
--- /dev/null
+++ b/configs/ALT/licenses.toml
@@ -0,0 +1,550 @@
+# taken from ALT common-licenses package
+
+ValidLicenses = [
+ # /usr/share/license
+ '0BSD',
+ 'AAL',
+ 'Abstyles',
+ 'Adobe-2006',
+ 'Adobe-Glyph',
+ 'ADSL',
+ 'AFL-1.1',
+ 'AFL-1.2',
+ 'AFL-2.0',
+ 'AFL-2.1',
+ 'AFL-3.0',
+ 'Afmparse',
+ 'AGPL-1.0',
+ 'AGPL-1.0+',
+ 'AGPL-1.0-only',
+ 'AGPL-1.0-or-later',
+ 'AGPL-3.0',
+ 'AGPL-3.0+',
+ 'AGPL-3.0-only',
+ 'AGPL-3.0-or-later',
+ 'Aladdin',
+ 'Aladdin-8.0',
+ 'ALT-Bitstream-Vera',
+ 'ALT-Cryptix',
+ 'ALT-Cyrus',
+ 'ALT-Free-Art-1.3',
+ 'ALT-MITX',
+ 'ALT-NVIDIA-340',
+ 'ALT-NVIDIA-390',
+ 'ALT-OCL-1.0',
+ 'ALT-OpenPub-0.4',
+ 'ALT-OpenPub-1.0',
+ 'ALT-ParaType-1.3',
+ 'ALT-Perl',
+ 'ALT-Proprietary-PLATON',
+ 'ALT-Public-Domain',
+ 'ALT-RADVD',
+ 'ALT-TPL',
+ 'ALT-Ubuntu-Font-License-1.0',
+ 'ALT-UCD',
+ 'ALT-XConsortium',
+ 'ALT-XFree86-other',
+ 'ALT-Zsh',
+ 'AMDPLPA',
+ 'AML',
+ 'AMPAS',
+ 'ANTLR-PD',
+ 'Apache-1.0',
+ 'Apache-1.1',
+ 'Apache-2.0',
+ 'APAFML',
+ 'APL',
+ 'APL-1.0',
+ 'APSL-1.0',
+ 'APSL-1.1',
+ 'APSL-1.2',
+ 'APSL-2.0',
+ 'Artistic-1',
+ 'Artistic-1.0',
+ 'Artistic-1.0-cl8',
+ 'Artistic-1.0-Perl',
+ 'Artistic-2',
+ 'Artistic-2.0',
+ 'Bahyph',
+ 'Barr',
+ 'Beerware',
+ 'BitTorrent-1.0',
+ 'BitTorrent-1.1',
+ 'blessing',
+ 'BlueOak-1.0.0',
+ 'Borceux',
+ 'BSD',
+ 'BSD-1-Clause',
+ 'BSD-2-Clause',
+ 'BSD-2-Clause-FreeBSD',
+ 'BSD-2-Clause-NetBSD',
+ 'BSD-2-Clause-Patent',
+ 'BSD-3-Clause',
+ 'BSD-3-Clause-Attribution',
+ 'BSD-3-Clause-Clear',
+ 'BSD-3-Clause-LBNL',
+ 'BSD-3-Clause-No-Nuclear-License',
+ 'BSD-3-Clause-No-Nuclear-License-2014',
+ 'BSD-3-Clause-No-Nuclear-Warranty',
+ 'BSD-3-Clause-Open-MPI',
+ 'BSD-4-Clause',
+ 'BSD-4-Clause-UC',
+ 'BSD-Protection',
+ 'BSD-Source-Code',
+ 'BSL',
+ 'BSL-1.0',
+ 'bzip2-1.0.5',
+ 'bzip2-1.0.6',
+ 'Caldera',
+ 'CATOSL',
+ 'CATOSL-1.1',
+ 'CC0',
+ 'CC0-1.0',
+ 'CC-BY-1.0',
+ 'CC-BY-2.0',
+ 'CC-BY-2.5',
+ 'CC-BY-3.0',
+ 'CC-BY-4.0',
+ 'CC-BY-NC-1.0',
+ 'CC-BY-NC-2.0',
+ 'CC-BY-NC-2.5',
+ 'CC-BY-NC-3.0',
+ 'CC-BY-NC-4.0',
+ 'CC-BY-NC-ND-1.0',
+ 'CC-BY-NC-ND-2.0',
+ 'CC-BY-NC-ND-2.5',
+ 'CC-BY-NC-ND-3.0',
+ 'CC-BY-NC-ND-4.0',
+ 'CC-BY-NC-SA-1.0',
+ 'CC-BY-NC-SA-2.0',
+ 'CC-BY-NC-SA-2.5',
+ 'CC-BY-NC-SA-3.0',
+ 'CC-BY-NC-SA-4.0',
+ 'CC-BY-ND-1.0',
+ 'CC-BY-ND-2.0',
+ 'CC-BY-ND-2.5',
+ 'CC-BY-ND-3.0',
+ 'CC-BY-ND-4.0',
+ 'CC-BY-SA-1.0',
+ 'CC-BY-SA-2.0',
+ 'CC-BY-SA-2.5',
+ 'CC-BY-SA-3.0',
+ 'CC-BY-SA-4.0',
+ 'CC-PDDC',
+ 'CDDL-1.0',
+ 'CDDL-1.1',
+ 'CDLA-Permissive-1.0',
+ 'CDLA-Sharing-1.0',
+ 'CECILL-1.0',
+ 'CECILL-1.1',
+ 'CECILL-2.0',
+ 'CECILL-2.1',
+ 'CECILL-B',
+ 'CECILL-C',
+ 'CERN-OHL-1.1',
+ 'CERN-OHL-1.2',
+ 'ClArtistic',
+ 'CNRI-Jython',
+ 'CNRI-Python',
+ 'CNRI-Python-GPL-Compatible',
+ 'Condor-1.1',
+ 'copyleft-next-0.3.0',
+ 'copyleft-next-0.3.1',
+ 'CPAL-1.0',
+ 'CPL-1.0',
+ 'CPOL-1.02',
+ 'Crossword',
+ 'Cryptix',
+ 'CrystalStacker',
+ 'CUA-OPL-1.0',
+ 'Cube',
+ 'curl',
+ 'D-FSL-1.0',
+ 'diffmark',
+ 'DOC',
+ 'Dotseqn',
+ 'DSDP',
+ 'dvipdfm',
+ 'ECL-1.0',
+ 'ECL-2.0',
+ 'eCos',
+ 'eCos-2.0',
+ 'EFL-1.0',
+ 'EFL-2.0',
+ 'eGenix',
+ 'Entessa',
+ 'EPL-1.0',
+ 'EPL-2.0',
+ 'ErlPL',
+ 'ErlPL-1.1',
+ 'etalab-2.0',
+ 'EUDatagrid',
+ 'EUPL-1.0',
+ 'EUPL-1.1',
+ 'EUPL-1.2',
+ 'Eurosym',
+ 'Fair',
+ 'FDL-1.1',
+ 'FDL-1.2',
+ 'Frameworx',
+ 'Frameworx-1.0',
+ 'FreeImage',
+ 'FreeImage-1.0',
+ 'FSFAP',
+ 'FSFUL',
+ 'FSFULLR',
+ 'FTL',
+ 'GFDL-1.1',
+ 'GFDL-1.1+',
+ 'GFDL-1.1-only',
+ 'GFDL-1.1-or-later',
+ 'GFDL-1.2',
+ 'GFDL-1.2+',
+ 'GFDL-1.2-only',
+ 'GFDL-1.2-or-later',
+ 'GFDL-1.3',
+ 'GFDL-1.3+',
+ 'GFDL-1.3-only',
+ 'GFDL-1.3-or-later',
+ 'Giftware',
+ 'GL2PS',
+ 'GL2PS-2.0',
+ 'Glide',
+ 'Glulxe',
+ 'gnuplot',
+ 'GPL-1',
+ 'GPL-1.0',
+ 'GPL-1.0+',
+ 'GPL-1.0-only',
+ 'GPL-1.0-or-later',
+ 'GPL-2',
+ 'GPL-2.0',
+ 'GPL-2.0+',
+ 'GPL-2.0-only',
+ 'GPL-2.0-or-later',
+ 'GPL-3',
+ 'GPL-3.0',
+ 'GPL-3.0+',
+ 'GPL-3.0-only',
+ 'GPL-3.0-or-later',
+ 'GPLv2',
+ 'GPLv2+',
+ 'GPLv3',
+ 'GPLv3+',
+ 'gSOAP-1.3b',
+ 'HaskellReport',
+ 'HPND',
+ 'HPND-sell-variant',
+ 'IBM-pibs',
+ 'ICU',
+ 'ICU-1.8.1+',
+ 'ICU-1.8.1-or-later',
+ 'IJG',
+ 'ImageMagick',
+ 'iMatix',
+ 'Imlib2',
+ 'Info-ZIP',
+ 'Intel',
+ 'Intel-ACPI',
+ 'Interbase',
+ 'Interbase-1.0',
+ 'IPA',
+ 'IPA-1.0',
+ 'IPL',
+ 'IPL-1.0',
+ 'ISC',
+ 'JasPer',
+ 'JasPer-2.0',
+ 'JPNIC',
+ 'JSON',
+ 'LAL-1.2',
+ 'LAL-1.3',
+ 'Latex2e',
+ 'Leptonica',
+ 'LGPL-2',
+ 'LGPL-2.0',
+ 'LGPL-2.0+',
+ 'LGPL-2.0-only',
+ 'LGPL-2.0-or-later',
+ 'LGPL-2.1',
+ 'LGPL-2.1+',
+ 'LGPL-2.1-only',
+ 'LGPL-2.1-or-later',
+ 'LGPL-3',
+ 'LGPL-3.0',
+ 'LGPL-3.0+',
+ 'LGPL-3.0-only',
+ 'LGPL-3.0-or-later',
+ 'LGPLLR',
+ 'LGPLv2',
+ 'LGPLv2+',
+ 'LGPLv2.1',
+ 'LGPLv2.1+',
+ 'LGPLv3',
+ 'LGPLv3+',
+ 'Libpng',
+ 'libpng-2.0',
+ 'libtiff',
+ 'LiLiQ-P-1.1',
+ 'LiLiQ-R-1.1',
+ 'LiLiQ-Rplus-1.1',
+ 'Linux-OpenIB',
+ 'LPL-1.0',
+ 'LPL-1.02',
+ 'LPPL-1.0',
+ 'LPPL-1.1',
+ 'LPPL-1.2',
+ 'LPPL-1.3a',
+ 'LPPL-1.3c',
+ 'MakeIndex',
+ 'MirOS',
+ 'MIT',
+ 'MIT-0',
+ 'MIT-advertising',
+ 'MIT-CMU',
+ 'MIT-enna',
+ 'MIT-feh',
+ 'MITNFA',
+ 'MITX',
+ 'Motosoto',
+ 'mpich2',
+ 'MPL-1.0',
+ 'MPL-1.1',
+ 'MPL-2.0',
+ 'MPL-2.0-no-copyleft-exception',
+ 'MS-PL',
+ 'MS-RL',
+ 'MTLL',
+ 'MulanPSL-1.0',
+ 'Multics',
+ 'Mup',
+ 'NASA-1.3',
+ 'Naumen',
+ 'NBPL-1.0',
+ 'NCSA',
+ 'NetCDF',
+ 'Net-SNMP',
+ 'Newsletr',
+ 'NGPL',
+ 'NLOD',
+ 'NLOD-1.0',
+ 'NLPL',
+ 'Nokia',
+ 'NOSL',
+ 'NOSL-1.0',
+ 'Noweb',
+ 'NPL-1.0',
+ 'NPL-1.1',
+ 'NPOSL',
+ 'NPOSL-3.0',
+ 'NRL',
+ 'NTP',
+ 'Nunit',
+ 'NVIDIA-340',
+ 'NVIDIA-390',
+ 'OCCT-PL',
+ 'OCL',
+ 'OCL-1.0',
+ 'OCLC',
+ 'OCLC-2.0',
+ 'ODbL',
+ 'ODbL-1.0',
+ 'ODC-By',
+ 'ODC-By-1.0',
+ 'OFL-1.0',
+ 'OFL-1.1',
+ 'OGL-Canada-2.0',
+ 'OGL-UK-1.0',
+ 'OGL-UK-2.0',
+ 'OGL-UK-3.0',
+ 'OGTSL',
+ 'OLDAP-1.1',
+ 'OLDAP-1.2',
+ 'OLDAP-1.3',
+ 'OLDAP-1.4',
+ 'OLDAP-2.0',
+ 'OLDAP-2.0.1',
+ 'OLDAP-2.1',
+ 'OLDAP-2.2',
+ 'OLDAP-2.2.1',
+ 'OLDAP-2.2.2',
+ 'OLDAP-2.3',
+ 'OLDAP-2.4',
+ 'OLDAP-2.5',
+ 'OLDAP-2.6',
+ 'OLDAP-2.7',
+ 'OLDAP-2.8',
+ 'OML',
+ 'OpenPub',
+ 'OpenPub-0.4',
+ 'OpenSSL',
+ 'OPL',
+ 'OPL-1.0',
+ 'OSET-PL',
+ 'OSET-PL-2.1',
+ 'OSL-1.0',
+ 'OSL-1.1',
+ 'OSL-2.0',
+ 'OSL-2.1',
+ 'OSL-3.0',
+ 'Parity-6.0.0',
+ 'PDDL',
+ 'PDDL-1.0',
+ 'Perl',
+ 'PHP-3.0',
+ 'PHP-3.01',
+ 'Plexus',
+ 'PostgreSQL',
+ 'psfrag',
+ 'psutils',
+ 'Python',
+ 'Python-2.0',
+ 'Qhull',
+ 'QPL',
+ 'QPL-1.0',
+ 'Rdisc',
+ 'RHeCos',
+ 'RHeCos-1.1',
+ 'RPL-1.1',
+ 'RPL-1.5',
+ 'RPSL',
+ 'RPSL-1.0',
+ 'RSA-MD',
+ 'RSCPL',
+ 'RSCPL-1.0',
+ 'Ruby',
+ 'Saxpath',
+ 'SAX-PD',
+ 'SCEA',
+ 'SCEA-1.0',
+ 'Sendmail',
+ 'Sendmail-8.23',
+ 'SGI-B-1.0',
+ 'SGI-B-1.1',
+ 'SGI-B-2.0',
+ 'SHL-0.5',
+ 'SHL-0.51',
+ 'SimPL',
+ 'SimPL-2.0',
+ 'SISSL-1.1',
+ 'SISSL-1.2',
+ 'Sleepycat',
+ 'SMLNJ',
+ 'SMPPL',
+ 'SNIA',
+ 'Spencer-86',
+ 'Spencer-94',
+ 'Spencer-99',
+ 'SPL',
+ 'SPL-1.0',
+ 'SSH-OpenSSH',
+ 'SSH-short',
+ 'SSPL-1.0',
+ 'StandardML-NJ',
+ 'SugarCRM',
+ 'SugarCRM-1.1.3',
+ 'SWL',
+ 'TAPR-OHL-1.0',
+ 'TCL',
+ 'TCP-wrappers',
+ 'TMate',
+ 'TORQUE-1.1',
+ 'TOSL',
+ 'TPL',
+ 'TU-Berlin-1.0',
+ 'TU-Berlin-2.0',
+ 'UCD',
+ 'UCL-1.0',
+ 'Unicode-DFS-2015',
+ 'Unicode-DFS-2016',
+ 'Unicode-TOU',
+ 'Unlicense',
+ 'UPL',
+ 'UPL-1.0',
+ 'Vim',
+ 'VOSTROM',
+ 'VSL',
+ 'VSL-1.0',
+ 'W3C',
+ 'W3C-19980720',
+ 'W3C-20150513',
+ 'Watcom',
+ 'Watcom-1.0',
+ 'Wsuipa',
+ 'WTFPL',
+ 'wxWidgets',
+ 'wxWindows',
+ 'X11',
+ 'XConsortium',
+ 'Xerox',
+ 'XFree86',
+ 'XFree86-1.1',
+ 'XFree86-other',
+ 'xinetd',
+ 'Xnet',
+ 'xpp',
+ 'XSkat',
+ 'YPL-1.0',
+ 'YPL-1.1',
+ 'Zed',
+ 'Zend',
+ 'Zend-2.0',
+ 'Zimbra-1.3',
+ 'Zimbra-1.4',
+ 'Zlib',
+ 'zlib-acknowledgement',
+ 'ZPL-1.0',
+ 'ZPL-1.1',
+ 'ZPL-2.0',
+ 'ZPL-2.1',
+ # /usr/share/license-exception
+ '389-exception',
+ 'Autoconf-exception-2.0',
+ 'Autoconf-exception-3.0',
+ 'Bison-exception',
+ 'Bison-exception-2.2',
+ 'Bootloader-exception',
+ 'Classpath-exception',
+ 'Classpath-exception-2.0',
+ 'CLISP-exception',
+ 'CLISP-exception-2.0',
+ 'DigiRule-FOSS-exception',
+ 'eCos-exception',
+ 'eCos-exception-2.0',
+ 'Fawkes-Runtime-exception',
+ 'FLTK-exception',
+ 'Font-exception',
+ 'Font-exception-2.0',
+ 'freertos-exception',
+ 'freertos-exception-2.0',
+ 'GCC-exception-2.0',
+ 'GCC-exception-3.1',
+ 'gnu-javamail-exception',
+ 'GPL-CC-1.0',
+ 'i2p-gpl-java-exception',
+ 'Libtool-exception',
+ 'Linux-syscall-note',
+ 'LLVM-exception',
+ 'LZMA-exception',
+ 'mif-exception',
+ 'Nokia-Qt-exception',
+ 'Nokia-Qt-exception-1.1',
+ 'OCaml-LGPL-linking-exception',
+ 'OCCT-exception',
+ 'OCCT-exception-1.0',
+ 'OpenJDK-assembly-exception',
+ 'OpenJDK-assembly-exception-1.0',
+ 'openvpn-openssl-exception',
+ 'PS-or-PDF-font-exception-20170817',
+ 'Qt-GPL-exception',
+ 'Qt-GPL-exception-1.0',
+ 'Qt-LGPL-exception',
+ 'Qt-LGPL-exception-1.1',
+ 'Qwt-exception-1.0',
+ 'Swift-exception',
+ 'u-boot-exception',
+ 'u-boot-exception-2.0',
+ 'Universal-FOSS-exception-1.0',
+ 'WxWindows-exception',
+ 'WxWindows-exception-3.1',
+]
diff --git a/configs/ALT/scoring.toml b/configs/ALT/scoring.toml
new file mode 100644
index 0000000..e82c34e
--- /dev/null
+++ b/configs/ALT/scoring.toml
@@ -0,0 +1,33 @@
+[Scoring]
+arch-dependent-file-in-usr-share = 590
+arch-independent-package-contains-binary-or-object = 499
+binary-in-etc = 900
+devel-file-in-non-devel-package = 50
+dir-or-file-in-var-lock = 10000
+dir-or-file-in-var-run = 10000
+env-script-interpreter = 9
+executable-docs = 900
+file-contains-buildroot = 10000
+files-duplicated-waste = 100
+hardlink-across-config-files = 10000
+hardlink-across-partition = 10000
+info-dir-file = 10000
+invalid-license = 100000
+invalid-pkgconfig-file = 10000
+libtool-wrapper-in-package = 10000
+lto-bytecode = 10000
+lto-no-text-in-archive = 10000
+makefile-junk = 109
+no-pkg-config-provides = 300
+non-ghost-in-run = 10000
+non-position-independent-executable = 10000
+percent-in-conflicts = 10000
+percent-in-dependency = 10000
+percent-in-obsoletes = 10000
+percent-in-provides = 10000
+spurious-executable-perm = 50
+summary-ended-with-dot = 20
+summary-not-capitalized = 20
+summary-too-long = 200
+pam-unauthorized-module = 10000
+wrong-script-interpreter = 490
diff --git a/configs/ALT/users-groups.toml b/configs/ALT/users-groups.toml
new file mode 100644
index 0000000..1568535
--- /dev/null
+++ b/configs/ALT/users-groups.toml
@@ -0,0 +1,96 @@
+# based setup package
+
+StandardGroups = [
+ 'root',
+ 'bin',
+ 'daemon',
+ 'sys',
+ 'adm',
+ 'tty',
+ 'disk',
+ 'lp',
+ 'mem',
+ 'kmem',
+ 'wheel',
+ 'firewall',
+ 'mail',
+ 'news',
+ 'uucp',
+ 'man',
+ 'rpm',
+ 'console',
+ 'wnn',
+ 'proc',
+ 'games',
+ 'slocate',
+ 'cdrom',
+ 'squid',
+ 'chkpwd',
+ 'named',
+ 'shadow',
+ 'auth',
+ 'nscd',
+ 'rpcuser',
+ 'gopher',
+ 'netwatch',
+ 'rpc',
+ 'rpminst',
+ 'asterisk',
+ 'kqemu',
+ 'vmusers',
+ 'dip',
+ 'mailman',
+ 'postfix',
+ 'popa3d',
+ 'xfs',
+ 'mysql',
+ 'postgres',
+ 'gdm',
+ 'postman',
+ 'ftp:x',
+ 'ftpadmin',
+ 'cvs',
+ 'cvsadmin',
+ 'postdrop',
+ 'ldap',
+ 'loop',
+ 'floppy',
+ 'utmp',
+ 'exim',
+ 'cdwriter',
+ 'audio',
+ 'x10',
+ 'radio',
+ 'apache',
+ 'nobody',
+ 'users',
+]
+
+StandardUsers = [
+ 'root',
+ 'bin',
+ 'daemon',
+ 'adm',
+ 'lp',
+ 'mail',
+ 'news',
+ 'uucp',
+ 'games',
+ 'ftp',
+ 'squid',
+ 'named',
+ 'nscd',
+ 'rpcuser',
+ 'rpc',
+ 'mailman',
+ 'postfix',
+ 'popa3d',
+ 'xfs',
+ 'mysql',
+ 'postgres',
+ 'gdm',
+ 'ldap',
+ 'exim',
+ 'apache',
+ 'nobody',
+]
diff --git a/rpmlint/pkg.py b/rpmlint/pkg.py
index 3352885..9f063e2 100644
--- a/rpmlint/pkg.py
+++ b/rpmlint/pkg.py
@@ -16,12 +16,9 @@ from urllib.parse import urljoin
try:
import magic
- # TODO: magic.MAGIC_COMPRESS when PkgFile gets decompress support.
- _magic = magic.open(magic.MAGIC_NONE)
- _ = _magic.descriptor # magic >= 5.05 needed
- _magic.load()
+ has_magic = True
except ImportError:
- _magic = None
+ has_magic = False
import rpm
from rpmlint.helpers import byte_to_string, ENGLISH_ENVIROMENT, print_warning
from rpmlint.pkgfile import PkgFile
@@ -358,14 +355,9 @@ def parse_deps(line):
def get_magic(path):
- # file() method evaluates every file twice with python2,
- # use descriptor() method instead
try:
- fd = os.open(path, os.O_RDONLY)
- magic = byte_to_string(_magic.descriptor(fd))
- os.close(fd)
- return magic
- except OSError:
+ return magic.detect_from_filename(path).name
+ except ValueError:
return ''
@@ -590,7 +582,7 @@ class Pkg(AbstractPkg):
elif not pkgfile.size:
pkgfile.magic = 'empty'
if (not pkgfile.magic and
- not pkgfile.is_ghost and _magic):
+ not pkgfile.is_ghost and has_magic):
pkgfile.magic = get_magic(pkgfile.path)
if pkgfile.magic is None or Pkg._magic_from_compressed_re.search(pkgfile.magic):
# Discard magic from inside compressed files ('file -z')