Warning: Permanently added '100.27.46.82' (ECDSA) to the list of known hosts. Running: /usr/bin/copr-rpmbuild --verbose --drop-resultdir --build-id 1123015 --chroot centos-stream-x86_64 --detached Version: 0.31 Task: {'build_id': 1123015, 'buildroot_pkgs': [], 'chroot': 'centos-stream-x86_64', 'enable_net': False, 'fetch_sources_only': True, 'git_hash': '93f9fcb2dc2390e4894ab5803d0da6e80f621e08', 'git_repo': '@openstack-sig/centos8-deps/python-beautifulsoup4', 'memory_reqs': 2048, 'package_name': 'python-beautifulsoup4', 'package_version': '4.8.1-1.fc29', 'project_dirname': 'centos8-deps', 'project_name': 'centos8-deps', 'project_owner': '@openstack-sig', 'repos': [{'baseurl': 'https://copr-be.cloud.fedoraproject.org/results/@openstack-sig/centos8-deps/centos-stream-x86_64/', 'id': 'copr_base', 'name': 'Copr repository'}, {'baseurl': 'http://mirror.centos.org/centos/8/BaseOS/x86_64/os/', 'id': 'http_mirror_centos_org_centos_8_BaseOS_x86_64_os', 'name': 'Additional repo http_mirror_centos_org_centos_8_BaseOS_x86_64_os'}, {'baseurl': 'http://mirror.centos.org/centos/8/AppStream/x86_64/os/', 'id': 'http_mirror_centos_org_centos_8_AppStream_x86_64_os', 'name': 'Additional repo http_mirror_centos_org_centos_8_AppStream_x86_64_os'}, {'baseurl': 'http://mirror.centos.org/centos/8/PowerTools/x86_64/os/', 'id': 'http_mirror_centos_org_centos_8_PowerTools_x86_64_os', 'name': 'Additional repo http_mirror_centos_org_centos_8_PowerTools_x86_64_os'}, {'baseurl': 'http://38.145.34.66/test-mock/', 'id': 'http_38_145_34_66_test_mock', 'name': 'Additional repo http_38_145_34_66_test_mock'}], 'sandbox': '@openstack-sig/centos8-deps--amoralej', 'source_json': {'clone_url': 'https://copr-dist-git.fedorainfracloud.org/git/@openstack-sig/centos8-deps/python-beautifulsoup4.git', 'committish': '93f9fcb2dc2390e4894ab5803d0da6e80f621e08'}, 'source_type': 8, 'submitter': 'amoralej', 'task_id': '1123015-centos-stream-x86_64', 'timeout': 75600, 'use_bootstrap_container': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/@openstack-sig/centos8-deps/python-beautifulsoup4.git /tmp/tmpqkv79c1t/python-beautifulsoup4 --depth 500 --no-single-branch cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/@openstack-sig/centos8-deps/python-beautifulsoup4.git', '/tmp/tmpqkv79c1t/python-beautifulsoup4', '--depth', '500', '--no-single-branch'] cwd: . rc: 0 stdout: stderr: Cloning into '/tmp/tmpqkv79c1t/python-beautifulsoup4'... Running: git checkout 93f9fcb2dc2390e4894ab5803d0da6e80f621e08 cmd: ['git', 'checkout', '93f9fcb2dc2390e4894ab5803d0da6e80f621e08'] cwd: /tmp/tmpqkv79c1t/python-beautifulsoup4 rc: 0 stdout: stderr: Note: switching to '93f9fcb2dc2390e4894ab5803d0da6e80f621e08'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 93f9fcb automatic import of python-beautifulsoup4 Running: cp -r . /tmp/tmpfas5z43c cmd: ['cp', '-r', '.', '/tmp/tmpfas5z43c'] cwd: /tmp/tmpqkv79c1t/python-beautifulsoup4 rc: 0 stdout: stderr: Generated rpkg config: [rpkg] preprocess_spec = True # auto-packing is deprecated: auto_pack = True [git] lookaside = https://copr-dist-git.fedorainfracloud.org/repo/pkgs/%(ns2)s/%(ns1)s/%(name)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s anongiturl = https://copr-dist-git.fedorainfracloud.org/git/%(module)s Writing config into /tmp/tmpqkv79c1t/.config/rpkg.conf Running: rpkg -C /tmp/tmpqkv79c1t/.config/rpkg.conf sources --outdir /tmp/tmpfas5z43c cmd: ['rpkg', '-C', '/tmp/tmpqkv79c1t/.config/rpkg.conf', 'sources', '--outdir', '/tmp/tmpfas5z43c'] cwd: /tmp/tmpqkv79c1t/python-beautifulsoup4 rc: 0 stdout: Downloading beautifulsoup4-4.8.1.tar.gz from lookaside cache at copr-dist-git.fedorainfracloud.org stderr: /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=75600): unbuffer mock --buildsrpm --spec /tmp/tmpfas5z43c/python-beautifulsoup4.spec --sources /tmp/tmpfas5z43c --configdir /var/lib/copr-rpmbuild/results/configs --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1575386530.746475 -r child WARNING: Could not find required logging config file: /var/lib/copr-rpmbuild/results/configs/logging.ini. Using default... INFO: mock.py version 1.4.21 starting (python version = 3.7.5)... Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/tmp/tmpfas5z43c/python-beautifulsoup4.spec) Config(1123015-centos-stream-x86_64) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/1123015-centos-stream-x86_64-1575386530.746475/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled HW Info plugin Mock Version: 1.4.21 INFO: Mock Version: 1.4.21 Start: dnf install No matches found for the following disable plugin patterns: local, spacewalk Copr repository 591 kB/s | 652 kB 00:01 Additional repo http_mirror_centos_org_centos_8 10 MB/s | 7.9 MB 00:00 Additional repo http_mirror_centos_org_centos_8 27 MB/s | 6.3 MB 00:00 Additional repo http_mirror_centos_org_centos_8 9.3 MB/s | 1.8 MB 00:00 Additional repo http_38_145_34_66_test_mock 257 kB/s | 103 kB 00:00 CentOS-Stream - Base 10 MB/s | 6.0 MB 00:00 CentOS-Stream - AppStream 10 MB/s | 5.9 MB 00:00 CentOS-Stream - Extras 37 kB/s | 2.1 kB 00:00 CentOS-Stream - PowerTools 6.9 MB/s | 1.8 MB 00:00 Dependencies resolved. ================================================================================ Package ArchVersion Repository Size ================================================================================ Installing: bash x86_644.4.19-8.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.5 M bzip2 x86_641.0.6-26.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 60 k centos-release x86_648.0-0.1905.0.9.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 26 k coreutils x86_648.30-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.2 M cpio x86_642.12-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 265 k diffutils x86_643.6-5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 359 k findutils x86_641:4.6.0-20.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 528 k gawk x86_644.2.1-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.1 M grep x86_643.1-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 274 k gzip x86_641.9-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 166 k info x86_646.5-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 198 k make x86_641:4.2.1-9.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 498 k patch x86_642.7.6-9.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 138 k sed x86_644.5-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 298 k shadow-utils x86_642:4.6-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.2 M tar x86_642:1.30-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 838 k unzip x86_646.0-41.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 193 k util-linux x86_642.32.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 2.5 M which x86_642.21-10.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 49 k xz x86_645.2.4-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 153 k gcc x86_648.2.1-3.5.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 23 M gcc-c++ x86_648.2.1-3.5.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 12 M redhat-rpm-config noarch116-1.el8.0.1 http_mirror_centos_org_centos_8_AppStream_x86_64_os 82 k rpm-build x86_644.14.2-11.el8_0 http_mirror_centos_org_centos_8_AppStream_x86_64_os 166 k Installing dependencies: brotli x86_641.0.7-8.el8 copr_base 323 k python3-setuptools noarch41.6.0-1.el8 copr_base 665 k acl x86_642.2.53-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 81 k audit-libs x86_643.0-0.10.20180831git0047a6c.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 116 k basesystem noarch11-5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 10 k binutils x86_642.30-49.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 5.7 M bzip2-libs x86_641.0.6-26.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 48 k ca-certificates noarch2018.2.24-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 394 k chkconfig x86_641.11-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 189 k coreutils-common x86_648.30-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 2.0 M cracklib x86_642.9.6-15.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 93 k crypto-policies noarch20181217-6.git9a35207.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 54 k cryptsetup-libs x86_642.0.6-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 320 k curl x86_647.61.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 352 k cyrus-sasl-lib x86_642.1.27-0.3rc7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 123 k dbus x86_641:1.12.8-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 40 k dbus-common noarch1:1.12.8-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 45 k dbus-daemon x86_641:1.12.8-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 240 k dbus-libs x86_641:1.12.8-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 183 k dbus-tools x86_641:1.12.8-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 85 k device-mapper x86_648:1.02.155-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 370 k device-mapper-libs x86_648:1.02.155-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 402 k dracut x86_64049-10.git20190115.el8_0.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 361 k elfutils x86_640.174-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 344 k elfutils-default-yama-scope noarch0.174-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 46 k elfutils-libelf x86_640.174-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 210 k elfutils-libs x86_640.174-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 316 k expat x86_642.2.5-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 110 k file x86_645.33-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 76 k file-libs x86_645.33-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 542 k filesystem x86_643.8-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.1 M gdbm x86_641:1.18-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 130 k gdbm-libs x86_641:1.18-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 60 k gettext x86_640.19.8.1-14.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.1 M gettext-libs x86_640.19.8.1-14.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 311 k glib2 x86_642.56.4-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 2.5 M glibc x86_642.28-42.el8.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 3.8 M glibc-all-langpacks x86_642.28-42.el8.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 25 M glibc-common x86_642.28-42.el8.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 812 k glibc-devel x86_642.28-42.el8.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.0 M glibc-headers x86_642.28-42.el8.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 465 k gmp x86_641:6.1.2-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 319 k gnupg2 x86_642.2.9-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 2.3 M gnutls x86_643.6.5-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 896 k grub2-common noarch1:2.02-66.el8_0.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 880 k grub2-tools x86_641:2.02-66.el8_0.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.9 M grub2-tools-minimal x86_641:2.02-66.el8_0.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 196 k ima-evm-utils x86_641.1-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 55 k iptables-libs x86_641.8.2-9.el8_0.1 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 97 k json-c x86_640.13.1-0.2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 40 k kbd-legacy noarch2.0.4-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 481 k kbd-misc noarch2.0.4-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.4 M keyutils-libs x86_641.5.10-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 34 k kmod x86_6425-11.el8_0.2 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 127 k kmod-libs x86_6425-11.el8_0.2 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 69 k krb5-libs x86_641.16.1-22.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 840 k libacl x86_642.2.53-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 35 k libarchive x86_643.3.2-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 358 k libassuan x86_642.5.1-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 83 k libattr x86_642.4.48-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 27 k libblkid x86_642.32.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 213 k libcap x86_642.25-9.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 57 k libcap-ng x86_640.7.9-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 33 k libcom_err x86_641.44.3-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 48 k libcroco x86_640.6.12-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 113 k libcurl x86_647.61.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 294 k libdb x86_645.3.28-36.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 750 k libdb-utils x86_645.3.28-36.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 150 k libfdisk x86_642.32.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 247 k libffi x86_643.1-18.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 37 k libgcc x86_648.2.1-3.5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 77 k libgcrypt x86_641.8.3-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 459 k libgomp x86_648.2.1-3.5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 189 k libgpg-error x86_641.31-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 242 k libidn2 x86_642.0.5-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 90 k libkcapi x86_641.1.1-16_1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 47 k libkcapi-hmaccalc x86_641.1.1-16_1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 30 k libksba x86_641.3.5-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 135 k libmetalink x86_640.1.3-7.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 32 k libmount x86_642.32.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 229 k libnghttp2 x86_641.33.0-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 77 k libnsl2 x86_641.2.0-2.20180605git4a062cf.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 58 k libpcap x86_6414:1.9.0-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 160 k libpkgconf x86_641.4.2-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 35 k libpsl x86_640.20.2-5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 61 k libpwquality x86_641.4.0-9.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 103 k libseccomp x86_642.3.3-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 64 k libsecret x86_640.18.6-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 163 k libselinux x86_642.8-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 178 k libsemanage x86_642.8-5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 162 k libsepol x86_642.8-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 338 k libsigsegv x86_642.11-5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 30 k libsmartcols x86_642.32.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 173 k libssh x86_640.8.5-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 227 k libstdc++ x86_648.2.1-3.5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 448 k libtasn1 x86_644.13-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 76 k libtirpc x86_641.1.4-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 112 k libtool-ltdl x86_642.4.6-25.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 58 k libunistring x86_640.9.9-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 422 k libusbx x86_641.0.22-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 71 k libutempter x86_641.1.6-14.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 32 k libuuid x86_642.32.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 93 k libverto x86_640.3.0-5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 24 k libxcrypt x86_644.1.1-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 73 k libxcrypt-devel x86_644.1.1-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 25 k libxml2 x86_642.9.7-5.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 696 k lua-libs x86_645.3.4-10.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 118 k lz4-libs x86_641.8.1.2-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 55 k mpfr x86_643.1.6-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 221 k ncurses x86_646.1-7.20180224.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 387 k ncurses-base noarch6.1-7.20180224.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 81 k ncurses-libs x86_646.1-7.20180224.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 335 k nettle x86_643.4.1-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 302 k npth x86_641.5-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 26 k openldap x86_642.4.46-9.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 352 k openssl x86_641:1.1.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 664 k openssl-libs x86_641:1.1.1-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.4 M os-prober x86_641.74-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 51 k p11-kit x86_640.23.14-5.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 272 k p11-kit-trust x86_640.23.14-5.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 139 k pam x86_641.3.1-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 734 k pcre x86_648.42-4.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 208 k pcre2 x86_6410.32-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 244 k pkgconf x86_641.4.2-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 38 k pkgconf-m4 noarch1.4.2-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 17 k pkgconf-pkg-config x86_641.4.2-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 15 k platform-python x86_643.6.8-4.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 79 k platform-python-pip noarch9.0.3-13.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.8 M popt x86_641.16-14.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 61 k procps-ng x86_643.3.15-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 329 k publicsuffix-list-dafsa noarch20180723-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 56 k python3-libs x86_643.6.8-4.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 7.9 M readline x86_647.0-10.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 199 k rpm x86_644.14.2-11.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 537 k rpm-build-libs x86_644.14.2-11.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 150 k rpm-libs x86_644.14.2-11.el8_0 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 333 k setup noarch2.12.2-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 180 k sqlite-libs x86_643.26.0-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 579 k systemd-libs x86_64239-13.el8_0.5 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 551 k systemd-pam x86_64239-13.el8_0.5 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 222 k systemd-udev x86_64239-13.el8_0.5 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 1.3 M trousers-lib x86_640.3.14-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 168 k tzdata noarch2019a-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 465 k xz-libs x86_645.2.4-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 94 k zip x86_643.0-23.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 270 k zlib x86_641.2.11-10.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 101 k annobin x86_648.64-1.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 187 k cpp x86_648.2.1-3.5.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 10 M dwz x86_640.12-9.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 109 k efi-srpm-macros noarch3-2.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 22 k gc x86_647.6.4-3.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 109 k gdb-headless x86_648.2-6.el8_0 http_mirror_centos_org_centos_8_AppStream_x86_64_os 3.7 M ghc-srpm-macros noarch1.4.2-7.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 9.3 k go-srpm-macros noarch2-16.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 14 k guile x86_645:2.0.14-7.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 3.5 M isl x86_640.16.1-6.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 841 k libatomic_ops x86_647.6.2-3.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 38 k libbabeltrace x86_641.5.4-2.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 201 k libipt x86_641.6.1-8.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 50 k libmpc x86_641.0.2-9.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 59 k libstdc++-devel x86_648.2.1-3.5.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 2.0 M ocaml-srpm-macros noarch5-4.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 9.4 k openblas-srpm-macros noarch2-2.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 7.9 k perl-srpm-macros noarch1-25.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 11 k python-srpm-macros noarch3-37.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 14 k python3-rpm-macros noarch3-37.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 13 k qt5-srpm-macros noarch5.11.1-2.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 11 k rust-srpm-macros noarch5-2.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 9.2 k xkeyboard-config noarch2.24-3.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 828 k kernel-headers x86_644.18.0-147.6.el8 Stream-BaseOS 2.9 M Installing weak dependencies: cracklib-dicts x86_642.9.6-15.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 4.0 M gnupg2-smime x86_642.2.9-1.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 279 k grubby x86_648.40-34.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 49 k hardlink x86_641:1.3-6.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 29 k kbd x86_642.0.4-8.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 392 k kpartx x86_640.7.8-7.el8_0.2 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 100 k openssl-pkcs11 x86_640.4.8-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 64 k pigz x86_642.4-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 79 k shared-mime-info x86_641.9-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 329 k systemd x86_64239-13.el8_0.5 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 3.4 M trousers x86_640.3.14-2.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 153 k libxkbcommon x86_640.8.2-1.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 116 k pinentry x86_641.1.0-2.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 100 k Transaction Summary ================================================================================ Install 207 Packages Total download size: 170 M Installed size: 674 M Downloading Packages: (1/207): acl-2.2.53-1.el8.x86_64.rpm 1.4 MB/s | 81 kB 00:00 (2/207): audit-libs-3.0-0.10.20180831git0047a6c 3.5 MB/s | 116 kB 00:00 (3/207): basesystem-11-5.el8.noarch.rpm 765 kB/s | 10 kB 00:00 (4/207): bash-4.4.19-8.el8_0.x86_64.rpm 5.9 MB/s | 1.5 MB 00:00 (5/207): brotli-1.0.7-8.el8.x86_64.rpm 520 kB/s | 323 kB 00:00 (6/207): bzip2-1.0.6-26.el8.x86_64.rpm 1.9 MB/s | 60 kB 00:00 (7/207): bzip2-libs-1.0.6-26.el8.x86_64.rpm 3.9 MB/s | 48 kB 00:00 (8/207): ca-certificates-2018.2.24-6.el8.noarch 9.5 MB/s | 394 kB 00:00 (9/207): centos-release-8.0-0.1905.0.9.el8.x86_ 3.0 MB/s | 26 kB 00:00 (10/207): chkconfig-1.11-1.el8.x86_64.rpm 17 MB/s | 189 kB 00:00 (11/207): python3-setuptools-41.6.0-1.el8.noarc 892 kB/s | 665 kB 00:00 (12/207): coreutils-8.30-6.el8.x86_64.rpm 30 MB/s | 1.2 MB 00:00 (13/207): cpio-2.12-8.el8.x86_64.rpm 7.8 MB/s | 265 kB 00:00 (14/207): cracklib-2.9.6-15.el8.x86_64.rpm 7.9 MB/s | 93 kB 00:00 (15/207): cracklib-dicts-2.9.6-15.el8.x86_64.rp 50 MB/s | 4.0 MB 00:00 (16/207): crypto-policies-20181217-6.git9a35207 6.1 MB/s | 54 kB 00:00 (17/207): cryptsetup-libs-2.0.6-1.el8.x86_64.rp 22 MB/s | 320 kB 00:00 (18/207): curl-7.61.1-8.el8.x86_64.rpm 17 MB/s | 352 kB 00:00 (19/207): cyrus-sasl-lib-2.1.27-0.3rc7.el8.x86_ 12 MB/s | 123 kB 00:00 (20/207): dbus-1.12.8-7.el8.x86_64.rpm 3.1 MB/s | 40 kB 00:00 (21/207): dbus-common-1.12.8-7.el8.noarch.rpm 4.9 MB/s | 45 kB 00:00 (22/207): coreutils-common-8.30-6.el8.x86_64.rp 8.2 MB/s | 2.0 MB 00:00 (23/207): dbus-daemon-1.12.8-7.el8.x86_64.rpm 12 MB/s | 240 kB 00:00 (24/207): dbus-libs-1.12.8-7.el8.x86_64.rpm 16 MB/s | 183 kB 00:00 (25/207): dbus-tools-1.12.8-7.el8.x86_64.rpm 8.5 MB/s | 85 kB 00:00 (26/207): device-mapper-1.02.155-6.el8.x86_64.r 16 MB/s | 370 kB 00:00 (27/207): device-mapper-libs-1.02.155-6.el8.x86 14 MB/s | 402 kB 00:00 (28/207): diffutils-3.6-5.el8.x86_64.rpm 14 MB/s | 359 kB 00:00 (29/207): binutils-2.30-49.el8.x86_64.rpm 7.9 MB/s | 5.7 MB 00:00 (30/207): elfutils-0.174-6.el8.x86_64.rpm 7.7 MB/s | 344 kB 00:00 (31/207): dracut-049-10.git20190115.el8_0.1.x86 5.5 MB/s | 361 kB 00:00 (32/207): elfutils-default-yama-scope-0.174-6.e 2.8 MB/s | 46 kB 00:00 (33/207): elfutils-libelf-0.174-6.el8.x86_64.rp 12 MB/s | 210 kB 00:00 (34/207): elfutils-libs-0.174-6.el8.x86_64.rpm 15 MB/s | 316 kB 00:00 (35/207): expat-2.2.5-3.el8.x86_64.rpm 7.5 MB/s | 110 kB 00:00 (36/207): file-5.33-8.el8.x86_64.rpm 4.9 MB/s | 76 kB 00:00 (37/207): file-libs-5.33-8.el8.x86_64.rpm 14 MB/s | 542 kB 00:00 (38/207): filesystem-3.8-2.el8.x86_64.rpm 26 MB/s | 1.1 MB 00:00 (39/207): findutils-4.6.0-20.el8.x86_64.rpm 13 MB/s | 528 kB 00:00 (40/207): gdbm-1.18-1.el8.x86_64.rpm 6.3 MB/s | 130 kB 00:00 (41/207): gdbm-libs-1.18-1.el8.x86_64.rpm 2.9 MB/s | 60 kB 00:00 (42/207): gawk-4.2.1-1.el8.x86_64.rpm 31 MB/s | 1.1 MB 00:00 (43/207): gettext-libs-0.19.8.1-14.el8.x86_64.r 11 MB/s | 311 kB 00:00 (44/207): gettext-0.19.8.1-14.el8.x86_64.rpm 23 MB/s | 1.1 MB 00:00 (45/207): glib2-2.56.4-1.el8.x86_64.rpm 26 MB/s | 2.5 MB 00:00 (46/207): glibc-2.28-42.el8.1.x86_64.rpm 30 MB/s | 3.8 MB 00:00 (47/207): glibc-common-2.28-42.el8.1.x86_64.rpm 14 MB/s | 812 kB 00:00 (48/207): glibc-headers-2.28-42.el8.1.x86_64.rp 12 MB/s | 465 kB 00:00 (49/207): glibc-devel-2.28-42.el8.1.x86_64.rpm 18 MB/s | 1.0 MB 00:00 (50/207): gmp-6.1.2-8.el8.x86_64.rpm 8.0 MB/s | 319 kB 00:00 (51/207): gnupg2-smime-2.2.9-1.el8.x86_64.rpm 13 MB/s | 279 kB 00:00 (52/207): gnupg2-2.2.9-1.el8.x86_64.rpm 24 MB/s | 2.3 MB 00:00 (53/207): gnutls-3.6.5-2.el8.x86_64.rpm 17 MB/s | 896 kB 00:00 (54/207): grep-3.1-6.el8.x86_64.rpm 7.5 MB/s | 274 kB 00:00 (55/207): grub2-common-2.02-66.el8_0.1.noarch.r 19 MB/s | 880 kB 00:00 (56/207): grub2-tools-minimal-2.02-66.el8_0.1.x 6.9 MB/s | 196 kB 00:00 (57/207): grub2-tools-2.02-66.el8_0.1.x86_64.rp 29 MB/s | 1.9 MB 00:00 (58/207): grubby-8.40-34.el8.x86_64.rpm 1.7 MB/s | 49 kB 00:00 (59/207): hardlink-1.3-6.el8.x86_64.rpm 3.6 MB/s | 29 kB 00:00 (60/207): gzip-1.9-4.el8.x86_64.rpm 9.9 MB/s | 166 kB 00:00 (61/207): ima-evm-utils-1.1-4.el8.x86_64.rpm 3.4 MB/s | 55 kB 00:00 (62/207): info-6.5-4.el8.x86_64.rpm 9.6 MB/s | 198 kB 00:00 (63/207): iptables-libs-1.8.2-9.el8_0.1.x86_64. 6.3 MB/s | 97 kB 00:00 (64/207): json-c-0.13.1-0.2.el8.x86_64.rpm 2.7 MB/s | 40 kB 00:00 (65/207): kbd-2.0.4-8.el8.x86_64.rpm 17 MB/s | 392 kB 00:00 (66/207): kbd-legacy-2.0.4-8.el8.noarch.rpm 18 MB/s | 481 kB 00:00 (67/207): keyutils-libs-1.5.10-6.el8.x86_64.rpm 1.9 MB/s | 34 kB 00:00 (68/207): kbd-misc-2.0.4-8.el8.noarch.rpm 34 MB/s | 1.4 MB 00:00 (69/207): kmod-25-11.el8_0.2.x86_64.rpm 8.0 MB/s | 127 kB 00:00 (70/207): glibc-all-langpacks-2.28-42.el8.1.x86 40 MB/s | 25 MB 00:00 (71/207): kmod-libs-25-11.el8_0.2.x86_64.rpm 461 kB/s | 69 kB 00:00 (72/207): kpartx-0.7.8-7.el8_0.2.x86_64.rpm 673 kB/s | 100 kB 00:00 (73/207): libacl-2.2.53-1.el8.x86_64.rpm 3.3 MB/s | 35 kB 00:00 (74/207): krb5-libs-1.16.1-22.el8.x86_64.rpm 29 MB/s | 840 kB 00:00 (75/207): libassuan-2.5.1-3.el8.x86_64.rpm 4.8 MB/s | 83 kB 00:00 (76/207): libarchive-3.3.2-3.el8.x86_64.rpm 12 MB/s | 358 kB 00:00 (77/207): libattr-2.4.48-3.el8.x86_64.rpm 3.3 MB/s | 27 kB 00:00 (78/207): libblkid-2.32.1-8.el8.x86_64.rpm 17 MB/s | 213 kB 00:00 (79/207): libcap-2.25-9.el8.x86_64.rpm 5.5 MB/s | 57 kB 00:00 (80/207): libcap-ng-0.7.9-4.el8.x86_64.rpm 3.9 MB/s | 33 kB 00:00 (81/207): libcroco-0.6.12-4.el8.x86_64.rpm 9.0 MB/s | 113 kB 00:00 (82/207): libcom_err-1.44.3-2.el8.x86_64.rpm 2.9 MB/s | 48 kB 00:00 (83/207): libcurl-7.61.1-8.el8.x86_64.rpm 11 MB/s | 294 kB 00:00 (84/207): libdb-utils-5.3.28-36.el8.x86_64.rpm 6.0 MB/s | 150 kB 00:00 (85/207): libdb-5.3.28-36.el8.x86_64.rpm 22 MB/s | 750 kB 00:00 (86/207): libfdisk-2.32.1-8.el8.x86_64.rpm 11 MB/s | 247 kB 00:00 (87/207): libffi-3.1-18.el8.x86_64.rpm 3.1 MB/s | 37 kB 00:00 (88/207): libgcc-8.2.1-3.5.el8.x86_64.rpm 8.0 MB/s | 77 kB 00:00 (89/207): libgomp-8.2.1-3.5.el8.x86_64.rpm 11 MB/s | 189 kB 00:00 (90/207): libgcrypt-1.8.3-2.el8.x86_64.rpm 20 MB/s | 459 kB 00:00 (91/207): libgpg-error-1.31-1.el8.x86_64.rpm 13 MB/s | 242 kB 00:00 (92/207): libidn2-2.0.5-1.el8.x86_64.rpm 6.3 MB/s | 90 kB 00:00 (93/207): libkcapi-1.1.1-16_1.el8.x86_64.rpm 2.8 MB/s | 47 kB 00:00 (94/207): libkcapi-hmaccalc-1.1.1-16_1.el8.x86_ 2.1 MB/s | 30 kB 00:00 (95/207): libksba-1.3.5-7.el8.x86_64.rpm 13 MB/s | 135 kB 00:00 (96/207): libmetalink-0.1.3-7.el8.x86_64.rpm 1.9 MB/s | 32 kB 00:00 (97/207): libnghttp2-1.33.0-1.el8.x86_64.rpm 4.4 MB/s | 77 kB 00:00 (98/207): libmount-2.32.1-8.el8.x86_64.rpm 10 MB/s | 229 kB 00:00 (99/207): libnsl2-1.2.0-2.20180605git4a062cf.el 6.6 MB/s | 58 kB 00:00 (100/207): libpkgconf-1.4.2-1.el8.x86_64.rpm 2.7 MB/s | 35 kB 00:00 (101/207): libpsl-0.20.2-5.el8.x86_64.rpm 5.1 MB/s | 61 kB 00:00 (102/207): libpcap-1.9.0-1.el8.x86_64.rpm 8.5 MB/s | 160 kB 00:00 (103/207): libseccomp-2.3.3-3.el8.x86_64.rpm 7.2 MB/s | 64 kB 00:00 (104/207): libpwquality-1.4.0-9.el8.x86_64.rpm 5.2 MB/s | 103 kB 00:00 (105/207): libselinux-2.8-6.el8.x86_64.rpm 11 MB/s | 178 kB 00:00 (106/207): libsecret-0.18.6-1.el8.x86_64.rpm 6.4 MB/s | 163 kB 00:00 (107/207): libsemanage-2.8-5.el8.x86_64.rpm 12 MB/s | 162 kB 00:00 (108/207): libsigsegv-2.11-5.el8.x86_64.rpm 2.9 MB/s | 30 kB 00:00 (109/207): libsepol-2.8-2.el8.x86_64.rpm 21 MB/s | 338 kB 00:00 (110/207): libsmartcols-2.32.1-8.el8.x86_64.rpm 14 MB/s | 173 kB 00:00 (111/207): libssh-0.8.5-2.el8.x86_64.rpm 11 MB/s | 227 kB 00:00 (112/207): libtasn1-4.13-3.el8.x86_64.rpm 3.7 MB/s | 76 kB 00:00 (113/207): libstdc++-8.2.1-3.5.el8.x86_64.rpm 15 MB/s | 448 kB 00:00 (114/207): libtirpc-1.1.4-3.el8.x86_64.rpm 9.1 MB/s | 112 kB 00:00 (115/207): libtool-ltdl-2.4.6-25.el8.x86_64.rpm 6.5 MB/s | 58 kB 00:00 (116/207): libusbx-1.0.22-1.el8.x86_64.rpm 5.3 MB/s | 71 kB 00:00 (117/207): libunistring-0.9.9-3.el8.x86_64.rpm 23 MB/s | 422 kB 00:00 (118/207): libuuid-2.32.1-8.el8.x86_64.rpm 9.9 MB/s | 93 kB 00:00 (119/207): libverto-0.3.0-5.el8.x86_64.rpm 2.1 MB/s | 24 kB 00:00 (120/207): libutempter-1.1.6-14.el8.x86_64.rpm 1.0 MB/s | 32 kB 00:00 (121/207): libxcrypt-4.1.1-4.el8.x86_64.rpm 5.3 MB/s | 73 kB 00:00 (122/207): libxcrypt-devel-4.1.1-4.el8.x86_64.r 1.8 MB/s | 25 kB 00:00 (123/207): libxml2-2.9.7-5.el8.x86_64.rpm 31 MB/s | 696 kB 00:00 (124/207): lua-libs-5.3.4-10.el8.x86_64.rpm 5.5 MB/s | 118 kB 00:00 (125/207): lz4-libs-1.8.1.2-4.el8.x86_64.rpm 3.6 MB/s | 55 kB 00:00 (126/207): mpfr-3.1.6-1.el8.x86_64.rpm 11 MB/s | 221 kB 00:00 (127/207): make-4.2.1-9.el8.x86_64.rpm 19 MB/s | 498 kB 00:00 (128/207): ncurses-6.1-7.20180224.el8.x86_64.rp 14 MB/s | 387 kB 00:00 (129/207): ncurses-base-6.1-7.20180224.el8.noar 7.0 MB/s | 81 kB 00:00 (130/207): ncurses-libs-6.1-7.20180224.el8.x86_ 17 MB/s | 335 kB 00:00 (131/207): nettle-3.4.1-1.el8.x86_64.rpm 16 MB/s | 302 kB 00:00 (132/207): npth-1.5-4.el8.x86_64.rpm 1.5 MB/s | 26 kB 00:00 (133/207): openldap-2.4.46-9.el8.x86_64.rpm 20 MB/s | 352 kB 00:00 (134/207): openssl-pkcs11-0.4.8-2.el8.x86_64.rp 3.9 MB/s | 64 kB 00:00 (135/207): openssl-1.1.1-8.el8.x86_64.rpm 18 MB/s | 664 kB 00:00 (136/207): os-prober-1.74-6.el8.x86_64.rpm 5.4 MB/s | 51 kB 00:00 (137/207): openssl-libs-1.1.1-8.el8.x86_64.rpm 29 MB/s | 1.4 MB 00:00 (138/207): p11-kit-0.23.14-5.el8_0.x86_64.rpm 12 MB/s | 272 kB 00:00 (139/207): p11-kit-trust-0.23.14-5.el8_0.x86_64 6.3 MB/s | 139 kB 00:00 (140/207): patch-2.7.6-9.el8_0.x86_64.rpm 7.1 MB/s | 138 kB 00:00 (141/207): pcre-8.42-4.el8.x86_64.rpm 9.9 MB/s | 208 kB 00:00 (142/207): pam-1.3.1-4.el8.x86_64.rpm 20 MB/s | 734 kB 00:00 (143/207): pkgconf-1.4.2-1.el8.x86_64.rpm 4.6 MB/s | 38 kB 00:00 (144/207): pigz-2.4-2.el8.x86_64.rpm 5.5 MB/s | 79 kB 00:00 (145/207): pcre2-10.32-1.el8.x86_64.rpm 11 MB/s | 244 kB 00:00 (146/207): pkgconf-pkg-config-1.4.2-1.el8.x86_6 2.0 MB/s | 15 kB 00:00 (147/207): pkgconf-m4-1.4.2-1.el8.noarch.rpm 1.5 MB/s | 17 kB 00:00 (148/207): platform-python-3.6.8-4.el8_0.x86_64 5.1 MB/s | 79 kB 00:00 (149/207): popt-1.16-14.el8.x86_64.rpm 5.5 MB/s | 61 kB 00:00 (150/207): publicsuffix-list-dafsa-20180723-1.e 3.6 MB/s | 56 kB 00:00 (151/207): procps-ng-3.3.15-1.el8.x86_64.rpm 13 MB/s | 329 kB 00:00 (152/207): platform-python-pip-9.0.3-13.el8.noa 33 MB/s | 1.8 MB 00:00 (153/207): readline-7.0-10.el8.x86_64.rpm 7.2 MB/s | 199 kB 00:00 (154/207): rpm-4.14.2-11.el8_0.x86_64.rpm 20 MB/s | 537 kB 00:00 (155/207): rpm-build-libs-4.14.2-11.el8_0.x86_6 6.6 MB/s | 150 kB 00:00 (156/207): sed-4.5-1.el8.x86_64.rpm 12 MB/s | 298 kB 00:00 (157/207): rpm-libs-4.14.2-11.el8_0.x86_64.rpm 9.9 MB/s | 333 kB 00:00 (158/207): setup-2.12.2-2.el8.noarch.rpm 6.5 MB/s | 180 kB 00:00 (159/207): shared-mime-info-1.9-3.el8.x86_64.rp 15 MB/s | 329 kB 00:00 (160/207): shadow-utils-4.6-7.el8.x86_64.rpm 24 MB/s | 1.2 MB 00:00 (161/207): python3-libs-3.6.8-4.el8_0.x86_64.rp 40 MB/s | 7.9 MB 00:00 (162/207): sqlite-libs-3.26.0-3.el8.x86_64.rpm 7.8 MB/s | 579 kB 00:00 (163/207): systemd-libs-239-13.el8_0.5.x86_64.r 18 MB/s | 551 kB 00:00 (164/207): systemd-pam-239-13.el8_0.5.x86_64.rp 8.3 MB/s | 222 kB 00:00 (165/207): systemd-239-13.el8_0.5.x86_64.rpm 28 MB/s | 3.4 MB 00:00 (166/207): tar-1.30-4.el8.x86_64.rpm 20 MB/s | 838 kB 00:00 (167/207): systemd-udev-239-13.el8_0.5.x86_64.r 7.3 MB/s | 1.3 MB 00:00 (168/207): trousers-0.3.14-2.el8.x86_64.rpm 1.0 MB/s | 153 kB 00:00 (169/207): trousers-lib-0.3.14-2.el8.x86_64.rpm 1.2 MB/s | 168 kB 00:00 (170/207): unzip-6.0-41.el8.x86_64.rpm 14 MB/s | 193 kB 00:00 (171/207): tzdata-2019a-1.el8.noarch.rpm 23 MB/s | 465 kB 00:00 (172/207): which-2.21-10.el8.x86_64.rpm 1.8 MB/s | 49 kB 00:00 (173/207): xz-5.2.4-3.el8.x86_64.rpm 4.8 MB/s | 153 kB 00:00 (174/207): util-linux-2.32.1-8.el8.x86_64.rpm 42 MB/s | 2.5 MB 00:00 (175/207): zip-3.0-23.el8.x86_64.rpm 18 MB/s | 270 kB 00:00 (176/207): xz-libs-5.2.4-3.el8.x86_64.rpm 3.6 MB/s | 94 kB 00:00 (177/207): zlib-1.2.11-10.el8.x86_64.rpm 8.0 MB/s | 101 kB 00:00 (178/207): annobin-8.64-1.el8.x86_64.rpm 11 MB/s | 187 kB 00:00 (179/207): dwz-0.12-9.el8.x86_64.rpm 7.3 MB/s | 109 kB 00:00 (180/207): efi-srpm-macros-3-2.el8.noarch.rpm 2.0 MB/s | 22 kB 00:00 (181/207): gc-7.6.4-3.el8.x86_64.rpm 11 MB/s | 109 kB 00:00 (182/207): cpp-8.2.1-3.5.el8.x86_64.rpm 33 MB/s | 10 MB 00:00 (183/207): gdb-headless-8.2-6.el8_0.x86_64.rpm 31 MB/s | 3.7 MB 00:00 (184/207): ghc-srpm-macros-1.4.2-7.el8.noarch.r 416 kB/s | 9.3 kB 00:00 (185/207): gcc-c++-8.2.1-3.5.el8.x86_64.rpm 16 MB/s | 12 MB 00:00 (186/207): go-srpm-macros-2-16.el8.noarch.rpm 43 kB/s | 14 kB 00:00 (187/207): isl-0.16.1-6.el8.x86_64.rpm 17 MB/s | 841 kB 00:00 (188/207): libatomic_ops-7.6.2-3.el8.x86_64.rpm 3.6 MB/s | 38 kB 00:00 (189/207): libbabeltrace-1.5.4-2.el8.x86_64.rpm 17 MB/s | 201 kB 00:00 (190/207): guile-2.0.14-7.el8.x86_64.rpm 37 MB/s | 3.5 MB 00:00 (191/207): libipt-1.6.1-8.el8.x86_64.rpm 2.1 MB/s | 50 kB 00:00 (192/207): libmpc-1.0.2-9.el8.x86_64.rpm 3.4 MB/s | 59 kB 00:00 (193/207): gcc-8.2.1-3.5.el8.x86_64.rpm 18 MB/s | 23 MB 00:01 (194/207): libxkbcommon-0.8.2-1.el8.x86_64.rpm 288 kB/s | 116 kB 00:00 (195/207): openblas-srpm-macros-2-2.el8.noarch. 759 kB/s | 7.9 kB 00:00 (196/207): libstdc++-devel-8.2.1-3.5.el8.x86_64 4.7 MB/s | 2.0 MB 00:00 (197/207): ocaml-srpm-macros-5-4.el8.noarch.rpm 407 kB/s | 9.4 kB 00:00 (198/207): perl-srpm-macros-1-25.el8.noarch.rpm 728 kB/s | 11 kB 00:00 (199/207): python-srpm-macros-3-37.el8.noarch.r 259 kB/s | 14 kB 00:00 (200/207): python3-rpm-macros-3-37.el8.noarch.r 110 kB/s | 13 kB 00:00 (201/207): qt5-srpm-macros-5.11.1-2.el8.noarch. 142 kB/s | 11 kB 00:00 (202/207): redhat-rpm-config-116-1.el8.0.1.noar 2.9 MB/s | 82 kB 00:00 (203/207): pinentry-1.1.0-2.el8.x86_64.rpm 599 kB/s | 100 kB 00:00 (204/207): rust-srpm-macros-5-2.el8.noarch.rpm 537 kB/s | 9.2 kB 00:00 (205/207): rpm-build-4.14.2-11.el8_0.x86_64.rpm 3.9 MB/s | 166 kB 00:00 (206/207): xkeyboard-config-2.24-3.el8.noarch.r 23 MB/s | 828 kB 00:00 (207/207): kernel-headers-4.18.0-147.6.el8.x86_ 42 MB/s | 2.9 MB 00:00 -------------------------------------------------------------------------------- Total 38 MB/s | 170 MB 00:04 warning: Generating 18 missing index(es), please wait... warning: /var/lib/mock/1123015-centos-stream-x86_64-1575386530.746475/root/var/cache/dnf/Stream-BaseOS-8470e1c6c4b81471/packages/kernel-headers-4.18.0-147.6.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 8483c65d: NOKEY CentOS-Stream - Base 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x8483C65D: Userid : "CentOS (CentOS Official Signing Key) " Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D From : /usr/share/distribution-gpg-keys/centos/RPM-GPG-KEY-CentOS-Official Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: filesystem-3.8-2.el8.x86_64 1/1 Preparing : 1/1 Installing : libgcc-8.2.1-3.5.el8.x86_64 1/207 Running scriptlet: libgcc-8.2.1-3.5.el8.x86_64 1/207 Installing : kernel-headers-4.18.0-147.6.el8.x86_64 2/207 Installing : xkeyboard-config-2.24-3.el8.noarch 3/207 Installing : rust-srpm-macros-5-2.el8.noarch 4/207 Installing : qt5-srpm-macros-5.11.1-2.el8.noarch 5/207 Installing : python3-rpm-macros-3-37.el8.noarch 6/207 Installing : python-srpm-macros-3-37.el8.noarch 7/207 Installing : perl-srpm-macros-1-25.el8.noarch 8/207 Installing : openblas-srpm-macros-2-2.el8.noarch 9/207 Installing : ocaml-srpm-macros-5-4.el8.noarch 10/207 Installing : go-srpm-macros-2-16.el8.noarch 11/207 Installing : ghc-srpm-macros-1.4.2-7.el8.noarch 12/207 Installing : tzdata-2019a-1.el8.noarch 13/207 Installing : publicsuffix-list-dafsa-20180723-1.el8.noarch 14/207 Installing : pkgconf-m4-1.4.2-1.el8.noarch 15/207 Installing : ncurses-base-6.1-7.20180224.el8.noarch 16/207 Installing : kbd-misc-2.0.4-8.el8.noarch 17/207 Installing : kbd-legacy-2.0.4-8.el8.noarch 18/207 Installing : dbus-common-1:1.12.8-7.el8.noarch 19/207 Installing : centos-release-8.0-0.1905.0.9.el8.x86_64 20/207 Installing : setup-2.12.2-2.el8.noarch 21/207 warning: /etc/hosts created as /etc/hosts.rpmnew Running scriptlet: setup-2.12.2-2.el8.noarch 21/207 Installing : filesystem-3.8-2.el8.x86_64 22/207 Installing : basesystem-11-5.el8.noarch 23/207 Installing : pcre2-10.32-1.el8.x86_64 24/207 Installing : libselinux-2.8-6.el8.x86_64 25/207 Installing : ncurses-libs-6.1-7.20180224.el8.x86_64 26/207 Installing : glibc-all-langpacks-2.28-42.el8.1.x86_64 27/207 Installing : glibc-common-2.28-42.el8.1.x86_64 28/207 Running scriptlet: glibc-2.28-42.el8.1.x86_64 29/207 Installing : glibc-2.28-42.el8.1.x86_64 29/207 Running scriptlet: glibc-2.28-42.el8.1.x86_64 29/207 Installing : bash-4.4.19-8.el8_0.x86_64 30/207 Running scriptlet: bash-4.4.19-8.el8_0.x86_64 30/207 Installing : libsepol-2.8-2.el8.x86_64 31/207 Running scriptlet: libsepol-2.8-2.el8.x86_64 31/207 Installing : zlib-1.2.11-10.el8.x86_64 32/207 Installing : info-6.5-4.el8.x86_64 33/207 Installing : xz-libs-5.2.4-3.el8.x86_64 34/207 Installing : bzip2-libs-1.0.6-26.el8.x86_64 35/207 Installing : gmp-1:6.1.2-8.el8.x86_64 36/207 Running scriptlet: gmp-1:6.1.2-8.el8.x86_64 36/207 Installing : elfutils-libelf-0.174-6.el8.x86_64 37/207 Installing : libcap-2.25-9.el8.x86_64 38/207 Installing : libgpg-error-1.31-1.el8.x86_64 39/207 Installing : libstdc++-8.2.1-3.5.el8.x86_64 40/207 Running scriptlet: libstdc++-8.2.1-3.5.el8.x86_64 40/207 Installing : libxcrypt-4.1.1-4.el8.x86_64 41/207 Installing : readline-7.0-10.el8.x86_64 42/207 Running scriptlet: readline-7.0-10.el8.x86_64 42/207 Installing : mpfr-3.1.6-1.el8.x86_64 43/207 Running scriptlet: mpfr-3.1.6-1.el8.x86_64 43/207 Installing : libunistring-0.9.9-3.el8.x86_64 44/207 Installing : libuuid-2.32.1-8.el8.x86_64 45/207 Running scriptlet: libuuid-2.32.1-8.el8.x86_64 45/207 Installing : popt-1.16-14.el8.x86_64 46/207 Installing : chkconfig-1.11-1.el8.x86_64 47/207 Installing : libgcrypt-1.8.3-2.el8.x86_64 48/207 Running scriptlet: libgcrypt-1.8.3-2.el8.x86_64 48/207 Installing : libxml2-2.9.7-5.el8.x86_64 49/207 Installing : libattr-2.4.48-3.el8.x86_64 50/207 Installing : libacl-2.2.53-1.el8.x86_64 51/207 Installing : sed-4.5-1.el8.x86_64 52/207 Running scriptlet: sed-4.5-1.el8.x86_64 52/207 Installing : libcom_err-1.44.3-2.el8.x86_64 53/207 Running scriptlet: libcom_err-1.44.3-2.el8.x86_64 53/207 Installing : libffi-3.1-18.el8.x86_64 54/207 Installing : libidn2-2.0.5-1.el8.x86_64 55/207 Running scriptlet: libidn2-2.0.5-1.el8.x86_64 55/207 Installing : findutils-1:4.6.0-20.el8.x86_64 56/207 Running scriptlet: findutils-1:4.6.0-20.el8.x86_64 56/207 Installing : expat-2.2.5-3.el8.x86_64 57/207 Installing : lua-libs-5.3.4-10.el8.x86_64 58/207 Installing : p11-kit-0.23.14-5.el8_0.x86_64 59/207 Running scriptlet: p11-kit-0.23.14-5.el8_0.x86_64 59/207 Installing : libmpc-1.0.2-9.el8.x86_64 60/207 Running scriptlet: libmpc-1.0.2-9.el8.x86_64 60/207 Installing : libassuan-2.5.1-3.el8.x86_64 61/207 Installing : libgomp-8.2.1-3.5.el8.x86_64 62/207 Running scriptlet: libgomp-8.2.1-3.5.el8.x86_64 62/207 Installing : file-libs-5.33-8.el8.x86_64 63/207 Installing : file-5.33-8.el8.x86_64 64/207 Installing : libcap-ng-0.7.9-4.el8.x86_64 65/207 Installing : audit-libs-3.0-0.10.20180831git0047a6c.el8.x86_6 66/207 Installing : lz4-libs-1.8.1.2-4.el8.x86_64 67/207 Installing : libksba-1.3.5-7.el8.x86_64 68/207 Installing : unzip-6.0-41.el8.x86_64 69/207 Installing : diffutils-3.6-5.el8.x86_64 70/207 Running scriptlet: diffutils-3.6-5.el8.x86_64 70/207 Installing : sqlite-libs-3.26.0-3.el8.x86_64 71/207 Running scriptlet: glibc-headers-2.28-42.el8.1.x86_64 72/207 Installing : glibc-headers-2.28-42.el8.1.x86_64 72/207 Installing : grub2-common-1:2.02-66.el8_0.1.noarch 73/207 Installing : cpio-2.12-8.el8.x86_64 74/207 Installing : gdbm-libs-1:1.18-1.el8.x86_64 75/207 Installing : keyutils-libs-1.5.10-6.el8.x86_64 76/207 Installing : libtasn1-4.13-3.el8.x86_64 77/207 Running scriptlet: libtasn1-4.13-3.el8.x86_64 77/207 Installing : p11-kit-trust-0.23.14-5.el8_0.x86_64 78/207 Running scriptlet: p11-kit-trust-0.23.14-5.el8_0.x86_64 78/207 Installing : pcre-8.42-4.el8.x86_64 79/207 Installing : grep-3.1-6.el8.x86_64 80/207 Running scriptlet: grep-3.1-6.el8.x86_64 80/207 Installing : xz-5.2.4-3.el8.x86_64 81/207 Installing : gdbm-1:1.18-1.el8.x86_64 82/207 Installing : zip-3.0-23.el8.x86_64 83/207 Installing : libsemanage-2.8-5.el8.x86_64 84/207 Installing : cpp-8.2.1-3.5.el8.x86_64 85/207 Running scriptlet: cpp-8.2.1-3.5.el8.x86_64 85/207 Installing : libmetalink-0.1.3-7.el8.x86_64 86/207 Installing : libpsl-0.20.2-5.el8.x86_64 87/207 Installing : acl-2.2.53-1.el8.x86_64 88/207 Installing : tar-2:1.30-4.el8.x86_64 89/207 Running scriptlet: tar-2:1.30-4.el8.x86_64 89/207 Installing : patch-2.7.6-9.el8_0.x86_64 90/207 Installing : libstdc++-devel-8.2.1-3.5.el8.x86_64 91/207 Installing : dwz-0.12-9.el8.x86_64 92/207 Installing : nettle-3.4.1-1.el8.x86_64 93/207 Running scriptlet: nettle-3.4.1-1.el8.x86_64 93/207 Installing : isl-0.16.1-6.el8.x86_64 94/207 Running scriptlet: isl-0.16.1-6.el8.x86_64 94/207 Installing : bzip2-1.0.6-26.el8.x86_64 95/207 Installing : coreutils-common-8.30-6.el8.x86_64 96/207 Running scriptlet: coreutils-common-8.30-6.el8.x86_64 96/207 Installing : pigz-2.4-2.el8.x86_64 97/207 Installing : brotli-1.0.7-8.el8.x86_64 98/207 Installing : hardlink-1:1.3-6.el8.x86_64 99/207 Installing : json-c-0.13.1-0.2.el8.x86_64 100/207 Installing : libnghttp2-1.33.0-1.el8.x86_64 101/207 Installing : libpkgconf-1.4.2-1.el8.x86_64 102/207 Installing : pkgconf-1.4.2-1.el8.x86_64 103/207 Installing : pkgconf-pkg-config-1.4.2-1.el8.x86_64 104/207 Installing : libpcap-14:1.9.0-1.el8.x86_64 105/207 Installing : iptables-libs-1.8.2-9.el8_0.1.x86_64 106/207 Installing : libxcrypt-devel-4.1.1-4.el8.x86_64 107/207 Installing : glibc-devel-2.28-42.el8.1.x86_64 108/207 Running scriptlet: glibc-devel-2.28-42.el8.1.x86_64 108/207 Installing : libseccomp-2.3.3-3.el8.x86_64 109/207 Running scriptlet: libseccomp-2.3.3-3.el8.x86_64 109/207 Installing : libsigsegv-2.11-5.el8.x86_64 110/207 Installing : gawk-4.2.1-1.el8.x86_64 111/207 Installing : libsmartcols-2.32.1-8.el8.x86_64 112/207 Running scriptlet: libsmartcols-2.32.1-8.el8.x86_64 112/207 Installing : libtool-ltdl-2.4.6-25.el8.x86_64 113/207 Running scriptlet: libtool-ltdl-2.4.6-25.el8.x86_64 113/207 Installing : libverto-0.3.0-5.el8.x86_64 114/207 Installing : ncurses-6.1-7.20180224.el8.x86_64 115/207 Installing : npth-1.5-4.el8.x86_64 116/207 Installing : which-2.21-10.el8.x86_64 117/207 Installing : libatomic_ops-7.6.2-3.el8.x86_64 118/207 Installing : gc-7.6.4-3.el8.x86_64 119/207 Installing : libipt-1.6.1-8.el8.x86_64 120/207 Installing : libxkbcommon-0.8.2-1.el8.x86_64 121/207 Installing : cyrus-sasl-lib-2.1.27-0.3rc7.el8.x86_64 122/207 Running scriptlet: cyrus-sasl-lib-2.1.27-0.3rc7.el8.x86_64 122/207 Installing : libssh-0.8.5-2.el8.x86_64 123/207 Installing : openldap-2.4.46-9.el8.x86_64 124/207 Installing : libcurl-7.61.1-8.el8.x86_64 125/207 Installing : libarchive-3.3.2-3.el8.x86_64 126/207 Installing : libdb-utils-5.3.28-36.el8.x86_64 127/207 Installing : openssl-1:1.1.1-8.el8.x86_64 128/207 Installing : libkcapi-1.1.1-16_1.el8.x86_64 129/207 Installing : libkcapi-hmaccalc-1.1.1-16_1.el8.x86_64 130/207 Installing : curl-7.61.1-8.el8.x86_64 131/207 Installing : gzip-1.9-4.el8.x86_64 132/207 Running scriptlet: gzip-1.9-4.el8.x86_64 132/207 Installing : cracklib-2.9.6-15.el8.x86_64 133/207 Installing : cracklib-dicts-2.9.6-15.el8.x86_64 134/207 Installing : gettext-libs-0.19.8.1-14.el8.x86_64 135/207 Installing : libcroco-0.6.12-4.el8.x86_64 136/207 Running scriptlet: libcroco-0.6.12-4.el8.x86_64 136/207 Installing : procps-ng-3.3.15-1.el8.x86_64 137/207 Installing : krb5-libs-1.16.1-22.el8.x86_64 138/207 Installing : libtirpc-1.1.4-3.el8.x86_64 139/207 Running scriptlet: libtirpc-1.1.4-3.el8.x86_64 139/207 Installing : libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 140/207 Running scriptlet: libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 140/207 Installing : openssl-pkcs11-0.4.8-2.el8.x86_64 141/207 Running scriptlet: openssl-pkcs11-0.4.8-2.el8.x86_64 141/207 Installing : grub2-tools-minimal-1:2.02-66.el8_0.1.x86_64 142/207 Installing : kpartx-0.7.8-7.el8_0.2.x86_64 143/207 Installing : device-mapper-8:1.02.155-6.el8.x86_64 144/207 Installing : elfutils-default-yama-scope-0.174-6.el8.noarch 145/207 Running scriptlet: elfutils-default-yama-scope-0.174-6.el8.noarch 145/207 Installing : elfutils-libs-0.174-6.el8.x86_64 146/207 Installing : rpm-4.14.2-11.el8_0.x86_64 147/207 Installing : libfdisk-2.32.1-8.el8.x86_64 148/207 Running scriptlet: libfdisk-2.32.1-8.el8.x86_64 148/207 Installing : libmount-2.32.1-8.el8.x86_64 149/207 Running scriptlet: libmount-2.32.1-8.el8.x86_64 149/207 Installing : gettext-0.19.8.1-14.el8.x86_64 150/207 Running scriptlet: gettext-0.19.8.1-14.el8.x86_64 150/207 Installing : glib2-2.56.4-1.el8.x86_64 151/207 Installing : dbus-libs-1:1.12.8-7.el8.x86_64 152/207 Running scriptlet: dbus-libs-1:1.12.8-7.el8.x86_64 152/207 Installing : dbus-tools-1:1.12.8-7.el8.x86_64 153/207 Installing : coreutils-8.30-6.el8.x86_64 154/207 Installing : systemd-libs-239-13.el8_0.5.x86_64 155/207 Running scriptlet: systemd-libs-239-13.el8_0.5.x86_64 155/207 Installing : libblkid-2.32.1-8.el8.x86_64 156/207 Running scriptlet: libblkid-2.32.1-8.el8.x86_64 156/207 Installing : device-mapper-libs-8:1.02.155-6.el8.x86_64 157/207 Running scriptlet: device-mapper-libs-8:1.02.155-6.el8.x86_64 157/207 Installing : shadow-utils-2:4.6-7.el8.x86_64 158/207 Running scriptlet: ca-certificates-2018.2.24-6.el8.noarch 159/207 Installing : ca-certificates-2018.2.24-6.el8.noarch 159/207 Running scriptlet: ca-certificates-2018.2.24-6.el8.noarch 159/207 Running scriptlet: dbus-daemon-1:1.12.8-7.el8.x86_64 160/207 Installing : dbus-daemon-1:1.12.8-7.el8.x86_64 160/207 Running scriptlet: dbus-daemon-1:1.12.8-7.el8.x86_64 160/207 Running scriptlet: libutempter-1.1.6-14.el8.x86_64 161/207 Installing : libutempter-1.1.6-14.el8.x86_64 161/207 Installing : shared-mime-info-1.9-3.el8.x86_64 162/207 Running scriptlet: shared-mime-info-1.9-3.el8.x86_64 162/207 Installing : kmod-25-11.el8_0.2.x86_64 163/207 Installing : kmod-libs-25-11.el8_0.2.x86_64 164/207 Running scriptlet: kmod-libs-25-11.el8_0.2.x86_64 164/207 Installing : kbd-2.0.4-8.el8.x86_64 165/207 Installing : libpwquality-1.4.0-9.el8.x86_64 166/207 Installing : libdb-5.3.28-36.el8.x86_64 167/207 Running scriptlet: libdb-5.3.28-36.el8.x86_64 167/207 Installing : pam-1.3.1-4.el8.x86_64 168/207 Running scriptlet: pam-1.3.1-4.el8.x86_64 168/207 Installing : util-linux-2.32.1-8.el8.x86_64 169/207 Running scriptlet: util-linux-2.32.1-8.el8.x86_64 169/207 Installing : cryptsetup-libs-2.0.6-1.el8.x86_64 170/207 Running scriptlet: cryptsetup-libs-2.0.6-1.el8.x86_64 170/207 Installing : systemd-pam-239-13.el8_0.5.x86_64 171/207 Installing : dracut-049-10.git20190115.el8_0.1.x86_64 172/207 Installing : os-prober-1.74-6.el8.x86_64 173/207 Installing : gnutls-3.6.5-2.el8.x86_64 174/207 Installing : trousers-lib-0.3.14-2.el8.x86_64 175/207 Running scriptlet: trousers-lib-0.3.14-2.el8.x86_64 175/207 Installing : openssl-libs-1:1.1.1-8.el8.x86_64 176/207 Running scriptlet: openssl-libs-1:1.1.1-8.el8.x86_64 176/207 Installing : rpm-libs-4.14.2-11.el8_0.x86_64 177/207 Running scriptlet: rpm-libs-4.14.2-11.el8_0.x86_64 177/207 Running scriptlet: grub2-tools-1:2.02-66.el8_0.1.x86_64 178/207 Installing : grub2-tools-1:2.02-66.el8_0.1.x86_64 178/207 Running scriptlet: grub2-tools-1:2.02-66.el8_0.1.x86_64 178/207 Installing : grubby-8.40-34.el8.x86_64 179/207 Installing : crypto-policies-20181217-6.git9a35207.el8.noarch 180/207 Running scriptlet: crypto-policies-20181217-6.git9a35207.el8.noarch 180/207 Installing : dbus-1:1.12.8-7.el8.x86_64 181/207 Running scriptlet: systemd-239-13.el8_0.5.x86_64 182/207 Installing : systemd-239-13.el8_0.5.x86_64 182/207 Running scriptlet: systemd-239-13.el8_0.5.x86_64 182/207 Installing : systemd-udev-239-13.el8_0.5.x86_64 183/207 Running scriptlet: systemd-udev-239-13.el8_0.5.x86_64 183/207 Running scriptlet: trousers-0.3.14-2.el8.x86_64 184/207 Installing : trousers-0.3.14-2.el8.x86_64 184/207 Running scriptlet: trousers-0.3.14-2.el8.x86_64 184/207 Installing : python3-setuptools-41.6.0-1.el8.noarch 185/207 Installing : platform-python-pip-9.0.3-13.el8.noarch 186/207 Installing : platform-python-3.6.8-4.el8_0.x86_64 187/207 Running scriptlet: platform-python-3.6.8-4.el8_0.x86_64 187/207 Installing : python3-libs-3.6.8-4.el8_0.x86_64 188/207 Installing : binutils-2.30-49.el8.x86_64 189/207 Running scriptlet: binutils-2.30-49.el8.x86_64 189/207 Installing : gcc-8.2.1-3.5.el8.x86_64 190/207 Running scriptlet: gcc-8.2.1-3.5.el8.x86_64 190/207 Installing : annobin-8.64-1.el8.x86_64 191/207 Installing : ima-evm-utils-1.1-4.el8.x86_64 192/207 Installing : libusbx-1.0.22-1.el8.x86_64 193/207 Installing : guile-5:2.0.14-7.el8.x86_64 194/207 Running scriptlet: guile-5:2.0.14-7.el8.x86_64 194/207 Installing : libsecret-0.18.6-1.el8.x86_64 195/207 Installing : pinentry-1.1.0-2.el8.x86_64 196/207 Running scriptlet: pinentry-1.1.0-2.el8.x86_64 196/207 Installing : gnupg2-smime-2.2.9-1.el8.x86_64 197/207 Installing : gnupg2-2.2.9-1.el8.x86_64 198/207 Installing : rpm-build-libs-4.14.2-11.el8_0.x86_64 199/207 Running scriptlet: rpm-build-libs-4.14.2-11.el8_0.x86_64 199/207 Installing : libbabeltrace-1.5.4-2.el8.x86_64 200/207 Running scriptlet: libbabeltrace-1.5.4-2.el8.x86_64 200/207 Installing : gdb-headless-8.2-6.el8_0.x86_64 201/207 Installing : efi-srpm-macros-3-2.el8.noarch 202/207 Installing : redhat-rpm-config-116-1.el8.0.1.noarch 203/207 Installing : elfutils-0.174-6.el8.x86_64 204/207 Installing : rpm-build-4.14.2-11.el8_0.x86_64 205/207 Installing : gcc-c++-8.2.1-3.5.el8.x86_64 206/207 Installing : make-1:4.2.1-9.el8.x86_64 207/207 Running scriptlet: make-1:4.2.1-9.el8.x86_64 207/207 Running scriptlet: filesystem-3.8-2.el8.x86_64 207/207 Running scriptlet: glibc-all-langpacks-2.28-42.el8.1.x86_64 207/207 Running scriptlet: guile-5:2.0.14-7.el8.x86_64 207/207 Running scriptlet: make-1:4.2.1-9.el8.x86_64 207/207 Verifying : brotli-1.0.7-8.el8.x86_64 1/207 Verifying : python3-setuptools-41.6.0-1.el8.noarch 2/207 Verifying : acl-2.2.53-1.el8.x86_64 3/207 Verifying : audit-libs-3.0-0.10.20180831git0047a6c.el8.x86_6 4/207 Verifying : basesystem-11-5.el8.noarch 5/207 Verifying : bash-4.4.19-8.el8_0.x86_64 6/207 Verifying : binutils-2.30-49.el8.x86_64 7/207 Verifying : bzip2-1.0.6-26.el8.x86_64 8/207 Verifying : bzip2-libs-1.0.6-26.el8.x86_64 9/207 Verifying : ca-certificates-2018.2.24-6.el8.noarch 10/207 Verifying : centos-release-8.0-0.1905.0.9.el8.x86_64 11/207 Verifying : chkconfig-1.11-1.el8.x86_64 12/207 Verifying : coreutils-8.30-6.el8.x86_64 13/207 Verifying : coreutils-common-8.30-6.el8.x86_64 14/207 Verifying : cpio-2.12-8.el8.x86_64 15/207 Verifying : cracklib-2.9.6-15.el8.x86_64 16/207 Verifying : cracklib-dicts-2.9.6-15.el8.x86_64 17/207 Verifying : crypto-policies-20181217-6.git9a35207.el8.noarch 18/207 Verifying : cryptsetup-libs-2.0.6-1.el8.x86_64 19/207 Verifying : curl-7.61.1-8.el8.x86_64 20/207 Verifying : cyrus-sasl-lib-2.1.27-0.3rc7.el8.x86_64 21/207 Verifying : dbus-1:1.12.8-7.el8.x86_64 22/207 Verifying : dbus-common-1:1.12.8-7.el8.noarch 23/207 Verifying : dbus-daemon-1:1.12.8-7.el8.x86_64 24/207 Verifying : dbus-libs-1:1.12.8-7.el8.x86_64 25/207 Verifying : dbus-tools-1:1.12.8-7.el8.x86_64 26/207 Verifying : device-mapper-8:1.02.155-6.el8.x86_64 27/207 Verifying : device-mapper-libs-8:1.02.155-6.el8.x86_64 28/207 Verifying : diffutils-3.6-5.el8.x86_64 29/207 Verifying : dracut-049-10.git20190115.el8_0.1.x86_64 30/207 Verifying : elfutils-0.174-6.el8.x86_64 31/207 Verifying : elfutils-default-yama-scope-0.174-6.el8.noarch 32/207 Verifying : elfutils-libelf-0.174-6.el8.x86_64 33/207 Verifying : elfutils-libs-0.174-6.el8.x86_64 34/207 Verifying : expat-2.2.5-3.el8.x86_64 35/207 Verifying : file-5.33-8.el8.x86_64 36/207 Verifying : file-libs-5.33-8.el8.x86_64 37/207 Verifying : filesystem-3.8-2.el8.x86_64 38/207 Verifying : findutils-1:4.6.0-20.el8.x86_64 39/207 Verifying : gawk-4.2.1-1.el8.x86_64 40/207 Verifying : gdbm-1:1.18-1.el8.x86_64 41/207 Verifying : gdbm-libs-1:1.18-1.el8.x86_64 42/207 Verifying : gettext-0.19.8.1-14.el8.x86_64 43/207 Verifying : gettext-libs-0.19.8.1-14.el8.x86_64 44/207 Verifying : glib2-2.56.4-1.el8.x86_64 45/207 Verifying : glibc-2.28-42.el8.1.x86_64 46/207 Verifying : glibc-all-langpacks-2.28-42.el8.1.x86_64 47/207 Verifying : glibc-common-2.28-42.el8.1.x86_64 48/207 Verifying : glibc-devel-2.28-42.el8.1.x86_64 49/207 Verifying : glibc-headers-2.28-42.el8.1.x86_64 50/207 Verifying : gmp-1:6.1.2-8.el8.x86_64 51/207 Verifying : gnupg2-2.2.9-1.el8.x86_64 52/207 Verifying : gnupg2-smime-2.2.9-1.el8.x86_64 53/207 Verifying : gnutls-3.6.5-2.el8.x86_64 54/207 Verifying : grep-3.1-6.el8.x86_64 55/207 Verifying : grub2-common-1:2.02-66.el8_0.1.noarch 56/207 Verifying : grub2-tools-1:2.02-66.el8_0.1.x86_64 57/207 Verifying : grub2-tools-minimal-1:2.02-66.el8_0.1.x86_64 58/207 Verifying : grubby-8.40-34.el8.x86_64 59/207 Verifying : gzip-1.9-4.el8.x86_64 60/207 Verifying : hardlink-1:1.3-6.el8.x86_64 61/207 Verifying : ima-evm-utils-1.1-4.el8.x86_64 62/207 Verifying : info-6.5-4.el8.x86_64 63/207 Verifying : iptables-libs-1.8.2-9.el8_0.1.x86_64 64/207 Verifying : json-c-0.13.1-0.2.el8.x86_64 65/207 Verifying : kbd-2.0.4-8.el8.x86_64 66/207 Verifying : kbd-legacy-2.0.4-8.el8.noarch 67/207 Verifying : kbd-misc-2.0.4-8.el8.noarch 68/207 Verifying : keyutils-libs-1.5.10-6.el8.x86_64 69/207 Verifying : kmod-25-11.el8_0.2.x86_64 70/207 Verifying : kmod-libs-25-11.el8_0.2.x86_64 71/207 Verifying : kpartx-0.7.8-7.el8_0.2.x86_64 72/207 Verifying : krb5-libs-1.16.1-22.el8.x86_64 73/207 Verifying : libacl-2.2.53-1.el8.x86_64 74/207 Verifying : libarchive-3.3.2-3.el8.x86_64 75/207 Verifying : libassuan-2.5.1-3.el8.x86_64 76/207 Verifying : libattr-2.4.48-3.el8.x86_64 77/207 Verifying : libblkid-2.32.1-8.el8.x86_64 78/207 Verifying : libcap-2.25-9.el8.x86_64 79/207 Verifying : libcap-ng-0.7.9-4.el8.x86_64 80/207 Verifying : libcom_err-1.44.3-2.el8.x86_64 81/207 Verifying : libcroco-0.6.12-4.el8.x86_64 82/207 Verifying : libcurl-7.61.1-8.el8.x86_64 83/207 Verifying : libdb-5.3.28-36.el8.x86_64 84/207 Verifying : libdb-utils-5.3.28-36.el8.x86_64 85/207 Verifying : libfdisk-2.32.1-8.el8.x86_64 86/207 Verifying : libffi-3.1-18.el8.x86_64 87/207 Verifying : libgcc-8.2.1-3.5.el8.x86_64 88/207 Verifying : libgcrypt-1.8.3-2.el8.x86_64 89/207 Verifying : libgomp-8.2.1-3.5.el8.x86_64 90/207 Verifying : libgpg-error-1.31-1.el8.x86_64 91/207 Verifying : libidn2-2.0.5-1.el8.x86_64 92/207 Verifying : libkcapi-1.1.1-16_1.el8.x86_64 93/207 Verifying : libkcapi-hmaccalc-1.1.1-16_1.el8.x86_64 94/207 Verifying : libksba-1.3.5-7.el8.x86_64 95/207 Verifying : libmetalink-0.1.3-7.el8.x86_64 96/207 Verifying : libmount-2.32.1-8.el8.x86_64 97/207 Verifying : libnghttp2-1.33.0-1.el8.x86_64 98/207 Verifying : libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 99/207 Verifying : libpcap-14:1.9.0-1.el8.x86_64 100/207 Verifying : libpkgconf-1.4.2-1.el8.x86_64 101/207 Verifying : libpsl-0.20.2-5.el8.x86_64 102/207 Verifying : libpwquality-1.4.0-9.el8.x86_64 103/207 Verifying : libseccomp-2.3.3-3.el8.x86_64 104/207 Verifying : libsecret-0.18.6-1.el8.x86_64 105/207 Verifying : libselinux-2.8-6.el8.x86_64 106/207 Verifying : libsemanage-2.8-5.el8.x86_64 107/207 Verifying : libsepol-2.8-2.el8.x86_64 108/207 Verifying : libsigsegv-2.11-5.el8.x86_64 109/207 Verifying : libsmartcols-2.32.1-8.el8.x86_64 110/207 Verifying : libssh-0.8.5-2.el8.x86_64 111/207 Verifying : libstdc++-8.2.1-3.5.el8.x86_64 112/207 Verifying : libtasn1-4.13-3.el8.x86_64 113/207 Verifying : libtirpc-1.1.4-3.el8.x86_64 114/207 Verifying : libtool-ltdl-2.4.6-25.el8.x86_64 115/207 Verifying : libunistring-0.9.9-3.el8.x86_64 116/207 Verifying : libusbx-1.0.22-1.el8.x86_64 117/207 Verifying : libutempter-1.1.6-14.el8.x86_64 118/207 Verifying : libuuid-2.32.1-8.el8.x86_64 119/207 Verifying : libverto-0.3.0-5.el8.x86_64 120/207 Verifying : libxcrypt-4.1.1-4.el8.x86_64 121/207 Verifying : libxcrypt-devel-4.1.1-4.el8.x86_64 122/207 Verifying : libxml2-2.9.7-5.el8.x86_64 123/207 Verifying : lua-libs-5.3.4-10.el8.x86_64 124/207 Verifying : lz4-libs-1.8.1.2-4.el8.x86_64 125/207 Verifying : make-1:4.2.1-9.el8.x86_64 126/207 Verifying : mpfr-3.1.6-1.el8.x86_64 127/207 Verifying : ncurses-6.1-7.20180224.el8.x86_64 128/207 Verifying : ncurses-base-6.1-7.20180224.el8.noarch 129/207 Verifying : ncurses-libs-6.1-7.20180224.el8.x86_64 130/207 Verifying : nettle-3.4.1-1.el8.x86_64 131/207 Verifying : npth-1.5-4.el8.x86_64 132/207 Verifying : openldap-2.4.46-9.el8.x86_64 133/207 Verifying : openssl-1:1.1.1-8.el8.x86_64 134/207 Verifying : openssl-libs-1:1.1.1-8.el8.x86_64 135/207 Verifying : openssl-pkcs11-0.4.8-2.el8.x86_64 136/207 Verifying : os-prober-1.74-6.el8.x86_64 137/207 Verifying : p11-kit-0.23.14-5.el8_0.x86_64 138/207 Verifying : p11-kit-trust-0.23.14-5.el8_0.x86_64 139/207 Verifying : pam-1.3.1-4.el8.x86_64 140/207 Verifying : patch-2.7.6-9.el8_0.x86_64 141/207 Verifying : pcre-8.42-4.el8.x86_64 142/207 Verifying : pcre2-10.32-1.el8.x86_64 143/207 Verifying : pigz-2.4-2.el8.x86_64 144/207 Verifying : pkgconf-1.4.2-1.el8.x86_64 145/207 Verifying : pkgconf-m4-1.4.2-1.el8.noarch 146/207 Verifying : pkgconf-pkg-config-1.4.2-1.el8.x86_64 147/207 Verifying : platform-python-3.6.8-4.el8_0.x86_64 148/207 Verifying : platform-python-pip-9.0.3-13.el8.noarch 149/207 Verifying : popt-1.16-14.el8.x86_64 150/207 Verifying : procps-ng-3.3.15-1.el8.x86_64 151/207 Verifying : publicsuffix-list-dafsa-20180723-1.el8.noarch 152/207 Verifying : python3-libs-3.6.8-4.el8_0.x86_64 153/207 Verifying : readline-7.0-10.el8.x86_64 154/207 Verifying : rpm-4.14.2-11.el8_0.x86_64 155/207 Verifying : rpm-build-libs-4.14.2-11.el8_0.x86_64 156/207 Verifying : rpm-libs-4.14.2-11.el8_0.x86_64 157/207 Verifying : sed-4.5-1.el8.x86_64 158/207 Verifying : setup-2.12.2-2.el8.noarch 159/207 Verifying : shadow-utils-2:4.6-7.el8.x86_64 160/207 Verifying : shared-mime-info-1.9-3.el8.x86_64 161/207 Verifying : sqlite-libs-3.26.0-3.el8.x86_64 162/207 Verifying : systemd-239-13.el8_0.5.x86_64 163/207 Verifying : systemd-libs-239-13.el8_0.5.x86_64 164/207 Verifying : systemd-pam-239-13.el8_0.5.x86_64 165/207 Verifying : systemd-udev-239-13.el8_0.5.x86_64 166/207 Verifying : tar-2:1.30-4.el8.x86_64 167/207 Verifying : trousers-0.3.14-2.el8.x86_64 168/207 Verifying : trousers-lib-0.3.14-2.el8.x86_64 169/207 Verifying : tzdata-2019a-1.el8.noarch 170/207 Verifying : unzip-6.0-41.el8.x86_64 171/207 Verifying : util-linux-2.32.1-8.el8.x86_64 172/207 Verifying : which-2.21-10.el8.x86_64 173/207 Verifying : xz-5.2.4-3.el8.x86_64 174/207 Verifying : xz-libs-5.2.4-3.el8.x86_64 175/207 Verifying : zip-3.0-23.el8.x86_64 176/207 Verifying : zlib-1.2.11-10.el8.x86_64 177/207 Verifying : annobin-8.64-1.el8.x86_64 178/207 Verifying : cpp-8.2.1-3.5.el8.x86_64 179/207 Verifying : dwz-0.12-9.el8.x86_64 180/207 Verifying : efi-srpm-macros-3-2.el8.noarch 181/207 Verifying : gc-7.6.4-3.el8.x86_64 182/207 Verifying : gcc-8.2.1-3.5.el8.x86_64 183/207 Verifying : gcc-c++-8.2.1-3.5.el8.x86_64 184/207 Verifying : gdb-headless-8.2-6.el8_0.x86_64 185/207 Verifying : ghc-srpm-macros-1.4.2-7.el8.noarch 186/207 Verifying : go-srpm-macros-2-16.el8.noarch 187/207 Verifying : guile-5:2.0.14-7.el8.x86_64 188/207 Verifying : isl-0.16.1-6.el8.x86_64 189/207 Verifying : libatomic_ops-7.6.2-3.el8.x86_64 190/207 Verifying : libbabeltrace-1.5.4-2.el8.x86_64 191/207 Verifying : libipt-1.6.1-8.el8.x86_64 192/207 Verifying : libmpc-1.0.2-9.el8.x86_64 193/207 Verifying : libstdc++-devel-8.2.1-3.5.el8.x86_64 194/207 Verifying : libxkbcommon-0.8.2-1.el8.x86_64 195/207 Verifying : ocaml-srpm-macros-5-4.el8.noarch 196/207 Verifying : openblas-srpm-macros-2-2.el8.noarch 197/207 Verifying : perl-srpm-macros-1-25.el8.noarch 198/207 Verifying : pinentry-1.1.0-2.el8.x86_64 199/207 Verifying : python-srpm-macros-3-37.el8.noarch 200/207 Verifying : python3-rpm-macros-3-37.el8.noarch 201/207 Verifying : qt5-srpm-macros-5.11.1-2.el8.noarch 202/207 Verifying : redhat-rpm-config-116-1.el8.0.1.noarch 203/207 Verifying : rpm-build-4.14.2-11.el8_0.x86_64 204/207 Verifying : rust-srpm-macros-5-2.el8.noarch 205/207 Verifying : xkeyboard-config-2.24-3.el8.noarch 206/207 Verifying : kernel-headers-4.18.0-147.6.el8.x86_64 207/207 Installed: bash-4.4.19-8.el8_0.x86_64 bzip2-1.0.6-26.el8.x86_64 centos-release-8.0-0.1905.0.9.el8.x86_64 coreutils-8.30-6.el8.x86_64 cpio-2.12-8.el8.x86_64 diffutils-3.6-5.el8.x86_64 findutils-1:4.6.0-20.el8.x86_64 gawk-4.2.1-1.el8.x86_64 grep-3.1-6.el8.x86_64 gzip-1.9-4.el8.x86_64 info-6.5-4.el8.x86_64 make-1:4.2.1-9.el8.x86_64 patch-2.7.6-9.el8_0.x86_64 sed-4.5-1.el8.x86_64 shadow-utils-2:4.6-7.el8.x86_64 tar-2:1.30-4.el8.x86_64 unzip-6.0-41.el8.x86_64 util-linux-2.32.1-8.el8.x86_64 which-2.21-10.el8.x86_64 xz-5.2.4-3.el8.x86_64 gcc-8.2.1-3.5.el8.x86_64 gcc-c++-8.2.1-3.5.el8.x86_64 redhat-rpm-config-116-1.el8.0.1.noarch rpm-build-4.14.2-11.el8_0.x86_64 cracklib-dicts-2.9.6-15.el8.x86_64 gnupg2-smime-2.2.9-1.el8.x86_64 grubby-8.40-34.el8.x86_64 hardlink-1:1.3-6.el8.x86_64 kbd-2.0.4-8.el8.x86_64 kpartx-0.7.8-7.el8_0.2.x86_64 openssl-pkcs11-0.4.8-2.el8.x86_64 pigz-2.4-2.el8.x86_64 shared-mime-info-1.9-3.el8.x86_64 systemd-239-13.el8_0.5.x86_64 trousers-0.3.14-2.el8.x86_64 libxkbcommon-0.8.2-1.el8.x86_64 pinentry-1.1.0-2.el8.x86_64 brotli-1.0.7-8.el8.x86_64 python3-setuptools-41.6.0-1.el8.noarch acl-2.2.53-1.el8.x86_64 audit-libs-3.0-0.10.20180831git0047a6c.el8.x86_64 basesystem-11-5.el8.noarch binutils-2.30-49.el8.x86_64 bzip2-libs-1.0.6-26.el8.x86_64 ca-certificates-2018.2.24-6.el8.noarch chkconfig-1.11-1.el8.x86_64 coreutils-common-8.30-6.el8.x86_64 cracklib-2.9.6-15.el8.x86_64 crypto-policies-20181217-6.git9a35207.el8.noarch cryptsetup-libs-2.0.6-1.el8.x86_64 curl-7.61.1-8.el8.x86_64 cyrus-sasl-lib-2.1.27-0.3rc7.el8.x86_64 dbus-1:1.12.8-7.el8.x86_64 dbus-common-1:1.12.8-7.el8.noarch dbus-daemon-1:1.12.8-7.el8.x86_64 dbus-libs-1:1.12.8-7.el8.x86_64 dbus-tools-1:1.12.8-7.el8.x86_64 device-mapper-8:1.02.155-6.el8.x86_64 device-mapper-libs-8:1.02.155-6.el8.x86_64 dracut-049-10.git20190115.el8_0.1.x86_64 elfutils-0.174-6.el8.x86_64 elfutils-default-yama-scope-0.174-6.el8.noarch elfutils-libelf-0.174-6.el8.x86_64 elfutils-libs-0.174-6.el8.x86_64 expat-2.2.5-3.el8.x86_64 file-5.33-8.el8.x86_64 file-libs-5.33-8.el8.x86_64 filesystem-3.8-2.el8.x86_64 gdbm-1:1.18-1.el8.x86_64 gdbm-libs-1:1.18-1.el8.x86_64 gettext-0.19.8.1-14.el8.x86_64 gettext-libs-0.19.8.1-14.el8.x86_64 glib2-2.56.4-1.el8.x86_64 glibc-2.28-42.el8.1.x86_64 glibc-all-langpacks-2.28-42.el8.1.x86_64 glibc-common-2.28-42.el8.1.x86_64 glibc-devel-2.28-42.el8.1.x86_64 glibc-headers-2.28-42.el8.1.x86_64 gmp-1:6.1.2-8.el8.x86_64 gnupg2-2.2.9-1.el8.x86_64 gnutls-3.6.5-2.el8.x86_64 grub2-common-1:2.02-66.el8_0.1.noarch grub2-tools-1:2.02-66.el8_0.1.x86_64 grub2-tools-minimal-1:2.02-66.el8_0.1.x86_64 ima-evm-utils-1.1-4.el8.x86_64 iptables-libs-1.8.2-9.el8_0.1.x86_64 json-c-0.13.1-0.2.el8.x86_64 kbd-legacy-2.0.4-8.el8.noarch kbd-misc-2.0.4-8.el8.noarch keyutils-libs-1.5.10-6.el8.x86_64 kmod-25-11.el8_0.2.x86_64 kmod-libs-25-11.el8_0.2.x86_64 krb5-libs-1.16.1-22.el8.x86_64 libacl-2.2.53-1.el8.x86_64 libarchive-3.3.2-3.el8.x86_64 libassuan-2.5.1-3.el8.x86_64 libattr-2.4.48-3.el8.x86_64 libblkid-2.32.1-8.el8.x86_64 libcap-2.25-9.el8.x86_64 libcap-ng-0.7.9-4.el8.x86_64 libcom_err-1.44.3-2.el8.x86_64 libcroco-0.6.12-4.el8.x86_64 libcurl-7.61.1-8.el8.x86_64 libdb-5.3.28-36.el8.x86_64 libdb-utils-5.3.28-36.el8.x86_64 libfdisk-2.32.1-8.el8.x86_64 libffi-3.1-18.el8.x86_64 libgcc-8.2.1-3.5.el8.x86_64 libgcrypt-1.8.3-2.el8.x86_64 libgomp-8.2.1-3.5.el8.x86_64 libgpg-error-1.31-1.el8.x86_64 libidn2-2.0.5-1.el8.x86_64 libkcapi-1.1.1-16_1.el8.x86_64 libkcapi-hmaccalc-1.1.1-16_1.el8.x86_64 libksba-1.3.5-7.el8.x86_64 libmetalink-0.1.3-7.el8.x86_64 libmount-2.32.1-8.el8.x86_64 libnghttp2-1.33.0-1.el8.x86_64 libnsl2-1.2.0-2.20180605git4a062cf.el8.x86_64 libpcap-14:1.9.0-1.el8.x86_64 libpkgconf-1.4.2-1.el8.x86_64 libpsl-0.20.2-5.el8.x86_64 libpwquality-1.4.0-9.el8.x86_64 libseccomp-2.3.3-3.el8.x86_64 libsecret-0.18.6-1.el8.x86_64 libselinux-2.8-6.el8.x86_64 libsemanage-2.8-5.el8.x86_64 libsepol-2.8-2.el8.x86_64 libsigsegv-2.11-5.el8.x86_64 libsmartcols-2.32.1-8.el8.x86_64 libssh-0.8.5-2.el8.x86_64 libstdc++-8.2.1-3.5.el8.x86_64 libtasn1-4.13-3.el8.x86_64 libtirpc-1.1.4-3.el8.x86_64 libtool-ltdl-2.4.6-25.el8.x86_64 libunistring-0.9.9-3.el8.x86_64 libusbx-1.0.22-1.el8.x86_64 libutempter-1.1.6-14.el8.x86_64 libuuid-2.32.1-8.el8.x86_64 libverto-0.3.0-5.el8.x86_64 libxcrypt-4.1.1-4.el8.x86_64 libxcrypt-devel-4.1.1-4.el8.x86_64 libxml2-2.9.7-5.el8.x86_64 lua-libs-5.3.4-10.el8.x86_64 lz4-libs-1.8.1.2-4.el8.x86_64 mpfr-3.1.6-1.el8.x86_64 ncurses-6.1-7.20180224.el8.x86_64 ncurses-base-6.1-7.20180224.el8.noarch ncurses-libs-6.1-7.20180224.el8.x86_64 nettle-3.4.1-1.el8.x86_64 npth-1.5-4.el8.x86_64 openldap-2.4.46-9.el8.x86_64 openssl-1:1.1.1-8.el8.x86_64 openssl-libs-1:1.1.1-8.el8.x86_64 os-prober-1.74-6.el8.x86_64 p11-kit-0.23.14-5.el8_0.x86_64 p11-kit-trust-0.23.14-5.el8_0.x86_64 pam-1.3.1-4.el8.x86_64 pcre-8.42-4.el8.x86_64 pcre2-10.32-1.el8.x86_64 pkgconf-1.4.2-1.el8.x86_64 pkgconf-m4-1.4.2-1.el8.noarch pkgconf-pkg-config-1.4.2-1.el8.x86_64 platform-python-3.6.8-4.el8_0.x86_64 platform-python-pip-9.0.3-13.el8.noarch popt-1.16-14.el8.x86_64 procps-ng-3.3.15-1.el8.x86_64 publicsuffix-list-dafsa-20180723-1.el8.noarch python3-libs-3.6.8-4.el8_0.x86_64 readline-7.0-10.el8.x86_64 rpm-4.14.2-11.el8_0.x86_64 rpm-build-libs-4.14.2-11.el8_0.x86_64 rpm-libs-4.14.2-11.el8_0.x86_64 setup-2.12.2-2.el8.noarch sqlite-libs-3.26.0-3.el8.x86_64 systemd-libs-239-13.el8_0.5.x86_64 systemd-pam-239-13.el8_0.5.x86_64 systemd-udev-239-13.el8_0.5.x86_64 trousers-lib-0.3.14-2.el8.x86_64 tzdata-2019a-1.el8.noarch xz-libs-5.2.4-3.el8.x86_64 zip-3.0-23.el8.x86_64 zlib-1.2.11-10.el8.x86_64 annobin-8.64-1.el8.x86_64 cpp-8.2.1-3.5.el8.x86_64 dwz-0.12-9.el8.x86_64 efi-srpm-macros-3-2.el8.noarch gc-7.6.4-3.el8.x86_64 gdb-headless-8.2-6.el8_0.x86_64 ghc-srpm-macros-1.4.2-7.el8.noarch go-srpm-macros-2-16.el8.noarch guile-5:2.0.14-7.el8.x86_64 isl-0.16.1-6.el8.x86_64 libatomic_ops-7.6.2-3.el8.x86_64 libbabeltrace-1.5.4-2.el8.x86_64 libipt-1.6.1-8.el8.x86_64 libmpc-1.0.2-9.el8.x86_64 libstdc++-devel-8.2.1-3.5.el8.x86_64 ocaml-srpm-macros-5-4.el8.noarch openblas-srpm-macros-2-2.el8.noarch perl-srpm-macros-1-25.el8.noarch python-srpm-macros-3-37.el8.noarch python3-rpm-macros-3-37.el8.noarch qt5-srpm-macros-5.11.1-2.el8.noarch rust-srpm-macros-5-2.el8.noarch xkeyboard-config-2.24-3.el8.noarch kernel-headers-4.18.0-147.6.el8.x86_64 Complete! Finish: dnf install Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-beautifulsoup4-4.8.1-1.el8.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/1123015-centos-stream-x86_64-1575386530.746475/root/var/log/dnf.rpm.log /var/lib/mock/1123015-centos-stream-x86_64-1575386530.746475/root/var/log/dnf.librepo.log /var/lib/mock/1123015-centos-stream-x86_64-1575386530.746475/root/var/log/dnf.log Finish: buildsrpm INFO: Done(/tmp/tmpfas5z43c/python-beautifulsoup4.spec) Config(child) 1 minutes 24 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running (timeout=75600): unbuffer mock --rebuild /var/lib/copr-rpmbuild/results/python-beautifulsoup4-4.8.1-1.el8.src.rpm --configdir /var/lib/copr-rpmbuild/results/configs --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1575386615.852411 -r child WARNING: Could not find required logging config file: /var/lib/copr-rpmbuild/results/configs/logging.ini. Using default... INFO: mock.py version 1.4.21 starting (python version = 3.7.5)... Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/results/python-beautifulsoup4-4.8.1-1.el8.src.rpm) Config(1123015-centos-stream-x86_64) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/1123015-centos-stream-x86_64-1575386615.852411/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled HW Info plugin Mock Version: 1.4.21 INFO: Mock Version: 1.4.21 Start: dnf update No matches found for the following disable plugin patterns: local, spacewalk Copr repository 15 kB/s | 3.3 kB 00:00 Additional repo http_mirror_centos_org_centos_8 23 kB/s | 3.9 kB 00:00 Additional repo http_mirror_centos_org_centos_8 70 kB/s | 4.3 kB 00:00 Additional repo http_mirror_centos_org_centos_8 73 kB/s | 4.3 kB 00:00 Additional repo http_38_145_34_66_test_mock 24 kB/s | 3.0 kB 00:00 CentOS-Stream - Base 60 kB/s | 3.9 kB 00:00 CentOS-Stream - AppStream 64 kB/s | 4.3 kB 00:00 CentOS-Stream - Extras 24 kB/s | 1.5 kB 00:00 CentOS-Stream - PowerTools 66 kB/s | 4.3 kB 00:00 Dependencies resolved. Nothing to do. Complete! Finish: dnf update Finish: chroot init Start: build phase for python-beautifulsoup4-4.8.1-1.el8.src.rpm Start: build setup for python-beautifulsoup4-4.8.1-1.el8.src.rpm Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-beautifulsoup4-4.8.1-1.el8.src.rpm No matches found for the following disable plugin patterns: local, spacewalk Copr repository 16 kB/s | 3.3 kB 00:00 Additional repo http_mirror_centos_org_centos_8 66 kB/s | 3.9 kB 00:00 Additional repo http_mirror_centos_org_centos_8 70 kB/s | 4.3 kB 00:00 Additional repo http_mirror_centos_org_centos_8 69 kB/s | 4.3 kB 00:00 Additional repo http_38_145_34_66_test_mock 26 kB/s | 3.0 kB 00:00 Package python3-setuptools-41.6.0-1.el8.noarch is already installed. Dependencies resolved. ================================================================================ Package ArchVersion Repository Size ================================================================================ Installing: python3-soupsieve noarch1.9.2-3.el8 copr_base 68 k python3-html5lib noarch1:0.999999999-6.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 214 k python3-lxml x86_644.2.3-1.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 1.5 M python36-devel x86_643.6.8-2.module_el8.0.0+33+0a10c0e1 http_mirror_centos_org_centos_8_AppStream_x86_64_os 16 k Installing dependencies: libxslt x86_641.1.32-3.el8 http_mirror_centos_org_centos_8_BaseOS_x86_64_os 249 k platform-python-devel x86_643.6.8-4.el8_0 http_mirror_centos_org_centos_8_AppStream_x86_64_os 242 k python-rpm-macros noarch3-37.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 14 k python3-pip noarch9.0.3-13.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 18 k python3-rpm-generators noarch5-4.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 24 k python3-webencodings noarch0.5.1-6.el8 http_mirror_centos_org_centos_8_AppStream_x86_64_os 27 k python36 x86_643.6.8-2.module_el8.0.0+33+0a10c0e1 http_mirror_centos_org_centos_8_AppStream_x86_64_os 19 k python3-six noarch1.12.0-7.el8 http_38_145_34_66_test_mock 39 k Enabling module streams: python36 3.6 Transaction Summary ================================================================================ Install 12 Packages Total download size: 2.4 M Installed size: 7.7 M Downloading Packages: (1/12): libxslt-1.1.32-3.el8.x86_64.rpm 1.1 MB/s | 249 kB 00:00 (2/12): python-rpm-macros-3-37.el8.noarch.rpm 441 kB/s | 14 kB 00:00 (3/12): platform-python-devel-3.6.8-4.el8_0.x86 775 kB/s | 242 kB 00:00 (4/12): python3-soupsieve-1.9.2-3.el8.noarch.rp 201 kB/s | 68 kB 00:00 (5/12): python3-html5lib-0.999999999-6.el8.noar 1.3 MB/s | 214 kB 00:00 (6/12): python3-pip-9.0.3-13.el8.noarch.rpm 193 kB/s | 18 kB 00:00 (7/12): python3-rpm-generators-5-4.el8.noarch.r 738 kB/s | 24 kB 00:00 (8/12): python3-webencodings-0.5.1-6.el8.noarch 740 kB/s | 27 kB 00:00 (9/12): python36-3.6.8-2.module_el8.0.0+33+0a10 587 kB/s | 19 kB 00:00 (10/12): python36-devel-3.6.8-2.module_el8.0.0+ 500 kB/s | 16 kB 00:00 (11/12): python3-six-1.12.0-7.el8.noarch.rpm 226 kB/s | 39 kB 00:00 (12/12): python3-lxml-4.2.3-1.el8.x86_64.rpm 1.8 MB/s | 1.5 MB 00:00 -------------------------------------------------------------------------------- Total 2.1 MB/s | 2.4 MB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python36-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 1/12 Running scriptlet: python36-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 1/12 Installing : python3-pip-9.0.3-13.el8.noarch 2/12 Installing : python3-six-1.12.0-7.el8.noarch 3/12 Installing : python3-webencodings-0.5.1-6.el8.noarch 4/12 Installing : python3-html5lib-1:0.999999999-6.el8.noarch 5/12 Installing : python3-rpm-generators-5-4.el8.noarch 6/12 Installing : python-rpm-macros-3-37.el8.noarch 7/12 Installing : platform-python-devel-3.6.8-4.el8_0.x86_64 8/12 Installing : libxslt-1.1.32-3.el8.x86_64 9/12 Installing : python3-lxml-4.2.3-1.el8.x86_64 10/12 Installing : python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1. 11/12 Running scriptlet: python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1. 11/12 Installing : python3-soupsieve-1.9.2-3.el8.noarch 12/12 Running scriptlet: python3-soupsieve-1.9.2-3.el8.noarch 12/12 Verifying : python3-soupsieve-1.9.2-3.el8.noarch 1/12 Verifying : libxslt-1.1.32-3.el8.x86_64 2/12 Verifying : platform-python-devel-3.6.8-4.el8_0.x86_64 3/12 Verifying : python-rpm-macros-3-37.el8.noarch 4/12 Verifying : python3-html5lib-1:0.999999999-6.el8.noarch 5/12 Verifying : python3-lxml-4.2.3-1.el8.x86_64 6/12 Verifying : python3-pip-9.0.3-13.el8.noarch 7/12 Verifying : python3-rpm-generators-5-4.el8.noarch 8/12 Verifying : python3-webencodings-0.5.1-6.el8.noarch 9/12 Verifying : python36-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 10/12 Verifying : python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1. 11/12 Verifying : python3-six-1.12.0-7.el8.noarch 12/12 Installed: python3-soupsieve-1.9.2-3.el8.noarch python3-html5lib-1:0.999999999-6.el8.noarch python3-lxml-4.2.3-1.el8.x86_64 python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 libxslt-1.1.32-3.el8.x86_64 platform-python-devel-3.6.8-4.el8_0.x86_64 python-rpm-macros-3-37.el8.noarch python3-pip-9.0.3-13.el8.noarch python3-rpm-generators-5-4.el8.noarch python3-webencodings-0.5.1-6.el8.noarch python36-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 python3-six-1.12.0-7.el8.noarch Complete! Finish: build setup for python-beautifulsoup4-4.8.1-1.el8.src.rpm Start: rpmbuild python-beautifulsoup4-4.8.1-1.el8.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.YcgODw + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf beautifulsoup4-4.8.1 + /usr/bin/gzip -dc /builddir/build/SOURCES/beautifulsoup4-4.8.1.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd beautifulsoup4-4.8.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + rm -rf /builddir/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 + cp -a . /builddir/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.iLAtIw + umask 022 + cd /builddir/build/BUILD + cd beautifulsoup4-4.8.1 + pushd /builddir/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 ~/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 ~/build/BUILD/beautifulsoup4-4.8.1 + 2to3 --write --nobackups . RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: No changes to ./setup.py RefactoringTool: Refactored ./bs4/__init__.py --- ./bs4/__init__.py (original) +++ ./bs4/__init__.py (refactored) @@ -49,7 +49,7 @@ # The very first thing we do is give a useful error if someone is # running this code under Python 3 without converting it. -'You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work.'<>'You need to convert the code, either by installing it (`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).' +'You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work.'!='You need to convert the code, either by installing it (`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).' class BeautifulSoup(Tag): """ @@ -73,7 +73,7 @@ like HTML's
tag), call handle_starttag and then handle_endtag. """ - ROOT_TAG_NAME = u'[document]' + ROOT_TAG_NAME = '[document]' # If the end-user gives no indication which tree builder they # want, look for one with these features. @@ -187,7 +187,7 @@ from_encoding = from_encoding or deprecated_argument( "fromEncoding", "from_encoding") - if from_encoding and isinstance(markup, unicode): + if from_encoding and isinstance(markup, str): warnings.warn("You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.") from_encoding = None @@ -204,7 +204,7 @@ builder_class = builder builder = None elif builder is None: - if isinstance(features, basestring): + if isinstance(features, str): features = [features] if features is None or len(features) == 0: features = self.DEFAULT_BUILDER_FEATURES @@ -274,13 +274,13 @@ markup = markup.read() elif len(markup) <= 256 and ( (isinstance(markup, bytes) and not b'<' in markup) - or (isinstance(markup, unicode) and not u'<' in markup) + or (isinstance(markup, str) and not '<' in markup) ): # Print out warnings for a couple beginner problems # involving passing non-markup to Beautiful Soup. # Beautiful Soup will still parse the input as markup, # just in case that's what the user really wants. - if (isinstance(markup, unicode) + if (isinstance(markup, str) and not os.path.supports_unicode_filenames): possible_filename = markup.encode("utf8") else: @@ -288,13 +288,13 @@ is_file = False try: is_file = os.path.exists(possible_filename) - except Exception, e: + except Exception as e: # This is almost certainly a problem involving # characters not valid in filenames on this # system. Just let it go. pass if is_file: - if isinstance(markup, unicode): + if isinstance(markup, str): markup = markup.encode("utf8") warnings.warn( '"%s" looks like a filename, not markup. You should' @@ -318,9 +318,9 @@ pass if not success: - other_exceptions = [unicode(e) for e in rejections] + other_exceptions = [str(e) for e in rejections] raise ParserRejectedMarkup( - u"The markup you provided was rejected by the parser. Trying a different parser or a different encoding may help.\n\nOriginal exception(s) from parser:\n " + "\n ".join(other_exceptions) + "The markup you provided was rejected by the parser. Trying a different parser or a different encoding may help.\n\nOriginal exception(s) from parser:\n " + "\n ".join(other_exceptions) ) # Clear out the markup and remove the builder's circular @@ -356,9 +356,9 @@ if isinstance(markup, bytes): space = b' ' cant_start_with = (b"http:", b"https:") - elif isinstance(markup, unicode): - space = u' ' - cant_start_with = (u"http:", u"https:") + elif isinstance(markup, str): + space = ' ' + cant_start_with = ("http:", "https:") else: return @@ -447,7 +447,7 @@ ) if self.current_data: - current_data = u''.join(self.current_data) + current_data = ''.join(self.current_data) # If whitespace is not preserved, and this string contains # nothing but ASCII spaces, replace it with a single space # or newline. @@ -616,9 +616,9 @@ encoding_part = '' if eventual_encoding != None: encoding_part = ' encoding="%s"' % eventual_encoding - prefix = u'\n' % encoding_part + prefix = '\n' % encoding_part else: - prefix = u'' + prefix = '' if not pretty_print: indent_level = None else: @@ -652,4 +652,4 @@ if __name__ == '__main__': import sys soup = BeautifulSoup(sys.stdin) - print soup.prettify() + print(soup.prettify()) RefactoringTool: No changes to ./bs4/check_block.py RefactoringTool: Refactored ./bs4/dammit.py --- ./bs4/dammit.py (original) +++ ./bs4/dammit.py (refactored) @@ -10,7 +10,7 @@ __license__ = "MIT" import codecs -from htmlentitydefs import codepoint2name +from html.entities import codepoint2name import re import logging import string @@ -22,7 +22,7 @@ # PyPI package: cchardet import cchardet def chardet_dammit(s): - if isinstance(s, unicode): + if isinstance(s, str): return None return cchardet.detect(s)['encoding'] except ImportError: @@ -32,7 +32,7 @@ # PyPI package: chardet import chardet def chardet_dammit(s): - if isinstance(s, unicode): + if isinstance(s, str): return None return chardet.detect(s)['encoding'] #import chardet.constants @@ -50,14 +50,14 @@ # Build bytestring and Unicode versions of regular expressions for finding # a declared encoding inside an XML or HTML document. -xml_encoding = u'^\s*<\\?.*encoding=[\'"](.*?)[\'"].*\\?>' -html_meta = u'<\\s*meta[^>]+charset\\s*=\\s*["\']?([^>]*?)[ /;\'">]' +xml_encoding = '^\s*<\\?.*encoding=[\'"](.*?)[\'"].*\\?>' +html_meta = '<\\s*meta[^>]+charset\\s*=\\s*["\']?([^>]*?)[ /;\'">]' encoding_res = dict() encoding_res[bytes] = { 'html' : re.compile(html_meta.encode("ascii"), re.I), 'xml' : re.compile(xml_encoding.encode("ascii"), re.I), } -encoding_res[unicode] = { +encoding_res[str] = { 'html' : re.compile(html_meta, re.I), 'xml' : re.compile(xml_encoding, re.I) } @@ -78,7 +78,7 @@ # entities, but that's a little tricky. extra = [(39, 'apos')] for codepoint, name in list(codepoint2name.items()) + extra: - character = unichr(codepoint) + character = chr(codepoint) if codepoint not in (34, 39): # There's no point in turning the quotation mark into # " or the single quote into ', unless it @@ -295,7 +295,7 @@ def strip_byte_order_mark(cls, data): """If a byte-order mark is present, strip it and return the encoding it implies.""" encoding = None - if isinstance(data, unicode): + if isinstance(data, str): # Unicode data cannot have a byte-order mark. return data, encoding if (len(data) >= 4) and (data[:2] == b'\xfe\xff') \ @@ -335,7 +335,7 @@ if isinstance(markup, bytes): res = encoding_res[bytes] else: - res = encoding_res[unicode] + res = encoding_res[str] xml_re = res['xml'] html_re = res['html'] @@ -381,9 +381,9 @@ markup, override_encodings, is_html, exclude_encodings) # Short-circuit if the data is in Unicode to begin with. - if isinstance(markup, unicode) or markup == '': + if isinstance(markup, str) or markup == '': self.markup = markup - self.unicode_markup = unicode(markup) + self.unicode_markup = str(markup) self.original_encoding = None return @@ -467,7 +467,7 @@ def _to_unicode(self, data, encoding, errors="strict"): '''Given a string and its encoding, decodes the string into Unicode. %encoding is a string recognized by encodings.aliases''' - return unicode(data, encoding, errors) + return str(data, encoding, errors) @property def declared_html_encoding(self): RefactoringTool: Refactored ./bs4/diagnose.py --- ./bs4/diagnose.py (original) +++ ./bs4/diagnose.py (refactored) @@ -4,8 +4,8 @@ __license__ = "MIT" import cProfile -from StringIO import StringIO -from HTMLParser import HTMLParser +from io import StringIO +from html.parser import HTMLParser import bs4 from bs4 import BeautifulSoup, __version__ from bs4.builder import builder_registry @@ -21,8 +21,8 @@ def diagnose(data): """Diagnostic suite for isolating common problems.""" - print "Diagnostic running on Beautiful Soup %s" % __version__ - print "Python version %s" % sys.version + print("Diagnostic running on Beautiful Soup %s" % __version__) + print("Python version %s" % sys.version) basic_parsers = ["html.parser", "html5lib", "lxml"] for name in basic_parsers: @@ -31,16 +31,16 @@ break else: basic_parsers.remove(name) - print ( + print(( "I noticed that %s is not installed. Installing it may help." % - name) + name)) if 'lxml' in basic_parsers: basic_parsers.append("lxml-xml") try: from lxml import etree - print "Found lxml version %s" % ".".join(map(str,etree.LXML_VERSION)) - except ImportError, e: + print("Found lxml version %s" % ".".join(map(str,etree.LXML_VERSION))) + except ImportError as e: print ( "lxml is not installed or couldn't be imported.") @@ -48,43 +48,43 @@ if 'html5lib' in basic_parsers: try: import html5lib - print "Found html5lib version %s" % html5lib.__version__ - except ImportError, e: + print("Found html5lib version %s" % html5lib.__version__) + except ImportError as e: print ( "html5lib is not installed or couldn't be imported.") if hasattr(data, 'read'): data = data.read() elif data.startswith("http:") or data.startswith("https:"): - print '"%s" looks like a URL. Beautiful Soup is not an HTTP client.' % data - print "You need to use some other library to get the document behind the URL, and feed that document to Beautiful Soup." + print('"%s" looks like a URL. Beautiful Soup is not an HTTP client.' % data) + print("You need to use some other library to get the document behind the URL, and feed that document to Beautiful Soup.") return else: try: if os.path.exists(data): - print '"%s" looks like a filename. Reading data from the file.' % data + print('"%s" looks like a filename. Reading data from the file.' % data) with open(data) as fp: data = fp.read() except ValueError: # This can happen on some platforms when the 'filename' is # too long. Assume it's data and not a filename. pass - print + print() for parser in basic_parsers: - print "Trying to parse your markup with %s" % parser + print("Trying to parse your markup with %s" % parser) success = False try: soup = BeautifulSoup(data, features=parser) success = True - except Exception, e: - print "%s could not parse the markup." % parser + except Exception as e: + print("%s could not parse the markup." % parser) traceback.print_exc() if success: - print "Here's what %s did with the markup:" % parser - print soup.prettify() - - print "-" * 80 + print("Here's what %s did with the markup:" % parser) + print(soup.prettify()) + + print("-" * 80) def lxml_trace(data, html=True, **kwargs): """Print out the lxml events that occur during parsing. @@ -94,7 +94,7 @@ """ from lxml import etree for event, element in etree.iterparse(StringIO(data), html=html, **kwargs): - print("%s, %4s, %s" % (event, element.tag, element.text)) + print(("%s, %4s, %s" % (event, element.tag, element.text))) class AnnouncingParser(HTMLParser): """Announces HTMLParser parse events, without doing anything else.""" @@ -176,9 +176,9 @@ def benchmark_parsers(num_elements=100000): """Very basic head-to-head performance benchmark.""" - print "Comparative parser benchmark on Beautiful Soup %s" % __version__ + print("Comparative parser benchmark on Beautiful Soup %s" % __version__) data = rdoc(num_elements) - print "Generated a large invalid HTML document (%d bytes)." % len(data) + print("Generated a large invalid HTML document (%d bytes)." % len(data)) for parser in ["lxml", ["lxml", "html"], "html5lib", "html.parser"]: success = False @@ -187,24 +187,24 @@ soup = BeautifulSoup(data, parser) b = time.time() success = True - except Exception, e: - print "%s could not parse the markup." % parser + except Exception as e: + print("%s could not parse the markup." % parser) traceback.print_exc() if success: - print "BS4+%s parsed the markup in %.2fs." % (parser, b-a) + print("BS4+%s parsed the markup in %.2fs." % (parser, b-a)) from lxml import etree a = time.time() etree.HTML(data) b = time.time() - print "Raw lxml parsed the markup in %.2fs." % (b-a) + print("Raw lxml parsed the markup in %.2fs." % (b-a)) import html5lib parser = html5lib.HTMLParser() a = time.time() parser.parse(data) b = time.time() - print "Raw html5lib parsed the markup in %.2fs." % (b-a) + print("Raw html5lib parsed the markup in %.2fs." % (b-a)) def profile(num_elements=100000, parser="lxml"): RefactoringTool: Refactored ./bs4/element.py --- ./bs4/element.py (original) +++ ./bs4/element.py (refactored) @@ -3,14 +3,14 @@ try: from collections.abc import Callable # Python 3.6 -except ImportError , e: +except ImportError as e: from collections import Callable import re import sys import warnings try: import soupsieve -except ImportError, e: +except ImportError as e: soupsieve = None warnings.warn( 'The soupsieve package is not installed. CSS selectors cannot be used.' @@ -43,7 +43,7 @@ return alias -class NamespacedAttribute(unicode): +class NamespacedAttribute(str): def __new__(cls, prefix, name=None, namespace=None): if not name: @@ -52,18 +52,18 @@ name = None if name is None: - obj = unicode.__new__(cls, prefix) + obj = str.__new__(cls, prefix) elif prefix is None: # Not really namespaced. - obj = unicode.__new__(cls, name) - else: - obj = unicode.__new__(cls, prefix + ":" + name) + obj = str.__new__(cls, name) + else: + obj = str.__new__(cls, prefix + ":" + name) obj.prefix = prefix obj.name = name obj.namespace = namespace return obj -class AttributeValueWithCharsetSubstitution(unicode): +class AttributeValueWithCharsetSubstitution(str): """A stand-in object for a character encoding specified in HTML.""" class CharsetMetaAttributeValue(AttributeValueWithCharsetSubstitution): @@ -74,7 +74,7 @@ """ def __new__(cls, original_value): - obj = unicode.__new__(cls, original_value) + obj = str.__new__(cls, original_value) obj.original_value = original_value return obj @@ -97,9 +97,9 @@ match = cls.CHARSET_RE.search(original_value) if match is None: # No substitution necessary. - return unicode.__new__(unicode, original_value) - - obj = unicode.__new__(cls, original_value) + return str.__new__(str, original_value) + + obj = str.__new__(cls, original_value) obj.original_value = original_value return obj @@ -276,7 +276,7 @@ raise ValueError("Cannot insert None into a tag.") if new_child is self: raise ValueError("Cannot insert a tag into itself.") - if (isinstance(new_child, basestring) + if (isinstance(new_child, str) and not isinstance(new_child, NavigableString)): new_child = NavigableString(new_child) @@ -516,7 +516,7 @@ result = (element for element in generator if isinstance(element, Tag)) return ResultSet(strainer, result) - elif isinstance(name, basestring): + elif isinstance(name, str): # Optimization to find all tags with a given name. if name.count(':') == 1: # This is a name with a prefix. If this is a namespace-aware document, @@ -605,7 +605,7 @@ return self.parents -class NavigableString(unicode, PageElement): +class NavigableString(str, PageElement): PREFIX = '' SUFFIX = '' @@ -623,10 +623,10 @@ passed in to the superclass's __new__ or the superclass won't know how to handle non-ASCII characters. """ - if isinstance(value, unicode): - u = unicode.__new__(cls, value) - else: - u = unicode.__new__(cls, value, DEFAULT_OUTPUT_ENCODING) + if isinstance(value, str): + u = str.__new__(cls, value) + else: + u = str.__new__(cls, value, DEFAULT_OUTPUT_ENCODING) u.setup() return u @@ -637,7 +637,7 @@ return type(self)(self) def __getnewargs__(self): - return (unicode(self),) + return (str(self),) def __getattr__(self, attr): """text.string gives you text. This is for backwards @@ -680,29 +680,29 @@ class CData(PreformattedString): - PREFIX = u'' + PREFIX = '' class ProcessingInstruction(PreformattedString): """A SGML processing instruction.""" - PREFIX = u'' + PREFIX = '' class XMLProcessingInstruction(ProcessingInstruction): """An XML processing instruction.""" - PREFIX = u'' + PREFIX = '' class Comment(PreformattedString): - PREFIX = u'' + PREFIX = '' class Declaration(PreformattedString): - PREFIX = u'' + PREFIX = '' class Doctype(PreformattedString): @@ -719,8 +719,8 @@ return Doctype(value) - PREFIX = u'\n' + PREFIX = '\n' class Tag(PageElement): @@ -885,7 +885,7 @@ for string in self._all_strings(True): yield string - def get_text(self, separator=u"", strip=False, + def get_text(self, separator="", strip=False, types=(NavigableString, CData)): """ Get all child strings, concatenated using the given separator. @@ -1001,7 +1001,7 @@ def __contains__(self, x): return x in self.contents - def __nonzero__(self): + def __bool__(self): "A tag is non-None even if it has no contents." return True @@ -1116,8 +1116,8 @@ else: if isinstance(val, list) or isinstance(val, tuple): val = ' '.join(val) - elif not isinstance(val, basestring): - val = unicode(val) + elif not isinstance(val, str): + val = str(val) elif ( isinstance(val, AttributeValueWithCharsetSubstitution) and eventual_encoding is not None @@ -1126,7 +1126,7 @@ text = formatter.attribute_value(val) decoded = ( - unicode(key) + '=' + str(key) + '=' + formatter.quoted_attribute_value(text)) attrs.append(decoded) close = '' @@ -1397,7 +1397,7 @@ else: attrs = kwargs normalized_attrs = {} - for key, value in attrs.items(): + for key, value in list(attrs.items()): normalized_attrs[key] = self._normalize_search_value(value) self.attrs = normalized_attrs @@ -1406,7 +1406,7 @@ def _normalize_search_value(self, value): # Leave it alone if it's a Unicode string, a callable, a # regular expression, a boolean, or None. - if (isinstance(value, unicode) or isinstance(value, Callable) or hasattr(value, 'match') + if (isinstance(value, str) or isinstance(value, Callable) or hasattr(value, 'match') or isinstance(value, bool) or value is None): return value @@ -1419,7 +1419,7 @@ new_value = [] for v in value: if (hasattr(v, '__iter__') and not isinstance(v, bytes) - and not isinstance(v, unicode)): + and not isinstance(v, str)): # This is almost certainly the user's mistake. In the # interests of avoiding infinite loops, we'll let # it through as-is rather than doing a recursive call. @@ -1431,7 +1431,7 @@ # Otherwise, convert it into a Unicode string. # The unicode(str()) thing is so this will do the same thing on Python 2 # and Python 3. - return unicode(str(value)) + return str(str(value)) def __str__(self): if self.text: @@ -1485,7 +1485,7 @@ found = None # If given a list of items, scan it for a text element that # matches. - if hasattr(markup, '__iter__') and not isinstance(markup, (Tag, basestring)): + if hasattr(markup, '__iter__') and not isinstance(markup, (Tag, str)): for element in markup: if isinstance(element, NavigableString) \ and self.search(element): @@ -1498,7 +1498,7 @@ found = self.search_tag(markup) # If it's text, make sure the text matches. elif isinstance(markup, NavigableString) or \ - isinstance(markup, basestring): + isinstance(markup, str): if not self.name and not self.attrs and self._matches(markup, self.text): found = markup else: @@ -1543,7 +1543,7 @@ return not match_against if (hasattr(match_against, '__iter__') - and not isinstance(match_against, basestring)): + and not isinstance(match_against, str)): # We're asked to match against an iterable of items. # The markup must be match at least one item in the # iterable. We'll try each one in turn. @@ -1570,7 +1570,7 @@ # the tag's name and once against its prefixed name. match = False - if not match and isinstance(match_against, unicode): + if not match and isinstance(match_against, str): # Exact string match match = markup == match_against RefactoringTool: Refactored ./bs4/formatter.py --- ./bs4/formatter.py (original) +++ ./bs4/formatter.py (refactored) @@ -44,7 +44,7 @@ """Process a string that needs to undergo entity substitution.""" if not self.entity_substitution: return ns - from element import NavigableString + from .element import NavigableString if (isinstance(ns, NavigableString) and ns.parent is not None and ns.parent.name in self.cdata_containing_tags): RefactoringTool: Refactored ./bs4/testing.py --- ./bs4/testing.py (original) +++ ./bs4/testing.py (refactored) @@ -22,7 +22,7 @@ from bs4.builder import HTMLParserTreeBuilder default_builder = HTMLParserTreeBuilder -BAD_DOCUMENT = u"""A bare string +BAD_DOCUMENT = """A bare string
@@ -315,7 +315,7 @@ # process_markup correctly sets processing_instruction_class # even when the markup is already Unicode and there is no # need to process anything. - markup = u"""""" + markup = """""" soup = self.soup(markup) self.assertEqual(markup, soup.decode()) @@ -487,14 +487,14 @@ # "&T" and "&p" look like incomplete character entities, but they are # not. self.assertSoupEquals( - u"

