Accepting request 905729 from home:StevenK:branches:devel:openSUSE:Factory:rpmlint

* Replace rpmlint-deps.txt with stdlib.txt, as we need to provide the
    Python standard library directly.

OBS-URL: https://build.opensuse.org/request/show/905729
OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint-mini?expand=0&rev=140
This commit is contained in:
Martin Liška 2021-07-12 05:00:40 +00:00 committed by Git OBS Bridge
parent c2a84edd7f
commit 3112d31d9e
4 changed files with 410 additions and 8 deletions

View File

@ -1,10 +1,11 @@
-------------------------------------------------------------------
Tue Jun 22 07:56:52 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
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.
* Drop rpmlint-deps.txt as no longer required.
* 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.

View File

@ -23,8 +23,9 @@ Summary: RPM file correctness checker
License: GPL-2.0-or-later
URL: http://rpmlint.zarb.org/
Source0: desktop-file-utils-0.24.tar.xz
Source1: rpmlint.wrapper
Source2: rpmlint-mini.rpmlintrc
Source1: stdlib.txt
Source2: rpmlint.wrapper
Source3: rpmlint-mini.rpmlintrc
# need to fetch the file from there
BuildRequires: checkbashisms
BuildRequires: dash
@ -75,10 +76,17 @@ cp -a %{_sysconfdir}/xdg/rpmlint %{buildroot}/opt/testing/share
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
# Python dependencies, along with the interpreter, and its library
# 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
popd
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}/
@ -92,7 +100,7 @@ find %{buildroot}/opt/testing/ -name __pycache__ -exec rm -rf {} +
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}
install -m 755 -D %{SOURCE1} %{buildroot}/opt/testing/bin/rpmlint
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

View File

@ -2,10 +2,10 @@
LD_LIBRARY_PATH=/opt/testing/lib
PATH="/opt/testing/bin:$PATH"
VIRTUAL_ENV=/opt/testing
PYTHONHOME=/opt/testing
XDG_CONFIG_HOME="/opt/testing/share"
LC_ALL=en_US.utf-8
export VIRTUAL_ENV LD_LIBRARY_PATH LC_ALL XDG_CONFIG_HOME
export PYTHONHOME LD_LIBRARY_PATH LC_ALL XDG_CONFIG_HOME
args=""
rpmlintrc=$(ls -1 /home/abuild/rpmbuild/SOURCES/*rpmlintrc 2>/dev/null)
if [ -n "$rpmlintrc" ]; then

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