Accepting request 910450 from devel:openSUSE:Factory:rpmlint

- Add run-time requirement for polkit-default-privs. 

- Rely on rpmlint auto-loading support for rpmlintrc files.

- Do not copy .override. config files.

- Properly redirect stdout to /dev/null.

- Try two for supporting multiple rpmlintrc, since shell for loops
  always loop, even if the files don't exist. 

- Support multiple rpmlintrc files correctly. 

- Use --mini-mode when calling rpmlint from rpmlint-mini package.

- Update to require rpmlint >= 2.
  * Due to rpmlint now being a proper Python package, build a virtual
    environment, and copy all Python requirements into it.
  * Replace rpmlint-deps.txt with stdlib.txt, as we need to provide the
    Python standard library directly.
  * Lightly rewrite rpmlint.wrapper to support the new world order.
- Drop the config snippets, they are not required with rpmlint 2.
- Renumber Source numbers.
- Filter some more warnings in rpmlint-mini.rpmlintrc.

OBS-URL: https://build.opensuse.org/request/show/910450
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpmlint-mini?expand=0&rev=107
This commit is contained in:
Dominique Leuenberger 2021-08-30 11:54:57 +00:00 committed by Git OBS Bridge
commit 59ec36eefb
13 changed files with 498 additions and 290 deletions

View File

@ -1,12 +0,0 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="versionformat">master</param>
<param name="url">https://github.com/openSUSE/rpmlint-security-whitelistings</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="compression">xz</param>
<param name="file">*.tar</param>
</service>
</services>

View File

@ -1,4 +0,0 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/rpmlint-security-whitelistings</param>
<param name="changesrevision">202314af16e2bec213d879ad12e68a01825c7a8b</param></service></servicedata>

View File

@ -1 +0,0 @@
setOption("AppDataChecker", ("appstream-util", "--nonet", "validate-relax"))

View File

@ -1,3 +0,0 @@
# vim: syntax=python
setOption("PolkitPrivsFiles", [ "/opt/testing/share/rpmlint/data/polkit-default-privs.standard" ])
setOption("PolkitRulesWhitelist", [ "/opt/testing/share/rpmlint/data/polkit-rules-whitelist.json" ])

View File