• AT&T is in the s&p 500

", - u"

\u2022 AT&T is in the s&p 500

" + "

• AT&T is in the s&p 500

", + "

\u2022 AT&T is in the s&p 500

" ) def test_apos_entity(self): self.assertSoupEquals( - u"

Bob's Bar

", - u"

Bob's Bar

", + "

Bob's Bar

", + "

Bob's Bar

", ) def test_entities_in_foreign_document_encoding(self): @@ -507,17 +507,17 @@ # characters. markup = "

“Hello” -☃

" soup = self.soup(markup) - self.assertEquals(u"“Hello” -☃", soup.p.string) + self.assertEqual("“Hello” -☃", soup.p.string) def test_entities_in_attributes_converted_to_unicode(self): - expect = u'

' + expect = '

' self.assertSoupEquals('

', expect) self.assertSoupEquals('

', expect) self.assertSoupEquals('

', expect) self.assertSoupEquals('

', expect) def test_entities_in_text_converted_to_unicode(self): - expect = u'

pi\N{LATIN SMALL LETTER N WITH TILDE}ata

' + expect = '

pi\N{LATIN SMALL LETTER N WITH TILDE}ata

' self.assertSoupEquals("

piñata

", expect) self.assertSoupEquals("

piñata

", expect) self.assertSoupEquals("

