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:
commit
59ec36eefb
12
_service
12
_service
@ -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>
|
@ -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>
|
@ -1 +0,0 @@
|
||||
setOption("AppDataChecker", ("appstream-util", "--nonet", "validate-relax"))
|
@ -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" ])
|
155
rpmlint-deps.txt
155
rpmlint-deps.txt
@ -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
|
@ -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>
|
||||
|
||||
|
@ -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))
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d854ee05f6c926c78e7a3afea307586a30d137c4a30e056663b9e797a771a138
|
||||
size 6056
|
@ -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
393
stdlib.txt
Normal 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
|
@ -1,2 +0,0 @@
|
||||
# vim: syntax=python
|
||||
setOption("WhitelistDataDir", [ "/opt/testing/share/rpmlint/data" ])
|
Loading…
Reference in New Issue
Block a user