@ -1,155 +0,0 @@
abc.py
base64.py
bisect.py
_bootlocale.py
calendar.py
codecs.py
cp437.py
_collections_abc.py
collections/__init__.py
_compat_pickle.py
configparser.py
contextlib.py
copy.py
copyreg.py
datetime.py
dummy_threading.py
_dummy_thread.py
email/base64mime.py
email/charset.py
email/_encoded_words.py
email/encoders.py
email/errors.py
email/feedparser.py
email/header.py
email/__init__.py
email/iterators.py
email/message.py
email/_parseaddr.py
email/parser.py
email/_policybase.py
email/quoprimime.py
email/utils.py
encodings/aliases.py
encodings/ascii.py
encodings/__init__.py
encodings/latin_1.py
encodings/utf_8.py
enum.py
fnmatch.py
functools.py
__future__.py
genericpath.py
getopt.py
glob.py
hashlib.py
heapq.py
http/client.py
http/__init__.py
imp.py
importlib/__init__.py
importlib/machinery.py
importlib/util.py
io.py
json/decoder.py
json/scanner.py
json/encoder.py
json/__init__.py
json/tool.py
keyword.py
lib-dynload/array.cpython-3*-*-linux-gnu*.so
lib-dynload/_asyncio.cpython-3*-*-linux-gnu*.so
lib-dynload/audioop.cpython-3*-*-linux-gnu*.so
lib-dynload/binascii.cpython-3*-*-linux-gnu*.so
lib-dynload/_bisect.cpython-3*-*-linux-gnu*.so
lib-dynload/_blake2.cpython-3*-*-linux-gnu*.so
lib-dynload/cmath.cpython-3*-*-linux-gnu*.so
lib-dynload/_csv.cpython-3*-*-linux-gnu*.so
lib-dynload/_datetime.cpython-3*-*-linux-gnu*.so
lib-dynload/fcntl.cpython-3*-*-linux-gnu*.so
lib-dynload/grp.cpython-3*-*-linux-gnu*.so
lib-dynload/_heapq.cpython-3*-*-linux-gnu*.so
lib-dynload/_json.cpython-3*-*-linux-gnu*.so
lib-dynload/_lsprof.cpython-3*-*-linux-gnu*.so
lib-dynload/math.cpython-3*-*-linux-gnu*.so
lib-dynload/_md5.cpython-3*-*-linux-gnu*.so
lib-dynload/mmap.cpython-3*-*-linux-gnu*.so
lib-dynload/_multibytecodec.cpython-3*-*-linux-gnu*.so
lib-dynload/_multiprocessing.cpython-3*-*-linux-gnu*.so
lib-dynload/_opcode.cpython-3*-*-linux-gnu*.so
lib-dynload/ossaudiodev.cpython-3*-*-linux-gnu*.so
lib-dynload/parser.cpython-3*-*-linux-gnu*.so
lib-dynload/pyexpat.cpython-3*-*-linux-gnu*.so
lib-dynload/_posixsubprocess.cpython-3*-*-linux-gnu*.so
lib-dynload/_random.cpython-3*-*-linux-gnu*.so
lib-dynload/resource.cpython-3*-*-linux-gnu*.so
lib-dynload/select.cpython-3*-*-linux-gnu*.so
lib-dynload/_sha1.cpython-3*-*-linux-gnu*.so
lib-dynload/_sha256.cpython-3*-*-linux-gnu*.so
lib-dynload/_sha3.cpython-3*-*-linux-gnu*.so
lib-dynload/_sha512.cpython-3*-*-linux-gnu*.so
lib-dynload/_socket.cpython-3*-*-linux-gnu*.so
lib-dynload/spwd.cpython-3*-*-linux-gnu*.so
lib-dynload/_struct.cpython-3*-*-linux-gnu*.so
lib-dynload/syslog.cpython-3*-*-linux-gnu*.so
lib-dynload/termios.cpython-3*-*-linux-gnu*.so
lib-dynload/zlib.cpython-3*-*-linux-gnu*.so
linecache.py
locale.py
operator.py
os.py
pickle.py
posixpath.py
quopri.py
random.py
reprlib.py
re.py
selectors.py
shutil.py
signal.py
_sitebuiltins.py
site-packages/magic.py
site-packages/rpm/__init__.py
site-packages/rpm/_rpm*.so
site-packages/rpm/transaction.py
site.py
socket.py
sre_compile.py
sre_constants.py
sre_parse.py
stat.py
string.py
_strptime.py
struct.py
subprocess.py
_sysconfigdata_*_linux_*-linux-gnu*.py
sysconfig.py
tempfile.py
textwrap.py
threading.py
tokenize.py
token.py
traceback.py
types.py
urllib/error.py
urllib/__init__.py
urllib/parse.py
urllib/request.py
urllib/response.py
uu.py
warnings.py
weakref.py
_weakrefset.py
xml/dom/domreg.py
xml/dom/__init__.py
xml/dom/expatbuilder.py
xml/dom/minicompat.py
xml/dom/minidom.py
xml/dom/NodeFilter.py
xml/dom/xmlbuilder.py
xml/__init__.py
xml/parsers/expat.py
xml/parsers/__init__.py
xml/etree/ElementPath.py
xml/etree/ElementTree.py
zipfile.py

View File