piñata

", expect) @@ -528,7 +528,7 @@ '

I said "good day!"

') def test_out_of_range_entity(self): - expect = u"\N{REPLACEMENT CHARACTER}" + expect = "\N{REPLACEMENT CHARACTER}" self.assertSoupEquals("�", expect) self.assertSoupEquals("�", expect) self.assertSoupEquals("�", expect) @@ -606,9 +606,9 @@ # A seemingly innocuous document... but it's in Unicode! And # it contains characters that can't be represented in the # encoding found in the declaration! The horror! - markup = u'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' - soup = self.soup(markup) - self.assertEqual(u'Sacr\xe9 bleu!', soup.body.string) + markup = 'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' + soup = self.soup(markup) + self.assertEqual('Sacr\xe9 bleu!', soup.body.string) def test_soupstrainer(self): """Parsers should be able to work with SoupStrainers.""" @@ -648,7 +648,7 @@ # Both XML and HTML entities are converted to Unicode characters # during parsing. text = "

<<sacré bleu!>>

" - expected = u"

<<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

" + expected = "

<<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

" self.assertSoupEquals(text, expected) def test_smart_quotes_converted_on_the_way_in(self): @@ -658,15 +658,15 @@ soup = self.soup(quote) self.assertEqual( soup.p.string, - u"\N{LEFT SINGLE QUOTATION MARK}Foo\N{RIGHT SINGLE QUOTATION MARK}") + "\N{LEFT SINGLE QUOTATION MARK}Foo\N{RIGHT SINGLE QUOTATION MARK}") def test_non_breaking_spaces_converted_on_the_way_in(self): soup = self.soup("  ") - self.assertEqual(soup.a.string, u"\N{NO-BREAK SPACE}" * 2) + self.assertEqual(soup.a.string, "\N{NO-BREAK SPACE}" * 2) def test_entities_converted_on_the_way_out(self): text = "

