Warning: Permanently added '3.81.203.14' (ECDSA) to the list of known hosts. Running: /usr/bin/copr-rpmbuild --verbose --drop-resultdir --build-id 1340304 --chroot fedora-rawhide-aarch64 --detached Version: 0.38 Task: {'build_id': 1340304, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-aarch64', 'enable_net': False, 'fetch_sources_only': True, 'git_hash': '40264b6a62cde26617ee78a5aa16167698eda240', 'git_repo': 'jjelen/mapillary_tools/mapillary_tools', 'memory_reqs': 2048, 'package_name': 'mapillary_tools', 'package_version': '0.5.0-1.fc33', 'project_dirname': 'mapillary_tools', 'project_name': 'mapillary_tools', 'project_owner': 'jjelen', 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/jjelen/mapillary_tools/fedora-rawhide-aarch64/', 'id': 'copr_base', 'name': 'Copr repository'}], 'sandbox': 'jjelen/mapillary_tools--jjelen', 'source_json': {'clone_url': 'https://copr-dist-git.fedorainfracloud.org/git/jjelen/mapillary_tools/mapillary_tools.git', 'committish': '40264b6a62cde26617ee78a5aa16167698eda240'}, 'source_type': 8, 'submitter': 'jjelen', 'task_id': '1340304-fedora-rawhide-aarch64', 'timeout': 86400, 'use_bootstrap_container': False, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/jjelen/mapillary_tools/mapillary_tools.git /tmp/copr-rpmbuild-6b5ltti5/obtain-sources/mapillary_tools --depth 500 --no-single-branch cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/jjelen/mapillary_tools/mapillary_tools.git', '/tmp/copr-rpmbuild-6b5ltti5/obtain-sources/mapillary_tools', '--depth', '500', '--no-single-branch'] cwd: . rc: 0 stdout: stderr: Cloning into '/tmp/copr-rpmbuild-6b5ltti5/obtain-sources/mapillary_tools'... Running: git checkout 40264b6a62cde26617ee78a5aa16167698eda240 cmd: ['git', 'checkout', '40264b6a62cde26617ee78a5aa16167698eda240'] cwd: /tmp/copr-rpmbuild-6b5ltti5/obtain-sources/mapillary_tools rc: 0 stdout: stderr: Note: switching to '40264b6a62cde26617ee78a5aa16167698eda240'. 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 40264b6 automatic import of mapillary_tools Running: cp -r . /tmp/copr-rpmbuild-6b5ltti5 cmd: ['cp', '-r', '.', '/tmp/copr-rpmbuild-6b5ltti5'] cwd: /tmp/copr-rpmbuild-6b5ltti5/obtain-sources/mapillary_tools 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/copr-rpmbuild-6b5ltti5/obtain-sources/.config/rpkg.conf Running: rpkg -C /tmp/copr-rpmbuild-6b5ltti5/obtain-sources/.config/rpkg.conf sources --outdir /tmp/copr-rpmbuild-6b5ltti5 cmd: ['rpkg', '-C', '/tmp/copr-rpmbuild-6b5ltti5/obtain-sources/.config/rpkg.conf', 'sources', '--outdir', '/tmp/copr-rpmbuild-6b5ltti5'] cwd: /tmp/copr-rpmbuild-6b5ltti5/obtain-sources/mapillary_tools rc: 0 stdout: Downloading mapillary_tools-0.5.0.zip from lookaside cache at copr-dist-git.fedorainfracloud.org stderr: /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=86400): unbuffer mock --buildsrpm --spec /tmp/copr-rpmbuild-6b5ltti5/mapillary_tools.spec --sources /tmp/copr-rpmbuild-6b5ltti5 --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1587134101.889789 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 2.2 starting (python version = 3.7.6)... 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/copr-rpmbuild-6b5ltti5/mapillary_tools.spec) Config(fedora-rawhide-aarch64) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-1587134101.889789/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 2.2 INFO: Mock Version: 2.2 Start: dnf install No matches found for the following disable plugin patterns: local, spacewalk Copr repository 36 kB/s | 5.9 kB 00:00 fedora 16 MB/s | 67 MB 00:04 Dependencies resolved. ====================================================================================== Package Arch Version Repo Size ====================================================================================== Installing group/module packages: bash aarch64 5.0.11-2.fc32 fedora 1.6 M bzip2 aarch64 1.0.8-2.fc32 fedora 52 k coreutils aarch64 8.32-3.fc33 fedora 1.1 M cpio aarch64 2.13-5.fc33 fedora 280 k diffutils aarch64 3.7-4.fc32 fedora 394 k fedora-release-common noarch 33-0.3 fedora 20 k findutils aarch64 1:4.7.0-3.fc32 fedora 551 k gawk aarch64 5.0.1-7.fc32 fedora 1.2 M glibc-minimal-langpack aarch64 2.31.9000-9.fc33 fedora 75 k grep aarch64 3.4-1.fc33 fedora 256 k gzip aarch64 1.10-2.fc32 fedora 155 k info aarch64 6.7-7.fc33 fedora 224 k make aarch64 1:4.3-1.fc33 fedora 534 k patch aarch64 2.7.6-12.fc32 fedora 133 k redhat-rpm-config noarch 154-1.fc33 fedora 63 k rpm-build aarch64 4.15.90-0.git14971.5.fc33 fedora 115 k sed aarch64 4.8-1.fc33 fedora 301 k shadow-utils aarch64 2:4.8.1-2.fc33 fedora 1.2 M tar aarch64 2:1.32-4.fc32 fedora 885 k unzip aarch64 6.0-47.fc32 fedora 178 k util-linux aarch64 2.35.1-9.fc33 fedora 2.7 M which aarch64 2.21-19.fc33 fedora 42 k xz aarch64 5.2.5-1.fc33 fedora 187 k Installing dependencies: alternatives aarch64 1.11-6.fc32 fedora 35 k audit-libs aarch64 3.0-0.19.20191104git1c2f876.fc33 fedora 113 k basesystem noarch 11-9.fc32 fedora 6.8 k binutils aarch64 2.34-2.fc33 fedora 5.8 M binutils-gold aarch64 2.34-2.fc33 fedora 1.0 M bzip2-libs aarch64 1.0.8-2.fc32 fedora 42 k ca-certificates noarch 2020.2.40-3.fc32 fedora 358 k coreutils-common aarch64 8.32-3.fc33 fedora 2.0 M cracklib aarch64 2.9.6-22.fc32 fedora 82 k crypto-policies noarch 20200312-1.git3ae59d2.fc33 fedora 56 k curl aarch64 7.69.0-2.fc33 fedora 289 k cyrus-sasl-lib aarch64 2.1.27-4.fc33 fedora 102 k dwz aarch64 0.13-2.fc32 fedora 107 k efi-srpm-macros noarch 4-4.fc32 fedora 22 k elfutils aarch64 0.179-1.fc33 fedora 528 k elfutils-default-yama-scope noarch 0.179-1.fc33 fedora 18 k elfutils-libelf aarch64 0.179-1.fc33 fedora 192 k elfutils-libs aarch64 0.179-1.fc33 fedora 269 k expat aarch64 2.2.8-2.fc32 fedora 98 k fedora-gpg-keys noarch 33-0.5 fedora 103 k fedora-release noarch 33-0.3 fedora 12 k fedora-repos noarch 33-0.5 fedora 10 k fedora-repos-rawhide noarch 33-0.5 fedora 9.5 k file aarch64 5.38-3.fc33 fedora 51 k file-libs aarch64 5.38-3.fc33 fedora 566 k filesystem aarch64 3.14-2.fc32 fedora 1.1 M fonts-srpm-macros noarch 2.0.5-1.fc33 fedora 26 k fpc-srpm-macros noarch 1.3-1.fc32 fedora 7.6 k gc aarch64 8.0.4-3.fc32 fedora 109 k gdb-minimal aarch64 9.1-5.fc33 fedora 3.1 M ghc-srpm-macros noarch 1.5.0-2.fc32 fedora 7.7 k glibc aarch64 2.31.9000-9.fc33 fedora 3.3 M glibc-common aarch64 2.31.9000-9.fc33 fedora 2.1 M gmp aarch64 1:6.2.0-1.fc33 fedora 270 k gnat-srpm-macros noarch 4-11.fc32 fedora 8.2 k go-srpm-macros noarch 3.0.8-5.fc32 fedora 25 k guile22 aarch64 2.2.6-4.fc32 fedora 6.6 M keyutils-libs aarch64 1.6-4.fc32 fedora 31 k krb5-libs aarch64 1.18.1-1.fc33 fedora 763 k libacl aarch64 2.2.53-5.fc32 fedora 24 k libarchive aarch64 3.4.2-1.fc33 fedora 385 k libattr aarch64 2.4.48-8.fc32 fedora 18 k libblkid aarch64 2.35.1-9.fc33 fedora 152 k libbrotli aarch64 1.0.7-10.fc32 fedora 317 k libcap aarch64 2.26-7.fc32 fedora 52 k libcap-ng aarch64 0.7.10-2.fc32 fedora 27 k libcom_err aarch64 1.45.6-2.fc33 fedora 27 k libcurl aarch64 7.69.0-2.fc33 fedora 263 k libdb aarch64 5.3.28-40.fc32 fedora 739 k libfdisk aarch64 2.35.1-9.fc33 fedora 200 k libffi aarch64 3.1-24.fc32 fedora 33 k libgcc aarch64 10.0.1-0.11.fc33 fedora 81 k libgcrypt aarch64 1.8.5-3.fc32 fedora 411 k libgomp aarch64 10.0.1-0.11.fc33 fedora 243 k libgpg-error aarch64 1.37-1.fc33 fedora 206 k libidn2 aarch64 2.3.0-2.fc32 fedora 103 k libmetalink aarch64 0.1.3-10.fc32 fedora 30 k libmount aarch64 2.35.1-9.fc33 fedora 178 k libnghttp2 aarch64 1.40.0-2.fc32 fedora 79 k libnsl2 aarch64 1.2.0-6.20180605git4a062cf.fc32 fedora 57 k libpkgconf aarch64 1.6.3-3.fc32 fedora 35 k libpsl aarch64 0.21.0-4.fc32 fedora 61 k libpwquality aarch64 1.4.2-2.fc32 fedora 101 k libselinux aarch64 3.0-4.fc33 fedora 84 k libsemanage aarch64 3.0-3.fc32 fedora 121 k libsepol aarch64 3.0-3.fc32 fedora 296 k libsigsegv aarch64 2.11-10.fc32 fedora 26 k libsmartcols aarch64 2.35.1-9.fc33 fedora 119 k libssh aarch64 0.9.4-2.fc33 fedora 213 k libssh-config noarch 0.9.4-2.fc33 fedora 11 k libstdc++ aarch64 10.0.1-0.11.fc33 fedora 582 k libtasn1 aarch64 4.16.0-1.fc32 fedora 72 k libtirpc aarch64 1.2.6-0.fc33 fedora 97 k libtool-ltdl aarch64 2.4.6-33.fc32 fedora 36 k libunistring aarch64 0.9.10-7.fc32 fedora 510 k libutempter aarch64 1.1.6-18.fc32 fedora 26 k libuuid aarch64 2.35.1-9.fc33 fedora 28 k libverto aarch64 0.3.0-9.fc32 fedora 21 k libxcrypt aarch64 4.4.16-1.fc33 fedora 132 k libxml2 aarch64 2.9.10-4.fc33 fedora 689 k libzstd aarch64 1.4.4-2.fc32 fedora 256 k lua-libs aarch64 5.3.5-7.fc32 fedora 116 k lz4-libs aarch64 1.9.1-2.fc32 fedora 63 k mpfr aarch64 4.0.2-3.fc32 fedora 240 k ncurses aarch64 6.2-1.20200222.fc33 fedora 391 k ncurses-base noarch 6.2-1.20200222.fc33 fedora 59 k ncurses-libs aarch64 6.2-1.20200222.fc33 fedora 315 k nim-srpm-macros noarch 3-2.fc32 fedora 8.3 k ocaml-srpm-macros noarch 6-2.fc32 fedora 7.7 k openblas-srpm-macros noarch 2-7.fc32 fedora 7.2 k openldap aarch64 2.4.47-4.fc32 fedora 299 k openssl-libs aarch64 1:1.1.1f-1.fc33 fedora 1.4 M p11-kit aarch64 0.23.20-1.fc32 fedora 341 k p11-kit-trust aarch64 0.23.20-1.fc32 fedora 142 k pam aarch64 1.3.1-24.fc33 fedora 666 k pcre aarch64 8.44-1.fc33 fedora 181 k pcre2 aarch64 10.34-9.fc33 fedora 211 k pcre2-syntax noarch 10.34-9.fc33 fedora 140 k perl-srpm-macros noarch 1-34.fc32 fedora 8.3 k pkgconf aarch64 1.6.3-3.fc32 fedora 40 k pkgconf-m4 noarch 1.6.3-3.fc32 fedora 14 k pkgconf-pkg-config aarch64 1.6.3-3.fc32 fedora 9.7 k popt aarch64 1.16-19.fc32 fedora 58 k publicsuffix-list-dafsa noarch 20190417-3.fc32 fedora 56 k python-srpm-macros noarch 3.8-2.fc33 fedora 18 k qt5-srpm-macros noarch 5.14.2-3.fc33 fedora 8.8 k readline aarch64 8.0-4.fc32 fedora 205 k rpm aarch64 4.15.90-0.git14971.5.fc33 fedora 502 k rpm-build-libs aarch64 4.15.90-0.git14971.5.fc33 fedora 96 k rpm-libs aarch64 4.15.90-0.git14971.5.fc33 fedora 325 k rust-srpm-macros noarch 13-2.fc33 fedora 9.5 k setup noarch 2.13.6-2.fc32 fedora 142 k sqlite-libs aarch64 3.31.1-1.fc33 fedora 611 k systemd-libs aarch64 245.4-1.fc33 fedora 537 k tzdata noarch 2019c-3.fc32 fedora 429 k xxhash-libs aarch64 0.7.3-1.fc33 fedora 31 k xz-libs aarch64 5.2.5-1.fc33 fedora 89 k zip aarch64 3.0-26.fc32 fedora 259 k zlib aarch64 1.2.11-21.fc32 fedora 97 k zstd aarch64 1.4.4-2.fc32 fedora 322 k Installing Groups: Buildsystem building group Transaction Summary ====================================================================================== Install 143 Packages Total download size: 57 M Installed size: 254 M Downloading Packages: (1/143): alternatives-1.11-6.fc32.aarch64.rpm 771 kB/s | 35 kB 00:00 (2/143): audit-libs-3.0-0.19.20191104git1c2f876 1.9 MB/s | 113 kB 00:00 (3/143): basesystem-11-9.fc32.noarch.rpm 115 kB/s | 6.8 kB 00:00 (4/143): bash-5.0.11-2.fc32.aarch64.rpm 65 MB/s | 1.6 MB 00:00 (5/143): bzip2-1.0.8-2.fc32.aarch64.rpm 7.9 MB/s | 52 kB 00:00 (6/143): bzip2-libs-1.0.8-2.fc32.aarch64.rpm 6.5 MB/s | 42 kB 00:00 (7/143): binutils-gold-2.34-2.fc33.aarch64.rpm 26 MB/s | 1.0 MB 00:00 (8/143): ca-certificates-2020.2.40-3.fc32.noarc 15 MB/s | 358 kB 00:00 (9/143): coreutils-8.32-3.fc33.aarch64.rpm 36 MB/s | 1.1 MB 00:00 (10/143): binutils-2.34-2.fc33.aarch64.rpm 46 MB/s | 5.8 MB 00:00 (11/143): coreutils-common-8.32-3.fc33.aarch64. 24 MB/s | 2.0 MB 00:00 (12/143): cpio-2.13-5.fc33.aarch64.rpm 4.5 MB/s | 280 kB 00:00 (13/143): crypto-policies-20200312-1.git3ae59d2 9.8 MB/s | 56 kB 00:00 (14/143): cracklib-2.9.6-22.fc32.aarch64.rpm 10 MB/s | 82 kB 00:00 (15/143): curl-7.69.0-2.fc33.aarch64.rpm 27 MB/s | 289 kB 00:00 (16/143): cyrus-sasl-lib-2.1.27-4.fc33.aarch64. 16 MB/s | 102 kB 00:00 (17/143): dwz-0.13-2.fc32.aarch64.rpm 20 MB/s | 107 kB 00:00 (18/143): efi-srpm-macros-4-4.fc32.noarch.rpm 4.5 MB/s | 22 kB 00:00 (19/143): elfutils-0.179-1.fc33.aarch64.rpm 41 MB/s | 528 kB 00:00 (20/143): elfutils-default-yama-scope-0.179-1.f 1.3 MB/s | 18 kB 00:00 (21/143): elfutils-libelf-0.179-1.fc33.aarch64. 23 MB/s | 192 kB 00:00 (22/143): diffutils-3.7-4.fc32.aarch64.rpm 12 MB/s | 394 kB 00:00 (23/143): elfutils-libs-0.179-1.fc33.aarch64.rp 24 MB/s | 269 kB 00:00 (24/143): expat-2.2.8-2.fc32.aarch64.rpm 18 MB/s | 98 kB 00:00 (25/143): fedora-release-33-0.3.noarch.rpm 2.9 MB/s | 12 kB 00:00 (26/143): fedora-gpg-keys-33-0.5.noarch.rpm 16 MB/s | 103 kB 00:00 (27/143): fedora-release-common-33-0.3.noarch.r 4.2 MB/s | 20 kB 00:00 (28/143): fedora-repos-33-0.5.noarch.rpm 3.0 MB/s | 10 kB 00:00 (29/143): fedora-repos-rawhide-33-0.5.noarch.rp 3.1 MB/s | 9.5 kB 00:00 (30/143): file-5.38-3.fc33.aarch64.rpm 11 MB/s | 51 kB 00:00 (31/143): findutils-4.7.0-3.fc32.aarch64.rpm 35 MB/s | 551 kB 00:00 (32/143): file-libs-5.38-3.fc33.aarch64.rpm 19 MB/s | 566 kB 00:00 (33/143): filesystem-3.14-2.fc32.aarch64.rpm 35 MB/s | 1.1 MB 00:00 (34/143): fonts-srpm-macros-2.0.5-1.fc33.noarch 2.2 MB/s | 26 kB 00:00 (35/143): fpc-srpm-macros-1.3-1.fc32.noarch.rpm 2.4 MB/s | 7.6 kB 00:00 (36/143): gc-8.0.4-3.fc32.aarch64.rpm 7.0 MB/s | 109 kB 00:00 (37/143): ghc-srpm-macros-1.5.0-2.fc32.noarch.r 624 kB/s | 7.7 kB 00:00 (38/143): gawk-5.0.1-7.fc32.aarch64.rpm 31 MB/s | 1.2 MB 00:00 (39/143): gdb-minimal-9.1-5.fc33.aarch64.rpm 41 MB/s | 3.1 MB 00:00 (40/143): glibc-common-2.31.9000-9.fc33.aarch64 37 MB/s | 2.1 MB 00:00 (41/143): glibc-2.31.9000-9.fc33.aarch64.rpm 42 MB/s | 3.3 MB 00:00 (42/143): glibc-minimal-langpack-2.31.9000-9.fc 2.1 MB/s | 75 kB 00:00 (43/143): gmp-6.2.0-1.fc33.aarch64.rpm 17 MB/s | 270 kB 00:00 (44/143): gnat-srpm-macros-4-11.fc32.noarch.rpm 1.2 MB/s | 8.2 kB 00:00 (45/143): go-srpm-macros-3.0.8-5.fc32.noarch.rp 3.2 MB/s | 25 kB 00:00 (46/143): grep-3.4-1.fc33.aarch64.rpm 18 MB/s | 256 kB 00:00 (47/143): gzip-1.10-2.fc32.aarch64.rpm 16 MB/s | 155 kB 00:00 (48/143): info-6.7-7.fc33.aarch64.rpm 12 MB/s | 224 kB 00:00 (49/143): keyutils-libs-1.6-4.fc32.aarch64.rpm 2.0 MB/s | 31 kB 00:00 (50/143): libacl-2.2.53-5.fc32.aarch64.rpm 2.2 MB/s | 24 kB 00:00 (51/143): krb5-libs-1.18.1-1.fc33.aarch64.rpm 37 MB/s | 763 kB 00:00 (52/143): libattr-2.4.48-8.fc32.aarch64.rpm 2.1 MB/s | 18 kB 00:00 (53/143): libarchive-3.4.2-1.fc33.aarch64.rpm 17 MB/s | 385 kB 00:00 (54/143): libblkid-2.35.1-9.fc33.aarch64.rpm 15 MB/s | 152 kB 00:00 (55/143): libbrotli-1.0.7-10.fc32.aarch64.rpm 27 MB/s | 317 kB 00:00 (56/143): guile22-2.2.6-4.fc32.aarch64.rpm 57 MB/s | 6.6 MB 00:00 (57/143): libcap-2.26-7.fc32.aarch64.rpm 1.4 MB/s | 52 kB 00:00 (58/143): libcap-ng-0.7.10-2.fc32.aarch64.rpm 896 kB/s | 27 kB 00:00 (59/143): libcom_err-1.45.6-2.fc33.aarch64.rpm 6.0 MB/s | 27 kB 00:00 (60/143): libcurl-7.69.0-2.fc33.aarch64.rpm 24 MB/s | 263 kB 00:00 (61/143): libfdisk-2.35.1-9.fc33.aarch64.rpm 21 MB/s | 200 kB 00:00 (62/143): libdb-5.3.28-40.fc32.aarch64.rpm 40 MB/s | 739 kB 00:00 (63/143): libffi-3.1-24.fc32.aarch64.rpm 4.3 MB/s | 33 kB 00:00 (64/143): libgcc-10.0.1-0.11.fc33.aarch64.rpm 8.9 MB/s | 81 kB 00:00 (65/143): libgomp-10.0.1-0.11.fc33.aarch64.rpm 24 MB/s | 243 kB 00:00 (66/143): libgcrypt-1.8.5-3.fc32.aarch64.rpm 29 MB/s | 411 kB 00:00 (67/143): libgpg-error-1.37-1.fc33.aarch64.rpm 23 MB/s | 206 kB 00:00 (68/143): libidn2-2.3.0-2.fc32.aarch64.rpm 18 MB/s | 103 kB 00:00 (69/143): libmetalink-0.1.3-10.fc32.aarch64.rpm 6.1 MB/s | 30 kB 00:00 (70/143): libmount-2.35.1-9.fc33.aarch64.rpm 26 MB/s | 178 kB 00:00 (71/143): libnghttp2-1.40.0-2.fc32.aarch64.rpm 13 MB/s | 79 kB 00:00 (72/143): libnsl2-1.2.0-6.20180605git4a062cf.fc 9.4 MB/s | 57 kB 00:00 (73/143): libpkgconf-1.6.3-3.fc32.aarch64.rpm 7.5 MB/s | 35 kB 00:00 (74/143): libpsl-0.21.0-4.fc32.aarch64.rpm 12 MB/s | 61 kB 00:00 (75/143): libselinux-3.0-4.fc33.aarch64.rpm 9.7 MB/s | 84 kB 00:00 (76/143): libsemanage-3.0-3.fc32.aarch64.rpm 17 MB/s | 121 kB 00:00 (77/143): libsigsegv-2.11-10.fc32.aarch64.rpm 6.6 MB/s | 26 kB 00:00 (78/143): libpwquality-1.4.2-2.fc32.aarch64.rpm 4.7 MB/s | 101 kB 00:00 (79/143): libsepol-3.0-3.fc32.aarch64.rpm 29 MB/s | 296 kB 00:00 (80/143): libsmartcols-2.35.1-9.fc33.aarch64.rp 14 MB/s | 119 kB 00:00 (81/143): libssh-config-0.9.4-2.fc33.noarch.rpm 2.1 MB/s | 11 kB 00:00 (82/143): libssh-0.9.4-2.fc33.aarch64.rpm 23 MB/s | 213 kB 00:00 (83/143): libtasn1-4.16.0-1.fc32.aarch64.rpm 13 MB/s | 72 kB 00:00 (84/143): libtirpc-1.2.6-0.fc33.aarch64.rpm 14 MB/s | 97 kB 00:00 (85/143): libtool-ltdl-2.4.6-33.fc32.aarch64.rp 4.2 MB/s | 36 kB 00:00 (86/143): libunistring-0.9.10-7.fc32.aarch64.rp 46 MB/s | 510 kB 00:00 (87/143): libutempter-1.1.6-18.fc32.aarch64.rpm 2.9 MB/s | 26 kB 00:00 (88/143): libstdc++-10.0.1-0.11.fc33.aarch64.rp 19 MB/s | 582 kB 00:00 (89/143): libverto-0.3.0-9.fc32.aarch64.rpm 5.5 MB/s | 21 kB 00:00 (90/143): libuuid-2.35.1-9.fc33.aarch64.rpm 5.0 MB/s | 28 kB 00:00 (91/143): libxcrypt-4.4.16-1.fc33.aarch64.rpm 23 MB/s | 132 kB 00:00 (92/143): lua-libs-5.3.5-7.fc32.aarch64.rpm 13 MB/s | 116 kB 00:00 (93/143): libxml2-2.9.10-4.fc33.aarch64.rpm 43 MB/s | 689 kB 00:00 (94/143): lz4-libs-1.9.1-2.fc32.aarch64.rpm 13 MB/s | 63 kB 00:00 (95/143): libzstd-1.4.4-2.fc32.aarch64.rpm 11 MB/s | 256 kB 00:00 (96/143): make-4.3-1.fc33.aarch64.rpm 38 MB/s | 534 kB 00:00 (97/143): mpfr-4.0.2-3.fc32.aarch64.rpm 18 MB/s | 240 kB 00:00 (98/143): ncurses-base-6.2-1.20200222.fc33.noar 7.7 MB/s | 59 kB 00:00 (99/143): ncurses-libs-6.2-1.20200222.fc33.aarc 37 MB/s | 315 kB 00:00 (100/143): nim-srpm-macros-3-2.fc32.noarch.rpm 1.7 MB/s | 8.3 kB 00:00 (101/143): ocaml-srpm-macros-6-2.fc32.noarch.rp 1.5 MB/s | 7.7 kB 00:00 (102/143): openblas-srpm-macros-2-7.fc32.noarch 1.2 MB/s | 7.2 kB 00:00 (103/143): ncurses-6.2-1.20200222.fc33.aarch64. 13 MB/s | 391 kB 00:00 (104/143): openldap-2.4.47-4.fc32.aarch64.rpm 26 MB/s | 299 kB 00:00 (105/143): p11-kit-0.23.20-1.fc32.aarch64.rpm 29 MB/s | 341 kB 00:00 (106/143): p11-kit-trust-0.23.20-1.fc32.aarch64 14 MB/s | 142 kB 00:00 (107/143): pam-1.3.1-24.fc33.aarch64.rpm 40 MB/s | 666 kB 00:00 (108/143): patch-2.7.6-12.fc32.aarch64.rpm 8.8 MB/s | 133 kB 00:00 (109/143): openssl-libs-1.1.1f-1.fc33.aarch64.r 35 MB/s | 1.4 MB 00:00 (110/143): pcre-8.44-1.fc33.aarch64.rpm 22 MB/s | 181 kB 00:00 (111/143): pcre2-10.34-9.fc33.aarch64.rpm 24 MB/s | 211 kB 00:00 (112/143): pcre2-syntax-10.34-9.fc33.noarch.rpm 18 MB/s | 140 kB 00:00 (113/143): perl-srpm-macros-1-34.fc32.noarch.rp 1.5 MB/s | 8.3 kB 00:00 (114/143): pkgconf-m4-1.6.3-3.fc32.noarch.rpm 3.1 MB/s | 14 kB 00:00 (115/143): pkgconf-1.6.3-3.fc32.aarch64.rpm 4.6 MB/s | 40 kB 00:00 (116/143): pkgconf-pkg-config-1.6.3-3.fc32.aarc 2.3 MB/s | 9.7 kB 00:00 (117/143): popt-1.16-19.fc32.aarch64.rpm 10 MB/s | 58 kB 00:00 (118/143): publicsuffix-list-dafsa-20190417-3.f 11 MB/s | 56 kB 00:00 (119/143): python-srpm-macros-3.8-2.fc33.noarch 4.0 MB/s | 18 kB 00:00 (120/143): qt5-srpm-macros-5.14.2-3.fc33.noarch 2.3 MB/s | 8.8 kB 00:00 (121/143): readline-8.0-4.fc32.aarch64.rpm 24 MB/s | 205 kB 00:00 (122/143): redhat-rpm-config-154-1.fc33.noarch. 9.4 MB/s | 63 kB 00:00 (123/143): rpm-4.15.90-0.git14971.5.fc33.aarch6 43 MB/s | 502 kB 00:00 (124/143): rpm-build-libs-4.15.90-0.git14971.5. 17 MB/s | 96 kB 00:00 (125/143): rpm-build-4.15.90-0.git14971.5.fc33. 12 MB/s | 115 kB 00:00 (126/143): rust-srpm-macros-13-2.fc33.noarch.rp 1.8 MB/s | 9.5 kB 00:00 (127/143): rpm-libs-4.15.90-0.git14971.5.fc33.a 28 MB/s | 325 kB 00:00 (128/143): sed-4.8-1.fc33.aarch64.rpm 36 MB/s | 301 kB 00:00 (129/143): setup-2.13.6-2.fc32.noarch.rpm 19 MB/s | 142 kB 00:00 (130/143): sqlite-libs-3.31.1-1.fc33.aarch64.rp 40 MB/s | 611 kB 00:00 (131/143): systemd-libs-245.4-1.fc33.aarch64.rp 32 MB/s | 537 kB 00:00 (132/143): shadow-utils-4.8.1-2.fc33.aarch64.rp 38 MB/s | 1.2 MB 00:00 (133/143): tzdata-2019c-3.fc32.noarch.rpm 28 MB/s | 429 kB 00:00 (134/143): tar-1.32-4.fc32.aarch64.rpm 43 MB/s | 885 kB 00:00 (135/143): unzip-6.0-47.fc32.aarch64.rpm 12 MB/s | 178 kB 00:00 (136/143): which-2.21-19.fc33.aarch64.rpm 8.7 MB/s | 42 kB 00:00 (137/143): xxhash-libs-0.7.3-1.fc33.aarch64.rpm 5.0 MB/s | 31 kB 00:00 (138/143): xz-5.2.5-1.fc33.aarch64.rpm 20 MB/s | 187 kB 00:00 (139/143): xz-libs-5.2.5-1.fc33.aarch64.rpm 8.7 MB/s | 89 kB 00:00 (140/143): zlib-1.2.11-21.fc32.aarch64.rpm 11 MB/s | 97 kB 00:00 (141/143): util-linux-2.35.1-9.fc33.aarch64.rpm 53 MB/s | 2.7 MB 00:00 (142/143): zstd-1.4.4-2.fc32.aarch64.rpm 18 MB/s | 322 kB 00:00 (143/143): zip-3.0-26.fc32.aarch64.rpm 7.3 MB/s | 259 kB 00:00 -------------------------------------------------------------------------------- Total 53 MB/s | 57 MB 00:01 warning: Generating 18 missing index(es), please wait... warning: /var/lib/mock/fedora-rawhide-aarch64-1587134101.889789/root/var/cache/dnf/fedora-135a69fc59e3201d/packages/alternatives-1.11-6.fc32.aarch64.rpm: Header V3 RSA/SHA256 Signature, key ID 9570ff31: NOKEY fedora 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x9570FF31: Userid : "Fedora (33) " Fingerprint: 963A 2BEB 0200 9608 FE67 EA42 49FD 7749 9570 FF31 From : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-33-primary Key imported successfully fedora 1.6 MB/s | 1.6 kB 00:00 GPG key at file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-33-primary (0x9570FF31) is already installed fedora 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x12C944D0: Userid : "Fedora (32) " Fingerprint: 97A1 AE57 C3A2 372C CA3A 4ABA 6C13 026D 12C9 44D0 From : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-32-primary Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: filesystem-3.14-2.fc32.aarch64 1/1 Preparing : 1/1 Installing : libgcc-10.0.1-0.11.fc33.aarch64 1/143 Running scriptlet: libgcc-10.0.1-0.11.fc33.aarch64 1/143 Installing : tzdata-2019c-3.fc32.noarch 2/143 Installing : rust-srpm-macros-13-2.fc33.noarch 3/143 Installing : qt5-srpm-macros-5.14.2-3.fc33.noarch 4/143 Installing : publicsuffix-list-dafsa-20190417-3.fc32.noarch 5/143 Installing : pkgconf-m4-1.6.3-3.fc32.noarch 6/143 Installing : perl-srpm-macros-1-34.fc32.noarch 7/143 Installing : pcre2-syntax-10.34-9.fc33.noarch 8/143 Installing : openblas-srpm-macros-2-7.fc32.noarch 9/143 Installing : ocaml-srpm-macros-6-2.fc32.noarch 10/143 Installing : nim-srpm-macros-3-2.fc32.noarch 11/143 Installing : ncurses-base-6.2-1.20200222.fc33.noarch 12/143 Installing : libssh-config-0.9.4-2.fc33.noarch 13/143 Installing : gnat-srpm-macros-4-11.fc32.noarch 14/143 Installing : ghc-srpm-macros-1.5.0-2.fc32.noarch 15/143 Installing : fpc-srpm-macros-1.3-1.fc32.noarch 16/143 Installing : fedora-gpg-keys-33-0.5.noarch 17/143 Installing : fedora-release-33-0.3.noarch 18/143 Installing : fedora-release-common-33-0.3.noarch 19/143 Installing : fedora-repos-rawhide-33-0.5.noarch 20/143 Installing : fedora-repos-33-0.5.noarch 21/143 Installing : setup-2.13.6-2.fc32.noarch 22/143 warning: /etc/hosts created as /etc/hosts.rpmnew Running scriptlet: setup-2.13.6-2.fc32.noarch 22/143 Installing : filesystem-3.14-2.fc32.aarch64 23/143 Installing : basesystem-11-9.fc32.noarch 24/143 Installing : glibc-minimal-langpack-2.31.9000-9.fc33.aarch64 25/143 Installing : glibc-common-2.31.9000-9.fc33.aarch64 26/143 Running scriptlet: glibc-2.31.9000-9.fc33.aarch64 27/143 Installing : glibc-2.31.9000-9.fc33.aarch64 27/143 Running scriptlet: glibc-2.31.9000-9.fc33.aarch64 27/143 Installing : ncurses-libs-6.2-1.20200222.fc33.aarch64 28/143 Installing : bash-5.0.11-2.fc32.aarch64 29/143 Running scriptlet: bash-5.0.11-2.fc32.aarch64 29/143 Installing : zlib-1.2.11-21.fc32.aarch64 30/143 Installing : bzip2-libs-1.0.8-2.fc32.aarch64 31/143 Installing : xz-libs-5.2.5-1.fc33.aarch64 32/143 Installing : elfutils-libelf-0.179-1.fc33.aarch64 33/143 Installing : libstdc++-10.0.1-0.11.fc33.aarch64 34/143 Installing : libxcrypt-4.4.16-1.fc33.aarch64 35/143 Installing : readline-8.0-4.fc32.aarch64 36/143 Installing : libattr-2.4.48-8.fc32.aarch64 37/143 Installing : libacl-2.2.53-5.fc32.aarch64 38/143 Installing : libcom_err-1.45.6-2.fc33.aarch64 39/143 Installing : libdb-5.3.28-40.fc32.aarch64 40/143 Installing : libuuid-2.35.1-9.fc33.aarch64 41/143 Installing : popt-1.16-19.fc32.aarch64 42/143 Installing : libcap-2.26-7.fc32.aarch64 43/143 Installing : libunistring-0.9.10-7.fc32.aarch64 44/143 Installing : libzstd-1.4.4-2.fc32.aarch64 45/143 Installing : libidn2-2.3.0-2.fc32.aarch64 46/143 Installing : unzip-6.0-47.fc32.aarch64 47/143 Installing : file-libs-5.38-3.fc33.aarch64 48/143 Installing : file-5.38-3.fc33.aarch64 49/143 Installing : sqlite-libs-3.31.1-1.fc33.aarch64 50/143 Installing : libsepol-3.0-3.fc32.aarch64 51/143 Running scriptlet: libsepol-3.0-3.fc32.aarch64 51/143 Installing : alternatives-1.11-6.fc32.aarch64 52/143 Installing : libcap-ng-0.7.10-2.fc32.aarch64 53/143 Installing : audit-libs-3.0-0.19.20191104git1c2f876.fc33.aarc 54/143 Installing : libffi-3.1-24.fc32.aarch64 55/143 Installing : p11-kit-0.23.20-1.fc32.aarch64 56/143 Installing : lua-libs-5.3.5-7.fc32.aarch64 57/143 Installing : lz4-libs-1.9.1-2.fc32.aarch64 58/143 Installing : pcre2-10.34-9.fc33.aarch64 59/143 Installing : libselinux-3.0-4.fc33.aarch64 60/143 Installing : sed-4.8-1.fc33.aarch64 61/143 Installing : findutils-1:4.7.0-3.fc32.aarch64 62/143 Installing : libsemanage-3.0-3.fc32.aarch64 63/143 Installing : shadow-utils-2:4.8.1-2.fc33.aarch64 64/143 Running scriptlet: libutempter-1.1.6-18.fc32.aarch64 65/143 Installing : libutempter-1.1.6-18.fc32.aarch64 65/143 Installing : patch-2.7.6-12.fc32.aarch64 66/143 Installing : tar-2:1.32-4.fc32.aarch64 67/143 Installing : zip-3.0-26.fc32.aarch64 68/143 Installing : libpsl-0.21.0-4.fc32.aarch64 69/143 Installing : gc-8.0.4-3.fc32.aarch64 70/143 Installing : dwz-0.13-2.fc32.aarch64 71/143 Installing : libxml2-2.9.10-4.fc33.aarch64 72/143 Installing : bzip2-1.0.8-2.fc32.aarch64 73/143 Installing : elfutils-default-yama-scope-0.179-1.fc33.noarch 74/143 Running scriptlet: elfutils-default-yama-scope-0.179-1.fc33.noarch 74/143 Installing : elfutils-libs-0.179-1.fc33.aarch64 75/143 Installing : elfutils-0.179-1.fc33.aarch64 76/143 Installing : zstd-1.4.4-2.fc32.aarch64 77/143 Installing : ncurses-6.2-1.20200222.fc33.aarch64 78/143 Installing : cpio-2.13-5.fc33.aarch64 79/143 Installing : diffutils-3.7-4.fc32.aarch64 80/143 Installing : expat-2.2.8-2.fc32.aarch64 81/143 Installing : libmetalink-0.1.3-10.fc32.aarch64 82/143 Installing : keyutils-libs-1.6-4.fc32.aarch64 83/143 Installing : libbrotli-1.0.7-10.fc32.aarch64 84/143 Installing : libgomp-10.0.1-0.11.fc33.aarch64 85/143 Installing : libgpg-error-1.37-1.fc33.aarch64 86/143 Installing : libgcrypt-1.8.5-3.fc32.aarch64 87/143 Installing : libnghttp2-1.40.0-2.fc32.aarch64 88/143 Installing : libpkgconf-1.6.3-3.fc32.aarch64 89/143 Installing : pkgconf-1.6.3-3.fc32.aarch64 90/143 Installing : pkgconf-pkg-config-1.6.3-3.fc32.aarch64 91/143 Installing : gmp-1:6.2.0-1.fc33.aarch64 92/143 Installing : mpfr-4.0.2-3.fc32.aarch64 93/143 Installing : libsigsegv-2.11-10.fc32.aarch64 94/143 Installing : gawk-5.0.1-7.fc32.aarch64 95/143 Installing : libsmartcols-2.35.1-9.fc33.aarch64 96/143 Installing : libtasn1-4.16.0-1.fc32.aarch64 97/143 Installing : p11-kit-trust-0.23.20-1.fc32.aarch64 98/143 Running scriptlet: p11-kit-trust-0.23.20-1.fc32.aarch64 98/143 Installing : libtool-ltdl-2.4.6-33.fc32.aarch64 99/143 Installing : libverto-0.3.0-9.fc32.aarch64 100/143 Installing : pcre-8.44-1.fc33.aarch64 101/143 Installing : grep-3.4-1.fc33.aarch64 102/143 Installing : xz-5.2.5-1.fc33.aarch64 103/143 Installing : xxhash-libs-0.7.3-1.fc33.aarch64 104/143 Installing : gdb-minimal-9.1-5.fc33.aarch64 105/143 Installing : coreutils-common-8.32-3.fc33.aarch64 106/143 Installing : openssl-libs-1:1.1.1f-1.fc33.aarch64 107/143 Installing : coreutils-8.32-3.fc33.aarch64 108/143 Installing : crypto-policies-20200312-1.git3ae59d2.fc33.noarc 109/143 Running scriptlet: ca-certificates-2020.2.40-3.fc32.noarch 110/143 Installing : ca-certificates-2020.2.40-3.fc32.noarch 110/143 Running scriptlet: ca-certificates-2020.2.40-3.fc32.noarch 110/143 Installing : krb5-libs-1.18.1-1.fc33.aarch64 111/143 Installing : libblkid-2.35.1-9.fc33.aarch64 112/143 Running scriptlet: libblkid-2.35.1-9.fc33.aarch64 112/143 Installing : libtirpc-1.2.6-0.fc33.aarch64 113/143 Installing : binutils-gold-2.34-2.fc33.aarch64 114/143 Installing : binutils-2.34-2.fc33.aarch64 115/143 Running scriptlet: binutils-2.34-2.fc33.aarch64 115/143 Installing : gzip-1.10-2.fc32.aarch64 116/143 Installing : cracklib-2.9.6-22.fc32.aarch64 117/143 Installing : libnsl2-1.2.0-6.20180605git4a062cf.fc32.aarch64 118/143 Installing : libpwquality-1.4.2-2.fc32.aarch64 119/143 Installing : pam-1.3.1-24.fc33.aarch64 120/143 Installing : libfdisk-2.35.1-9.fc33.aarch64 121/143 Installing : libmount-2.35.1-9.fc33.aarch64 122/143 Installing : cyrus-sasl-lib-2.1.27-4.fc33.aarch64 123/143 Installing : openldap-2.4.47-4.fc32.aarch64 124/143 Installing : libssh-0.9.4-2.fc33.aarch64 125/143 Installing : libcurl-7.69.0-2.fc33.aarch64 126/143 Installing : curl-7.69.0-2.fc33.aarch64 127/143 Installing : guile22-2.2.6-4.fc32.aarch64 128/143 Running scriptlet: guile22-2.2.6-4.fc32.aarch64 128/143 Installing : systemd-libs-245.4-1.fc33.aarch64 129/143 Running scriptlet: systemd-libs-245.4-1.fc33.aarch64 129/143 Installing : libarchive-3.4.2-1.fc33.aarch64 130/143 Installing : rpm-4.15.90-0.git14971.5.fc33.aarch64 131/143 Installing : rpm-libs-4.15.90-0.git14971.5.fc33.aarch64 132/143 Installing : rpm-build-libs-4.15.90-0.git14971.5.fc33.aarch64 133/143 Installing : efi-srpm-macros-4-4.fc32.noarch 134/143 Installing : fonts-srpm-macros-2.0.5-1.fc33.noarch 135/143 Installing : go-srpm-macros-3.0.8-5.fc32.noarch 136/143 Installing : python-srpm-macros-3.8-2.fc33.noarch 137/143 Installing : redhat-rpm-config-154-1.fc33.noarch 138/143 Installing : rpm-build-4.15.90-0.git14971.5.fc33.aarch64 139/143 Installing : util-linux-2.35.1-9.fc33.aarch64 140/143 Running scriptlet: util-linux-2.35.1-9.fc33.aarch64 140/143 Installing : make-1:4.3-1.fc33.aarch64 141/143 Installing : info-6.7-7.fc33.aarch64 142/143 Installing : which-2.21-19.fc33.aarch64 143/143 Running scriptlet: filesystem-3.14-2.fc32.aarch64 143/143 Running scriptlet: which-2.21-19.fc33.aarch64 143/143 Verifying : alternatives-1.11-6.fc32.aarch64 1/143 Verifying : audit-libs-3.0-0.19.20191104git1c2f876.fc33.aarc 2/143 Verifying : basesystem-11-9.fc32.noarch 3/143 Verifying : bash-5.0.11-2.fc32.aarch64 4/143 Verifying : binutils-2.34-2.fc33.aarch64 5/143 Verifying : binutils-gold-2.34-2.fc33.aarch64 6/143 Verifying : bzip2-1.0.8-2.fc32.aarch64 7/143 Verifying : bzip2-libs-1.0.8-2.fc32.aarch64 8/143 Verifying : ca-certificates-2020.2.40-3.fc32.noarch 9/143 Verifying : coreutils-8.32-3.fc33.aarch64 10/143 Verifying : coreutils-common-8.32-3.fc33.aarch64 11/143 Verifying : cpio-2.13-5.fc33.aarch64 12/143 Verifying : cracklib-2.9.6-22.fc32.aarch64 13/143 Verifying : crypto-policies-20200312-1.git3ae59d2.fc33.noarc 14/143 Verifying : curl-7.69.0-2.fc33.aarch64 15/143 Verifying : cyrus-sasl-lib-2.1.27-4.fc33.aarch64 16/143 Verifying : diffutils-3.7-4.fc32.aarch64 17/143 Verifying : dwz-0.13-2.fc32.aarch64 18/143 Verifying : efi-srpm-macros-4-4.fc32.noarch 19/143 Verifying : elfutils-0.179-1.fc33.aarch64 20/143 Verifying : elfutils-default-yama-scope-0.179-1.fc33.noarch 21/143 Verifying : elfutils-libelf-0.179-1.fc33.aarch64 22/143 Verifying : elfutils-libs-0.179-1.fc33.aarch64 23/143 Verifying : expat-2.2.8-2.fc32.aarch64 24/143 Verifying : fedora-gpg-keys-33-0.5.noarch 25/143 Verifying : fedora-release-33-0.3.noarch 26/143 Verifying : fedora-release-common-33-0.3.noarch 27/143 Verifying : fedora-repos-33-0.5.noarch 28/143 Verifying : fedora-repos-rawhide-33-0.5.noarch 29/143 Verifying : file-5.38-3.fc33.aarch64 30/143 Verifying : file-libs-5.38-3.fc33.aarch64 31/143 Verifying : filesystem-3.14-2.fc32.aarch64 32/143 Verifying : findutils-1:4.7.0-3.fc32.aarch64 33/143 Verifying : fonts-srpm-macros-2.0.5-1.fc33.noarch 34/143 Verifying : fpc-srpm-macros-1.3-1.fc32.noarch 35/143 Verifying : gawk-5.0.1-7.fc32.aarch64 36/143 Verifying : gc-8.0.4-3.fc32.aarch64 37/143 Verifying : gdb-minimal-9.1-5.fc33.aarch64 38/143 Verifying : ghc-srpm-macros-1.5.0-2.fc32.noarch 39/143 Verifying : glibc-2.31.9000-9.fc33.aarch64 40/143 Verifying : glibc-common-2.31.9000-9.fc33.aarch64 41/143 Verifying : glibc-minimal-langpack-2.31.9000-9.fc33.aarch64 42/143 Verifying : gmp-1:6.2.0-1.fc33.aarch64 43/143 Verifying : gnat-srpm-macros-4-11.fc32.noarch 44/143 Verifying : go-srpm-macros-3.0.8-5.fc32.noarch 45/143 Verifying : grep-3.4-1.fc33.aarch64 46/143 Verifying : guile22-2.2.6-4.fc32.aarch64 47/143 Verifying : gzip-1.10-2.fc32.aarch64 48/143 Verifying : info-6.7-7.fc33.aarch64 49/143 Verifying : keyutils-libs-1.6-4.fc32.aarch64 50/143 Verifying : krb5-libs-1.18.1-1.fc33.aarch64 51/143 Verifying : libacl-2.2.53-5.fc32.aarch64 52/143 Verifying : libarchive-3.4.2-1.fc33.aarch64 53/143 Verifying : libattr-2.4.48-8.fc32.aarch64 54/143 Verifying : libblkid-2.35.1-9.fc33.aarch64 55/143 Verifying : libbrotli-1.0.7-10.fc32.aarch64 56/143 Verifying : libcap-2.26-7.fc32.aarch64 57/143 Verifying : libcap-ng-0.7.10-2.fc32.aarch64 58/143 Verifying : libcom_err-1.45.6-2.fc33.aarch64 59/143 Verifying : libcurl-7.69.0-2.fc33.aarch64 60/143 Verifying : libdb-5.3.28-40.fc32.aarch64 61/143 Verifying : libfdisk-2.35.1-9.fc33.aarch64 62/143 Verifying : libffi-3.1-24.fc32.aarch64 63/143 Verifying : libgcc-10.0.1-0.11.fc33.aarch64 64/143 Verifying : libgcrypt-1.8.5-3.fc32.aarch64 65/143 Verifying : libgomp-10.0.1-0.11.fc33.aarch64 66/143 Verifying : libgpg-error-1.37-1.fc33.aarch64 67/143 Verifying : libidn2-2.3.0-2.fc32.aarch64 68/143 Verifying : libmetalink-0.1.3-10.fc32.aarch64 69/143 Verifying : libmount-2.35.1-9.fc33.aarch64 70/143 Verifying : libnghttp2-1.40.0-2.fc32.aarch64 71/143 Verifying : libnsl2-1.2.0-6.20180605git4a062cf.fc32.aarch64 72/143 Verifying : libpkgconf-1.6.3-3.fc32.aarch64 73/143 Verifying : libpsl-0.21.0-4.fc32.aarch64 74/143 Verifying : libpwquality-1.4.2-2.fc32.aarch64 75/143 Verifying : libselinux-3.0-4.fc33.aarch64 76/143 Verifying : libsemanage-3.0-3.fc32.aarch64 77/143 Verifying : libsepol-3.0-3.fc32.aarch64 78/143 Verifying : libsigsegv-2.11-10.fc32.aarch64 79/143 Verifying : libsmartcols-2.35.1-9.fc33.aarch64 80/143 Verifying : libssh-0.9.4-2.fc33.aarch64 81/143 Verifying : libssh-config-0.9.4-2.fc33.noarch 82/143 Verifying : libstdc++-10.0.1-0.11.fc33.aarch64 83/143 Verifying : libtasn1-4.16.0-1.fc32.aarch64 84/143 Verifying : libtirpc-1.2.6-0.fc33.aarch64 85/143 Verifying : libtool-ltdl-2.4.6-33.fc32.aarch64 86/143 Verifying : libunistring-0.9.10-7.fc32.aarch64 87/143 Verifying : libutempter-1.1.6-18.fc32.aarch64 88/143 Verifying : libuuid-2.35.1-9.fc33.aarch64 89/143 Verifying : libverto-0.3.0-9.fc32.aarch64 90/143 Verifying : libxcrypt-4.4.16-1.fc33.aarch64 91/143 Verifying : libxml2-2.9.10-4.fc33.aarch64 92/143 Verifying : libzstd-1.4.4-2.fc32.aarch64 93/143 Verifying : lua-libs-5.3.5-7.fc32.aarch64 94/143 Verifying : lz4-libs-1.9.1-2.fc32.aarch64 95/143 Verifying : make-1:4.3-1.fc33.aarch64 96/143 Verifying : mpfr-4.0.2-3.fc32.aarch64 97/143 Verifying : ncurses-6.2-1.20200222.fc33.aarch64 98/143 Verifying : ncurses-base-6.2-1.20200222.fc33.noarch 99/143 Verifying : ncurses-libs-6.2-1.20200222.fc33.aarch64 100/143 Verifying : nim-srpm-macros-3-2.fc32.noarch 101/143 Verifying : ocaml-srpm-macros-6-2.fc32.noarch 102/143 Verifying : openblas-srpm-macros-2-7.fc32.noarch 103/143 Verifying : openldap-2.4.47-4.fc32.aarch64 104/143 Verifying : openssl-libs-1:1.1.1f-1.fc33.aarch64 105/143 Verifying : p11-kit-0.23.20-1.fc32.aarch64 106/143 Verifying : p11-kit-trust-0.23.20-1.fc32.aarch64 107/143 Verifying : pam-1.3.1-24.fc33.aarch64 108/143 Verifying : patch-2.7.6-12.fc32.aarch64 109/143 Verifying : pcre-8.44-1.fc33.aarch64 110/143 Verifying : pcre2-10.34-9.fc33.aarch64 111/143 Verifying : pcre2-syntax-10.34-9.fc33.noarch 112/143 Verifying : perl-srpm-macros-1-34.fc32.noarch 113/143 Verifying : pkgconf-1.6.3-3.fc32.aarch64 114/143 Verifying : pkgconf-m4-1.6.3-3.fc32.noarch 115/143 Verifying : pkgconf-pkg-config-1.6.3-3.fc32.aarch64 116/143 Verifying : popt-1.16-19.fc32.aarch64 117/143 Verifying : publicsuffix-list-dafsa-20190417-3.fc32.noarch 118/143 Verifying : python-srpm-macros-3.8-2.fc33.noarch 119/143 Verifying : qt5-srpm-macros-5.14.2-3.fc33.noarch 120/143 Verifying : readline-8.0-4.fc32.aarch64 121/143 Verifying : redhat-rpm-config-154-1.fc33.noarch 122/143 Verifying : rpm-4.15.90-0.git14971.5.fc33.aarch64 123/143 Verifying : rpm-build-4.15.90-0.git14971.5.fc33.aarch64 124/143 Verifying : rpm-build-libs-4.15.90-0.git14971.5.fc33.aarch64 125/143 Verifying : rpm-libs-4.15.90-0.git14971.5.fc33.aarch64 126/143 Verifying : rust-srpm-macros-13-2.fc33.noarch 127/143 Verifying : sed-4.8-1.fc33.aarch64 128/143 Verifying : setup-2.13.6-2.fc32.noarch 129/143 Verifying : shadow-utils-2:4.8.1-2.fc33.aarch64 130/143 Verifying : sqlite-libs-3.31.1-1.fc33.aarch64 131/143 Verifying : systemd-libs-245.4-1.fc33.aarch64 132/143 Verifying : tar-2:1.32-4.fc32.aarch64 133/143 Verifying : tzdata-2019c-3.fc32.noarch 134/143 Verifying : unzip-6.0-47.fc32.aarch64 135/143 Verifying : util-linux-2.35.1-9.fc33.aarch64 136/143 Verifying : which-2.21-19.fc33.aarch64 137/143 Verifying : xxhash-libs-0.7.3-1.fc33.aarch64 138/143 Verifying : xz-5.2.5-1.fc33.aarch64 139/143 Verifying : xz-libs-5.2.5-1.fc33.aarch64 140/143 Verifying : zip-3.0-26.fc32.aarch64 141/143 Verifying : zlib-1.2.11-21.fc32.aarch64 142/143 Verifying : zstd-1.4.4-2.fc32.aarch64 143/143 Installed: alternatives-1.11-6.fc32.aarch64 audit-libs-3.0-0.19.20191104git1c2f876.fc33.aarch64 basesystem-11-9.fc32.noarch bash-5.0.11-2.fc32.aarch64 binutils-2.34-2.fc33.aarch64 binutils-gold-2.34-2.fc33.aarch64 bzip2-1.0.8-2.fc32.aarch64 bzip2-libs-1.0.8-2.fc32.aarch64 ca-certificates-2020.2.40-3.fc32.noarch coreutils-8.32-3.fc33.aarch64 coreutils-common-8.32-3.fc33.aarch64 cpio-2.13-5.fc33.aarch64 cracklib-2.9.6-22.fc32.aarch64 crypto-policies-20200312-1.git3ae59d2.fc33.noarch curl-7.69.0-2.fc33.aarch64 cyrus-sasl-lib-2.1.27-4.fc33.aarch64 diffutils-3.7-4.fc32.aarch64 dwz-0.13-2.fc32.aarch64 efi-srpm-macros-4-4.fc32.noarch elfutils-0.179-1.fc33.aarch64 elfutils-default-yama-scope-0.179-1.fc33.noarch elfutils-libelf-0.179-1.fc33.aarch64 elfutils-libs-0.179-1.fc33.aarch64 expat-2.2.8-2.fc32.aarch64 fedora-gpg-keys-33-0.5.noarch fedora-release-33-0.3.noarch fedora-release-common-33-0.3.noarch fedora-repos-33-0.5.noarch fedora-repos-rawhide-33-0.5.noarch file-5.38-3.fc33.aarch64 file-libs-5.38-3.fc33.aarch64 filesystem-3.14-2.fc32.aarch64 findutils-1:4.7.0-3.fc32.aarch64 fonts-srpm-macros-2.0.5-1.fc33.noarch fpc-srpm-macros-1.3-1.fc32.noarch gawk-5.0.1-7.fc32.aarch64 gc-8.0.4-3.fc32.aarch64 gdb-minimal-9.1-5.fc33.aarch64 ghc-srpm-macros-1.5.0-2.fc32.noarch glibc-2.31.9000-9.fc33.aarch64 glibc-common-2.31.9000-9.fc33.aarch64 glibc-minimal-langpack-2.31.9000-9.fc33.aarch64 gmp-1:6.2.0-1.fc33.aarch64 gnat-srpm-macros-4-11.fc32.noarch go-srpm-macros-3.0.8-5.fc32.noarch grep-3.4-1.fc33.aarch64 guile22-2.2.6-4.fc32.aarch64 gzip-1.10-2.fc32.aarch64 info-6.7-7.fc33.aarch64 keyutils-libs-1.6-4.fc32.aarch64 krb5-libs-1.18.1-1.fc33.aarch64 libacl-2.2.53-5.fc32.aarch64 libarchive-3.4.2-1.fc33.aarch64 libattr-2.4.48-8.fc32.aarch64 libblkid-2.35.1-9.fc33.aarch64 libbrotli-1.0.7-10.fc32.aarch64 libcap-2.26-7.fc32.aarch64 libcap-ng-0.7.10-2.fc32.aarch64 libcom_err-1.45.6-2.fc33.aarch64 libcurl-7.69.0-2.fc33.aarch64 libdb-5.3.28-40.fc32.aarch64 libfdisk-2.35.1-9.fc33.aarch64 libffi-3.1-24.fc32.aarch64 libgcc-10.0.1-0.11.fc33.aarch64 libgcrypt-1.8.5-3.fc32.aarch64 libgomp-10.0.1-0.11.fc33.aarch64 libgpg-error-1.37-1.fc33.aarch64 libidn2-2.3.0-2.fc32.aarch64 libmetalink-0.1.3-10.fc32.aarch64 libmount-2.35.1-9.fc33.aarch64 libnghttp2-1.40.0-2.fc32.aarch64 libnsl2-1.2.0-6.20180605git4a062cf.fc32.aarch64 libpkgconf-1.6.3-3.fc32.aarch64 libpsl-0.21.0-4.fc32.aarch64 libpwquality-1.4.2-2.fc32.aarch64 libselinux-3.0-4.fc33.aarch64 libsemanage-3.0-3.fc32.aarch64 libsepol-3.0-3.fc32.aarch64 libsigsegv-2.11-10.fc32.aarch64 libsmartcols-2.35.1-9.fc33.aarch64 libssh-0.9.4-2.fc33.aarch64 libssh-config-0.9.4-2.fc33.noarch libstdc++-10.0.1-0.11.fc33.aarch64 libtasn1-4.16.0-1.fc32.aarch64 libtirpc-1.2.6-0.fc33.aarch64 libtool-ltdl-2.4.6-33.fc32.aarch64 libunistring-0.9.10-7.fc32.aarch64 libutempter-1.1.6-18.fc32.aarch64 libuuid-2.35.1-9.fc33.aarch64 libverto-0.3.0-9.fc32.aarch64 libxcrypt-4.4.16-1.fc33.aarch64 libxml2-2.9.10-4.fc33.aarch64 libzstd-1.4.4-2.fc32.aarch64 lua-libs-5.3.5-7.fc32.aarch64 lz4-libs-1.9.1-2.fc32.aarch64 make-1:4.3-1.fc33.aarch64 mpfr-4.0.2-3.fc32.aarch64 ncurses-6.2-1.20200222.fc33.aarch64 ncurses-base-6.2-1.20200222.fc33.noarch ncurses-libs-6.2-1.20200222.fc33.aarch64 nim-srpm-macros-3-2.fc32.noarch ocaml-srpm-macros-6-2.fc32.noarch openblas-srpm-macros-2-7.fc32.noarch openldap-2.4.47-4.fc32.aarch64 openssl-libs-1:1.1.1f-1.fc33.aarch64 p11-kit-0.23.20-1.fc32.aarch64 p11-kit-trust-0.23.20-1.fc32.aarch64 pam-1.3.1-24.fc33.aarch64 patch-2.7.6-12.fc32.aarch64 pcre-8.44-1.fc33.aarch64 pcre2-10.34-9.fc33.aarch64 pcre2-syntax-10.34-9.fc33.noarch perl-srpm-macros-1-34.fc32.noarch pkgconf-1.6.3-3.fc32.aarch64 pkgconf-m4-1.6.3-3.fc32.noarch pkgconf-pkg-config-1.6.3-3.fc32.aarch64 popt-1.16-19.fc32.aarch64 publicsuffix-list-dafsa-20190417-3.fc32.noarch python-srpm-macros-3.8-2.fc33.noarch qt5-srpm-macros-5.14.2-3.fc33.noarch readline-8.0-4.fc32.aarch64 redhat-rpm-config-154-1.fc33.noarch rpm-4.15.90-0.git14971.5.fc33.aarch64 rpm-build-4.15.90-0.git14971.5.fc33.aarch64 rpm-build-libs-4.15.90-0.git14971.5.fc33.aarch64 rpm-libs-4.15.90-0.git14971.5.fc33.aarch64 rust-srpm-macros-13-2.fc33.noarch sed-4.8-1.fc33.aarch64 setup-2.13.6-2.fc32.noarch shadow-utils-2:4.8.1-2.fc33.aarch64 sqlite-libs-3.31.1-1.fc33.aarch64 systemd-libs-245.4-1.fc33.aarch64 tar-2:1.32-4.fc32.aarch64 tzdata-2019c-3.fc32.noarch unzip-6.0-47.fc32.aarch64 util-linux-2.35.1-9.fc33.aarch64 which-2.21-19.fc33.aarch64 xxhash-libs-0.7.3-1.fc33.aarch64 xz-5.2.5-1.fc33.aarch64 xz-libs-5.2.5-1.fc33.aarch64 zip-3.0-26.fc32.aarch64 zlib-1.2.11-21.fc32.aarch64 zstd-1.4.4-2.fc32.aarch64 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: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1586217600 Wrote: /builddir/build/SRPMS/mapillary_tools-0.5.0-1.fc33.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-aarch64-1587134101.889789/root/var/log/dnf.rpm.log /var/lib/mock/fedora-rawhide-aarch64-1587134101.889789/root/var/log/dnf.librepo.log /var/lib/mock/fedora-rawhide-aarch64-1587134101.889789/root/var/log/dnf.log Finish: buildsrpm INFO: Done(/tmp/copr-rpmbuild-6b5ltti5/mapillary_tools.spec) Config(child) 1 minutes 2 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=86400): unbuffer mock --rebuild /var/lib/copr-rpmbuild/results/mapillary_tools-0.5.0-1.fc33.src.rpm --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1587134166.718893 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 2.2 starting (python version = 3.7.6)... 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/mapillary_tools-0.5.0-1.fc33.src.rpm) Config(fedora-rawhide-aarch64) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-1587134166.718893/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 2.2 INFO: Mock Version: 2.2 Start: dnf update No matches found for the following disable plugin patterns: local, spacewalk Copr repository 24 kB/s | 3.3 kB 00:00 fedora 39 kB/s | 11 kB 00:00 Dependencies resolved. Nothing to do. Complete! Finish: dnf update Finish: chroot init Start: build phase for mapillary_tools-0.5.0-1.fc33.src.rpm Start: build setup for mapillary_tools-0.5.0-1.fc33.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1586217600 Wrote: /builddir/build/SRPMS/mapillary_tools-0.5.0-1.fc33.src.rpm No matches found for the following disable plugin patterns: local, spacewalk Copr repository 103 kB/s | 3.3 kB 00:00 fedora 111 kB/s | 11 kB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python3-ExifRead noarch 2.1.2-1.fc33 copr_base 62 k python3-construct noarch 2.8.8-1.fc33 copr_base 131 k python3-dateutil noarch 1:2.8.0-8.fc32 fedora 291 k python3-devel aarch64 3.8.2-2.fc33 fedora 201 k python3-gpxpy noarch 1.4.0-1.fc32 fedora 76 k python3-pillow aarch64 7.1.1-1.fc33 fedora 663 k python3-pymp4 noarch 1.1.0-1.fc33 copr_base 25 k python3-pynmea2 noarch 1.15.0-1.fc33 copr_base 52 k python3-pytest noarch 4.6.9-2.fc32 fedora 1.3 M python3-pytz noarch 2019.3-2.fc32 fedora 48 k python3-pyyaml aarch64 5.3.1-1.fc33 fedora 187 k python3-requests noarch 2.23.0-1.fc33 fedora 112 k python3-setuptools noarch 46.1.3-1.fc33 fedora 594 k python3-tqdm noarch 4.45.0-1.fc33 fedora 108 k python3-tzwhere noarch 3.0.3-1.fc33 copr_base 23 M Installing dependencies: freetype aarch64 2.10.1-2.fc32 fedora 378 k gdbm-libs aarch64 1:1.18.1-3.fc32 fedora 53 k geos aarch64 3.8.1-1.fc33 fedora 607 k jbigkit-libs aarch64 2.1-18.fc32 fedora 52 k lcms2 aarch64 2.9-7.fc32 fedora 164 k libXau aarch64 1.0.9-3.fc32 fedora 31 k libimagequant aarch64 2.12.6-2.fc32 fedora 62 k libjpeg-turbo aarch64 2.0.4-1.fc32 fedora 155 k libpng aarch64 2:1.6.37-3.fc32 fedora 113 k libtiff aarch64 4.1.0-2.fc32 fedora 182 k libwebp aarch64 1.1.0-2.fc32 fedora 260 k libxcb aarch64 1.13.1-4.fc32 fedora 230 k libyaml aarch64 0.2.3-1.fc33 fedora 59 k openjpeg2 aarch64 2.3.1-6.fc33 fedora 151 k python-pip-wheel noarch 20.0.2-3.fc33 fedora 1.2 M python-rpm-macros noarch 3.8-2.fc33 fedora 13 k python-setuptools-wheel noarch 46.1.3-1.fc33 fedora 293 k python3 aarch64 3.8.2-2.fc33 fedora 30 k python3-atomicwrites noarch 1.3.0-7.fc32 fedora 22 k python3-attrs noarch 19.3.0-2.fc32 fedora 67 k python3-chardet noarch 3.0.4-15.fc32 fedora 194 k python3-idna noarch 2.8-6.fc32 fedora 97 k python3-libs aarch64 3.8.2-2.fc33 fedora 7.4 M python3-more-itertools noarch 7.2.0-4.fc32 fedora 56 k python3-olefile noarch 0.46-9.fc32 fedora 57 k python3-packaging noarch 20.3-1.fc33 fedora 66 k python3-pluggy noarch 0.13.0-2.fc32 fedora 38 k python3-py noarch 1.8.0-8.fc32 fedora 421 k python3-pyparsing noarch 2.4.7-1.fc33 fedora 150 k python3-pysocks noarch 1.7.1-4.fc32 fedora 35 k python3-rpm-generators noarch 11-2.fc33 fedora 25 k python3-rpm-macros noarch 3.8-2.fc33 fedora 12 k python3-shapely aarch64 1.7-2b1.fc32 fedora 456 k python3-six noarch 1.14.0-2.fc32 fedora 36 k python3-urllib3 noarch 1.25.8-1.fc33 fedora 173 k python3-wcwidth noarch 0.1.9-1.fc33 fedora 33 k Transaction Summary ================================================================================ Install 51 Packages Total download size: 40 M Installed size: 95 M Downloading Packages: (1/51): python3-construct-2.8.8-1.fc33.noarch.r 2.5 MB/s | 131 kB 00:00 (2/51): python3-pynmea2-1.15.0-1.fc33.noarch.rp 4.2 MB/s | 52 kB 00:00 (3/51): python3-pymp4-1.1.0-1.fc33.noarch.rpm 226 kB/s | 25 kB 00:00 (4/51): python3-ExifRead-2.1.2-1.fc33.noarch.rp 501 kB/s | 62 kB 00:00 (5/51): gdbm-libs-1.18.1-3.fc32.aarch64.rpm 1.3 MB/s | 53 kB 00:00 (6/51): freetype-2.10.1-2.fc32.aarch64.rpm 1.2 MB/s | 378 kB 00:00 (7/51): geos-3.8.1-1.fc33.aarch64.rpm 1.1 MB/s | 607 kB 00:00 (8/51): python3-tzwhere-3.0.3-1.fc33.noarch.rpm 29 MB/s | 23 MB 00:00 (9/51): jbigkit-libs-2.1-18.fc32.aarch64.rpm 125 kB/s | 52 kB 00:00 (10/51): lcms2-2.9-7.fc32.aarch64.rpm 461 kB/s | 164 kB 00:00 (11/51): libXau-1.0.9-3.fc32.aarch64.rpm 104 kB/s | 31 kB 00:00 (12/51): libpng-1.6.37-3.fc32.aarch64.rpm 1.4 MB/s | 113 kB 00:00 (13/51): libjpeg-turbo-2.0.4-1.fc32.aarch64.rpm 617 kB/s | 155 kB 00:00 (14/51): libwebp-1.1.0-2.fc32.aarch64.rpm 1.1 MB/s | 260 kB 00:00 (15/51): libtiff-4.1.0-2.fc32.aarch64.rpm 428 kB/s | 182 kB 00:00 (16/51): libyaml-0.2.3-1.fc33.aarch64.rpm 12 MB/s | 59 kB 00:00 (17/51): libimagequant-2.12.6-2.fc32.aarch64.rp 77 kB/s | 62 kB 00:00 (18/51): python-pip-wheel-20.0.2-3.fc33.noarch. 37 MB/s | 1.2 MB 00:00 (19/51): python-rpm-macros-3.8-2.fc33.noarch.rp 3.0 MB/s | 13 kB 00:00 (20/51): python-setuptools-wheel-46.1.3-1.fc33. 34 MB/s | 293 kB 00:00 (21/51): python3-3.8.2-2.fc33.aarch64.rpm 4.3 MB/s | 30 kB 00:00 (22/51): libxcb-1.13.1-4.fc32.aarch64.rpm 822 kB/s | 230 kB 00:00 (23/51): openjpeg2-2.3.1-6.fc33.aarch64.rpm 723 kB/s | 151 kB 00:00 (24/51): python3-atomicwrites-1.3.0-7.fc32.noar 141 kB/s | 22 kB 00:00 (25/51): python3-dateutil-2.8.0-8.fc32.noarch.r 36 MB/s | 291 kB 00:00 (26/51): python3-devel-3.8.2-2.fc33.aarch64.rpm 30 MB/s | 201 kB 00:00 (27/51): python3-chardet-3.0.4-15.fc32.noarch.r 2.9 MB/s | 194 kB 00:00 (28/51): python3-attrs-19.3.0-2.fc32.noarch.rpm 416 kB/s | 67 kB 00:00 (29/51): python3-idna-2.8-6.fc32.noarch.rpm 1.3 MB/s | 97 kB 00:00 (30/51): python3-libs-3.8.2-2.fc33.aarch64.rpm 47 MB/s | 7.4 MB 00:00 (31/51): python3-more-itertools-7.2.0-4.fc32.no 149 kB/s | 56 kB 00:00 (32/51): python3-packaging-20.3-1.fc33.noarch.r 10 MB/s | 66 kB 00:00 (33/51): python3-olefile-0.46-9.fc32.noarch.rpm 176 kB/s | 57 kB 00:00 (34/51): python3-gpxpy-1.4.0-1.fc32.noarch.rpm 129 kB/s | 76 kB 00:00 (35/51): python3-pluggy-0.13.0-2.fc32.noarch.rp 180 kB/s | 38 kB 00:00 (36/51): python3-py-1.8.0-8.fc32.noarch.rpm 2.0 MB/s | 421 kB 00:00 (37/51): python3-pyparsing-2.4.7-1.fc33.noarch. 7.6 MB/s | 150 kB 00:00 (38/51): python3-pysocks-1.7.1-4.fc32.noarch.rp 2.1 MB/s | 35 kB 00:00 (39/51): python3-pytz-2019.3-2.fc32.noarch.rpm 3.6 MB/s | 48 kB 00:00 (40/51): python3-pillow-7.1.1-1.fc33.aarch64.rp 1.8 MB/s | 663 kB 00:00 (41/51): python3-requests-2.23.0-1.fc33.noarch. 868 kB/s | 112 kB 00:00 (42/51): python3-rpm-generators-11-2.fc33.noarc 1.6 MB/s | 25 kB 00:00 (43/51): python3-pyyaml-5.3.1-1.fc33.aarch64.rp 967 kB/s | 187 kB 00:00 (44/51): python3-rpm-macros-3.8-2.fc33.noarch.r 1.6 MB/s | 12 kB 00:00 (45/51): python3-setuptools-46.1.3-1.fc33.noarc 45 MB/s | 594 kB 00:00 (46/51): python3-six-1.14.0-2.fc32.noarch.rpm 8.3 MB/s | 36 kB 00:00 (47/51): python3-shapely-1.7-2b1.fc32.aarch64.r 2.5 MB/s | 456 kB 00:00 (48/51): python3-urllib3-1.25.8-1.fc33.noarch.r 16 MB/s | 173 kB 00:00 (49/51): python3-wcwidth-0.1.9-1.fc33.noarch.rp 409 kB/s | 33 kB 00:00 (50/51): python3-pytest-4.6.9-2.fc32.noarch.rpm 2.5 MB/s | 1.3 MB 00:00 (51/51): python3-tqdm-4.45.0-1.fc33.noarch.rpm 305 kB/s | 108 kB 00:00 -------------------------------------------------------------------------------- Total 12 MB/s | 40 MB 00:03 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python-rpm-macros-3.8-2.fc33.noarch 1/51 Installing : libjpeg-turbo-2.0.4-1.fc32.aarch64 2/51 Installing : python3-rpm-macros-3.8-2.fc33.noarch 3/51 Installing : python-setuptools-wheel-46.1.3-1.fc33.noarch 4/51 Installing : python-pip-wheel-20.0.2-3.fc33.noarch 5/51 Installing : openjpeg2-2.3.1-6.fc33.aarch64 6/51 Installing : libyaml-0.2.3-1.fc33.aarch64 7/51 Installing : libwebp-1.1.0-2.fc32.aarch64 8/51 Installing : libpng-2:1.6.37-3.fc32.aarch64 9/51 Installing : freetype-2.10.1-2.fc32.aarch64 10/51 Installing : libimagequant-2.12.6-2.fc32.aarch64 11/51 Installing : libXau-1.0.9-3.fc32.aarch64 12/51 Installing : libxcb-1.13.1-4.fc32.aarch64 13/51 Installing : lcms2-2.9-7.fc32.aarch64 14/51 Installing : jbigkit-libs-2.1-18.fc32.aarch64 15/51 Installing : libtiff-4.1.0-2.fc32.aarch64 16/51 Installing : geos-3.8.1-1.fc33.aarch64 17/51 Installing : gdbm-libs-1:1.18.1-3.fc32.aarch64 18/51 Installing : python3-setuptools-46.1.3-1.fc33.noarch 19/51 Installing : python3-3.8.2-2.fc33.aarch64 20/51 Installing : python3-libs-3.8.2-2.fc33.aarch64 21/51 Installing : python3-six-1.14.0-2.fc32.noarch 22/51 Installing : python3-idna-2.8-6.fc32.noarch 23/51 Installing : python3-construct-2.8.8-1.fc33.noarch 24/51 Installing : python3-atomicwrites-1.3.0-7.fc32.noarch 25/51 Installing : python3-attrs-19.3.0-2.fc32.noarch 26/51 Installing : python3-chardet-3.0.4-15.fc32.noarch 27/51 Installing : python3-more-itertools-7.2.0-4.fc32.noarch 28/51 Installing : python3-olefile-0.46-9.fc32.noarch 29/51 Installing : python3-pluggy-0.13.0-2.fc32.noarch 30/51 Installing : python3-py-1.8.0-8.fc32.noarch 31/51 Installing : python3-pyparsing-2.4.7-1.fc33.noarch 32/51 Installing : python3-packaging-20.3-1.fc33.noarch 33/51 Installing : python3-pysocks-1.7.1-4.fc32.noarch 34/51 Installing : python3-urllib3-1.25.8-1.fc33.noarch 35/51 Installing : python3-rpm-generators-11-2.fc33.noarch 36/51 Installing : python3-shapely-1.7-2b1.fc32.aarch64 37/51 Installing : python3-wcwidth-0.1.9-1.fc33.noarch 38/51 Installing : python3-pytest-4.6.9-2.fc32.noarch 39/51 Installing : python3-tzwhere-3.0.3-1.fc33.noarch 40/51 Installing : python3-devel-3.8.2-2.fc33.aarch64 41/51 Installing : python3-requests-2.23.0-1.fc33.noarch 42/51 Installing : python3-pillow-7.1.1-1.fc33.aarch64 43/51 Installing : python3-pymp4-1.1.0-1.fc33.noarch 44/51 Installing : python3-dateutil-1:2.8.0-8.fc32.noarch 45/51 Installing : python3-ExifRead-2.1.2-1.fc33.noarch 46/51 Installing : python3-pynmea2-1.15.0-1.fc33.noarch 47/51 Installing : python3-gpxpy-1.4.0-1.fc32.noarch 48/51 Installing : python3-pytz-2019.3-2.fc32.noarch 49/51 Installing : python3-pyyaml-5.3.1-1.fc33.aarch64 50/51 Installing : python3-tqdm-4.45.0-1.fc33.noarch 51/51 Running scriptlet: python3-tqdm-4.45.0-1.fc33.noarch 51/51 Verifying : python3-ExifRead-2.1.2-1.fc33.noarch 1/51 Verifying : python3-construct-2.8.8-1.fc33.noarch 2/51 Verifying : python3-pymp4-1.1.0-1.fc33.noarch 3/51 Verifying : python3-pynmea2-1.15.0-1.fc33.noarch 4/51 Verifying : python3-tzwhere-3.0.3-1.fc33.noarch 5/51 Verifying : freetype-2.10.1-2.fc32.aarch64 6/51 Verifying : gdbm-libs-1:1.18.1-3.fc32.aarch64 7/51 Verifying : geos-3.8.1-1.fc33.aarch64 8/51 Verifying : jbigkit-libs-2.1-18.fc32.aarch64 9/51 Verifying : lcms2-2.9-7.fc32.aarch64 10/51 Verifying : libXau-1.0.9-3.fc32.aarch64 11/51 Verifying : libimagequant-2.12.6-2.fc32.aarch64 12/51 Verifying : libjpeg-turbo-2.0.4-1.fc32.aarch64 13/51 Verifying : libpng-2:1.6.37-3.fc32.aarch64 14/51 Verifying : libtiff-4.1.0-2.fc32.aarch64 15/51 Verifying : libwebp-1.1.0-2.fc32.aarch64 16/51 Verifying : libxcb-1.13.1-4.fc32.aarch64 17/51 Verifying : libyaml-0.2.3-1.fc33.aarch64 18/51 Verifying : openjpeg2-2.3.1-6.fc33.aarch64 19/51 Verifying : python-pip-wheel-20.0.2-3.fc33.noarch 20/51 Verifying : python-rpm-macros-3.8-2.fc33.noarch 21/51 Verifying : python-setuptools-wheel-46.1.3-1.fc33.noarch 22/51 Verifying : python3-3.8.2-2.fc33.aarch64 23/51 Verifying : python3-atomicwrites-1.3.0-7.fc32.noarch 24/51 Verifying : python3-attrs-19.3.0-2.fc32.noarch 25/51 Verifying : python3-chardet-3.0.4-15.fc32.noarch 26/51 Verifying : python3-dateutil-1:2.8.0-8.fc32.noarch 27/51 Verifying : python3-devel-3.8.2-2.fc33.aarch64 28/51 Verifying : python3-gpxpy-1.4.0-1.fc32.noarch 29/51 Verifying : python3-idna-2.8-6.fc32.noarch 30/51 Verifying : python3-libs-3.8.2-2.fc33.aarch64 31/51 Verifying : python3-more-itertools-7.2.0-4.fc32.noarch 32/51 Verifying : python3-olefile-0.46-9.fc32.noarch 33/51 Verifying : python3-packaging-20.3-1.fc33.noarch 34/51 Verifying : python3-pillow-7.1.1-1.fc33.aarch64 35/51 Verifying : python3-pluggy-0.13.0-2.fc32.noarch 36/51 Verifying : python3-py-1.8.0-8.fc32.noarch 37/51 Verifying : python3-pyparsing-2.4.7-1.fc33.noarch 38/51 Verifying : python3-pysocks-1.7.1-4.fc32.noarch 39/51 Verifying : python3-pytest-4.6.9-2.fc32.noarch 40/51 Verifying : python3-pytz-2019.3-2.fc32.noarch 41/51 Verifying : python3-pyyaml-5.3.1-1.fc33.aarch64 42/51 Verifying : python3-requests-2.23.0-1.fc33.noarch 43/51 Verifying : python3-rpm-generators-11-2.fc33.noarch 44/51 Verifying : python3-rpm-macros-3.8-2.fc33.noarch 45/51 Verifying : python3-setuptools-46.1.3-1.fc33.noarch 46/51 Verifying : python3-shapely-1.7-2b1.fc32.aarch64 47/51 Verifying : python3-six-1.14.0-2.fc32.noarch 48/51 Verifying : python3-tqdm-4.45.0-1.fc33.noarch 49/51 Verifying : python3-urllib3-1.25.8-1.fc33.noarch 50/51 Verifying : python3-wcwidth-0.1.9-1.fc33.noarch 51/51 Installed: freetype-2.10.1-2.fc32.aarch64 gdbm-libs-1:1.18.1-3.fc32.aarch64 geos-3.8.1-1.fc33.aarch64 jbigkit-libs-2.1-18.fc32.aarch64 lcms2-2.9-7.fc32.aarch64 libXau-1.0.9-3.fc32.aarch64 libimagequant-2.12.6-2.fc32.aarch64 libjpeg-turbo-2.0.4-1.fc32.aarch64 libpng-2:1.6.37-3.fc32.aarch64 libtiff-4.1.0-2.fc32.aarch64 libwebp-1.1.0-2.fc32.aarch64 libxcb-1.13.1-4.fc32.aarch64 libyaml-0.2.3-1.fc33.aarch64 openjpeg2-2.3.1-6.fc33.aarch64 python-pip-wheel-20.0.2-3.fc33.noarch python-rpm-macros-3.8-2.fc33.noarch python-setuptools-wheel-46.1.3-1.fc33.noarch python3-3.8.2-2.fc33.aarch64 python3-ExifRead-2.1.2-1.fc33.noarch python3-atomicwrites-1.3.0-7.fc32.noarch python3-attrs-19.3.0-2.fc32.noarch python3-chardet-3.0.4-15.fc32.noarch python3-construct-2.8.8-1.fc33.noarch python3-dateutil-1:2.8.0-8.fc32.noarch python3-devel-3.8.2-2.fc33.aarch64 python3-gpxpy-1.4.0-1.fc32.noarch python3-idna-2.8-6.fc32.noarch python3-libs-3.8.2-2.fc33.aarch64 python3-more-itertools-7.2.0-4.fc32.noarch python3-olefile-0.46-9.fc32.noarch python3-packaging-20.3-1.fc33.noarch python3-pillow-7.1.1-1.fc33.aarch64 python3-pluggy-0.13.0-2.fc32.noarch python3-py-1.8.0-8.fc32.noarch python3-pymp4-1.1.0-1.fc33.noarch python3-pynmea2-1.15.0-1.fc33.noarch python3-pyparsing-2.4.7-1.fc33.noarch python3-pysocks-1.7.1-4.fc32.noarch python3-pytest-4.6.9-2.fc32.noarch python3-pytz-2019.3-2.fc32.noarch python3-pyyaml-5.3.1-1.fc33.aarch64 python3-requests-2.23.0-1.fc33.noarch python3-rpm-generators-11-2.fc33.noarch python3-rpm-macros-3.8-2.fc33.noarch python3-setuptools-46.1.3-1.fc33.noarch python3-shapely-1.7-2b1.fc32.aarch64 python3-six-1.14.0-2.fc32.noarch python3-tqdm-4.45.0-1.fc33.noarch python3-tzwhere-3.0.3-1.fc33.noarch python3-urllib3-1.25.8-1.fc33.noarch python3-wcwidth-0.1.9-1.fc33.noarch Complete! Finish: build setup for mapillary_tools-0.5.0-1.fc33.src.rpm Start: rpmbuild mapillary_tools-0.5.0-1.fc33.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1586217600 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.S8M5pw + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf mapillary_tools-0.5.0 + /usr/bin/unzip -qq /builddir/build/SOURCES/mapillary_tools-0.5.0.zip + STATUS=0 + '[' 0 -ne 0 ']' + cd mapillary_tools-0.5.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + 2to3 -w -n ./ 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 ./bin/download_images.py RefactoringTool: Refactored ./mapillary_tools/__init__.py RefactoringTool: Refactored ./mapillary_tools/apply_camera_specific_config.py RefactoringTool: Refactored ./mapillary_tools/config.py RefactoringTool: Refactored ./mapillary_tools/download.py RefactoringTool: Refactored ./mapillary_tools/edit_config.py --- ./bin/download_images.py (original) +++ ./bin/download_images.py (refactored) @@ -1,6 +1,6 @@ #!/usr/bin/env python -import urllib2 -import urllib +import urllib.request, urllib.error, urllib.parse +import urllib.request, urllib.parse, urllib.error import json import os import shutil @@ -34,18 +34,18 @@ ''' # Create URL - params = urllib.urlencode(zip( + params = urllib.parse.urlencode(list(zip( ['client_id', 'bbox', 'per_page'], [CLIENT_ID, ','.join([str(min_lon), str(min_lat), str( max_lon), str(max_lat)]), str(max_results)] - )) - print(MAPILLARY_API_IM_SEARCH_URL + params) + ))) + print((MAPILLARY_API_IM_SEARCH_URL + params)) # Get data from server, then parse JSON - query = urllib2.urlopen(MAPILLARY_API_IM_SEARCH_URL + params).read() + query = urllib.request.urlopen(MAPILLARY_API_IM_SEARCH_URL + params).read() query = json.loads(query)['features'] - print("Result: {0} images in area.".format(len(query))) + print(("Result: {0} images in area.".format(len(query)))) return query @@ -67,18 +67,18 @@ try: # Get image and save to disk - image = urllib.URLopener() + image = urllib.request.URLopener() image.retrieve(url, path + filename) # Log filename and GPS location coords = ",".join(map(str, im['geometry']['coordinates'])) im_list.append([filename, coords]) - print("Successfully downloaded: {0}".format(filename)) + print(("Successfully downloaded: {0}".format(filename))) except KeyboardInterrupt: break except: - print("Failed to download: {0}".format(filename)) + print(("Failed to download: {0}".format(filename))) return im_list --- ./mapillary_tools/__init__.py (original) +++ ./mapillary_tools/__init__.py (refactored) @@ -1,28 +1,28 @@ -import geo -import processing -import uploader -import config -import exif_aux -import exif_read -import exif_write -import ffprobe -import gps_parser -import upload -import process_user_properties -import process_geotag_properties -import process_sequence_properties -import process_upload_params -import process_import_meta_properties -import insert_MAPJson -import process_video -import gpx_from_gopro -import gpmf -import ffmpeg -import commands -import process_csv -import interpolation -import post_process -import apply_camera_specific_config -import camera_support +from . import geo +from . import processing +from . import uploader +from . import config +from . import exif_aux +from . import exif_read +from . import exif_write +from . import ffprobe +from . import gps_parser +from . import upload +from . import process_user_properties +from . import process_geotag_properties +from . import process_sequence_properties +from . import process_upload_params +from . import process_import_meta_properties +from . import insert_MAPJson +from . import process_video +from . import gpx_from_gopro +from . import gpmf +from . import ffmpeg +from . import commands +from . import process_csv +from . import interpolation +from . import post_process +from . import apply_camera_specific_config +from . import camera_support VERSION = "0.5.0" --- ./mapillary_tools/apply_camera_specific_config.py (original) +++ ./mapillary_tools/apply_camera_specific_config.py (refactored) @@ -1,7 +1,7 @@ def apply_camera_specific_config(vars_args): # Check for Blackvue if "device_make" in vars_args and vars_args['device_make'].lower()=='blackvue' or "geotag_source" in vars_args and vars_args["geotag_source"] == 'blackvue_videos': - from camera_support import prepare_blackvue_videos + from .camera_support import prepare_blackvue_videos vars_args = prepare_blackvue_videos.apply_config_blackvue(vars_args) # Potentially check for other cameras i.e. Garmin return vars_args --- ./mapillary_tools/config.py (original) +++ ./mapillary_tools/config.py (refactored) @@ -1,11 +1,11 @@ import os -import ConfigParser +import configparser def load_config(config_path): config = None if os.path.isfile(config_path): - config = ConfigParser.ConfigParser() + config = configparser.ConfigParser() try: config.optionxform = str config.read(config_path) @@ -38,19 +38,19 @@ try: config.add_section(user_name) except: - print("Error adding new user section, for user_name " + user_name) + print(("Error adding new user section, for user_name " + user_name)) else: - print("Error, user " + user_name + " already exists") + print(("Error, user " + user_name + " already exists")) save_config(config, config_path) def set_user_items(config, user_name, user_items): - for key in user_items.keys(): + for key in list(user_items.keys()): try: config.set(user_name, key, user_items[key]) except: - print("Error setting config key " + key + " with value " + - str(user_items[key]) + " for user_name " + user_name) + print(("Error setting config key " + key + " with value " + + str(user_items[key]) + " for user_name " + user_name)) return config --- ./mapillary_tools/download.py (original) +++ ./mapillary_tools/download.py (refactored) @@ -1,6 +1,6 @@ -import processing -import uploader -from post_process import save_local_mapping +from . import processing +from . import uploader +from .post_process import save_local_mapping from tqdm import tqdm import os import signal @@ -27,7 +27,7 @@ response = requests.get(download_url, stream=True) if response.status_code != 200: - print(response.json()) + print((response.json())) return False with open(filename, "wb") as f: @@ -107,7 +107,7 @@ not_downloaded += 1 if not_downloaded > 0: - print("Trying to download {} not yet downloaded files".format(not_downloaded)) + print(("Trying to download {} not yet downloaded files".format(not_downloaded))) if do_sleep: print("Waiting 10 seconds before next try") time.sleep(10) @@ -130,7 +130,7 @@ try: user_properties = uploader.authenticate_user(user_name) except: - print("Error, user authentication failed for user " + user_name) + print(("Error, user authentication failed for user " + user_name)) print("Make sure your user credentials are correct, user authentication is required for images to be downloaded from Mapillary.") return None if "user_upload_token" in user_properties: --- ./mapillary_tools/edit_config.py (original) +++ ./mapillary_tools/edit_config.py (refactored) @@ -1,7 +1,7 @@ import mapillary_tools.config as config import os import sys -import uploader +from . import uploader ''' (re)authenticate ''' @@ -20,7 +20,7 @@ try: edit_config_with_jwt(jwt, config_file_path) except Exception as e: - print('Error: %s' % e) + print(('Error: %s' % e)) sys.exit(1) return @@ -44,17 +44,17 @@ section = user_name if not section: - section = raw_input( + section = input( "Enter the Mapillary user name you would like to (re)authenticate : ") # safety check if section exists, otherwise add it if section in config_object.sections(): if not force_overwrite: print("Warning, user name exists with the following items : ") - print(config.load_user(config_object, section)) - sure = raw_input( + print((config.load_user(config_object, section))) + sure = input( "Are you sure you would like to re-authenticate[y,Y,yes,Yes]?(current parameters will be overwritten)") if sure not in ["y", "Y", "yes", "Yes"]: - print("Aborting re-authentication. If you would like to re-authenticate user name {}, rerun this command and confirm re-authentication.".format(section))RefactoringTool: Refactored ./mapillary_tools/exif_aux.py RefactoringTool: Refactored ./mapillary_tools/exif_read.py RefactoringTool: Refactored ./mapillary_tools/exif_write.py RefactoringTool: No changes to ./mapillary_tools/ffmpeg.py RefactoringTool: Refactored ./mapillary_tools/ffprobe.py RefactoringTool: Refactored ./mapillary_tools/geo.py RefactoringTool: No changes to ./mapillary_tools/gpmf.py RefactoringTool: Refactored ./mapillary_tools/gps_parser.py RefactoringTool: Refactored ./mapillary_tools/gpx_from_blackvue.py + print(("Aborting re-authentication. If you would like to re-authenticate user name {}, rerun this command and confirm re-authentication.".format(section))) sys.exit() else: config_object.add_section(section) @@ -62,13 +62,13 @@ if user_email and user_password: user_key = uploader.get_user_key(section) if not user_key: - print("User name {} does not exist, please try again or contact Mapillary user support.".format( - section)) + print(("User name {} does not exist, please try again or contact Mapillary user support.".format( + section))) sys.exit(1) upload_token = uploader.get_upload_token(user_email, user_password) if not upload_token: - print("Authentication failed for user name " + - section + ", please try again.") + print(("Authentication failed for user name " + + section + ", please try again.")) sys.exit(1) user_permission_hash, user_signature_hash = uploader.get_user_hashes( user_key, upload_token) @@ -87,8 +87,8 @@ user_items = uploader.prompt_user_for_user_items(section) if not user_items: - print("Authentication failed for user name " + - section + ", please try again.") + print(("Authentication failed for user name " + + section + ", please try again.")) sys.exit(1) config.update_config(config_file_path, section, user_items) --- ./mapillary_tools/exif_aux.py (original) +++ ./mapillary_tools/exif_aux.py (refactored) @@ -1,6 +1,6 @@ -from exif_read import ExifRead +from .exif_read import ExifRead import os -import processing +from . import processing def exif_gps_fields(): --- ./mapillary_tools/exif_read.py (original) +++ ./mapillary_tools/exif_read.py (refactored) @@ -4,7 +4,7 @@ import sys import exifread import datetime -from geo import normalize_bearing +from .geo import normalize_bearing import uuid sys.path.insert(0, os.path.abspath( os.path.join(os.path.dirname(__file__), ".."))) @@ -335,7 +335,7 @@ fields = ['Image Orientation'] orientation, _ = self._extract_alternative_fields( fields, default=1, field_type=int) - if orientation not in range(1, 9): + if orientation not in list(range(1, 9)): return 1 return orientation @@ -365,8 +365,8 @@ if subrexif in self.tags: vflag = True if not vflag: - print("Missing required EXIF tag: {0} for image {1}".format( - rexif[0], self.filename)) + print(("Missing required EXIF tag: {0} for image {1}".format( + rexif[0], self.filename))) return False return True --- ./mapillary_tools/exif_write.py (original) +++ ./mapillary_tools/exif_write.py (refactored) @@ -2,7 +2,7 @@ import json import piexif -from geo import decimal_to_dms +from .geo import decimal_to_dms from .error import print_error @@ -17,10 +17,10 @@ self._ef = piexif.load(filename) except IOError: etype, value, traceback = sys.exc_info() - print >> sys.stderr, "Error opening file:", value + print("Error opening file:", value, file=sys.stderr) except ValueError: etype, value, traceback = sys.exc_info() - print >> sys.stderr, "Error opening file:", value + print("Error opening file:", value, file=sys.stderr) def add_image_description(self, dict): """Add a dict to image description.""" @@ -91,8 +91,8 @@ try: self._ef[main_key][tag_key] = value except: - print("could not set tag {} under {} with value {}".format( - tag_key, main_key, value)) + print(("could not set tag {} under {} with value {}".format( + tag_key, main_key, value))) def write(self, filename=None): """Save exif data to file.""" @@ -108,4 +108,4 @@ except IOError: type, value, traceback = sys.exc_info() - print >> sys.stderr, "Error saving file:", value + print("Error saving file:", value, file=sys.stderr) --- ./mapillary_tools/ffprobe.py (original) +++ ./mapillary_tools/ffprobe.py (refactored) @@ -79,7 +79,7 @@ def __init__(self,datalines): for a in datalines: if re.match(r'^.+=.+$', a) is None: - print "Warning: detected incorrect stream metadata line format: %s" % a + print("Warning: detected incorrect stream metadata line format: %s" % a) else: (key,val)=a.strip().split('=') key = key.lstrip("TAG:") @@ -126,7 +126,7 @@ try: size=(int(self.__dict__['width']),int(self.__dict__['height'])) except Exception as e: - print "None integer size %s:%s" %(str(self.__dict__['width']),str(+self.__dict__['height'])) + print("None integer size %s:%s" %(str(self.__dict__['width']),str(+self.__dict__['height']))) size=(0,0) return size @@ -151,7 +151,7 @@ try: f=int(self.__dict__['nb_frames']) except Exception as e: - print "None integer frame count" + print("None integer frame count") return f def durationSeconds(self): @@ -165,7 +165,7 @@ try: f=float(self.__dict__['duration']) except Exception as e: - print "None numeric duration" + print("None numeric duration") return f def language(self): @@ -213,8 +213,8 @@ try: b=int(self.__dict__['bit_rate']) except Exception as e: - print "None integer bitrate" + print("None integer bitrate") return b if __name__ == '__main__': - print "Module ffprobe" + print("Module ffprobe") --- ./mapillary_tools/geo.py (original) +++ ./mapillary_tools/geo.py (refactored) @@ -219,8 +219,8 @@ raise ValueError( "time t not in scope of gpx file by {} seconds".format(dt)) else: - print( - "time t not in scope of gpx file by {} seconds, extrapolating...".format(dt)) + print(( + "time t not in scope of gpx file by {} seconds, extrapolating...".format(dt))) if t < points[0][0]: before = points[0] --- ./mapillary_tools/gps_parser.py (original) +++ ./mapillary_tools/gps_parser.py (refactored) @@ -4,13 +4,13 @@ import os import datetime import time -from geo import gpgga_to_dms, utc_to_localtime +from .geo import gpgga_to_dms, utc_to_localtime try: import gpxpy import pynmea2 except ImportError as error: - print error + print(error) ''' Methods for parsing gps data from various file format e.g. GPX, NMEA, SRT. --- ./mapillary_tools/gpx_from_blackvue.py (original) +++ ./mapillary_tools/gpx_from_blackvue.py (refactored) @@ -6,9 +6,9 @@ import sys import re import pynmea2 -from geo import write_gpx -from geo import get_max_distance_from_start -from geo import get_total_distance_traveled +from .geo import write_gpx +from .geo import get_max_distance_from_start +from .geo import get_total_distance_traveled from pymp4.parser import Box from construct.core import RangeError, ConstError @@ -103,8 +103,8 @@ points.append((timestamp, lat, lon, alt)) except Exception as e: - print( - "Error in parsing gps trace to extract time and gps information, nmea parsing failed due to {}".format(e)) + print(( + "Error in parsing gps trace to extract time and gps information, nmea parsing failed due to {}".format(e)))RefactoringTool: Refactored ./mapillary_tools/gpx_from_exif.py RefactoringTool: Refactored ./mapillary_tools/gpx_from_gopro.py RefactoringTool: Refactored ./mapillary_tools/insert_MAPJson.py RefactoringTool: Refactored ./mapillary_tools/interpolation.py RefactoringTool: Refactored ./mapillary_tools/ipc.py RefactoringTool: Refactored ./mapillary_tools/post_process.py #If there are no points after parsing just return empty vector if points == []: @@ -167,8 +167,8 @@ try: bv_data = get_points_from_bv(bv_video,use_nmea_stream_timestamp) except Exception as e: - print( - "Warning, could not extract gps from video {} due to {}, video will be skipped...".format(bv_video, e)) + print(( + "Warning, could not extract gps from video {} due to {}, video will be skipped...".format(bv_video, e))) if bv_data != []: is_stationary_video = is_video_stationary(get_max_distance_from_start(bv_data),get_total_distance_traveled(bv_data)) else: --- ./mapillary_tools/gpx_from_exif.py (original) +++ ./mapillary_tools/gpx_from_exif.py (refactored) @@ -1,5 +1,5 @@ -import exif_read -from geo import write_gpx +from . import exif_read +from .geo import write_gpx def get_points_from_exif(file_list, verbose=False): @@ -10,21 +10,21 @@ exif = exif_read.ExifRead(file) except: if verbose: - print("Warning, EXIF could not be read for image {}.".format(file)) + print(("Warning, EXIF could not be read for image {}.".format(file))) continue try: lon, lat = exif.extract_lon_lat() except: if verbose: - print( - "Warning {} image latitude or longitude tag not in EXIF.".format(file)) + print(( + "Warning {} image latitude or longitude tag not in EXIF.".format(file))) continue try: timestamp = exif.extract_capture_time() except: if verbose: - print( - "Warning {} image capture time tag not in EXIF.".format(file)) + print(( + "Warning {} image capture time tag not in EXIF.".format(file))) continue if lon != None and lat != None and timestamp != None: point = point + (timestamp, lat, lon) --- ./mapillary_tools/gpx_from_gopro.py (original) +++ ./mapillary_tools/gpx_from_gopro.py (refactored) @@ -2,9 +2,9 @@ import datetime import os -from ffmpeg import extract_stream, get_ffprobe -from gpmf import parse_bin, interpolate_times -from geo import write_gpx +from .ffmpeg import extract_stream, get_ffprobe +from .gpmf import parse_bin, interpolate_times +from .geo import write_gpx # author https://github.com/stilldavid --- ./mapillary_tools/insert_MAPJson.py (original) +++ ./mapillary_tools/insert_MAPJson.py (refactored) @@ -2,8 +2,8 @@ import time import uuid import sys -import processing -import uploader +from . import processing +from . import uploader from tqdm import tqdm from .error import print_error @@ -25,8 +25,8 @@ # sanity check if video file is passed if video_import_path and not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # in case of video processing, adjust the import path --- ./mapillary_tools/interpolation.py (original) +++ ./mapillary_tools/interpolation.py (refactored) @@ -1,12 +1,12 @@ -import processing -import uploader +from . import processing +from . import uploader import os import sys -from geo import interpolate_lat_lon -from exif_write import ExifEdit -from exif_read import ExifRead -from process_import_meta_properties import add_meta_tag -import process_csv +from .geo import interpolate_lat_lon +from .exif_write import ExifEdit +from .exif_read import ExifRead +from .process_import_meta_properties import add_meta_tag +from . import process_csv import csv import datetime from tqdm import tqdm @@ -30,8 +30,8 @@ timestamps_formated = [datetime_timestamp.strftime( time_format) for datetime_timestamp in timestamps_interpolated] except: - print("Formating timestamps from datetime to time format {} failed...".format( - time_format)) + print(("Formating timestamps from datetime to time format {} failed...".format( + time_format))) sys.exit(1) return timestamps_formated @@ -104,7 +104,7 @@ # get list of files to process process_file_list = uploader.get_total_file_list(import_path) if not len(process_file_list): - print("No images found in the import path " + import_path) + print(("No images found in the import path " + import_path)) sys.exit(1) if data == "missing_gps": @@ -113,11 +113,11 @@ geotags, missing_geotags = processing.get_images_geotags( process_file_list) if not len(missing_geotags): - print("No images in directory {} missing geotags, exiting...".format( - import_path)) + print(("No images in directory {} missing geotags, exiting...".format( + import_path))) sys.exit(1) if not len(geotags): - print("No images in directory {} with geotags.".format(import_path)) + print(("No images in directory {} with geotags.".format(import_path))) sys.exit(1) sys.stdout.write("Interpolating gps for {} images missing geotags.".format( @@ -143,14 +143,14 @@ exif_edit.add_direction(bearing) else: if verbose: - print( - "Warning, bearing not interpolated for image {}.".format(image)) + print(( + "Warning, bearing not interpolated for image {}.".format(image))) if elevation: exif_edit.add_altitude(elevation) else: if verbose: - print( - "Warning, altitude not interpolated for image {}.".format(image)) + print(( + "Warning, altitude not interpolated for image {}.".format(image))) meta = {} @@ -176,7 +176,7 @@ if timestamp: timestamps.append(timestamp) else: - print("Capture could not be extracted for image {}.".format(image)) + print(("Capture could not be extracted for image {}.".format(image))) # interpolate timestamps_interpolated = processing.interpolate_timestamp( @@ -187,7 +187,7 @@ counter = 0 # write back - for image, timestamp in tqdm(zip(process_file_list, timestamps_interpolated), desc="Writing capture time in image EXIF"): + for image, timestamp in tqdm(list(zip(process_file_list, timestamps_interpolated)), desc="Writing capture time in image EXIF"): # print progress counter += 1 --- ./mapillary_tools/ipc.py (original) +++ ./mapillary_tools/ipc.py (refactored) @@ -40,8 +40,8 @@ try: __write(obj) except Exception as e: - print('IPC error for: %s' % obj) - print('Error: %s' % e) + print(('IPC error for: %s' % obj)) + print(('Error: %s' % e)) def send_error(message): send('error', {'message': message}) --- ./mapillary_tools/post_process.py (original) +++ ./mapillary_tools/post_process.py (refactored) @@ -1,12 +1,12 @@ import os import sys -import processing -import uploader +from . import processing +from . import uploader import json import shutil from tqdm import tqdm import csv -import exif_read +from . import exif_read from . import ipc @@ -33,7 +33,7 @@ destination_mapping[image] = { "sequence": str(sequence_counter)} else: - print("MAPSequenceUUID could not be read for image {}".format(image))RefactoringTool: Refactored ./mapillary_tools/process_csv.py RefactoringTool: Refactored ./mapillary_tools/process_geotag_properties.py + print(("MAPSequenceUUID could not be read for image {}".format(image))) return destination_mapping @@ -65,7 +65,7 @@ if "MAPPhotoUUID" in image_description: image_file_uuid = str(image_description["MAPPhotoUUID"]) else: - print("Warning, image {} EXIF does not contain mapillary image description and mapillary_image_description.json log file does not exist. Try to process the image using mapillary_tools.".format(file)) + print(("Warning, image {} EXIF does not contain mapillary image description and mapillary_image_description.json log file does not exist. Try to process the image using mapillary_tools.".format(file))) if image_file_uuid: local_mapping.append((relative_path, image_file_uuid)) return local_mapping @@ -93,8 +93,8 @@ # sanity check if video file is passed if video_import_path and not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) if move_all_images: move_sequences = True @@ -111,8 +111,8 @@ # basic check for all if not import_path or not os.path.isdir(import_path): - print("Error, import directory " + import_path + - " does not exist, exiting...") + print(("Error, import directory " + import_path + + " does not exist, exiting...")) sys.exit(1) if save_local_mapping: local_mapping = save_local_mapping(import_path) @@ -185,8 +185,8 @@ } summary_dict["process summary"]["duplicates"] = duplicates_file_list_count summary_dict["process summary"]["processed_not_yet_uploaded"] = to_be_uploaded_files_count - print("Import summary for import path {} :".format(import_path)) - print(json.dumps(summary_dict, indent=4)) + print(("Import summary for import path {} :".format(import_path))) + print((json.dumps(summary_dict, indent=4))) ipc.send('summary', summary_dict) @@ -195,8 +195,8 @@ processing.save_json(summary_dict, os.path.join( import_path, "mapillary_import_summary.json")) except Exception as e: - print("Could not save summary into json at {}, due to {}".format( - os.path.join(import_path, "mapillary_import_summary.json"), e)) + print(("Could not save summary into json at {}, due to {}".format( + os.path.join(import_path, "mapillary_import_summary.json"), e))) if list_file_status: status_list_dict = {} status_list_dict["successfully uploaded"] = uploaded_files @@ -205,20 +205,20 @@ status_list_dict["duplicates"] = duplicates_file_list status_list_dict["processed_not_yet_uploaded"] = to_be_uploaded_files print("") - print("List of file status for import path {} :".format(import_path)) - print(json.dumps(status_list_dict, indent=4)) + print(("List of file status for import path {} :".format(import_path))) + print((json.dumps(status_list_dict, indent=4))) if save_as_json: try: processing.save_json(status_list_dict, os.path.join( import_path, "mapillary_import_image_status_list.json")) except Exception as e: - print("Could not save image status list into json at {}, due to {}".format( - os.path.join(import_path, "mapillary_import_image_status_list.json"), e)) + print(("Could not save image status list into json at {}, due to {}".format( + os.path.join(import_path, "mapillary_import_image_status_list.json"), e))) split_import_path = split_import_path if split_import_path else import_path if any([move_sequences, move_duplicates, move_uploaded]): if not os.path.isdir(split_import_path): - print("Split import path {} does not exist.".format( - split_import_path)) + print(("Split import path {} does not exist.".format( + split_import_path))) sys.exit(1) destination_mapping = {} --- ./mapillary_tools/process_csv.py (original) +++ ./mapillary_tools/process_csv.py (refactored) @@ -1,10 +1,10 @@ -import processing -import uploader +from . import processing +from . import uploader import os import sys import datetime -import process_import_meta_properties -from exif_write import ExifEdit +from . import process_import_meta_properties +from .exif_write import ExifEdit import csv from tqdm import tqdm @@ -59,8 +59,8 @@ # check if types are valid for meta_type in meta_types: if meta_type not in META_DATA_TYPES: - print("Error, invalid meta data type, valid types are " + - str(META_DATA_TYPES)) + print(("Error, invalid meta data type, valid types are " + + str(META_DATA_TYPES))) sys.exit(1) return meta_columns, meta_names, meta_types @@ -168,7 +168,7 @@ process_import_meta_properties.add_meta_tag( meta, tag_type, tag_key, tag_value) except: - print("Error, meta data {} could not be extracted.".format(tag_key)) + print(("Error, meta data {} could not be extracted.".format(tag_key))) return meta @@ -180,7 +180,7 @@ if header: next(csvreader, None) - csv_data = zip(*csvreader) + csv_data = list(zip(*csvreader)) return csv_data @@ -206,8 +206,8 @@ # sanity checks if not import_path or not os.path.isdir(import_path): - print("Error, import directory " + import_path + - " doesnt not exist, exiting...") + print(("Error, import directory " + import_path + + " doesnt not exist, exiting...")) sys.exit(1) if not csv_path or not os.path.isfile(csv_path): @@ -217,7 +217,7 @@ # get list of file to process process_file_list = uploader.get_total_file_list(import_path) if not len(process_file_list): - print("No images found in the import path " + import_path) + print(("No images found in the import path " + import_path)) sys.exit(1) if gps_week_column != None and convert_gps_time == False: @@ -235,7 +235,7 @@ print("Error, csv column numbers start with 1, one of the columns specified is 0.") sys.exit(1) - column_indexes = map(lambda x: x - 1 if x else None, column_indexes) + column_indexes = [x - 1 if x else None for x in column_indexes] # checks for meta arguments if any meta_columns, meta_names, meta_types = validate_meta_data( @@ -261,7 +261,7 @@ # get image entry index image_index = get_image_index(image, file_names) if file_names else idx if image_index == None: - print("Warning, no entry found in csv file for image " + image) + print(("Warning, no entry found in csv file for image " + image)) continue # get required data @@ -299,5 +299,5 @@ try: exif_edit.write(filename=filename) except: - print("Error, image EXIF could not be written back for image " + image) + print(("Error, image EXIF could not be written back for image " + image)) return None --- ./mapillary_tools/process_geotag_properties.py (original) +++ ./mapillary_tools/process_geotag_properties.py (refactored) @@ -1,4 +1,4 @@ -import processing +from . import processing import os import sys from .error import print_error @@ -19,8 +19,8 @@ # sanity check if video file is passed if video_import_path and not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...")RefactoringTool: Refactored ./mapillary_tools/process_import_meta_properties.py RefactoringTool: Refactored ./mapillary_tools/process_sequence_properties.py RefactoringTool: Refactored ./mapillary_tools/process_upload_params.py RefactoringTool: Refactored ./mapillary_tools/process_user_properties.py RefactoringTool: Refactored ./mapillary_tools/process_video.py + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # in case of video processing, adjust the import path --- ./mapillary_tools/process_import_meta_properties.py (original) +++ ./mapillary_tools/process_import_meta_properties.py (refactored) @@ -1,15 +1,15 @@ import time import os import sys -import processing -import uploader -from exif_read import ExifRead +from . import processing +from . import uploader +from .exif_read import ExifRead from tqdm import tqdm from .error import print_error META_DATA_TYPES = {"strings": str, "doubles": float, - "longs": long, + "longs": int, "dates": int, "booleans": bool} @@ -132,8 +132,8 @@ exif = ExifRead(image) except: if verbose: - print("Warning, EXIF could not be read for image " + - image + ", import properties not read.") + print(("Warning, EXIF could not be read for image " + + image + ", import properties not read.")) return None try: import_meta_data_properties["MAPOrientation"] = exif.extract_orientation( @@ -181,8 +181,8 @@ # sanity check if video file is passed if video_import_path and not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # in case of video processing, adjust the import path --- ./mapillary_tools/process_sequence_properties.py (original) +++ ./mapillary_tools/process_sequence_properties.py (refactored) @@ -3,10 +3,10 @@ import datetime import time import sys -from exif_read import ExifRead -from geo import compute_bearing, gps_distance, diff_bearing, gps_speed -import processing -import uploader +from .exif_read import ExifRead +from .geo import compute_bearing, gps_distance, diff_bearing, gps_speed +from . import processing +from . import uploader from tqdm import tqdm from .error import print_error @@ -20,8 +20,8 @@ final_capture_times, import_path, verbose=False): - for image, direction, capture_time in tqdm(zip(final_file_list, - final_directions, final_capture_times), desc="Finalizing sequence process"): + for image, direction, capture_time in tqdm(list(zip(final_file_list, + final_directions, final_capture_times)), desc="Finalizing sequence process"): mapillary_description = { 'MAPSequenceUUID': sequence, 'MAPCompassHeading': { @@ -53,8 +53,8 @@ # sanity check if video file is passed if video_import_path and not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # in case of video processing, adjust the import path @@ -82,7 +82,7 @@ import_path) if not len(process_file_list): if verbose: - print("No images to run sequence process in root " + import_path) + print(("No images to run sequence process in root " + import_path)) print( "If the images have already been processed and not yet uploaded, they can be processed again, by passing the argument --rerun") else: @@ -110,7 +110,7 @@ root) if not len(process_file_list): if verbose: - print("No images to run sequence process in root " + root) + print(("No images to run sequence process in root " + root)) print( "If the images have already been processed and not yet uploaded, they can be processed again, by passing the argument --rerun") continue @@ -125,8 +125,8 @@ # --------------------------------------- if not keep_duplicates: if verbose: - print("Flagging images as duplicates if consecutive distance difference less than {} and angle difference less than {}".format( - duplicate_distance, duplicate_angle)) + print(("Flagging images as duplicates if consecutive distance difference less than {} and angle difference less than {}".format( + duplicate_distance, duplicate_angle))) # process for each sequence for sequence in sequences: @@ -157,8 +157,8 @@ computed_speed = gps_speed( computed_distances, computed_delta_ts) # in meters/second if len([x for x in computed_speed if x > MAX_CAPTURE_SPEED]) > 0: - print("Warning: The distance in sequence including images\n{}\nto\n{}\nis too large for the time difference (very high apparent capture speed). Are you sure timestamps and locations are correct?".format( - file_list[0], file_list[-1])) + print(("Warning: The distance in sequence including images\n{}\nto\n{}\nis too large for the time difference (very high apparent capture speed). Are you sure timestamps and locations are correct?".format( + file_list[0], file_list[-1]))) # INTERPOLATE TIMESTAMPS, in case of identical timestamps capture_times = processing.interpolate_timestamp(capture_times) --- ./mapillary_tools/process_upload_params.py (original) +++ ./mapillary_tools/process_upload_params.py (refactored) @@ -1,7 +1,7 @@ import os import sys -import processing -import uploader +from . import processing +from . import uploader from tqdm import tqdm from .error import print_error @@ -16,8 +16,8 @@ # sanity check if video file is passed if video_import_path and not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # in case of video processing, adjust the import path --- ./mapillary_tools/process_user_properties.py (original) +++ ./mapillary_tools/process_user_properties.py (refactored) @@ -1,4 +1,4 @@ -import processing +from . import processing import os import sys from .error import print_error @@ -17,8 +17,8 @@ # sanity check if video file is passed if video_import_path and not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # in case of video processing, adjust the import path --- ./mapillary_tools/process_video.py (original) +++ ./mapillary_tools/process_video.py (refactored) @@ -1,17 +1,17 @@ -from ffprobe import FFProbe +from .ffprobe import FFProbe import datetime import os -import processing +from . import processing import subprocess import sys -import uploader +from . import uploader from tqdm import tqdm import logging import io import struct from pymp4.parser import Box -from exif_write import ExifEdit +from .exif_write import ExifEdit ZERO_PADDING = 6 TIME_FORMAT = "%Y-%m-%d %H:%M:%S" @@ -54,14 +54,14 @@ skip_subfolders=False): if import_path and not os.path.isdir(import_path): - print("Error, import directory " + import_path + - " does not exist, exiting...") # ERROR LOGRefactoringTool: Refactored ./mapillary_tools/processing.py + print(("Error, import directory " + import_path + + " does not exist, exiting...")) # ERROR LOG sys.exit(1) # sanity check if not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # Adjust the import path @@ -81,12 +81,12 @@ if not os.path.isdir(per_video_import_path): os.makedirs(per_video_import_path) - print("Video sampling path set to {}".format(per_video_import_path)) + print(("Video sampling path set to {}".format(per_video_import_path))) # check video logs video_upload = processing.video_upload( video_import_path, per_video_import_path, verbose) if video_upload: - print("Video {} has already been uploaded, contact support@mapillary for help with reuploading it if neccessary.".format(video)) + print(("Video {} has already been uploaded, contact support@mapillary for help with reuploading it if neccessary.".format(video))) extract_frames(video, per_video_import_path, @@ -107,7 +107,7 @@ if verbose: # INFO LOG - print('extracting frames from {}'.format(video_file)) + print(('extracting frames from {}'.format(video_file))) video_filename = ".".join(os.path.basename(video_file).split(".")[:-1]) @@ -129,8 +129,8 @@ sys.exit(1) except Exception as e: # ERROR LOG - print("Error, could not extract frames from video {} due to {}".format( - video_file, e)) + print(("Error, could not extract frames from video {} due to {}".format( + video_file, e))) sys.exit(1) if video_start_time: @@ -174,23 +174,23 @@ sample_interval, duration_ratio) - for image, timestamp in tqdm(zip(frame_list, - video_frame_timestamps), desc="Inserting frame capture time"): + for image, timestamp in tqdm(list(zip(frame_list, + video_frame_timestamps)), desc="Inserting frame capture time"): try: exif_edit = ExifEdit(image) exif_edit.add_date_time_original(timestamp) exif_edit.write() except: # ERROR LOG - print("Could not insert timestamp into video frame " + - os.path.basename(image)[:-4]) + print(("Could not insert timestamp into video frame " + + os.path.basename(image)[:-4])) continue def get_video_end_time(video_file): """Get video end time in seconds""" if not os.path.isfile(video_file): - print("Error, video file {} does not exist".format(video_file)) + print(("Error, video file {} does not exist".format(video_file))) return None try: time_string = FFProbe(video_file).video[0].creation_time @@ -208,7 +208,7 @@ def get_video_start_time(video_file): """Get start time in seconds""" if not os.path.isfile(video_file): - print("Error, video file {} does not exist".format(video_file)) + print(("Error, video file {} does not exist".format(video_file))) return None video_end_time = get_video_end_time(video_file) duration = get_video_duration(video_file) --- ./mapillary_tools/processing.py (original) +++ ./mapillary_tools/processing.py (refactored) @@ -8,17 +8,17 @@ import hashlib import base64 from collections import OrderedDict -from exif_read import ExifRead -from exif_write import ExifEdit -from exif_aux import verify_exif -from geo import normalize_bearing, interpolate_lat_lon, gps_distance, gps_speed -import config -import uploader +from .exif_read import ExifRead +from .exif_write import ExifEdit +from .exif_aux import verify_exif +from .geo import normalize_bearing, interpolate_lat_lon, gps_distance, gps_speed +from . import config +from . import uploader from dateutil.tz import tzlocal -from gps_parser import get_lat_lon_time_from_gpx, get_lat_lon_time_from_nmea -from gpx_from_gopro import gpx_from_gopro -from gpx_from_blackvue import gpx_from_blackvue -from gpx_from_exif import gpx_from_exif +from .gps_parser import get_lat_lon_time_from_gpx, get_lat_lon_time_from_nmea +from .gpx_from_gopro import gpx_from_gopro +from .gpx_from_blackvue import gpx_from_blackvue +from .gpx_from_exif import gpx_from_exif from tqdm import tqdm from . import ipc from .error import print_error @@ -274,8 +274,8 @@ # print time now to warn in case local_time if local_time: now = datetime.datetime.now(tzlocal()) - print("Your local timezone is {0}. If not, the geotags will be wrong." - .format(now.strftime('%Y-%m-%d %H:%M:%S %Z'))) + print(("Your local timezone is {0}. If not, the geotags will be wrong." + .format(now.strftime('%Y-%m-%d %H:%M:%S %Z')))) else: # if not local time to be used, warn UTC will be used print("It is assumed that the image timestamps are in UTC. If not, try using the option --local_time.") @@ -311,8 +311,8 @@ # update offset time with the gps start time offset_time += (sorted(sub_second_times) [0] - gps_trace[0][0]).total_seconds() - for image, capture_time in tqdm(zip(process_file_list, - sub_second_times), desc="Inserting gps data into image EXIF"): + for image, capture_time in tqdm(list(zip(process_file_list, + sub_second_times)), desc="Inserting gps data into image EXIF"): if not capture_time: print_error( "Error, capture time could not be extracted for image " + image) @@ -338,8 +338,8 @@ lat, lon, bearing, elevation = interpolate_lat_lon(gps_trace, capture_time) except Exception as e: - print("Warning, {}, interpolation of latitude and longitude failed for image {}".format( - e, image)) + print(("Warning, {}, interpolation of latitude and longitude failed for image {}".format( + e, image))) return None corrected_bearing = (bearing + offset_angle) % 360 @@ -348,7 +348,7 @@ geotag_properties = {"MAPLatitude": lat} geotag_properties["MAPLongitude"] = lon else: - print("Warning, invalid latitude and longitude for image {}".format(image)) + print(("Warning, invalid latitude and longitude for image {}".format(image))) return None geotag_properties["MAPCaptureTime"] = datetime.datetime.strftime(capture_time, @@ -370,16 +370,16 @@ def get_upload_param_properties(log_root, image, user_name, user_upload_token, user_permission_hash, user_signature_hash, user_key, verbose=False): if not os.path.isdir(log_root): - print("Warning, sequence process has not been done for image " + image + - ", therefore it will not be included in the upload params processing.") + print(("Warning, sequence process has not been done for image " + image + + ", therefore it will not be included in the upload params processing.")) return None # check if geotag process was a success log_sequence_process_success = os.path.join( log_root, "sequence_process_success") if not os.path.isfile(log_sequence_process_success): - print("Warning, sequence process failed for image " + image + - ", therefore it will not be included in the upload params processing.") + print(("Warning, sequence process failed for image " + image + + ", therefore it will not be included in the upload params processing.")) return None upload_params_process_success_path = os.path.join(log_root, @@ -393,13 +393,13 @@ sequence_data = load_json( sequence_process_json_path) except: - print("Warning, sequence data not read for image " + image + - ", therefore it will not be included in the upload params processing.") + print(("Warning, sequence data not read for image " + image + + ", therefore it will not be included in the upload params processing.")) return None if "MAPSequenceUUID" not in sequence_data: - print("Warning, sequence uuid not in sequence data for image " + image + - ", therefore it will not be included in the upload params processing.") + print(("Warning, sequence uuid not in sequence data for image " + image + + ", therefore it will not be included in the upload params processing.")) return None sequence_uuid = sequence_data["MAPSequenceUUID"] @@ -425,8 +425,8 @@ save_json({"MAPSettingsUploadHash": settings_upload_hash}, os.path.join(log_root, "settings_upload_hash.json")) except: - print("Warning, settings upload hash not set for image " + image + - ", therefore it will not be uploaded.") + print(("Warning, settings upload hash not set for image " + image + + ", therefore it will not be uploaded.")) return None return upload_params @@ -441,8 +441,8 @@ log_root, sub_command + "_failed") if os.path.isfile(sub_command_status) and sub_command != "import_meta_data_process": - print("Warning, required {} failed for image ".format(sub_command) + - image) + print(("Warning, required {} failed for image ".format(sub_command) + + image)) return None sub_command_data_path = os.path.join( @@ -451,8 +451,8 @@ if (sub_command == "settings_upload_hash" or sub_command == "upload_params_process") and master_upload: continue else: - print("Warning, required {} did not result in a valid json file for image ".format( - sub_command) + image) + print(("Warning, required {} did not result in a valid json file for image ".format( + sub_command) + image)) return None if sub_command == "settings_upload_hash" or sub_command == "upload_params_process": continue @@ -460,21 +460,21 @@ sub_command_data = load_json(sub_command_data_path) if not sub_command_data: if verbose: - print( - "Warning, no data read from json file " + json_file) + print(( + "Warning, no data read from json file " + json_file)) return None final_mapillary_image_description.update(sub_command_data) except: if sub_command == "import_meta_data_process": if verbose: - print("Warning, could not load json file " + - sub_command_data_path) + print(("Warning, could not load json file " + + sub_command_data_path)) continue else: if verbose: - print("Warning, could not load json file " + - sub_command_data_path) + print(("Warning, could not load json file " + + sub_command_data_path)) return None # a unique photo ID to check for duplicates in the backend in case the @@ -569,14 +569,14 @@ def get_geotag_data(log_root, image, verbose=False): if not os.path.isdir(log_root): if verbose: - print("Warning, no logs for image " + image) + print(("Warning, no logs for image " + image)) return None # check if geotag process was a success log_geotag_process_success = os.path.join(log_root, "geotag_process_success") if not os.path.isfile(log_geotag_process_success): - print("Warning, geotag process failed for image " + image + - ", therefore it will not be included in the sequence processing.") + print(("Warning, geotag process failed for image " + image + + ", therefore it will not be included in the sequence processing.")) return None # load the geotag json geotag_process_json_path = os.path.join(log_root, @@ -586,8 +586,8 @@ return geotag_data except: if verbose: - print("Warning, geotag data not read for image " + image + - ", therefore it will not be included in the sequence processing.") + print(("Warning, geotag data not read for image " + image + + ", therefore it will not be included in the sequence processing.")) return None @@ -734,7 +734,7 @@ if import_path not in import_paths: import_paths.append(import_path) else: - print("Warning, {} has already been sampled into {}, please make sure all the previously sampled frames are deleted, otherwise the alignment might be incorrect".format(video_file, import_path)) + print(("Warning, {} has already been sampled into {}, please make sure all the previously sampled frames are deleted, otherwise the alignment might be incorrect".format(video_file, import_path))) for video_import_path in import_paths: if os.path.isdir(video_import_path): if len(uploader.get_success_upload_file_list(video_import_path)): @@ -828,8 +828,8 @@ # if there is meta data from before, remove it if os.path.isfile(log_MAPJson): if verbose: - print("Warning, {} in this run has failed, previously generated properties will be removed.".format( - process)) + print(("Warning, {} in this run has failed, previously generated properties will be removed.".format( + process))) os.remove(log_MAPJson) decoded_image = force_decode(image) @@ -956,9 +956,9 @@ total_file_list = uploader.get_total_file_list( import_path, skip_subfolders) - print("Running {} for {} images, skipping {} images.".format(process, + print(("Running {} for {} images, skipping {} images.".format(process, len_process_file_list, - len(total_file_list) - len_process_file_list)) + len(total_file_list) - len_process_file_list))) def load_geotag_points(process_file_list, verbose=False): @@ -1002,16 +1002,16 @@ sequences = [] # sort based on time - sort_by_time = zip(capture_times, + sort_by_time = list(zip(capture_times, file_list, lats, lons, - directions) + directions)) sort_by_time.sort() capture_times, file_list, lats, lons, directions = [ list(x) for x in zip(*sort_by_time)] - latlons = zip(lats, - lons) + latlons = list(zip(lats, + lons)) # initialize first sequence sequence_index = 0 @@ -1053,11 +1053,11 @@ filepath], "directions": [directions[1:][i]], "latlons": [latlons[1:][i]], "capture_times": [capture_times[1:][i]]}) if verbose: if cut_distance: - print('Cut {}: Delta in distance {} meters is bigger than cutoff_distance {} meters at {}'.format( - cut, distances[i], cutoff_distance, file_list[i + 1])) + print(('Cut {}: Delta in distance {} meters is bigger than cutoff_distance {} meters at {}'.format( + cut, distances[i], cutoff_distance, file_list[i + 1]))) elif cut_time: - print('Cut {}: Delta in time {} seconds is bigger then cutoff_time {} seconds at {}'.format(RefactoringTool: Refactored ./mapillary_tools/upload.py RefactoringTool: Refactored ./mapillary_tools/uploader.py - cut, capture_deltas[i].total_seconds(), cutoff_time, file_list[i + 1])) + print(('Cut {}: Delta in time {} seconds is bigger then cutoff_time {} seconds at {}'.format( + cut, capture_deltas[i].total_seconds(), cutoff_time, file_list[i + 1]))) else: # delta not too big, continue with current # group @@ -1102,11 +1102,11 @@ if len(time_dict) >= 2: # set time interval as the last available time interval - time_dict[time_dict.keys()[-1] - ]["interval"] = time_dict[time_dict.keys()[-2]]["interval"] + time_dict[list(time_dict.keys())[-1] + ]["interval"] = time_dict[list(time_dict.keys())[-2]]["interval"] else: # set time interval assuming capture interval is 1 second - time_dict[time_dict.keys()[0]]["interval"] = time_dict[time_dict.keys()[ + time_dict[list(time_dict.keys())[0]]["interval"] = time_dict[list(time_dict.keys())[ 0]]["count"] * 1. # interpolate timestamps --- ./mapillary_tools/upload.py (original) +++ ./mapillary_tools/upload.py (refactored) @@ -2,9 +2,9 @@ import sys import os -import uploader +from . import uploader import json -from exif_aux import verify_mapillary_tag +from .exif_aux import verify_mapillary_tag from . import ipc def upload(import_path, verbose=False, skip_subfolders=False, number_threads=None, max_attempts=None, video_import_path=None, dry_run=False,api_version=1.0): @@ -20,8 +20,8 @@ ''' # sanity check if video file is passed if video_import_path and (not os.path.isdir(video_import_path) and not os.path.isfile(video_import_path)): - print("Error, video path " + video_import_path + - " does not exist, exiting...") + print(("Error, video path " + video_import_path + + " does not exist, exiting...")) sys.exit(1) # in case of video processing, adjust the import path @@ -35,8 +35,8 @@ # basic check for all if not import_path or not os.path.isdir(import_path): - print("Error, import directory " + import_path + - " does not exist, exiting...") + print(("Error, import directory " + import_path + + " does not exist, exiting...")) sys.exit(1) # get list of file to process @@ -55,7 +55,7 @@ print("All images have already been uploaded") else: if len(failed_file_list): - upload_failed = raw_input( + upload_failed = input( "Retry uploading previously failed image uploads? [y/n]: ") if not ipc.is_enabled() else 'y' # if yes, add images to the upload list if upload_failed in ["y", "Y", "yes", "Yes"]: @@ -96,8 +96,8 @@ # inform how many images are to be uploaded and how many are being skipped # from upload - print("Uploading {} images with valid mapillary tags (Skipping {})".format( - len(upload_file_list), len(total_file_list) - len(upload_file_list))) + print(("Uploading {} images with valid mapillary tags (Skipping {})".format( + len(upload_file_list), len(total_file_list) - len(upload_file_list)))) if api_version==2.0: uploder.uploadfile_list if len(direct_upload_file_list): --- ./mapillary_tools/uploader.py (original) +++ ./mapillary_tools/uploader.py (refactored) @@ -1,32 +1,32 @@ -from exif_read import ExifRead +from .exif_read import ExifRead import json import os -import urllib2 -import urllib -import httplib +import urllib.request, urllib.error, urllib.parse +import urllib.request, urllib.parse, urllib.error +import http.client import datetime import socket import mimetypes import random import string -from Queue import Queue +from queue import Queue import threading import time -import config +from . import config import getpass import sys -import processing +from . import processing import requests import yaml from tqdm import tqdm from . import ipc from .error import print_error from .utils import force_decode -from gpx_from_blackvue import gpx_from_blackvue, get_points_from_bv -from process_video import get_video_duration -from process_video import get_video_start_time_blackvue -from geo import get_timezone_and_utc_offset -from camera_support.prepare_blackvue_videos import get_blackvue_info +from .gpx_from_blackvue import gpx_from_blackvue, get_points_from_bv +from .process_video import get_video_duration +from .process_video import get_video_start_time_blackvue +from .geo import get_timezone_and_utc_offset +from .camera_support.prepare_blackvue_videos import get_blackvue_info if os.getenv("AWS_S3_ENDPOINT", None) is None: MAPILLARY_UPLOAD_URL = "https://secure-upload.mapillary.com" else: @@ -98,7 +98,7 @@ boundary = ''.join(random.choice(BOUNDARY_CHARS) for i in range(30)) lines = [] - for name, value in fields.items(): + for name, value in list(fields.items()): lines.extend(( '--{0}'.format(boundary), 'Content-Disposition: form-data; name="{0}"'.format( @@ -107,7 +107,7 @@ str(value), )) - for name, value in files.items(): + for name, value in list(files.items()): filename = value['filename'] if 'mimetype' in value: mimetype = value['mimetype'] @@ -138,7 +138,7 @@ def prompt_to_finalize(subcommand): for i in range(3): - finalize = raw_input( + finalize = input( "Finalize all {} in this import? [y/n]: ".format(subcommand)) if finalize in ["y", "Y", "yes", "Yes"]: return 1 @@ -161,11 +161,11 @@ ''' request_url = "https://a.mapillary.com/v3/users/{}/upload_secrets?client_id={}".format( credentials["MAPSettingsUserKey"], CLIENT_ID) - request = urllib2.Request(request_url) + request = urllib.request.Request(request_url) request.add_header('Authorization', 'Bearer {}'.format( credentials["user_upload_token"])) try: - response = json.loads(urllib2.urlopen(request).read()) + response = json.loads(urllib.request.urlopen(request).read()) except requests.exceptions.HTTPError as e: print("Error getting upload parameters, upload could not start") sys.exit(1) @@ -332,8 +332,8 @@ def print_summary(file_list): # inform upload has finished and print out the summary - print("Done uploading {} images.".format( - len(file_list))) # improve upload summary + print(("Done uploading {} images.".format( + len(file_list)))) # improve upload summary def get_upload_token(mail, pwd): @@ -341,8 +341,8 @@ Get upload token ''' try: - params = urllib.urlencode({"email": mail, "password": pwd}) - response = urllib.urlopen(LOGIN_URL, params) + params = urllib.parse.urlencode({"email": mail, "password": pwd}) + response = urllib.request.urlopen(LOGIN_URL, params) except: return None resp = json.loads(response.read()) @@ -355,9 +355,9 @@ organization_key = None call = ORGANIZATIONS_URL.format(user_key, CLIENT_ID) - req = urllib2.Request(call) + req = urllib.request.Request(call) req.add_header('Authorization', 'Bearer {}'.format(upload_token)) - resp = json.loads(urllib2.urlopen(req).read()) + resp = json.loads(urllib.request.urlopen(req).read()) organization_usernames = [] for org in resp: @@ -366,8 +366,8 @@ organization_key = org['key'] if not organization_key: - print("No valid organization key found for organization user name " + - organization_username) + print(("No valid organization key found for organization user name " + + organization_username)) print("Available organization user names for current user are : ") print(organization_usernames) sys.exit(1) @@ -377,9 +377,9 @@ def validate_organization_key(user_key, organization_key, upload_token): call = ORGANIZATIONS_URL.format(user_key, CLIENT_ID) - req = urllib2.Request(call) + req = urllib.request.Request(call) req.add_header('Authorization', 'Bearer {}'.format(upload_token)) - resp = json.loads(urllib2.urlopen(req).read()) + resp = json.loads(urllib.request.urlopen(req).read()) for org in resp: if org['key'] == organization_key: return @@ -390,9 +390,9 @@ def validate_organization_privacy(user_key, organization_key, private, upload_token): call = ORGANIZATIONS_URL.format(user_key, CLIENT_ID) - req = urllib2.Request(call) + req = urllib.request.Request(call) req.add_header('Authorization', 'Bearer {}'.format(upload_token)) - resp = json.loads(urllib2.urlopen(req).read()) + resp = json.loads(urllib.request.urlopen(req).read()) for org in resp: if org['key'] == organization_key: @@ -402,8 +402,8 @@ privacy = "private" if 'private_repository' in org and org[ 'private_repository'] else "public" privacy_provided = "private" if private else "public" - print("Organization " + - org['name'] + " with key " + org['key'] + " is " + privacy + " while your import privacy settings state " + privacy_provided) + print(("Organization " + + org['name'] + " with key " + org['key'] + " is " + privacy + " while your import privacy settings state " + privacy_provided)) sys.exit(1) @@ -422,8 +422,8 @@ def prompt_user_for_user_items(user_name): user_items = {} - print("Enter user credentials for user " + user_name + " :") - user_email = raw_input("Enter email : ") + print(("Enter user credentials for user " + user_name + " :")) + user_email = input("Enter email : ") user_password = getpass.getpass("Enter user password : ") user_key = get_user_key(user_name) if not user_key: @@ -457,7 +457,7 @@ try: config.create_config(GLOBAL_CONFIG_FILEPATH) except Exception as e: - print("Failed to create authentication config file due to {}".format(e)) + print(("Failed to create authentication config file due to {}".format(e))) sys.exit(1) config.update_config( GLOBAL_CONFIG_FILEPATH, user_name, user_items) @@ -472,13 +472,13 @@ raise ValueError('Could not authenticate user. Missing username or password') upload_token = uploader.get_upload_token(user_email, user_password) if not upload_token: - print("Authentication failed for user name " + - user_name + ", please try again.") + print(("Authentication failed for user name " + + user_name + ", please try again.")) sys.exit(1) user_key = get_user_key(user_name) if not user_key: - print("User name {} does not exist, please try again or contact Mapillary user support.".format( - user_name)) + print(("User name {} does not exist, please try again or contact Mapillary user support.".format( + user_name))) sys.exit(1) user_permission_hash, user_signature_hash = get_user_hashes( user_key, upload_token) @@ -500,17 +500,17 @@ if "MAPILLARY_SECRET_HASH" in admin_items: master_key = admin_items["MAPILLARY_SECRET_HASH"] else: - create_config = raw_input( + create_config = input( "Master upload key does not exist in your global Mapillary config file, set it now?") if create_config in ["y", "Y", "yes", "Yes"]: master_key = set_master_key() else: - create_config = raw_input( + create_config = input( "MAPAdmin section not in your global Mapillary config file, set it now?") if create_config in ["y", "Y", "yes", "Yes"]: master_key = set_master_key() else: - create_config = raw_input( + create_config = input( "Master upload key needs to be saved in the global Mapillary config file, which does not exist, create one now?") if create_config in ["y", "Y", "yes", "Yes"]: config.create_config(GLOBAL_CONFIG_FILEPATH) @@ -524,7 +524,7 @@ section = "MAPAdmin" if section not in config_object.sections(): config_object.add_section(section) - master_key = raw_input("Enter the master key : ") + master_key = input("Enter the master key : ") if master_key != "": config_object = config.set_user_items( config_object, section, {"MAPILLARY_SECRET_HASH": master_key}) @@ -534,9 +534,9 @@ def get_user_key(user_name): try: - req = urllib2.Request(USER_URL.format( - urllib2.quote(user_name), CLIENT_ID)) - resp = json.loads(urllib2.urlopen(req).read()) + req = urllib.request.Request(USER_URL.format( + urllib.parse.quote(user_name), CLIENT_ID)) + resp = json.loads(urllib.request.urlopen(req).read()) except: return None if not resp or 'key' not in resp[0]: @@ -548,9 +548,9 @@ def get_user_hashes(user_key, upload_token): user_permission_hash = "" user_signature_hash = "" - req = urllib2.Request(USER_UPLOAD_URL.format(user_key, CLIENT_ID)) + req = urllib.request.Request(USER_UPLOAD_URL.format(user_key, CLIENT_ID)) req.add_header('Authorization', 'Bearer {}'.format(upload_token)) - resp = json.loads(urllib2.urlopen(req).read()) + resp = json.loads(urllib.request.urlopen(req).read()) if 'images_hash' in resp: user_signature_hash = resp['images_hash'] if 'images_policy' in resp: @@ -560,9 +560,9 @@ def get_user(jwt): - req = urllib2.Request(ME_URL) + req = urllib.request.Request(ME_URL) req.add_header('Authorization', 'Bearer {}'.format(jwt)) - return json.loads(urllib2.urlopen(req).read()) + return json.loads(urllib.request.urlopen(req).read()) def upload_done_file(url, permission, signature, key=None, aws_key=None): @@ -588,34 +588,34 @@ # Initialize response before each attempt response = None try: - request = urllib2.Request(url, data=data, headers=headers) - response = urllib2.urlopen(request) + request = urllib.request.Request(url, data=data, headers=headers) + response = urllib.request.urlopen(request) if response.getcode() == 204: if displayed_upload_error == True: - print("Successful upload of {} on attempt {}".format( - s3_filename, attempt)) + print(("Successful upload of {} on attempt {}".format( + s3_filename, attempt))) break # attempts - except urllib2.HTTPError as e: - print("HTTP error: {} on {}, will attempt upload again for {} more times".format( - e, s3_filename, max_attempts - attempt - 1)) + except urllib.error.HTTPError as e: + print(("HTTP error: {} on {}, will attempt upload again for {} more times".format( + e, s3_filename, max_attempts - attempt - 1))) displayed_upload_error = True time.sleep(5) - except urllib2.URLError as e: - print("URL error: {} on {}, will attempt upload again for {} more times".format( - e, s3_filename, max_attempts - attempt - 1)) + except urllib.error.URLError as e: + print(("URL error: {} on {}, will attempt upload again for {} more times".format( + e, s3_filename, max_attempts - attempt - 1))) time.sleep(5) - except httplib.HTTPException as e: - print("HTTP exception: {} on {}, will attempt upload again for {} more times".format( - e, s3_filename, max_attempts - attempt - 1)) + except http.client.HTTPException as e: + print(("HTTP exception: {} on {}, will attempt upload again for {} more times".format( + e, s3_filename, max_attempts - attempt - 1))) time.sleep(5) except OSError as e: - print("OS error: {} on {}, will attempt upload again for {} more times".format( - e, s3_filename, max_attempts - attempt - 1)) + print(("OS error: {} on {}, will attempt upload again for {} more times".format( + e, s3_filename, max_attempts - attempt - 1))) time.sleep(5) except socket.timeout as e: # Specific timeout handling for Python 2.7 - print("Timeout error: {0}, will attempt upload again for {} more times".format( - s3_filename, max_attempts - attempt - 1)) + print(("Timeout error: {0}, will attempt upload again for {} more times".format( + s3_filename, max_attempts - attempt - 1))) finally: if response is not None: response.close() @@ -664,38 +664,38 @@ # Initialize response before each attempt response = None try: - request = urllib2.Request(url, data=data, headers=headers) - response = urllib2.urlopen(request) + request = urllib.request.Request(url, data=data, headers=headers) + response = urllib.request.urlopen(request) if response.getcode() == 204: create_upload_log(filepath_in, "upload_success") if displayed_upload_error == True: - print("Successful upload of {} on attempt {}".format( - filename, attempt)) + print(("Successful upload of {} on attempt {}".format( + filename, attempt))) else: create_upload_log(filepath_in, "upload_failed") break # attempts - except urllib2.HTTPError as e: - print("HTTP error: {} on {}, will attempt upload again for {} more times".format( - e, filename, max_attempts - attempt - 1)) + except urllib.error.HTTPError as e: + print(("HTTP error: {} on {}, will attempt upload again for {} more times".format( + e, filename, max_attempts - attempt - 1))) displayed_upload_error = True time.sleep(5) - except urllib2.URLError as e: - print("URL error: {} on {}, will attempt upload again for {} more times".format( - e, filename, max_attempts - attempt - 1)) + except urllib.error.URLError as e: + print(("URL error: {} on {}, will attempt upload again for {} more times".format( + e, filename, max_attempts - attempt - 1))) time.sleep(5) - except httplib.HTTPException as e: - print("HTTP exception: {} on {}, will attempt upload again for {} more times".format( - e, filename, max_attempts - attempt - 1)) + except http.client.HTTPException as e: + print(("HTTP exception: {} on {}, will attempt upload again for {} more times".format( + e, filename, max_attempts - attempt - 1))) time.sleep(5) except OSError as e: - print("OS error: {} on {}, will attempt upload again for {} more times".format( - e, filename, max_attempts - attempt - 1)) + print(("OS error: {} on {}, will attempt upload again for {} more times".format( + e, filename, max_attempts - attempt - 1))) time.sleep(5) except socket.timeout as e: # Specific timeout handling for Python 2.7 - print("Timeout error: {} (retrying), will attempt upload again for {} more times".format( - filename, max_attempts - attempt - 1)) + print(("Timeout error: {} (retrying), will attempt upload again for {} more times".format( + filename, max_attempts - attempt - 1))) finally: if response is not None: response.close() @@ -705,7 +705,7 @@ def ascii_encode_dict(data): def ascii_encode(x): return x.encode('ascii') - return dict(map(ascii_encode, pair) for pair in data.items()) + return dict(list(map(ascii_encode, pair)) for pair in list(data.items())) def upload_file_list_direct(file_list, number_threads=None, max_attempts=None, api_version=1.0): @@ -724,7 +724,7 @@ # start uploaders as daemon threads that can be stopped (ctrl-c) try: - print("Uploading with {} threads".format(number_threads)) + print(("Uploading with {} threads".format(number_threads))) for uploader in uploaders: uploader.daemon = True uploader.start() @@ -753,8 +753,8 @@ # start uploaders as daemon threads that can be stopped (ctrl-c) try: - print("Uploading {}. sequence with {} threads".format( - sequence_idx + 1, number_threads)) + print(("Uploading {}. sequence with {} threads".format( + sequence_idx + 1, number_threads))) for uploader in uploaders: uploader.daemon = True uploader.start() @@ -848,8 +848,8 @@ if not os.path.exists(no_gps_folder): os.mkdir(no_gps_folder) os.rename(video, no_gps_folder + os.path.basename(video)) - print( - "Skipping file {} due to file not containing gps data".format(video)) + print(( + "Skipping file {} due to file not containing gps data".format(video))) return True if os.path.basename(os.path.dirname(video)) != 'stationary': stationary_folder = os.path.dirname(video) + '/stationary/' @@ -858,7 +858,7 @@ os.rename(video, stationary_folder + os.path.basename(video)) os.rename(gpx_file_path, stationary_folder + os.path.basename(gpx_file_path)) - print("Skipping file {} due to camera being stationary".format(video)) + print(("Skipping file {} due to camera being stationary".format(video))) return True if not isStationaryVid: @@ -886,18 +886,18 @@ os.path.basename(video)) os.rename(gpx_file_path, night_time_folder + os.path.basename(gpx_file_path)) - print( - "Skipping file {} due to video being recorded at night (Before 9am or after 6pm)".format(video)) + print(( + "Skipping file {} due to video being recorded at night (Before 9am or after 6pm)".format(video))) return True except Exception as e: - print( - "Unable to determine time of day. Exception raised: {} \n Video will be uploaded".format(e)) + print(( + "Unable to determine time of day. Exception raised: {} \n Video will be uploaded".format(e))) return False def send_videos_for_processing(video_import_path, user_name, user_email=None, user_password=None, verbose=False, skip_subfolders=False, number_threads=None, max_attempts=None, organization_username=None, organization_key=None, private=False, master_upload=False, sampling_distance=2, filter_night_time=False): # safe checks if not os.path.isdir(video_import_path) and not (os.path.isfile(video_import_path) and video_import_path.lower().endswith("mp4")): - print("video import path {} does not exist or is invalid, exiting...".format( - video_import_path)) + print(("video import path {} does not exist or is invalid, exiting...".format( + video_import_path))) sys.exit(1) # User Authentication credentials = None @@ -909,7 +909,7 @@ except: pass if credentials == None or "user_upload_token" not in credentials or "user_permission_hash" not in credentials or "user_signature_hash" not in credentials:RefactoringTool: Refactored ./mapillary_tools/utils.py RefactoringTool: No changes to ./mapillary_tools/camera_support/prepare_blackvue_videos.py RefactoringTool: No changes to ./mapillary_tools/commands/__init__.py RefactoringTool: No changes to ./mapillary_tools/commands/authenticate.py RefactoringTool: Refactored ./mapillary_tools/commands/download.py RefactoringTool: No changes to ./mapillary_tools/commands/exif_insert.py RefactoringTool: No changes to ./mapillary_tools/commands/extract_geotag_data.py RefactoringTool: No changes to ./mapillary_tools/commands/extract_import_meta_data.py RefactoringTool: No changes to ./mapillary_tools/commands/extract_sequence_data.py RefactoringTool: No changes to ./mapillary_tools/commands/extract_upload_params.py RefactoringTool: No changes to ./mapillary_tools/commands/extract_user_data.py RefactoringTool: No changes to ./mapillary_tools/commands/interpolate.py RefactoringTool: Refactored ./mapillary_tools/commands/post_process.py RefactoringTool: Refactored ./mapillary_tools/commands/process.py RefactoringTool: Refactored ./mapillary_tools/commands/process_and_upload.py - print("Error, user authentication failed for user " + user_name) + print(("Error, user authentication failed for user " + user_name)) sys.exit(1) user_permission_hash = credentials["user_permission_hash"] @@ -935,7 +935,7 @@ max_attempts = MAX_ATTEMPTS for video in tqdm(all_videos, desc="Uploading videos for processing"): - print("Preparing video {} for upload".format(os.path.basename(video))) + print(("Preparing video {} for upload".format(os.path.basename(video)))) if not filter_video_before_upload(video,filter_night_time): video_start_time = get_video_start_time_blackvue(video) # Correct timestamp in case camera time zone is not set correctly. If timestamp is not UTC, sync with GPS track will fail. @@ -1000,10 +1000,10 @@ create_upload_log(video, "upload_success") break except requests.exceptions.HTTPError as e: - print("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1)) + print(("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1))) time.sleep(5) except requests.exceptions.ConnectionError as e: - print("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1)) + print(("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1))) time.sleep(5) finally: if response is not None: @@ -1028,13 +1028,13 @@ '/uploaded/' + os.path.basename(video)) os.rename(gpx_path, os.path.dirname(video) + '/uploaded/' + os.path.basename(gpx_path)) - print("Uploaded {} successfully".format(os.path.basename(video))) + print(("Uploaded {} successfully".format(os.path.basename(video)))) break except requests.exceptions.HTTPError as e: - print("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1)) + print(("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1))) time.sleep(5) except requests.exceptions.ConnectionError as e: - print("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1)) + print(("Upload error: {} on {}, will attempt to upload again for {} more times".format(e, filename, max_attempts - attempt - 1))) time.sleep(5) finally: if response is not None: --- ./mapillary_tools/utils.py (original) +++ ./mapillary_tools/utils.py (refactored) @@ -4,5 +4,5 @@ return string.decode(i) except UnicodeDecodeError: pass - print('cannot decode string: %s' % (string)) + print(('cannot decode string: %s' % (string))) return string.decode('utf8', errors='replace') --- ./mapillary_tools/commands/download.py (original) +++ ./mapillary_tools/commands/download.py (refactored) @@ -18,7 +18,7 @@ def run(self, args): vars_args = vars(args) - download(**({k: v for k, v in vars_args.iteritems() + download(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(download).args})) print("Download done.") --- ./mapillary_tools/commands/post_process.py (original) +++ ./mapillary_tools/commands/post_process.py (refactored) @@ -42,5 +42,5 @@ vars_args = vars(args) - post_process(**({k: v for k, v in vars_args.iteritems() + post_process(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(post_process).args})) --- ./mapillary_tools/commands/process.py (original) +++ ./mapillary_tools/commands/process.py (refactored) @@ -135,25 +135,25 @@ vars_args["device_make"] = "Blackvue" if "device_make" in vars_args and vars_args["device_make"] and vars_args["device_make"].lower() == "blackvue": vars_args["duplicate_angle"] = 360 - process_user_properties(**({k: v for k, v in vars_args.iteritems() + process_user_properties(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_user_properties).args})) process_import_meta_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_import_meta_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_import_meta_properties).args})) process_geotag_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_geotag_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_geotag_properties).args})) process_sequence_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_sequence_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_sequence_properties).args})) - process_upload_params(**({k: v for k, v in vars_args.iteritems() + process_upload_params(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_upload_params).args})) - insert_MAPJson(**({k: v for k, v in vars_args.iteritems() + insert_MAPJson(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(insert_MAPJson).args})) print("Process done.") - post_process(**({k: v for k, v in vars_args.iteritems() + post_process(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(post_process).args})) --- ./mapillary_tools/commands/process_and_upload.py (original) +++ ./mapillary_tools/commands/process_and_upload.py (refactored) @@ -140,27 +140,27 @@ if "device_make" in vars_args and vars_args["device_make"] and vars_args["device_make"].lower() == "blackvue": vars_args["duplicate_angle"] = 360 - process_user_properties(**({k: v for k, v in vars_args.iteritems() + process_user_properties(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_user_properties).args})) process_import_meta_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_import_meta_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_import_meta_properties).args})) process_geotag_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_geotag_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_geotag_properties).args})) process_sequence_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_sequence_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_sequence_properties).args})) - process_upload_params(**({k: v for k, v in vars_args.iteritems() + process_upload_params(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_upload_params).args})) - insert_MAPJson(**({k: v for k, v in vars_args.iteritems() + insert_MAPJson(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(insert_MAPJson).args})) print("Process done.") - upload(**({k: v for k, v in vars_args.iteritems()RefactoringTool: No changes to ./mapillary_tools/commands/process_csv.py RefactoringTool: No changes to ./mapillary_tools/commands/sample_video.py RefactoringTool: Refactored ./mapillary_tools/commands/send_videos_for_processing.py RefactoringTool: Refactored ./mapillary_tools/commands/upload.py RefactoringTool: Refactored ./mapillary_tools/commands/video_process.py RefactoringTool: Refactored ./mapillary_tools/commands/video_process_and_upload.py RefactoringTool: No changes to ./mapillary_tools/test/generate_test_image.py RefactoringTool: Refactored ./mapillary_tools/test/test_exifedit.py RefactoringTool: Refactored ./mapillary_tools/test/test_exifread.py RefactoringTool: No changes to ./pyinstaller/hooks/hook-urllib2.py RefactoringTool: No changes to ./pyinstaller/runtime-hooks/ssl.py RefactoringTool: No changes to ./tests/integration/mapillary_tools_process_images_provider/test_process_images_provider.py RefactoringTool: Refactored ./tests/utils/config.py RefactoringTool: Files that were modified: RefactoringTool: ./setup.py RefactoringTool: ./bin/download_images.py RefactoringTool: ./mapillary_tools/__init__.py RefactoringTool: ./mapillary_tools/apply_camera_specific_config.py RefactoringTool: ./mapillary_tools/config.py RefactoringTool: ./mapillary_tools/download.py RefactoringTool: ./mapillary_tools/edit_config.py RefactoringTool: ./mapillary_tools/exif_aux.py RefactoringTool: ./mapillary_tools/exif_read.py RefactoringTool: ./mapillary_tools/exif_write.py RefactoringTool: ./mapillary_tools/ffmpeg.py RefactoringTool: ./mapillary_tools/ffprobe.py RefactoringTool: ./mapillary_tools/geo.py RefactoringTool: ./mapillary_tools/gpmf.py RefactoringTool: ./mapillary_tools/gps_parser.py RefactoringTool: ./mapillary_tools/gpx_from_blackvue.py RefactoringTool: ./mapillary_tools/gpx_from_exif.py RefactoringTool: ./mapillary_tools/gpx_from_gopro.py RefactoringTool: ./mapillary_tools/insert_MAPJson.py RefactoringTool: ./mapillary_tools/interpolation.py RefactoringTool: ./mapillary_tools/ipc.py RefactoringTool: ./mapillary_tools/post_process.py RefactoringTool: ./mapillary_tools/process_csv.py RefactoringTool: ./mapillary_tools/process_geotag_properties.py RefactoringTool: ./mapillary_tools/process_import_meta_properties.py RefactoringTool: ./mapillary_tools/process_sequence_properties.py RefactoringTool: ./mapillary_tools/process_upload_params.py RefactoringTool: ./mapillary_tools/process_user_properties.py RefactoringTool: ./mapillary_tools/process_video.py RefactoringTool: ./mapillary_tools/processing.py RefactoringTool: ./mapillary_tools/upload.py RefactoringTool: ./mapillary_tools/uploader.py RefactoringTool: ./mapillary_tools/utils.py RefactoringTool: ./mapillary_tools/camera_support/prepare_blackvue_videos.py RefactoringTool: ./mapillary_tools/commands/__init__.py RefactoringTool: ./mapillary_tools/commands/authenticate.py RefactoringTool: ./mapillary_tools/commands/download.py RefactoringTool: ./mapillary_tools/commands/exif_insert.py RefactoringTool: ./mapillary_tools/commands/extract_geotag_data.py RefactoringTool: ./mapillary_tools/commands/extract_import_meta_data.py RefactoringTool: ./mapillary_tools/commands/extract_sequence_data.py RefactoringTool: ./mapillary_tools/commands/extract_upload_params.py RefactoringTool: ./mapillary_tools/commands/extract_user_data.py RefactoringTool: ./mapillary_tools/commands/interpolate.py RefactoringTool: ./mapillary_tools/commands/post_process.py RefactoringTool: ./mapillary_tools/commands/process.py RefactoringTool: ./mapillary_tools/commands/process_and_upload.py RefactoringTool: ./mapillary_tools/commands/process_csv.py RefactoringTool: ./mapillary_tools/commands/sample_video.py RefactoringTool: ./mapillary_tools/commands/send_videos_for_processing.py RefactoringTool: ./mapillary_tools/commands/upload.py RefactoringTool: ./mapillary_tools/commands/video_process.py + upload(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(upload).args})) - post_process(**({k: v for k, v in vars_args.iteritems() + post_process(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(post_process).args})) --- ./mapillary_tools/commands/send_videos_for_processing.py (original) +++ ./mapillary_tools/commands/send_videos_for_processing.py (refactored) @@ -40,4 +40,4 @@ def run(self, args): vars_args = vars(args) send_videos_for_processing( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(send_videos_for_processing).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(send_videos_for_processing).args})) --- ./mapillary_tools/commands/upload.py (original) +++ ./mapillary_tools/commands/upload.py (refactored) @@ -46,8 +46,8 @@ vars_args = vars(args) - upload(**({k: v for k, v in vars_args.iteritems() + upload(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(upload).args})) - post_process(**({k: v for k, v in vars_args.iteritems() + post_process(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(post_process).args})) --- ./mapillary_tools/commands/video_process.py (original) +++ ./mapillary_tools/commands/video_process.py (refactored) @@ -143,28 +143,28 @@ vars_args = apply_camera_specific_config(vars_args) - sample_video(**({k: v for k, v in vars_args.iteritems() + sample_video(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(sample_video).args})) - process_user_properties(**({k: v for k, v in vars_args.iteritems() + process_user_properties(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_user_properties).args})) process_import_meta_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_import_meta_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_import_meta_properties).args})) process_geotag_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_geotag_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_geotag_properties).args})) process_sequence_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_sequence_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_sequence_properties).args})) - process_upload_params(**({k: v for k, v in vars_args.iteritems() + process_upload_params(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_upload_params).args})) - insert_MAPJson(**({k: v for k, v in vars_args.iteritems() + insert_MAPJson(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(insert_MAPJson).args})) print("Process done.") - post_process(**({k: v for k, v in vars_args.iteritems() + post_process(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(post_process).args})) --- ./mapillary_tools/commands/video_process_and_upload.py (original) +++ ./mapillary_tools/commands/video_process_and_upload.py (refactored) @@ -150,31 +150,31 @@ if "device_make" in vars_args and vars_args["device_make"] and vars_args["device_make"].lower() == "blackvue": vars_args["duplicate_angle"] = 360 - sample_video(**({k: v for k, v in vars_args.iteritems() + sample_video(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(sample_video).args})) - process_user_properties(**({k: v for k, v in vars_args.iteritems() + process_user_properties(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_user_properties).args})) process_import_meta_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_import_meta_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_import_meta_properties).args})) process_geotag_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_geotag_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_geotag_properties).args})) process_sequence_properties( - **({k: v for k, v in vars_args.iteritems() if k in inspect.getargspec(process_sequence_properties).args})) + **({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_sequence_properties).args})) - process_upload_params(**({k: v for k, v in vars_args.iteritems() + process_upload_params(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(process_upload_params).args})) - insert_MAPJson(**({k: v for k, v in vars_args.iteritems() + insert_MAPJson(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(insert_MAPJson).args})) print("Process done.") - upload(**({k: v for k, v in vars_args.iteritems() + upload(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(upload).args})) - post_process(**({k: v for k, v in vars_args.iteritems() + post_process(**({k: v for k, v in vars_args.items() if k in inspect.getargspec(post_process).args})) --- ./mapillary_tools/test/test_exifedit.py (original) +++ ./mapillary_tools/test/test_exifedit.py (refactored) @@ -22,8 +22,8 @@ # more info on the standard exif tags # https://sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html -EXIF_PRIMARY_TAGS_DICT = {y: x for x, y in ExifTags.TAGS.iteritems()} -EXIF_GPS_TAGS_DICT = {y: x for x, y in ExifTags.GPSTAGS.iteritems()} +EXIF_PRIMARY_TAGS_DICT = {y: x for x, y in ExifTags.TAGS.items()} +EXIF_GPS_TAGS_DICT = {y: x for x, y in ExifTags.GPSTAGS.items()} def load_exif(filename=EMPTY_EXIF_FILE_TEST): --- ./mapillary_tools/test/test_exifread.py (original) +++ ./mapillary_tools/test/test_exifread.py (refactored) @@ -15,8 +15,8 @@ # more info on the standard exif tags # https://sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html -EXIF_PRIMARY_TAGS_DICT = {y: x for x, y in ExifTags.TAGS.iteritems()} -EXIF_GPS_TAGS_DICT = {y: x for x, y in ExifTags.GPSTAGS.iteritems()} +EXIF_PRIMARY_TAGS_DICT = {y: x for x, y in ExifTags.TAGS.items()} +EXIF_GPS_TAGS_DICT = {y: x for x, y in ExifTags.GPSTAGS.items()} def gps_to_decimal(value, ref): --- ./tests/utils/config.py (original) +++ ./tests/utils/config.py (refactored) @@ -38,19 +38,19 @@ try: config.add_section(user_name) except: - print("Error adding new user section, for user_name " + user_name) + print(("Error adding new user section, for user_name " + user_name)) else: - print("Error, user " + user_name + " already exists") + print(("Error, user " + user_name + " already exists")) save_config(config, config_path) def set_user_items(config, user_name, user_items): - for key in user_items.keys(): + for key in list(user_items.keys()): try: config.set(user_name, key, user_items[key]) except: - print("Error setting config key " + key + " with value " + - str(user_items[key]) + " for user_name " + user_name) + print(("Error setting config key " + key + " with value " + + str(user_items[key]) + " for user_name " + user_name)) return config RefactoringTool: ./mapillary_tools/commands/video_process_and_upload.py RefactoringTool: ./mapillary_tools/test/generate_test_image.py RefactoringTool: ./mapillary_tools/test/test_exifedit.py RefactoringTool: ./mapillary_tools/test/test_exifread.py RefactoringTool: ./pyinstaller/hooks/hook-urllib2.py RefactoringTool: ./pyinstaller/runtime-hooks/ssl.py RefactoringTool: ./tests/integration/mapillary_tools_process_images_provider/test_process_images_provider.py RefactoringTool: ./tests/utils/config.py + sed -i 's/==[0-9.]*//' setup.py + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.tXYhBt + umask 022 + cd /builddir/build/BUILD + cd mapillary_tools-0.5.0 + 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 -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s' running build running build_py creating build creating build/lib creating build/lib/mapillary_tools copying mapillary_tools/utils.py -> build/lib/mapillary_tools copying mapillary_tools/uploader.py -> build/lib/mapillary_tools copying mapillary_tools/upload.py -> build/lib/mapillary_tools copying mapillary_tools/processing.py -> build/lib/mapillary_tools copying mapillary_tools/process_video.py -> build/lib/mapillary_tools copying mapillary_tools/process_user_properties.py -> build/lib/mapillary_tools copying mapillary_tools/process_upload_params.py -> build/lib/mapillary_tools copying mapillary_tools/process_sequence_properties.py -> build/lib/mapillary_tools copying mapillary_tools/process_import_meta_properties.py -> build/lib/mapillary_tools copying mapillary_tools/process_geotag_properties.py -> build/lib/mapillary_tools copying mapillary_tools/process_csv.py -> build/lib/mapillary_tools copying mapillary_tools/post_process.py -> build/lib/mapillary_tools copying mapillary_tools/ipc.py -> build/lib/mapillary_tools copying mapillary_tools/interpolation.py -> build/lib/mapillary_tools copying mapillary_tools/insert_MAPJson.py -> build/lib/mapillary_tools copying mapillary_tools/gpx_from_gopro.py -> build/lib/mapillary_tools copying mapillary_tools/gpx_from_exif.py -> build/lib/mapillary_tools copying mapillary_tools/gpx_from_blackvue.py -> build/lib/mapillary_tools copying mapillary_tools/gps_parser.py -> build/lib/mapillary_tools copying mapillary_tools/gpmf.py -> build/lib/mapillary_tools copying mapillary_tools/geo.py -> build/lib/mapillary_tools copying mapillary_tools/ffprobe.py -> build/lib/mapillary_tools copying mapillary_tools/ffmpeg.py -> build/lib/mapillary_tools copying mapillary_tools/exif_write.py -> build/lib/mapillary_tools copying mapillary_tools/exif_read.py -> build/lib/mapillary_tools copying mapillary_tools/exif_aux.py -> build/lib/mapillary_tools copying mapillary_tools/error.py -> build/lib/mapillary_tools copying mapillary_tools/edit_config.py -> build/lib/mapillary_tools copying mapillary_tools/download.py -> build/lib/mapillary_tools copying mapillary_tools/config.py -> build/lib/mapillary_tools copying mapillary_tools/apply_camera_specific_config.py -> build/lib/mapillary_tools copying mapillary_tools/__init__.py -> build/lib/mapillary_tools creating build/lib/mapillary_tools/commands copying mapillary_tools/commands/video_process_and_upload.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/video_process.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/upload.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/send_videos_for_processing.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/sample_video.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/process_csv.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/process_and_upload.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/process.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/post_process.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/interpolate.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/extract_user_data.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/extract_upload_params.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/extract_sequence_data.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/extract_import_meta_data.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/extract_geotag_data.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/exif_insert.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/download.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/authenticate.py -> build/lib/mapillary_tools/commands copying mapillary_tools/commands/__init__.py -> build/lib/mapillary_tools/commands creating build/lib/mapillary_tools/camera_support copying mapillary_tools/camera_support/prepare_blackvue_videos.py -> build/lib/mapillary_tools/camera_support copying mapillary_tools/camera_support/__init__.py -> build/lib/mapillary_tools/camera_support running build_scripts creating build/scripts-3.8 copying and adjusting bin/mapillary_tools -> build/scripts-3.8 changing mode of build/scripts-3.8/mapillary_tools from 644 to 755 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.j9d0ax + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64 ++ dirname /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64 + cd mapillary_tools-0.5.0 + 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 -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64 running install running install_lib creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8 creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/camera_support copying build/lib/mapillary_tools/camera_support/__init__.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/camera_support copying build/lib/mapillary_tools/camera_support/prepare_blackvue_videos.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/camera_support creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/__init__.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/authenticate.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/download.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/exif_insert.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/extract_geotag_data.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/extract_import_meta_data.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/extract_sequence_data.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/extract_upload_params.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/extract_user_data.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/interpolate.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/post_process.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/process.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/process_and_upload.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/process_csv.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/sample_video.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/send_videos_for_processing.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/upload.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/video_process.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/commands/video_process_and_upload.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands copying build/lib/mapillary_tools/__init__.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/apply_camera_specific_config.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/config.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/download.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/edit_config.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/error.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/exif_aux.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/exif_read.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/exif_write.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/ffmpeg.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/ffprobe.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/geo.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/gpmf.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/gps_parser.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/gpx_from_blackvue.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/gpx_from_exif.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/gpx_from_gopro.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/insert_MAPJson.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/interpolation.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/ipc.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/post_process.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/process_csv.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/process_geotag_properties.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/process_import_meta_properties.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/process_sequence_properties.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/process_upload_params.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/process_user_properties.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/process_video.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/processing.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/upload.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/uploader.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools copying build/lib/mapillary_tools/utils.py -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/camera_support/__init__.py to __init__.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/camera_support/prepare_blackvue_videos.py to prepare_blackvue_videos.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/__init__.py to __init__.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/authenticate.py to authenticate.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/download.py to download.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/exif_insert.py to exif_insert.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/extract_geotag_data.py to extract_geotag_data.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/extract_import_meta_data.py to extract_import_meta_data.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/extract_sequence_data.py to extract_sequence_data.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/extract_upload_params.py to extract_upload_params.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/extract_user_data.py to extract_user_data.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/interpolate.py to interpolate.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/post_process.py to post_process.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/process.py to process.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/process_and_upload.py to process_and_upload.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/process_csv.py to process_csv.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/sample_video.py to sample_video.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/send_videos_for_processing.py to send_videos_for_processing.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/upload.py to upload.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/video_process.py to video_process.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/commands/video_process_and_upload.py to video_process_and_upload.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/__init__.py to __init__.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/apply_camera_specific_config.py to apply_camera_specific_config.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/config.py to config.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/download.py to download.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/edit_config.py to edit_config.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/error.py to error.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/exif_aux.py to exif_aux.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/exif_read.py to exif_read.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/exif_write.py to exif_write.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/ffmpeg.py to ffmpeg.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/ffprobe.py to ffprobe.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/geo.py to geo.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/gpmf.py to gpmf.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/gps_parser.py to gps_parser.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/gpx_from_blackvue.py to gpx_from_blackvue.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/gpx_from_exif.py to gpx_from_exif.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/gpx_from_gopro.py to gpx_from_gopro.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/insert_MAPJson.py to insert_MAPJson.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/interpolation.py to interpolation.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/ipc.py to ipc.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/post_process.py to post_process.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/process_csv.py to process_csv.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/process_geotag_properties.py to process_geotag_properties.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/process_import_meta_properties.py to process_import_meta_properties.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/process_sequence_properties.py to process_sequence_properties.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/process_upload_params.py to process_upload_params.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/process_user_properties.py to process_user_properties.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/process_video.py to process_video.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/processing.py to processing.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/upload.py to upload.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/uploader.py to uploader.cpython-38.pyc byte-compiling /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools/utils.py to utils.cpython-38.pyc writing byte-compilation script '/tmp/tmp8tx20o4r.py' /usr/bin/python3 /tmp/tmp8tx20o4r.py /usr/lib/python3.8/site-packages/mapillary_tools/exif_read.py:163: SyntaxWarning: "is" with a literal. Did you mean "=="? removing /tmp/tmp8tx20o4r.py running install_egg_info running egg_info creating mapillary_tools.egg-info writing mapillary_tools.egg-info/PKG-INFO writing dependency_links to mapillary_tools.egg-info/dependency_links.txt writing requirements to mapillary_tools.egg-info/requires.txt writing top-level names to mapillary_tools.egg-info/top_level.txt writing manifest file 'mapillary_tools.egg-info/SOURCES.txt' reading manifest file 'mapillary_tools.egg-info/SOURCES.txt' writing manifest file 'mapillary_tools.egg-info/SOURCES.txt' Copying mapillary_tools.egg-info to /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8/site-packages/mapillary_tools-0.5.0-py3.8.egg-info running install_scripts creating /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/bin copying build/scripts-3.8/mapillary_tools -> /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/bin changing mode of /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/bin/mapillary_tools to 755 /usr/lib/python3.8/site-packages/mapillary_tools/exif_read.py:163: SyntaxWarning: "is" with a literal. Did you mean "=="? + rm -rfv /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/bin/__pycache__ + /usr/lib/rpm/find-debuginfo.sh -j4 --strict-build-id -m -i --build-id-seed 0.5.0-1.fc33 --unique-debug-suffix -0.5.0-1.fc33.aarch64 --unique-debug-src-base mapillary_tools-0.5.0-1.fc33.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/mapillary_tools-0.5.0 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/redhat/brp-python-bytecompile /usr/bin/python 1 0 Bytecompiling .py files below /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/lib/python3.8 using /usr/bin/python3.8 /usr/lib/python3.8/site-packages/mapillary_tools/exif_read.py:163: SyntaxWarning: "is" with a literal. Did you mean "=="? /usr/lib/python3.8/site-packages/mapillary_tools/exif_read.py:163: SyntaxWarning: "is" with a literal. Did you mean "=="? + /usr/lib/rpm/brp-python-hardlink + /usr/lib/rpm/redhat/brp-mangle-shebangs Processing files: python3-mapillary_tools-0.5.0-1.fc33.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.cf3Irt + umask 022 + cd /builddir/build/BUILD + cd mapillary_tools-0.5.0 + DOCDIR=/builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/doc/python3-mapillary_tools + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/doc/python3-mapillary_tools + cp -pr README.md /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/doc/python3-mapillary_tools + cp -pr README_osx_package.txt /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/doc/python3-mapillary_tools + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.FQqT0w + umask 022 + cd /builddir/build/BUILD + cd mapillary_tools-0.5.0 + LICENSEDIR=/builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/licenses/python3-mapillary_tools + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/licenses/python3-mapillary_tools + cp -pr LICENSE /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/licenses/python3-mapillary_tools + cp -pr licenses.csv /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64/usr/share/licenses/python3-mapillary_tools + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-mapillary_tools = 0.5.0-1.fc33 python-mapillary_tools = 0.5.0-1.fc33 python3-mapillary_tools = 0.5.0-1.fc33 python3.8dist(mapillary-tools) = 0.5 python38-mapillary_tools = 0.5.0-1.fc33 python38-mapillary_tools = 0.5.0-1.fc33 python3dist(mapillary-tools) = 0.5 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: /usr/bin/python3 python(abi) = 3.8 python3.8dist(exifread) python3.8dist(gpxpy) python3.8dist(pillow) python3.8dist(pymp4) python3.8dist(pynmea2) python3.8dist(pytest) python3.8dist(python-dateutil) python3.8dist(pytz) python3.8dist(pyyaml) python3.8dist(requests) python3.8dist(tqdm) python3.8dist(tzwhere) Obsoletes: python-mapillary_tools < 0.5.0-1.fc33 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64 Wrote: /builddir/build/RPMS/python3-mapillary_tools-0.5.0-1.fc33.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.G6tbYs + umask 022 + cd /builddir/build/BUILD + cd mapillary_tools-0.5.0 + /usr/bin/rm -rf /builddir/build/BUILDROOT/mapillary_tools-0.5.0-1.fc33.aarch64 + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild mapillary_tools-0.5.0-1.fc33.src.rpm Finish: build phase for mapillary_tools-0.5.0-1.fc33.src.rpm INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-aarch64-1587134166.718893/root/var/log/dnf.rpm.log /var/lib/mock/fedora-rawhide-aarch64-1587134166.718893/root/var/log/dnf.librepo.log /var/lib/mock/fedora-rawhide-aarch64-1587134166.718893/root/var/log/dnf.log INFO: Done(/var/lib/copr-rpmbuild/results/mapillary_tools-0.5.0-1.fc33.src.rpm) Config(child) 0 minutes 34 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