@ -1,3 +1,52 @@
-------------------------------------------------------------------
Fri Aug 6 08:48:02 UTC 2021 - Martin Liška <mliska@suse.cz>
- Add run-time requirement for polkit-default-privs.
-------------------------------------------------------------------
Thu Aug 5 17:56:38 UTC 2021 - Martin Liška <mliska@suse.cz>
- Rely on rpmlint auto-loading support for rpmlintrc files.
-------------------------------------------------------------------
Thu Aug 5 13:11:51 UTC 2021 - Martin Liška <mliska@suse.cz>
- Do not copy .override. config files.
-------------------------------------------------------------------
Tue Aug 3 07:29:17 UTC 2021 - Martin Liška <mliska@suse.cz>
- Properly redirect stdout to /dev/null.
-------------------------------------------------------------------
Mon Jul 26 06:28:35 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Try two for supporting multiple rpmlintrc, since shell for loops
always loop, even if the files don't exist.
-------------------------------------------------------------------
Fri Jul 23 04:55:34 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Support multiple rpmlintrc files correctly.
-------------------------------------------------------------------
Thu Jul 22 15:22:01 UTC 2021 - Martin Liška <mliska@suse.cz>
- Use --mini-mode when calling rpmlint from rpmlint-mini package.
-------------------------------------------------------------------
Mon Jul 12 02:29:45 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Update to require rpmlint >= 2.
* Due to rpmlint now being a proper Python package, build a virtual
environment, and copy all Python requirements into it.
* Replace rpmlint-deps.txt with stdlib.txt, as we need to provide the
Python standard library directly.
* Lightly rewrite rpmlint.wrapper to support the new world order.
- Drop the config snippets, they are not required with rpmlint 2.
- Renumber Source numbers.
- Filter some more warnings in rpmlint-mini.rpmlintrc.
-------------------------------------------------------------------
Thu Mar 25 09:24:35 UTC 2021 - Matthias Gerstner <matthias.gerstner@suse.com>

View File

@ -1,20 +0,0 @@
#!/usr/bin/python3
import os, glob, Pkg
configs = [ '/opt/testing/share/rpmlint/config' ]
if os.environ.get("RPMLINT_MINI_CONFIG", None):
configs += os.environ.get("RPMLINT_MINI_CONFIG", '').split(' ')
else:
configs += glob.glob("/home/abuild/rpmbuild/SOURCES/*rpmlintrc")
configs += glob.glob("/usr/src/packages/SOURCES/*rpmlintrc")
configs += glob.glob('/opt/testing/share/rpmlint/mini/*.config')
configs += glob.glob('/etc/rpmlint/factory-strict.config')
for f in configs:
try:
exec(compile(open(f).read(), f, 'exec'))
except IOError:
pass
except Exception as e:
Pkg.warn('(none): W: error loading %s, skipping: %s' % (f, e))

View File

@ -1,3 +1,6 @@
addFilter("wrong-script-interpreter")
addFilter("library-without-ldconfig")
addFilter("python-bytecode-without-source")
addFilter("devel-file-in-non-devel-package")
addFilter("files-duplicate")
addFilter("filelist-forbidden-opt")
addFilter("invalid-url")

View File