<<sacré bleu!>>

" - expected = u"

<<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

".encode("utf-8") + expected = "

<<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

".encode("utf-8") soup = self.soup(text) self.assertEqual(soup.p.encode("utf-8"), expected) @@ -675,7 +675,7 @@ # easy-to-understand document. # Here it is in Unicode. Note that it claims to be in ISO-Latin-1. - unicode_html = u'

Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!

' + unicode_html = '

Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!

' # That's because we're going to encode it into ISO-Latin-1, and use # that to test. @@ -853,15 +853,15 @@ self.assertTrue(b"< < hey > >" in encoded) def test_can_parse_unicode_document(self): - markup = u'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' - soup = self.soup(markup) - self.assertEqual(u'Sacr\xe9 bleu!', soup.root.string) + markup = 'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' + soup = self.soup(markup) + self.assertEqual('Sacr\xe9 bleu!', soup.root.string) def test_popping_namespaced_tag(self): markup = 'b2012-07-02T20:33:42Zcd' soup = self.soup(markup) self.assertEqual( - unicode(soup.rss), markup) + str(soup.rss), markup) def test_docstring_includes_correct_encoding(self): soup = self.soup("") @@ -892,17 +892,17 @@ def test_closing_namespaced_tag(self): markup = '

20010504

' soup = self.soup(markup) - self.assertEqual(unicode(soup.p), markup) + self.assertEqual(str(soup.p), markup) def test_namespaced_attributes(self): markup = '' soup = self.soup(markup) - self.assertEqual(unicode(soup.foo), markup) + self.assertEqual(str(soup.foo), markup) def test_namespaced_attributes_xml_namespace(self): markup = 'bar' soup = self.soup(markup) - self.assertEqual(unicode(soup.foo), markup) + self.assertEqual(str(soup.foo), markup) def test_find_by_prefixed_name(self): doc = """ RefactoringTool: Refactored ./bs4/builder/__init__.py --- ./bs4/builder/__init__.py (original) +++ ./bs4/builder/__init__.py (refactored) @@ -205,13 +205,13 @@ universal = self.cdata_list_attributes.get('*', []) tag_specific = self.cdata_list_attributes.get( tag_name.lower(), None) - for attr in attrs.keys(): + for attr in list(attrs.keys()): if attr in universal or (tag_specific and attr in tag_specific): # We have a "class"-type attribute whose string # value is a whitespace-separated list of # values. Split it into a list. value = attrs[attr] - if isinstance(value, basestring): + if isinstance(value, str): values = nonwhitespace_re.findall(value) else: # html5lib sometimes calls setAttributes twice @@ -369,7 +369,7 @@ """ if isinstance(message_or_exception, Exception): e = message_or_exception - message_or_exception = "%s: %s" % (e.__class__.__name__, unicode(e)) + message_or_exception = "%s: %s" % (e.__class__.__name__, str(e)) super(ParserRejectedMarkup, self).__init__(message_or_exception) # Builders are registered in reverse order of priority, so that custom RefactoringTool: Refactored ./bs4/builder/_html5lib.py --- ./bs4/builder/_html5lib.py (original) +++ ./bs4/builder/_html5lib.py (refactored) @@ -33,7 +33,7 @@ # Pre-0.99999999 from html5lib.treebuilders import _base as treebuilder_base new_html5lib = False -except ImportError, e: +except ImportError as e: # 0.99999999 and up from html5lib.treebuilders import base as treebuilder_base new_html5lib = True @@ -68,7 +68,7 @@ parser = html5lib.HTMLParser(tree=self.create_treebuilder) self.underlying_builder.parser = parser extra_kwargs = dict() - if not isinstance(markup, unicode): + if not isinstance(markup, str): if new_html5lib: extra_kwargs['override_encoding'] = self.user_specified_encoding else: @@ -76,13 +76,13 @@ doc = parser.parse(markup, **extra_kwargs) # Set the character encoding detected by the tokenizer. - if isinstance(markup, unicode): + if isinstance(markup, str): # We need to special-case this because html5lib sets # charEncoding to UTF-8 if it gets Unicode input. doc.original_encoding = None else: original_encoding = parser.tokenizer.stream.charEncoding[0] - if not isinstance(original_encoding, basestring): + if not isinstance(original_encoding, str): # In 0.99999999 and up, the encoding is an html5lib # Encoding object. We want to use a string for compatibility # with other tree builders. @@ -99,7 +99,7 @@ def test_fragment_to_document(self, fragment): """See `TreeBuilder`.""" - return u'%s' % fragment + return '%s' % fragment class TreeBuilderForHtml5lib(treebuilder_base.TreeBuilder): @@ -203,7 +203,7 @@ rv.append("|%s<%s>" % (' ' * indent, name)) if element.attrs: attributes = [] - for name, value in element.attrs.items(): + for name, value in list(element.attrs.items()): if isinstance(name, NamespacedAttribute): name = "%s %s" % (prefixes[name.namespace], name.name) if isinstance(value, list): @@ -258,7 +258,7 @@ def appendChild(self, node): string_child = child = None - if isinstance(node, basestring): + if isinstance(node, str): # Some other piece of code decided to pass in a string # instead of creating a TextElement object to contain the # string. @@ -275,7 +275,7 @@ child = node.element node.parent = self - if not isinstance(child, basestring) and child.parent is not None: + if not isinstance(child, str) and child.parent is not None: node.element.extract() if (string_child is not None and self.element.contents @@ -288,7 +288,7 @@ old_element.replace_with(new_element) self.soup._most_recent_element = new_element else: - if isinstance(node, basestring): + if isinstance(node, str): # Create a brand new NavigableString from this string. child = self.soup.new_string(node) @@ -328,7 +328,7 @@ self.soup.builder._replace_cdata_list_attribute_values( self.name, attributes) - for name, value in attributes.items(): + for name, value in list(attributes.items()): self.element[name] = value # The attributes may contain variables that need substitution. RefactoringTool: Refactored ./bs4/builder/_htmlparser.py --- ./bs4/builder/_htmlparser.py (original) +++ ./bs4/builder/_htmlparser.py (refactored) @@ -8,11 +8,11 @@ 'HTMLParserTreeBuilder', ] -from HTMLParser import HTMLParser +from html.parser import HTMLParser try: - from HTMLParser import HTMLParseError -except ImportError, e: + from html.parser import HTMLParseError +except ImportError as e: # HTMLParseError is removed in Python 3.5. Since it can never be # thrown in 3.5, we can just define our own class as a placeholder. class HTMLParseError(Exception): @@ -157,14 +157,14 @@ continue try: data = bytearray([real_name]).decode(encoding) - except UnicodeDecodeError, e: + except UnicodeDecodeError as e: pass if not data: try: - data = unichr(real_name) - except (ValueError, OverflowError), e: + data = chr(real_name) + except (ValueError, OverflowError) as e: pass - data = data or u"\N{REPLACEMENT CHARACTER}" + data = data or "\N{REPLACEMENT CHARACTER}" self.handle_data(data) def handle_entityref(self, name): @@ -239,7 +239,7 @@ declared within markup, whether any characters had to be replaced with REPLACEMENT CHARACTER). """ - if isinstance(markup, unicode): + if isinstance(markup, str): yield (markup, None, None, False) return @@ -257,7 +257,7 @@ try: parser.feed(markup) parser.close() - except HTMLParseError, e: + except HTMLParseError as e: warnings.warn(RuntimeWarning( "Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help.")) raise e RefactoringTool: Refactored ./bs4/builder/_lxml.py --- ./bs4/builder/_lxml.py (original) +++ ./bs4/builder/_lxml.py (refactored) @@ -8,11 +8,11 @@ try: from collections.abc import Callable # Python 3.6 -except ImportError , e: +except ImportError as e: from collections import Callable from io import BytesIO -from StringIO import StringIO +from io import StringIO from lxml import etree from bs4.element import ( Comment, @@ -35,7 +35,7 @@ def _invert(d): "Invert a dictionary." - return dict((v,k) for k, v in d.items()) + return dict((v,k) for k, v in list(d.items())) class LXMLTreeBuilderForXML(TreeBuilder): DEFAULT_PARSER_CLASS = etree.XMLParser @@ -76,7 +76,7 @@ This might be useful later on when creating CSS selectors. """ - for key, value in mapping.items(): + for key, value in list(mapping.items()): if key and key not in self.soup._namespaces: # Let the BeautifulSoup object know about a new namespace. # If there are multiple namespaces defined with the same @@ -139,12 +139,12 @@ else: self.processing_instruction_class = XMLProcessingInstruction - if isinstance(markup, unicode): + if isinstance(markup, str): # We were given Unicode. Maybe lxml can parse Unicode on # this system? yield markup, None, document_declared_encoding, False - if isinstance(markup, unicode): + if isinstance(markup, str): # No, apparently not. Convert the Unicode to UTF-8 and # tell lxml to parse it as UTF-8. yield (markup.encode("utf8"), "utf8", @@ -159,7 +159,7 @@ def feed(self, markup): if isinstance(markup, bytes): markup = BytesIO(markup) - elif isinstance(markup, unicode): + elif isinstance(markup, str): markup = StringIO(markup) # Call feed() at least once, even if the markup is empty, @@ -174,7 +174,7 @@ if len(data) != 0: self.parser.feed(data) self.parser.close() - except (UnicodeDecodeError, LookupError, etree.ParserError), e: + except (UnicodeDecodeError, LookupError, etree.ParserError) as e: raise ParserRejectedMarkup(e) def close(self): @@ -203,7 +203,7 @@ # Also treat the namespace mapping as a set of attributes on the # tag, so we can recreate it later. attrs = attrs.copy() - for prefix, namespace in nsmap.items(): + for prefix, namespace in list(nsmap.items()): attribute = NamespacedAttribute( "xmlns", prefix, "http://www.w3.org/2000/xmlns/") attrs[attribute] = namespace @@ -212,7 +212,7 @@ # from lxml with namespaces attached to their names, and # turn then into NamespacedAttribute objects. new_attrs = {} - for attr, value in attrs.items(): + for attr, value in list(attrs.items()): namespace, attr = self._getNsTag(attr) if namespace is None: new_attrs[attr] = value @@ -272,7 +272,7 @@ def test_fragment_to_document(self, fragment): """See `TreeBuilder`.""" - return u'\n%s' % fragment + return '\n%s' % fragment class LXMLTreeBuilder(HTMLTreeBuilder, LXMLTreeBuilderForXML): @@ -293,10 +293,10 @@ self.parser = self.parser_for(encoding) self.parser.feed(markup) self.parser.close() - except (UnicodeDecodeError, LookupError, etree.ParserError), e: + except (UnicodeDecodeError, LookupError, etree.ParserError) as e: raise ParserRejectedMarkup(e) def test_fragment_to_document(self, fragment): """See `TreeBuilder`.""" - return u'%s' % fragment + return '%s' % fragment RefactoringTool: No changes to ./bs4/tests/__init__.py RefactoringTool: No changes to ./bs4/tests/test_builder_registry.py RefactoringTool: No changes to ./bs4/tests/test_docs.py RefactoringTool: Refactored ./bs4/tests/test_html5lib.py --- ./bs4/tests/test_html5lib.py (original) +++ ./bs4/tests/test_html5lib.py (refactored) @@ -5,7 +5,7 @@ try: from bs4.builder import HTML5TreeBuilder HTML5LIB_PRESENT = True -except ImportError, e: +except ImportError as e: HTML5LIB_PRESENT = False from bs4.element import SoupStrainer from bs4.testing import ( @@ -74,14 +74,14 @@ def test_reparented_markup(self): markup = '

foo

\n

bar

' soup = self.soup(markup) - self.assertEqual(u"

foo

\n

bar

", soup.body.decode()) + self.assertEqual("

foo

\n

bar

", soup.body.decode()) self.assertEqual(2, len(soup.find_all('p'))) def test_reparented_markup_ends_with_whitespace(self): markup = '

foo

\n

bar

\n' soup = self.soup(markup) - self.assertEqual(u"

foo

\n

bar

\n", soup.body.decode()) + self.assertEqual("

foo

\n

bar

\n", soup.body.decode()) self.assertEqual(2, len(soup.find_all('p'))) def test_reparented_markup_containing_identical_whitespace_nodes(self): @@ -127,7 +127,7 @@ def test_foster_parenting(self): markup = b"""A""" soup = self.soup(markup) - self.assertEqual(u"A
", soup.body.decode()) + self.assertEqual("A
", soup.body.decode()) def test_extraction(self): """ RefactoringTool: No changes to ./bs4/tests/test_htmlparser.py RefactoringTool: Refactored ./bs4/tests/test_lxml.py --- ./bs4/tests/test_lxml.py (original) +++ ./bs4/tests/test_lxml.py (refactored) @@ -7,7 +7,7 @@ import lxml.etree LXML_PRESENT = True LXML_VERSION = lxml.etree.LXML_VERSION -except ImportError, e: +except ImportError as e: LXML_PRESENT = False LXML_VERSION = (0,) @@ -68,7 +68,7 @@ # if one is installed. with warnings.catch_warnings(record=True) as w: soup = BeautifulStoneSoup("") - self.assertEqual(u"", unicode(soup.b)) + self.assertEqual("", str(soup.b)) self.assertTrue("BeautifulStoneSoup class is deprecated" in str(w[0].message)) def test_tracking_line_numbers(self): RefactoringTool: Refactored ./bs4/tests/test_soup.py --- ./bs4/tests/test_soup.py (original) +++ ./bs4/tests/test_soup.py (refactored) @@ -49,17 +49,17 @@ class TestConstructor(SoupTest): def test_short_unicode_input(self): - data = u"