@ -17,33 +17,27 @@
Name: rpmlint-mini
Version: 1.10
Version: 2.0
Release: 0
Summary: RPM file correctness checker
License: GPL-2.0-or-later
Group: System/Packages
URL: http://rpmlint.zarb.org/
Source: desktop-file-utils-0.24.tar.xz
Source2: rpmlint-security-whitelistings-master.tar.xz
Source100: rpmlint-deps.txt
Source101: rpmlint.wrapper
Source102: rpmlint-mini.config
Source103: polkit-default-privs.config
Source104: appdata_checker.config
Source105: whitelists.config
Source1000: rpmlint-mini.rpmlintrc
Source0: desktop-file-utils-0.24.tar.xz
Source1: stdlib.txt
Source2: rpmlint.wrapper
Source3: rpmlint-mini.rpmlintrc
# need to fetch the file from there
BuildRequires: checkbashisms
BuildRequires: dash
BuildRequires: glib2-devel
BuildRequires: glib2-devel-static
BuildRequires: libedit-devel
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: polkit-default-privs
BuildRequires: polkit-whitelisting
BuildRequires: rpmlint
BuildRequires: rpmlint >= 2
#!BuildIgnore: rpmlint-mini
Requires: cpio
Requires: polkit-default-privs
%description
rpmlint is a tool to check common errors on RPM packages. Binary and
@ -52,11 +46,6 @@ source packages can be checked.
%prep
%setup -q -n desktop-file-utils-0.24
[ -r COPYING ]
tar xf %{S:2}
# workaround rpmlintrc not being effective, because regular rpmlint is invoked
# instead of rpmlint-mini, see suse-build change here:
# https://github.com/openSUSE/obs-build/commit/1139134127373b058d3622bafb989c51e2ecc7b8
cp %{SOURCE1000} $HOME/.rpmlintrc
%build
%configure
@ -65,78 +54,54 @@ make %{?_smp_mflags} desktop-file-validate V=1 DESKTOP_FILE_UTILS_LIBS="%{_libdi
popd
%install
# test if the rpmlint works at all
# Check that rpmlint works at all
set +e
%{_bindir}/rpmlint rpmlint
%{_bindir}/rpmlint -i rpmlint
test $? -gt 0 -a $? -lt 60 && exit 1
set -e
# okay, lets put it together
mkdir -p %{buildroot}/opt/testing/share/rpmlint
install -m 755 -D src/desktop-file-validate %{buildroot}/opt/testing/bin/desktop-file-validate
# Build a virtual env
python3 -m venv %{buildroot}/opt/testing
# We don't need pip, or activation
%{buildroot}/opt/testing/bin/pip uninstall -y pip
rm %{buildroot}/opt/testing/bin/activate*
# We need these available
cp -a src/desktop-file-validate %{buildroot}/opt/testing/bin
cp -a %{_bindir}/dash %{_bindir}/checkbashisms %{buildroot}/opt/testing/bin
mkdir -p %{buildroot}/opt/testing/%{_lib}
cp -a %{_libdir}/libedit.so.0* %{buildroot}/opt/testing/%{_lib}
cp -a %{_datadir}/rpmlint/*.py %{buildroot}/opt/testing/share/rpmlint
# install config files
install -d -m 755 %{buildroot}/opt/testing/share/rpmlint/mini
for i in %{_sysconfdir}/rpmlint/{pie,licenses}.config "%{SOURCE103}" "%{SOURCE104}" "%{SOURCE105}"; do
cp $i %{buildroot}/opt/testing/share/rpmlint/mini
cp -a %{_libdir}/libedit.so.0* %{buildroot}/opt/testing/lib
# Install config files
install -d -m 755 %{buildroot}/opt/testing/share
cp -a %{_sysconfdir}/xdg/rpmlint %{buildroot}/opt/testing/share
# Override configs are selectively taken from rpmlint-strict
rm -f %{buildroot}/opt/testing/share/rpmlint/*.override.toml
# Python standard library, rpmlint dependencies, and the interpreter
pushd %{_libdir}/python%{py3_ver}
for file in $(cat %{SOURCE1}); do
exp=$(ls -1 $file)
install -D -m 644 $exp %{buildroot}/opt/testing/lib/python%{py3_ver}/$exp
done
install -m 644 -D %{_datadir}/rpmlint/config %{buildroot}/opt/testing/share/rpmlint/config
install -m 644 "%{SOURCE102}" %{buildroot}/opt/testing/share/rpmlint
# extra data
install -m 755 -d %{buildroot}/opt/testing/share/rpmlint/data
install -m 644 %{_sysconfdir}/polkit-default-privs.standard %{buildroot}/opt/testing/share/rpmlint/data
install -m 644 %{_sysconfdir}/polkit-rules-whitelist.json %{buildroot}/opt/testing/share/rpmlint/data
install -m 644 rpmlint-security-whitelistings-master/*.json %{buildroot}/opt/testing/share/rpmlint/data
#
pushd %{_libdir}/python%{py3_ver}/
for f in $(<%{SOURCE100}); do
find -path "*/$f" -exec install -D {} %{buildroot}/opt/testing/%{_lib}/python%{py3_ver}/{} \;
done
# ErlangCheck dependencies that are not under %_libdir but under /usr/lib :-(
cp -a %{python3_sitelib}/{construct,pybeam,six.py} %{buildroot}/opt/testing/%{_lib}/python%{py3_ver}/site-packages
install -D %{_bindir}/python3 %{buildroot}/opt/testing/bin/python3
cp -a %{_libdir}/libpython%{py3_ver}*.so.* %{buildroot}/opt/testing/%{_lib}
cp -a %{_bindir}/rpmlint %{buildroot}/opt/testing/share/rpmlint/rpmlint.py
pushd %{buildroot}/opt/testing/share/rpmlint
PYTHONOPTIMIZE=1 python3 -O -m compileall -b *.py
rm *.py
popd
pushd %{buildroot}/opt/testing/%{_lib}/python%{py3_ver}/
for f in `find -name \*.py | sort` ; do
cp -a %{python_sitearch}/{rpm,zstd}* %{buildroot}/opt/testing/lib/python%{py3_ver}/site-packages
cp -a %{python_sitelib} %{buildroot}/opt/testing/lib/python%{py3_ver}
cp -a %{_libdir}/libpython%{py3_ver}*.so.* %{buildroot}/opt/testing/lib
cp -a %{_libdir}/libexpat*.so.* %{buildroot}/opt/testing/lib
cp -a %{_bindir}/python3 %{buildroot}/opt/testing/bin
cp -a %{_bindir}/python%{py3_ver} %{buildroot}/opt/testing/bin
pushd %{buildroot}/opt/testing/lib/python%{py3_ver}/
for f in $(find -name \*.py | sort) ; do
PYTHONOPTIMIZE=1 python3 -O -m compileall -b $f
rm $f
done
popd
find %{buildroot}/opt/testing/ -name __pycache__ -print -exec rm -Rf {} +
find %{buildroot}/opt/testing/ -name __pycache__ -exec rm -rf {} +
# We need to force the shebang to be under /opt/testing
sed -e 's,/usr,/opt/testing,' %{_bindir}/rpmlint > %{buildroot}/opt/testing/bin/rpmlint.real
chmod a+x %{buildroot}/opt/testing/bin/rpmlint.real
rm -rf %{buildroot}/{usr,etc}
rm -f %{buildroot}/opt/testing/bin/rpmlint
install -m 755 -D %{SOURCE101} %{buildroot}/opt/testing/bin/rpmlint
# hackatlon
%define my_requires %{_builddir}/%{?buildsubdir}/%{name}-requires
cat << EOF > %{my_requires}
cat - > file.list
%{__find_requires} < file.list > requires.list
%{__find_provides} < file.list > provides.list
while read i; do
grep -F -v "\$i" requires.list > requires.list.new
mv requires.list.new requires.list
done < provides.list
cat requires.list
rm -f requires.list provides.list file.list
EOF
chmod +x %{my_requires}
%define _use_internal_dependency_generator 0
%define __find_requires %{my_requires}
%define __find_provides %{nil}
# final run check to detect python dep changes
LD_LIBRARY_PATH=%{buildroot}/opt/testing/%{_lib}
PYTHONPATH=%{buildroot}/opt/testing/share/rpmlint
PYTHONHOME=%{buildroot}/opt/testing/
export PYTHONPATH LD_LIBRARY_PATH PYTHONHOME
%{buildroot}/opt/testing/bin/python3 -tt -u -O %{buildroot}/opt/testing/share/rpmlint/rpmlint.pyc /.build.binaries/*.rpm 2>&1 || exit 1
echo ".. ok"
install -m 755 -D %{SOURCE2} %{buildroot}/opt/testing/bin/rpmlint
# We don't want requirements of libraries, or the odd shebang
%define __requires_exclude (^lib.*|python3)$
# We don't want to provide any libraries, or Python modules we ship
%define __provides_exclude ^(lib|python)
%files
/opt/testing

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d854ee05f6c926c78e7a3afea307586a30d137c4a30e056663b9e797a771a138
size 6056

View File

@ -1,12 +1,10 @@
#!/bin/sh
if test -d /opt/testing/lib64; then
LD_LIBRARY_PATH=/opt/testing/lib64
else
LD_LIBRARY_PATH=/opt/testing/lib
fi
LD_LIBRARY_PATH=/opt/testing/lib
PATH="/opt/testing/bin:$PATH"
rpmlintdir="/opt/testing/share/rpmlint"
PYTHONPATH="$rpmlintdir"
PYTHONHOME=/opt/testing
XDG_CONFIG_HOME="/opt/testing/share"
LC_ALL=en_US.utf-8
export PYTHONPATH LD_LIBRARY_PATH LC_ALL
exec /opt/testing/bin/python3 -u -O "$rpmlintdir"/rpmlint.pyc -C "$rpmlintdir" -f "$rpmlintdir"/rpmlint-mini.config "$@"
export PYTHONHOME LD_LIBRARY_PATH LC_ALL XDG_CONFIG_HOME
# rely on rpmlint auto-loading support for rpmlintrc files
exec /opt/testing/bin/rpmlint.real --mini-mode $@

393
stdlib.txt Normal file
View File

@ -0,0 +1,393 @@
__future__.py
_collections_abc.py
_compat_pickle.py
_compression.py
_pydecimal.py
_sitebuiltins.py
_strptime.py
_sysconfigdata*.py
_weakrefset.py
abc.py
argparse.py
base64.py
bisect.py
bz2.py
calendar.py
codecs.py
collections/abc.py
collections/__init__.py
configparser.py
concurrent/__init__.py
concurrent/futures/_base.py
concurrent/futures/__init__.py
concurrent/futures/process.py
concurrent/futures/thread.py
contextlib.py
copy.py
copyreg.py
csv.py
cProfile.py
datetime.py
decimal.py
dis.py
distutils/archive_util.py
distutils/bcppcompiler.py
distutils/ccompiler.py
distutils/cmd.py
distutils/config.py
distutils/core.py
distutils/cygwinccompiler.py
distutils/debug.py
distutils/dep_util.py
distutils/dir_util.py
distutils/dist.py
distutils/errors.py
distutils/extension.py
distutils/fancy_getopt.py
distutils/filelist.py
distutils/file_util.py
distutils/__init__.py
distutils/log.py
distutils/msvc9compiler.py
distutils/_msvccompiler.py
distutils/msvccompiler.py
distutils/spawn.py
distutils/sysconfig.py
distutils/text_file.py
distutils/unixccompiler.py
distutils/util.py
distutils/versionpredicate.py
distutils/version.py
distutils/command/bdist_dumb.py
distutils/command/bdist_msi.py
distutils/command/bdist.py
distutils/command/bdist_rpm.py
distutils/command/bdist_wininst.py
distutils/command/build_clib.py
distutils/command/build_ext.py
distutils/command/build.py
distutils/command/build_py.py
distutils/command/build_scripts.py
distutils/command/check.py
distutils/command/clean.py
distutils/command/config.py
distutils/command/__init__.py
distutils/command/install_data.py
distutils/command/install_egg_info.py
distutils/command/install_headers.py
distutils/command/install_lib.py
distutils/command/install.py
distutils/command/install_scripts.py
distutils/command/register.py
distutils/command/sdist.py
distutils/command/upload.py
email/base64mime.py
email/charset.py
email/contentmanager.py
email/_encoded_words.py
email/encoders.py
email/errors.py
email/feedparser.py
email/generator.py
email/header.py
email/headerregistry.py
email/_header_value_parser.py
email/__init__.py
email/iterators.py
email/message.py
email/_parseaddr.py
email/parser.py
email/_policybase.py
email/policy.py
email/quoprimime.py
email/utils.py
email/mime/application.py
email/mime/audio.py
email/mime/base.py
email/mime/image.py
email/mime/__init__.py
email/mime/message.py
email/mime/multipart.py
email/mime/nonmultipart.py
email/mime/text.py
encodings/aliases.py
encodings/ascii.py
encodings/base64_codec.py
encodings/big5hkscs.py
encodings/big5.py
encodings/bz2_codec.py
encodings/charmap.py
encodings/cp037.py
encodings/cp1006.py
encodings/cp1026.py
encodings/cp1125.py
encodings/cp1140.py
encodings/cp1250.py
encodings/cp1251.py
encodings/cp1252.py
encodings/cp1253.py
encodings/cp1254.py
encodings/cp1255.py
encodings/cp1256.py
encodings/cp1257.py
encodings/cp1258.py
encodings/cp273.py
encodings/cp424.py
encodings/cp437.py
encodings/cp500.py
encodings/cp720.py
encodings/cp737.py
encodings/cp775.py
encodings/cp850.py
encodings/cp852.py
encodings/cp855.py
encodings/cp856.py
encodings/cp857.py
encodings/cp858.py
encodings/cp860.py
encodings/cp861.py
encodings/cp862.py
encodings/cp863.py
encodings/cp864.py
encodings/cp865.py
encodings/cp866.py
encodings/cp869.py
encodings/cp874.py
encodings/cp875.py
encodings/cp932.py
encodings/cp949.py
encodings/cp950.py
encodings/euc_jis_2004.py
encodings/euc_jisx0213.py
encodings/euc_jp.py
encodings/euc_kr.py
encodings/gb18030.py
encodings/gb2312.py
encodings/gbk.py
encodings/hex_codec.py
encodings/hp_roman8.py
encodings/hz.py
encodings/idna.py
encodings/__init__.py
encodings/iso2022_jp_1.py
encodings/iso2022_jp_2004.py
encodings/iso2022_jp_2.py
encodings/iso2022_jp_3.py
encodings/iso2022_jp_ext.py
encodings/iso2022_jp.py
encodings/iso2022_kr.py
encodings/iso8859_10.py
encodings/iso8859_11.py
encodings/iso8859_13.py
encodings/iso8859_14.py
encodings/iso8859_15.py
encodings/iso8859_16.py
encodings/iso8859_1.py
encodings/iso8859_2.py
encodings/iso8859_3.py
encodings/iso8859_4.py
encodings/iso8859_5.py
encodings/iso8859_6.py
encodings/iso8859_7.py
encodings/iso8859_8.py
encodings/iso8859_9.py
encodings/johab.py
encodings/koi8_r.py
encodings/koi8_t.py
encodings/koi8_u.py
encodings/kz1048.py
encodings/latin_1.py
encodings/mac_arabic.py
encodings/mac_centeuro.py
encodings/mac_croatian.py
encodings/mac_cyrillic.py
encodings/mac_farsi.py
encodings/mac_greek.py
encodings/mac_iceland.py
encodings/mac_latin2.py
encodings/mac_romanian.py
encodings/mac_roman.py
encodings/mac_turkish.py
encodings/mbcs.py
encodings/oem.py
encodings/palmos.py
encodings/ptcp154.py
encodings/punycode.py
encodings/quopri_codec.py
encodings/raw_unicode_escape.py
encodings/rot_13.py
encodings/shift_jis_2004.py
encodings/shift_jis.py
encodings/shift_jisx0213.py
encodings/tis_620.py
encodings/undefined.py
encodings/unicode_escape.py
encodings/utf_16_be.py
encodings/utf_16_le.py
encodings/utf_16.py
encodings/utf_32_be.py
encodings/utf_32_le.py
encodings/utf_32.py
encodings/utf_7.py
encodings/utf_8.py
encodings/utf_8_sig.py
encodings/uu_codec.py
encodings/zlib_codec.py
enum.py
functools.py
fnmatch.py
genericpath.py
gettext.py
gzip.py
hashlib.py
heapq.py
importlib/abc.py
importlib/_bootstrap_external.py
importlib/_bootstrap.py
importlib/__init__.py
importlib/machinery.py
importlib/metadata.py
importlib/resources.py
importlib/util.py
inspect.py
io.py
keyword.py
lib-dynload/array.cpython*.so
lib-dynload/_asyncio.cpython*.so
lib-dynload/audioop.cpython*.so
lib-dynload/binascii.cpython*.so
lib-dynload/_bisect.cpython*.so
lib-dynload/_blake2.cpython*.so
lib-dynload/_bz2.cpython*.so
lib-dynload/cmath.cpython*.so
lib-dynload/_codecs_cn.cpython*.so
lib-dynload/_codecs_hk.cpython*.so
lib-dynload/_codecs_iso2022.cpython*.so
lib-dynload/_codecs_jp.cpython*.so
lib-dynload/_codecs_kr.cpython*.so
lib-dynload/_codecs_tw.cpython*.so
lib-dynload/_contextvars.cpython*.so
lib-dynload/_crypt.cpython*.so
lib-dynload/_csv.cpython*.so
lib-dynload/_ctypes.cpython*.so
lib-dynload/_datetime.cpython*.so
lib-dynload/_decimal.cpython*.so
lib-dynload/_elementtree.cpython*.so
lib-dynload/fcntl.cpython*.so
lib-dynload/grp.cpython*.so
lib-dynload/_hashlib.cpython*.so
lib-dynload/_heapq.cpython*.so
lib-dynload/_json.cpython*.so
lib-dynload/_lsprof.cpython*.so
lib-dynload/_lzma.cpython*.so
lib-dynload/math.cpython*.so
lib-dynload/_md5.cpython*.so
lib-dynload/mmap.cpython*.so
lib-dynload/_multibytecodec.cpython*.so
lib-dynload/_multiprocessing.cpython*.so
lib-dynload/_opcode.cpython*.so
lib-dynload/ossaudiodev.cpython*.so
lib-dynload/parser.cpython*.so
lib-dynload/_pickle.cpython*.so
lib-dynload/_posixshmem.cpython*.so
lib-dynload/_posixsubprocess.cpython*.so
lib-dynload/pyexpat.cpython*.so
lib-dynload/_queue.cpython*.so
lib-dynload/_random.cpython*.so
lib-dynload/resource.cpython*.so
lib-dynload/select.cpython*.so
lib-dynload/_sha1.cpython*.so
lib-dynload/_sha256.cpython*.so
lib-dynload/_sha3.cpython*.so
lib-dynload/_sha512.cpython*.so
lib-dynload/_socket.cpython*.so
lib-dynload/spwd.cpython*.so
lib-dynload/_ssl.cpython*.so
lib-dynload/_statistics.cpython*.so
lib-dynload/_struct.cpython*.so
lib-dynload/syslog.cpython*.so
lib-dynload/termios.cpython*.so
lib-dynload/unicodedata.cpython*.so
lib-dynload/_uuid.cpython*.so
lib-dynload/_xxsubinterpreters.cpython*.so
lib-dynload/_xxtestfuzz.cpython*.so
lib-dynload/zlib.cpython*.so
linecache.py
locale.py
logging/config.py
logging/handlers.py
logging/__init__.py
lzma.py
ntpath.py
numbers.py
opcode.py
operator.py
pathlib.py
pickle.py
pkgutil.py
platform.py
plistlib.py
posixpath.py
pprint.py
profile.py
pstats.py
queue.py
quopri.py
os.py
random.py
re.py
reprlib.py
selectors.py
shlex.py
shutil.py
signal.py
site.py
socket.py
sre_compile.py
sre_constants.py
sre_parse.py
stat.py
string.py
struct.py
subprocess.py
sysconfig.py
tempfile.py
textwrap.py
threading.py
token.py
tokenize.py
traceback.py
types.py
urllib/error.py
urllib/__init__.py
urllib/parse.py
urllib/request.py
urllib/response.py
urllib/robotparser.py
uu.py
warnings.py
weakref.py
xml/__init__.py
xml/dom/domreg.py
xml/dom/expatbuilder.py
xml/dom/__init__.py
xml/dom/minicompat.py
xml/dom/minidom.py
xml/dom/NodeFilter.py
xml/dom/pulldom.py
xml/dom/xmlbuilder.py
xml/etree/cElementTree.py
xml/etree/ElementInclude.py
xml/etree/ElementPath.py
xml/etree/ElementTree.py
xml/etree/__init__.py
xml/parsers/expat.py
xml/parsers/__init__.py
xml/sax/_exceptions.py
xml/sax/expatreader.py
xml/sax/handler.py
xml/sax/__init__.py
xml/sax/saxutils.py
xml/sax/xmlreader.py
zipfile.py
zipimport.py

View File

@ -1,2 +0,0 @@
# vim: syntax=python
setOption("WhitelistDataDir", [ "/opt/testing/share/rpmlint/data" ])