éé

" + data = "

éé

" soup = self.soup(data) - self.assertEqual(u"éé", soup.h1.string) + self.assertEqual("éé", soup.h1.string) def test_embedded_null(self): - data = u"

foo\0bar

" + data = "

foo\0bar

" soup = self.soup(data) - self.assertEqual(u"foo\0bar", soup.h1.string) + self.assertEqual("foo\0bar", soup.h1.string) def test_exclude_encodings(self): - utf8_data = u"Räksmörgås".encode("utf-8") + utf8_data = "Räksmörgås".encode("utf-8") soup = self.soup(utf8_data, exclude_encodings=["utf-8"]) self.assertEqual("windows-1252", soup.original_encoding) @@ -124,7 +124,7 @@ yield markup, None, None, False import re - self.assertRaisesRegexp( + self.assertRaisesRegex( ParserRejectedMarkup, "The markup you provided was rejected by the parser. Trying a different parser or a different encoding may help.", BeautifulSoup, '', builder=Mock, @@ -261,7 +261,7 @@ with warnings.catch_warnings(record=True) as warning_list: # note - this url must differ from the bytes one otherwise # python's warnings system swallows the second warning - soup = self.soup(u"http://www.crummyunicode.com/") + soup = self.soup("http://www.crummyunicode.com/") self.assertTrue(any("looks like a URL" in str(w.message) for w in warning_list)) @@ -273,7 +273,7 @@ def test_url_warning_with_unicode_and_space(self): with warnings.catch_warnings(record=True) as warning_list: - soup = self.soup(u"http://www.crummyuncode.com/ is great") + soup = self.soup("http://www.crummyuncode.com/ is great") self.assertFalse(any("looks like a URL" in str(w.message) for w in warning_list)) @@ -295,9 +295,9 @@ def test_simple_html_substitution(self): # Unicode characters corresponding to named HTML entites # are substituted, and no others. - s = u"foo\u2200\N{SNOWMAN}\u00f5bar" + s = "foo\u2200\N{SNOWMAN}\u00f5bar" self.assertEqual(self.sub.substitute_html(s), - u"foo∀\N{SNOWMAN}õbar") + "foo∀\N{SNOWMAN}õbar") def test_smart_quote_substitution(self): # MS smart quotes are a common source of frustration, so we @@ -362,7 +362,7 @@ def setUp(self): super(TestEncodingConversion, self).setUp() - self.unicode_data = u'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' + self.unicode_data = 'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' self.utf8_data = self.unicode_data.encode("utf-8") # Just so you know what it looks like. self.assertEqual( @@ -382,7 +382,7 @@ ascii = b"a" soup_from_ascii = self.soup(ascii) unicode_output = soup_from_ascii.decode() - self.assertTrue(isinstance(unicode_output, unicode)) + self.assertTrue(isinstance(unicode_output, str)) self.assertEqual(unicode_output, self.document_for(ascii.decode())) self.assertEqual(soup_from_ascii.original_encoding.lower(), "utf-8") finally: @@ -394,7 +394,7 @@ # is not set. soup_from_unicode = self.soup(self.unicode_data) self.assertEqual(soup_from_unicode.decode(), self.unicode_data) - self.assertEqual(soup_from_unicode.foo.string, u'Sacr\xe9 bleu!') + self.assertEqual(soup_from_unicode.foo.string, 'Sacr\xe9 bleu!') self.assertEqual(soup_from_unicode.original_encoding, None) def test_utf8_in_unicode_out(self): @@ -402,7 +402,7 @@ # attribute is set. soup_from_utf8 = self.soup(self.utf8_data) self.assertEqual(soup_from_utf8.decode(), self.unicode_data) - self.assertEqual(soup_from_utf8.foo.string, u'Sacr\xe9 bleu!') + self.assertEqual(soup_from_utf8.foo.string, 'Sacr\xe9 bleu!') def test_utf8_out(self): # The internal data structures can be encoded as UTF-8. @@ -413,14 +413,14 @@ PYTHON_3_PRE_3_2, "Bad HTMLParser detected; skipping test of non-ASCII characters in attribute name.") def test_attribute_name_containing_unicode_characters(self): - markup = u'
' + markup = '
' self.assertEqual(self.soup(markup).div.encode("utf8"), markup.encode("utf8")) class TestUnicodeDammit(unittest.TestCase): """Standalone tests of UnicodeDammit.""" def test_unicode_input(self): - markup = u"I'm already Unicode! \N{SNOWMAN}" + markup = "I'm already Unicode! \N{SNOWMAN}" dammit = UnicodeDammit(markup) self.assertEqual(dammit.unicode_markup, markup) @@ -428,7 +428,7 @@ markup = b"\x91\x92\x93\x94" dammit = UnicodeDammit(markup) self.assertEqual( - dammit.unicode_markup, u"\u2018\u2019\u201c\u201d") + dammit.unicode_markup, "\u2018\u2019\u201c\u201d") def test_smart_quotes_to_xml_entities(self): markup = b"\x91\x92\x93\x94" @@ -452,14 +452,14 @@ utf8 = b"Sacr\xc3\xa9 bleu! \xe2\x98\x83" dammit = UnicodeDammit(utf8) self.assertEqual(dammit.original_encoding.lower(), 'utf-8') - self.assertEqual(dammit.unicode_markup, u'Sacr\xe9 bleu! \N{SNOWMAN}') + self.assertEqual(dammit.unicode_markup, 'Sacr\xe9 bleu! \N{SNOWMAN}') def test_convert_hebrew(self): hebrew = b"\xed\xe5\xec\xf9" dammit = UnicodeDammit(hebrew, ["iso-8859-8"]) self.assertEqual(dammit.original_encoding.lower(), 'iso-8859-8') - self.assertEqual(dammit.unicode_markup, u'\u05dd\u05d5\u05dc\u05e9') + self.assertEqual(dammit.unicode_markup, '\u05dd\u05d5\u05dc\u05e9') def test_dont_see_smart_quotes_where_there_are_none(self): utf_8 = b"\343\202\261\343\203\274\343\202\277\343\202\244 Watch" @@ -468,19 +468,19 @@ self.assertEqual(dammit.unicode_markup.encode("utf-8"), utf_8) def test_ignore_inappropriate_codecs(self): - utf8_data = u"Räksmörgås".encode("utf-8") + utf8_data = "Räksmörgås".encode("utf-8") dammit = UnicodeDammit(utf8_data, ["iso-8859-8"]) self.assertEqual(dammit.original_encoding.lower(), 'utf-8') def test_ignore_invalid_codecs(self): - utf8_data = u"Räksmörgås".encode("utf-8") + utf8_data = "Räksmörgås".encode("utf-8") for bad_encoding in ['.utf8', '...', 'utF---16.!']: dammit = UnicodeDammit(utf8_data, [bad_encoding]) self.assertEqual(dammit.original_encoding.lower(), 'utf-8') def test_exclude_encodings(self): # This is UTF-8. - utf8_data = u"Räksmörgås".encode("utf-8") + utf8_data = "Räksmörgås".encode("utf-8") # But if we exclude UTF-8 from consideration, the guess is # Windows-1252. @@ -496,7 +496,7 @@ detected = EncodingDetector( b'') encodings = list(detected.encodings) - assert u'utf-\N{REPLACEMENT CHARACTER}' in encodings + assert 'utf-\N{REPLACEMENT CHARACTER}' in encodings def test_detect_html5_style_meta_tag(self): @@ -536,7 +536,7 @@ bs4.dammit.chardet_dammit = noop dammit = UnicodeDammit(doc) self.assertEqual(True, dammit.contains_replacement_characters) - self.assertTrue(u"\ufffd" in dammit.unicode_markup) + self.assertTrue("\ufffd" in dammit.unicode_markup) soup = BeautifulSoup(doc, "html.parser") self.assertTrue(soup.contains_replacement_characters) @@ -548,17 +548,17 @@ # A document written in UTF-16LE will have its byte order marker stripped. data = b'\xff\xfe<\x00a\x00>\x00\xe1\x00\xe9\x00<\x00/\x00a\x00>\x00' dammit = UnicodeDammit(data) - self.assertEqual(u"áé", dammit.unicode_markup) + self.assertEqual("áé", dammit.unicode_markup) self.assertEqual("utf-16le", dammit.original_encoding) def test_detwingle(self): # Here's a UTF8 document. - utf8 = (u"\N{SNOWMAN}" * 3).encode("utf8") + utf8 = ("\N{SNOWMAN}" * 3).encode("utf8") # Here's a Windows-1252 document. windows_1252 = ( - u"\N{LEFT DOUBLE QUOTATION MARK}Hi, I like Windows!" - u"\N{RIGHT DOUBLE QUOTATION MARK}").encode("windows_1252") + "\N{LEFT DOUBLE QUOTATION MARK}Hi, I like Windows!" + "\N{RIGHT DOUBLE QUOTATION MARK}").encode("windows_1252") # Through some unholy alchemy, they've been stuck together. doc = utf8 + windows_1252 + utf8 @@ -573,7 +573,7 @@ fixed = UnicodeDammit.detwingle(doc) self.assertEqual( - u"☃☃☃“Hi, I like Windows!”☃☃☃", fixed.decode("utf8")) + "☃☃☃“Hi, I like Windows!”☃☃☃", fixed.decode("utf8")) def test_detwingle_ignores_multibyte_characters(self): # Each of these characters has a UTF-8 representation ending @@ -581,9 +581,9 @@ # Windows-1252. But our code knows to skip over multibyte # UTF-8 characters, so they'll survive the process unscathed. for tricky_unicode_char in ( - u"\N{LATIN SMALL LIGATURE OE}", # 2-byte char '\xc5\x93' - u"\N{LATIN SUBSCRIPT SMALL LETTER X}", # 3-byte char '\xe2\x82\x93' - u"\xf0\x90\x90\x93", # This is a CJK character, not sure which one. + "\N{LATIN SMALL LIGATURE OE}", # 2-byte char '\xc5\x93' + "\N{LATIN SUBSCRIPT SMALL LETTER X}", # 3-byte char '\xe2\x82\x93' + "\xf0\x90\x90\x93", # This is a CJK character, not sure which one. ): input = tricky_unicode_char.encode("utf8") self.assertTrue(input.endswith(b'\x93')) @@ -598,29 +598,29 @@ # interesting to know what encoding was claimed # originally. - html_unicode = u'' + html_unicode = '' html_bytes = html_unicode.encode("ascii") - xml_unicode= u'' + xml_unicode= '' xml_bytes = xml_unicode.encode("ascii") m = EncodingDetector.find_declared_encoding - self.assertEquals(None, m(html_unicode, is_html=False)) - self.assertEquals("utf-8", m(html_unicode, is_html=True)) - self.assertEquals("utf-8", m(html_bytes, is_html=True)) - - self.assertEquals("iso-8859-1", m(xml_unicode)) - self.assertEquals("iso-8859-1", m(xml_bytes)) + self.assertEqual(None, m(html_unicode, is_html=False)) + self.assertEqual("utf-8", m(html_unicode, is_html=True)) + self.assertEqual("utf-8", m(html_bytes, is_html=True)) + + self.assertEqual("iso-8859-1", m(xml_unicode)) + self.assertEqual("iso-8859-1", m(xml_bytes)) # Normally, only the first few kilobytes of a document are checked for # an encoding. spacer = b' ' * 5000 - self.assertEquals(None, m(spacer + html_bytes)) - self.assertEquals(None, m(spacer + xml_bytes)) + self.assertEqual(None, m(spacer + html_bytes)) + self.assertEqual(None, m(spacer + xml_bytes)) # But you can tell find_declared_encoding to search an entire # HTML document. - self.assertEquals( + self.assertEqual( "utf-8", m(spacer + html_bytes, is_html=True, search_entire_document=True) ) @@ -628,11 +628,11 @@ # The XML encoding declaration has to be the very first thing # in the document. We'll allow whitespace before the document # starts, but nothing else. - self.assertEquals( + self.assertEqual( "iso-8859-1", m(xml_bytes, search_entire_document=True) ) - self.assertEquals( + self.assertEqual( None, m(b'a' + xml_bytes, search_entire_document=True) ) RefactoringTool: Refactored ./bs4/tests/test_tree.py --- ./bs4/tests/test_tree.py (original) +++ ./bs4/tests/test_tree.py (refactored) @@ -71,13 +71,13 @@ self.assertEqual(soup.find("b").string, "2") def test_unicode_text_find(self): - soup = self.soup(u'

Räksmörgås

') - self.assertEqual(soup.find(string=u'Räksmörgås'), u'Räksmörgås') + soup = self.soup('

Räksmörgås

') + self.assertEqual(soup.find(string='Räksmörgås'), 'Räksmörgås') def test_unicode_attribute_find(self): - soup = self.soup(u'

here it is

') + soup = self.soup('

here it is

') str(soup) - self.assertEqual("here it is", soup.find(id=u'Räksmörgås').text) + self.assertEqual("here it is", soup.find(id='Räksmörgås').text) def test_find_everything(self): @@ -97,17 +97,17 @@ """You can search the tree for text nodes.""" soup = self.soup("Foobar\xbb") # Exact match. - self.assertEqual(soup.find_all(string="bar"), [u"bar"]) - self.assertEqual(soup.find_all(text="bar"), [u"bar"]) + self.assertEqual(soup.find_all(string="bar"), ["bar"]) + self.assertEqual(soup.find_all(text="bar"), ["bar"]) # Match any of a number of strings. self.assertEqual( - soup.find_all(text=["Foo", "bar"]), [u"Foo", u"bar"]) + soup.find_all(text=["Foo", "bar"]), ["Foo", "bar"]) # Match a regular expression. self.assertEqual(soup.find_all(text=re.compile('.*')), - [u"Foo", u"bar", u'\xbb']) + ["Foo", "bar", '\xbb']) # Match anything. self.assertEqual(soup.find_all(text=True), - [u"Foo", u"bar", u'\xbb']) + ["Foo", "bar", '\xbb']) def test_find_all_limit(self): """You can limit the number of items returned by find_all.""" @@ -250,8 +250,8 @@ ["Matching a.", "Matching b."]) def test_find_all_by_utf8_attribute_value(self): - peace = u"םולש".encode("utf8") - data = u''.encode("utf8") + peace = "םולש".encode("utf8") + data = ''.encode("utf8") soup = self.soup(data) self.assertEqual([soup.a], soup.find_all(title=peace)) self.assertEqual([soup.a], soup.find_all(title=peace.decode("utf8"))) @@ -440,7 +440,7 @@ # output. # Since the tag has two children, its .string is None. - self.assertEquals(None, div.span.string) + self.assertEqual(None, div.span.string) self.assertEqual(7, len(div.contents)) div.smooth() @@ -751,18 +751,18 @@ # No list of whitespace-preserving tags -> pretty-print tag._preserve_whitespace_tags = None - self.assertEquals(True, tag._should_pretty_print(0)) + self.assertEqual(True, tag._should_pretty_print(0)) # List exists but tag is not on the list -> pretty-print tag.preserve_whitespace_tags = ["some_other_tag"] - self.assertEquals(True, tag._should_pretty_print(1)) + self.assertEqual(True, tag._should_pretty_print(1)) # Indent level is None -> don't pretty-print - self.assertEquals(False, tag._should_pretty_print(None)) + self.assertEqual(False, tag._should_pretty_print(None)) # Tag is on the whitespace-preserving list -> don't pretty-print tag.preserve_whitespace_tags = ["some_other_tag", "a_tag"] - self.assertEquals(False, tag._should_pretty_print(1)) + self.assertEqual(False, tag._should_pretty_print(1)) class TestTagCreation(SoupTest): @@ -901,10 +901,10 @@ assert not isinstance(i, BeautifulSoup) p1, p2, p3, p4 = list(soup.children) - self.assertEquals("And now, a word:", p1.string) - self.assertEquals("p2", p2.string) - self.assertEquals("p3", p3.string) - self.assertEquals("And we're back.", p4.string) + self.assertEqual("And now, a word:", p1.string) + self.assertEqual("p2", p2.string) + self.assertEqual("p3", p3.string) + self.assertEqual("And we're back.", p4.string) def test_replace_with_maintains_next_element_throughout(self): @@ -1249,7 +1249,7 @@ """) [soup.script.extract() for i in soup.find_all("script")] - self.assertEqual("\n\n\n", unicode(soup.body)) + self.assertEqual("\n\n\n", str(soup.body)) def test_extract_works_when_element_is_surrounded_by_identical_strings(self): @@ -1487,7 +1487,7 @@ soup = BeautifulSoup(b'

 

', 'html.parser') encoding = soup.original_encoding copy = soup.__copy__() - self.assertEqual(u"

 

", unicode(copy)) + self.assertEqual("

 

", str(copy)) self.assertEqual(encoding, copy.original_encoding) def test_copy_preserves_builder_information(self): @@ -1517,14 +1517,14 @@ def test_unicode_pickle(self): # A tree containing Unicode characters can be pickled. - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) dumped = pickle.dumps(soup, pickle.HIGHEST_PROTOCOL) loaded = pickle.loads(dumped) self.assertEqual(loaded.decode(), soup.decode()) def test_copy_navigablestring_is_not_attached_to_tree(self): - html = u"FooBar" + html = "FooBar" soup = self.soup(html) s1 = soup.find(string="Foo") s2 = copy.copy(s1) @@ -1536,7 +1536,7 @@ self.assertEqual(None, s2.previous_element) def test_copy_navigablestring_subclass_has_same_type(self): - html = u"" + html = "" soup = self.soup(html) s1 = soup.string s2 = copy.copy(s1) @@ -1544,19 +1544,19 @@ self.assertTrue(isinstance(s2, Comment)) def test_copy_entire_soup(self): - html = u"
FooBar
end" + html = "
FooBar
end" soup = self.soup(html) soup_copy = copy.copy(soup) self.assertEqual(soup, soup_copy) def test_copy_tag_copies_contents(self): - html = u"
FooBar
end" + html = "
FooBar
end" soup = self.soup(html) div = soup.div div_copy = copy.copy(div) # The two tags look the same, and evaluate to equal. - self.assertEqual(unicode(div), unicode(div_copy)) + self.assertEqual(str(div), str(div_copy)) self.assertEqual(div, div_copy) # But they're not the same object. @@ -1572,17 +1572,17 @@ class TestSubstitutions(SoupTest): def test_default_formatter_is_minimal(self): - markup = u"<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" + markup = "<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" soup = self.soup(markup) decoded = soup.decode(formatter="minimal") # The < is converted back into < but the e-with-acute is left alone. self.assertEqual( decoded, self.document_for( - u"<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>")) + "<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>")) def test_formatter_html(self): - markup = u"
<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" + markup = "
<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" soup = self.soup(markup) decoded = soup.decode(formatter="html") self.assertEqual( @@ -1590,7 +1590,7 @@ self.document_for("
<<Sacré bleu!>>")) def test_formatter_html5(self): - markup = u"
<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" + markup = "
<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" soup = self.soup(markup) decoded = soup.decode(formatter="html5") self.assertEqual( @@ -1598,49 +1598,49 @@ self.document_for("
<<Sacré bleu!>>")) def test_formatter_minimal(self): - markup = u"<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" + markup = "<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" soup = self.soup(markup) decoded = soup.decode(formatter="minimal") # The < is converted back into < but the e-with-acute is left alone. self.assertEqual( decoded, self.document_for( - u"<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>")) + "<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>")) def test_formatter_null(self): - markup = u"<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" + markup = "<<Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>" soup = self.soup(markup) decoded = soup.decode(formatter=None) # Neither the angle brackets nor the e-with-acute are converted. # This is not valid HTML, but it's what the user wanted. self.assertEqual(decoded, - self.document_for(u"<>")) + self.document_for("<>")) def test_formatter_custom(self): - markup = u"<foo>bar
" + markup = "<foo>bar
" soup = self.soup(markup) decoded = soup.decode(formatter = lambda x: x.upper()) # Instead of normal entity conversion code, the custom # callable is called on every string. self.assertEqual( decoded, - self.document_for(u"BAR
")) + self.document_for("BAR
")) def test_formatter_is_run_on_attribute_values(self): - markup = u'e' + markup = 'e' soup = self.soup(markup) a = soup.a - expect_minimal = u'e' + expect_minimal = 'e' self.assertEqual(expect_minimal, a.decode()) self.assertEqual(expect_minimal, a.decode(formatter="minimal")) - expect_html = u'e' + expect_html = 'e' self.assertEqual(expect_html, a.decode(formatter="html")) self.assertEqual(markup, a.decode(formatter=None)) - expect_upper = u'E' + expect_upper = 'E' self.assertEqual(expect_upper, a.decode(formatter=lambda x: x.upper())) def test_formatter_skips_script_tag_for_html_documents(self): @@ -1666,7 +1666,7 @@ # Everything outside the
 tag is reformatted, but everything
         # inside is left alone.
         self.assertEqual(
-            u'
\n foo\n
  \tbar\n  \n  
\n baz\n \n
', + '
\n foo\n
  \tbar\n  \n  
\n baz\n \n
', soup.div.prettify()) def test_prettify_accepts_formatter_function(self): @@ -1676,14 +1676,14 @@ def test_prettify_outputs_unicode_by_default(self): soup = self.soup("") - self.assertEqual(unicode, type(soup.prettify())) + self.assertEqual(str, type(soup.prettify())) def test_prettify_can_encode_data(self): soup = self.soup("") self.assertEqual(bytes, type(soup.prettify("utf-8"))) def test_html_entity_substitution_off_by_default(self): - markup = u"Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!" + markup = "Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!" soup = self.soup(markup) encoded = soup.b.encode("utf-8") self.assertEqual(encoded, markup.encode('utf-8')) @@ -1727,48 +1727,48 @@ """Test the ability to encode objects into strings.""" def test_unicode_string_can_be_encoded(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) self.assertEqual(soup.b.string.encode("utf-8"), - u"\N{SNOWMAN}".encode("utf-8")) + "\N{SNOWMAN}".encode("utf-8")) def test_tag_containing_unicode_string_can_be_encoded(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) self.assertEqual( soup.b.encode("utf-8"), html.encode("utf-8")) def test_encoding_substitutes_unrecognized_characters_by_default(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) self.assertEqual(soup.b.encode("ascii"), b"") def test_encoding_can_be_made_strict(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) self.assertRaises( UnicodeEncodeError, soup.encode, "ascii", errors="strict") def test_decode_contents(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) - self.assertEqual(u"\N{SNOWMAN}", soup.b.decode_contents()) + self.assertEqual("\N{SNOWMAN}", soup.b.decode_contents()) def test_encode_contents(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) self.assertEqual( - u"\N{SNOWMAN}".encode("utf8"), soup.b.encode_contents( + "\N{SNOWMAN}".encode("utf8"), soup.b.encode_contents( encoding="utf8")) def test_deprecated_renderContents(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) self.assertEqual( - u"\N{SNOWMAN}".encode("utf8"), soup.b.renderContents()) + "\N{SNOWMAN}".encode("utf8"), soup.b.renderContents()) def test_repr(self): - html = u"\N{SNOWMAN}" + html = "\N{SNOWMAN}" soup = self.soup(html) if PY3K: self.assertEqual(html, repr(soup)) @@ -1794,8 +1794,8 @@ # attributes() was called on the

tag. It filtered out one # attribute and sorted the other two. - self.assertEquals(formatter.called_with, soup.p) - self.assertEquals(u'

', decoded) + self.assertEqual(formatter.called_with, soup.p) + self.assertEqual('

', decoded) class TestNavigableStringSubclasses(SoupTest): @@ -1914,7 +1914,7 @@ els = self.soup.select('title') self.assertEqual(len(els), 1) self.assertEqual(els[0].name, 'title') - self.assertEqual(els[0].contents, [u'The title']) + self.assertEqual(els[0].contents, ['The title']) def test_one_tag_many(self): els = self.soup.select('div') @@ -1960,7 +1960,7 @@ self.assertEqual(dashed[0]['id'], 'dash2') def test_dashed_tag_text(self): - self.assertEqual(self.soup.select('body > custom-dashed-tag')[0].text, u'Hello there.') + self.assertEqual(self.soup.select('body > custom-dashed-tag')[0].text, 'Hello there.') def test_select_dashed_matches_find_all(self): self.assertEqual(self.soup.select('custom-dashed-tag'), self.soup.find_all('custom-dashed-tag')) @@ -2146,12 +2146,12 @@ # Try to select first paragraph els = self.soup.select('div#inner p:nth-of-type(1)') self.assertEqual(len(els), 1) - self.assertEqual(els[0].string, u'Some text') + self.assertEqual(els[0].string, 'Some text') # Try to select third paragraph els = self.soup.select('div#inner p:nth-of-type(3)') self.assertEqual(len(els), 1) - self.assertEqual(els[0].string, u'Another') + self.assertEqual(els[0].string, 'Another') # Try to select (non-existent!) fourth paragraph els = self.soup.select('div#inner p:nth-of-type(4)') @@ -2164,7 +2164,7 @@ def test_nth_of_type_direct_descendant(self): els = self.soup.select('div#inner > p:nth-of-type(1)') self.assertEqual(len(els), 1) - self.assertEqual(els[0].string, u'Some text') + self.assertEqual(els[0].string, 'Some text') def test_id_child_selector_nth_of_type(self): self.assertSelects('#inner > p:nth-of-type(2)', ['p1']) @@ -2245,7 +2245,7 @@ markup = '
' soup = BeautifulSoup(markup, 'html.parser') selected = soup.select(".c1, .c2") - self.assertEquals(3, len(selected)) + self.assertEqual(3, len(selected)) # Verify that find_all finds the same elements, though because # of an implementation detail it finds them in a different RefactoringTool: Refactored ./doc/source/conf.py --- ./doc/source/conf.py (original) +++ ./doc/source/conf.py (refactored) @@ -40,8 +40,8 @@ master_doc = 'index' # General information about the project. -project = u'Beautiful Soup' -copyright = u'2004-2015, Leonard Richardson' +project = 'Beautiful Soup' +copyright = '2004-2015, Leonard Richardson' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -178,8 +178,8 @@ # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'BeautifulSoup.tex', u'Beautiful Soup Documentation', - u'Leonard Richardson', 'manual'), + ('index', 'BeautifulSoup.tex', 'Beautiful Soup Documentation', + 'Leonard Richardson', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -211,18 +211,18 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'beautifulsoup', u'Beautiful Soup Documentation', - [u'Leonard Richardson'], 1) + ('index', 'beautifulsoup', 'Beautiful Soup Documentation', + ['Leonard Richardson'], 1) ] # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'Beautiful Soup' -epub_author = u'Leonard Richardson' -epub_publisher = u'Leonard Richardson' -epub_copyright = u'2012, Leonard Richardson' +epub_title = 'Beautiful Soup' +epub_author = 'Leonard Richardson' +epub_publisher = 'Leonard Richardson' +epub_copyright = '2012, Leonard Richardson' # The language of the text. It defaults to the language option # or en if the language is not set. RefactoringTool: Refactored ./doc.zh/source/conf.py --- ./doc.zh/source/conf.py (original) +++ ./doc.zh/source/conf.py (refactored) @@ -40,8 +40,8 @@ master_doc = 'index' # General information about the project. -project = u'Beautiful Soup' -copyright = u'2012, Leonard Richardson' +project = 'Beautiful Soup' +copyright = '2012, Leonard Richardson' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -178,8 +178,8 @@ # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'BeautifulSoup.tex', u'Beautiful Soup Documentation', - u'Leonard Richardson', 'manual'), + ('index', 'BeautifulSoup.tex', 'Beautiful Soup Documentation', + 'Leonard Richardson', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -211,18 +211,18 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'beautifulsoup', u'Beautiful Soup Documentation', - [u'Leonard Richardson'], 1) + ('index', 'beautifulsoup', 'Beautiful Soup Documentation', + ['Leonard Richardson'], 1) ] # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'Beautiful Soup' -epub_author = u'Leonard Richardson' -epub_publisher = u'Leonard Richardson' -epub_copyright = u'2012, Leonard Richardson' +epub_title = 'Beautiful Soup' +epub_author = 'Leonard Richardson' +epub_publisher = 'Leonard Richardson' +epub_copyright = '2012, Leonard Richardson' # The language of the text. It defaults to the language option # or en if the language is not set. RefactoringTool: Refactored ./scripts/demonstrate_parser_differences.py --- ./scripts/demonstrate_parser_differences.py (original) +++ ./scripts/demonstrate_parser_differences.py (refactored) @@ -22,13 +22,13 @@ try: from bs4.builder import _lxml parsers.append('lxml') -except ImportError, e: +except ImportError as e: pass try: from bs4.builder import _html5lib parsers.append('html5lib') -except ImportError, e: +except ImportError as e: pass class Demonstration(object): @@ -47,7 +47,7 @@ output = soup.div else: output = soup - except Exception, e: + except Exception as e: output = "[EXCEPTION] %s" % str(e) self.results[parser] = output if previous_output is None: @@ -57,15 +57,15 @@ return uniform_results def dump(self): - print "%s: %s" % ("Markup".rjust(13), self.markup.encode("utf8")) - for parser, output in self.results.items(): - print "%s: %s" % (parser.rjust(13), output.encode("utf8")) + print("%s: %s" % ("Markup".rjust(13), self.markup.encode("utf8"))) + for parser, output in list(self.results.items()): + print("%s: %s" % (parser.rjust(13), output.encode("utf8"))) different_results = [] uniform_results = [] -print "= Testing the following parsers: %s =" % ", ".join(parsers) -print +print("= Testing the following parsers: %s =" % ", ".join(parsers)) +print() input_file = sys.stdin if sys.stdin.isatty(): @@ -83,13 +83,13 @@ else: different_results.append(demo) -print "== Markup that's handled the same in every parser ==" -print +print("== Markup that's handled the same in every parser ==") +print() for demo in uniform_results: demo.dump() - print -print "== Markup that's not handled the same in every parser ==" -print + print() +print("== Markup that's not handled the same in every parser ==") +print() for demo in different_results: demo.dump() - print + print() RefactoringTool: Files that were modified: RefactoringTool: ./setup.py RefactoringTool: ./bs4/__init__.py RefactoringTool: ./bs4/check_block.py RefactoringTool: ./bs4/dammit.py RefactoringTool: ./bs4/diagnose.py RefactoringTool: ./bs4/element.py RefactoringTool: ./bs4/formatter.py RefactoringTool: ./bs4/testing.py RefactoringTool: ./bs4/builder/__init__.py RefactoringTool: ./bs4/builder/_html5lib.py RefactoringTool: ./bs4/builder/_htmlparser.py RefactoringTool: ./bs4/builder/_lxml.py RefactoringTool: ./bs4/tests/__init__.py RefactoringTool: ./bs4/tests/test_builder_registry.py RefactoringTool: ./bs4/tests/test_docs.py RefactoringTool: ./bs4/tests/test_html5lib.py RefactoringTool: ./bs4/tests/test_htmlparser.py RefactoringTool: ./bs4/tests/test_lxml.py RefactoringTool: ./bs4/tests/test_soup.py RefactoringTool: ./bs4/tests/test_tree.py RefactoringTool: ./doc/source/conf.py RefactoringTool: ./doc.zh/source/conf.py RefactoringTool: ./scripts/demonstrate_parser_differences.py + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/libexec/platform-python setup.py build '--executable=/usr/libexec/platform-python -s' running build running build_py creating build creating build/lib creating build/lib/bs4 copying bs4/formatter.py -> build/lib/bs4 copying bs4/dammit.py -> build/lib/bs4 copying bs4/testing.py -> build/lib/bs4 copying bs4/element.py -> build/lib/bs4 copying bs4/diagnose.py -> build/lib/bs4 copying bs4/__init__.py -> build/lib/bs4 copying bs4/check_block.py -> build/lib/bs4 creating build/lib/bs4/tests copying bs4/tests/test_tree.py -> build/lib/bs4/tests copying bs4/tests/test_builder_registry.py -> build/lib/bs4/tests copying bs4/tests/test_html5lib.py -> build/lib/bs4/tests copying bs4/tests/test_lxml.py -> build/lib/bs4/tests copying bs4/tests/test_docs.py -> build/lib/bs4/tests copying bs4/tests/test_htmlparser.py -> build/lib/bs4/tests copying bs4/tests/test_soup.py -> build/lib/bs4/tests copying bs4/tests/__init__.py -> build/lib/bs4/tests creating build/lib/bs4/builder copying bs4/builder/_htmlparser.py -> build/lib/bs4/builder copying bs4/builder/_html5lib.py -> build/lib/bs4/builder copying bs4/builder/_lxml.py -> build/lib/bs4/builder copying bs4/builder/__init__.py -> build/lib/bs4/builder Fixing build/lib/bs4/formatter.py build/lib/bs4/dammit.py build/lib/bs4/testing.py build/lib/bs4/element.py build/lib/bs4/diagnose.py build/lib/bs4/__init__.py build/lib/bs4/check_block.py build/lib/bs4/tests/test_tree.py build/lib/bs4/tests/test_builder_registry.py build/lib/bs4/tests/test_html5lib.py build/lib/bs4/tests/test_lxml.py build/lib/bs4/tests/test_docs.py build/lib/bs4/tests/test_htmlparser.py build/lib/bs4/tests/test_soup.py build/lib/bs4/tests/__init__.py build/lib/bs4/builder/_htmlparser.py build/lib/bs4/builder/_html5lib.py build/lib/bs4/builder/_lxml.py build/lib/bs4/builder/__init__.py Skipping optional fixer: buffer Skipping optional fixer: idioms Skipping optional fixer: set_literal Skipping optional fixer: ws_comma Fixing build/lib/bs4/formatter.py build/lib/bs4/dammit.py build/lib/bs4/testing.py build/lib/bs4/element.py build/lib/bs4/diagnose.py build/lib/bs4/__init__.py build/lib/bs4/check_block.py build/lib/bs4/tests/test_tree.py build/lib/bs4/tests/test_builder_registry.py build/lib/bs4/tests/test_html5lib.py build/lib/bs4/tests/test_lxml.py build/lib/bs4/tests/test_docs.py build/lib/bs4/tests/test_htmlparser.py build/lib/bs4/tests/test_soup.py build/lib/bs4/tests/__init__.py build/lib/bs4/builder/_htmlparser.py build/lib/bs4/builder/_html5lib.py build/lib/bs4/builder/_lxml.py build/lib/bs4/builder/__init__.py Skipping optional fixer: buffer Skipping optional fixer: idioms Skipping optional fixer: set_literal Skipping optional fixer: ws_comma + sleep 1 + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.pjYQ1T + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64 ++ dirname /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64 + cd beautifulsoup4-4.8.1 + pushd /builddir/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 ~/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 ~/build/BUILD/beautifulsoup4-4.8.1 + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/libexec/platform-python setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64 running install running install_lib creating /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr creating /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib creating /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6 creating /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages creating /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 creating /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder copying build/lib/bs4/builder/__init__.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder copying build/lib/bs4/builder/_lxml.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder copying build/lib/bs4/builder/_html5lib.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder copying build/lib/bs4/builder/_htmlparser.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder creating /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/__init__.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/test_soup.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/test_htmlparser.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/test_docs.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/test_lxml.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/test_html5lib.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/test_builder_registry.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/tests/test_tree.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests copying build/lib/bs4/check_block.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 copying build/lib/bs4/__init__.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 copying build/lib/bs4/diagnose.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 copying build/lib/bs4/element.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 copying build/lib/bs4/testing.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 copying build/lib/bs4/dammit.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 copying build/lib/bs4/formatter.py -> /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4 byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder/_lxml.py to _lxml.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder/_html5lib.py to _html5lib.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/builder/_htmlparser.py to _htmlparser.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/test_soup.py to test_soup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/test_htmlparser.py to test_htmlparser.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/test_docs.py to test_docs.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/test_lxml.py to test_lxml.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/test_html5lib.py to test_html5lib.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/test_builder_registry.py to test_builder_registry.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/tests/test_tree.py to test_tree.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/check_block.py to check_block.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/diagnose.py to diagnose.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/element.py to element.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/testing.py to testing.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/dammit.py to dammit.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/bs4/formatter.py to formatter.cpython-36.pyc writing byte-compilation script '/tmp/tmpmu876o96.py' /usr/libexec/platform-python /tmp/tmpmu876o96.py removing /tmp/tmpmu876o96.py running install_egg_info running egg_info writing beautifulsoup4.egg-info/PKG-INFO writing dependency_links to beautifulsoup4.egg-info/dependency_links.txt writing requirements to beautifulsoup4.egg-info/requires.txt writing top-level names to beautifulsoup4.egg-info/top_level.txt reading manifest file 'beautifulsoup4.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'beautifulsoup4.egg-info/SOURCES.txt' Copying beautifulsoup4.egg-info to /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6/site-packages/beautifulsoup4-4.8.1-py3.6.egg-info running install_scripts + /usr/lib/rpm/find-debuginfo.sh -j2 --strict-build-id -m -i --build-id-seed 4.8.1-1.el8 --unique-debug-suffix -4.8.1-1.el8.x86_64 --unique-debug-src-base python-beautifulsoup4-4.8.1-1.el8.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/beautifulsoup4-4.8.1 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile 1 Bytecompiling .py files below /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/lib/python3.6 using /usr/libexec/platform-python + /usr/lib/rpm/brp-python-hardlink + PYTHON3=/usr/libexec/platform-python + /usr/lib/rpm/redhat/brp-mangle-shebangs Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.aRHEyj + umask 022 + cd /builddir/build/BUILD + cd beautifulsoup4-4.8.1 + pushd /builddir/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 ~/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8 ~/build/BUILD/beautifulsoup4-4.8.1 + /usr/libexec/platform-python -m unittest discover -s bs4 ............................................................................................................................................./builddir/build/BUILD/python3-python-beautifulsoup4-4.8.1-1.el8/bs4/builder/_htmlparser.py:78: UserWarning: don't crash warnings.warn(msg) ........................................................................................................................................................................................................................................................................................................................................................................... ---------------------------------------------------------------------- Ran 504 tests in 0.547s OK + exit 0 Processing files: python3-beautifulsoup4-4.8.1-1.el8.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.B2hXfL + umask 022 + cd /builddir/build/BUILD + cd beautifulsoup4-4.8.1 + DOCDIR=/builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/share/doc/python3-beautifulsoup4 + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/share/doc/python3-beautifulsoup4 + cp -pr NEWS.txt /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/share/doc/python3-beautifulsoup4 + cp -pr TODO.txt /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/share/doc/python3-beautifulsoup4 + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.6VckYc + umask 022 + cd /builddir/build/BUILD + cd beautifulsoup4-4.8.1 + LICENSEDIR=/builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/share/licenses/python3-beautifulsoup4 + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/share/licenses/python3-beautifulsoup4 + cp -pr COPYING.txt /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64/usr/share/licenses/python3-beautifulsoup4 + exit 0 Provides: python3-beautifulsoup4 = 4.8.1-1.el8 python3.6dist(beautifulsoup4) = 4.8.1 python3dist(beautifulsoup4) = 4.8.1 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.6 Obsoletes: python3-BeautifulSoup < 1:3.2.1-2 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64 Wrote: /builddir/build/RPMS/python3-beautifulsoup4-4.8.1-1.el8.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.Pjw7FN + umask 022 + cd /builddir/build/BUILD + cd beautifulsoup4-4.8.1 + /usr/bin/rm -rf /builddir/build/BUILDROOT/python-beautifulsoup4-4.8.1-1.el8.x86_64 + exit 0 Finish: rpmbuild python-beautifulsoup4-4.8.1-1.el8.src.rpm Finish: build phase for python-beautifulsoup4-4.8.1-1.el8.src.rpm INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/1123015-centos-stream-x86_64-1575386615.852411/root/var/log/dnf.rpm.log /var/lib/mock/1123015-centos-stream-x86_64-1575386615.852411/root/var/log/dnf.librepo.log /var/lib/mock/1123015-centos-stream-x86_64-1575386615.852411/root/var/log/dnf.log INFO: Done(/var/lib/copr-rpmbuild/results/python-beautifulsoup4-4.8.1-1.el8.src.rpm) Config(child) 0 minutes 28 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run WARNING: Could not find required logging config file: /var/lib/copr-rpmbuild/results/configs/logging.ini. Using default... INFO: mock.py version 1.4.21 starting (python version = 3.7.5)... Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run Start: scrub ['cache'] INFO: scrubbing cache for child Finish: scrub ['cache'] Finish: run