Control: tags -1 +confirmed Kirill,
Preamble... Thank you for taking the time to prepare this package and your contribution to the Debian project. This review is offered to help package contributors to Debian mentors improve their packages (where needed) prior to possible sponsorship into Debian by a Debian Developer. Review... 1. Build: * pbuilder [1]: Good * sbuild [2]: Good 2. Lintian [3]: Information, issue Running lintian... N: W: vifm source: inconsistent-appstream-metadata-license data/vifm.appdata.xml (cc0-1.0 != gpl-2+) [debian/copyright] N: N: The specified AppStream metadata file specifies a metadata_license field N: but this does not match its entry (possibly via the Files: * stanza) in N: debian/copyright. N: N: Please refer to https://wiki.debian.org/AppStream/Guidelines, N: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/, and N: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-metadata_license N: for details. N: N: Visibility: warning N: Show-Always: no N: Check: debian/copyright/dep5 N: N: I: vifm: acute-accent-in-manual-page [usr/share/man/man1/vifm.1.gz:1399] N: N: This manual page uses the \' groff sequence. Usually, the intent is to N: generate an apostrophe, but that sequence actually renders as an acute N: accent. N: N: For an apostrophe or a single closing quote, use plain '. For single N: opening quote, i.e. a straight downward line ' like the one used in shell N: commands, use '\(aq'. N: N: In case this tag was emitted for the second half of a '\\' sequence, this N: is indeed no acute accent, but still wrong: A literal backslash should be N: written \e in the groff format, i.e. a '\\' sequence needs to be changed N: to '\e' which also won't trigger this tag. N: N: Please refer to Bug#554897, Bug#507673, and Bug#966803 for details. N: N: Visibility: info N: Show-Always: no N: Check: documentation/manual N: Renamed from: acute-accent-in-manpage N: N: I: vifm: package-contains-documentation-outside-usr-share-doc [usr/share/vifm/vifm-help.txt] N: N: This package ships a documentation file outside /usr/share/doc N: Documentation files are normally installed inside /usr/share/doc. N: N: If this file doesn't describe the contents or purpose of the directory it N: is in, please consider moving this file to /usr/share/doc/ or maybe even N: removing it. If this file does describe the contents or purpose of the N: directory it is in, please add a lintian override. N: N: Visibility: info N: Show-Always: no N: Check: documentation N: N: Screen: python/egg/metadata N: Advocates: "Scott Kitterman" <deb...@kitterman.com> N: Reason: The folders XXX.dist-info/ and XXX.egg-info/ hold metadata for N: Python modules. Those files are not documentation even though N: some of their names carry the .txt file extension. N: N: Python modules can be both public and private. N: N: Read more in N: https://www.python.org/dev/peps/pep-0427/#the-dist-info-directory, N: https://www.python.org/dev/peps/pep-0376/#id16, N: https://www.python.org/dev/peps/pep-0610/, N: https://www.python.org/dev/peps/pep-0639/, N: https://setuptools.pypa.io/en/latest/deprecated/python_eggs.html, N: and Bug#1003913. N: N: I: vifm: package-contains-documentation-outside-usr-share-doc [usr/share/vifm/vim-doc/doc/vifm-app.txt] N: I: vifm: package-contains-documentation-outside-usr-share-doc [usr/share/vifm/vim-doc/doc/vifm-lua.txt] N: I: vifm: package-contains-documentation-outside-usr-share-doc [usr/share/vim/addons/doc/vifm-app.txt] N: I: vifm: package-contains-documentation-outside-usr-share-doc [usr/share/vim/addons/doc/vifm-plugin.txt] N: I: vifm: spelling-error-in-binary "allow to" "allow one to" [usr/bin/vifm] N: N: Lintian found a spelling error in the given binary. Lintian has a list of N: common misspellings that it looks for. It does not have a dictionary like N: a spelling checker does. N: N: If the string containing the spelling error is translated with the help of N: gettext or a similar tool, please fix the error in the translations as N: well as the English text to avoid making the translations fuzzy. With N: gettext, for example, this means you should also fix the spelling mistake N: in the corresponding msgids in the *.po files. N: N: You can often find the word in the source code by running: N: N: grep -rw <word> <source-tree> N: N: This tag may produce false positives for words that contain non-ASCII N: characters due to limitations in strings. N: N: Visibility: info N: Show-Always: no N: Check: binaries/spelling N: N: I: vifm: spelling-error-in-binary IiF If [usr/bin/vifm] N: I: vifm: typo-in-manual-page "allow to" "allow one to" [usr/share/man/man1/vifm.1.gz:77] N: N: Lintian found a spelling error in a manual page. Lintian has a list of N: common misspellings that it looks for. It does not have a dictionary like N: a spelling checker does. N: N: If the string containing the spelling error is translated with the help of N: gettext (with the help of po4a, for example) or a similar tool, please fix N: the error in the translations as well as the English text to avoid making N: the translations fuzzy. With gettext, for example, this means you should N: also fix the spelling mistake in the corresponding msgids in the *.po N: files. N: N: Visibility: info N: Show-Always: no N: Check: documentation/manual N: Renamed from: spelling-error-in-manpage N: N: I: vifm: typo-in-manual-page compontents components [usr/share/man/man1/vifm.1.gz:2278] N: I: vifm: typo-in-manual-page quiting quitting [usr/share/man/man1/vifm.1.gz:2861] E: Lintian run failed (runtime error) 3. Licenses [4]: Good, See 2. 4. Watch file [uscan --force-download]: Good 5. Build Twice (build source after successful build) [1]: Good 6. Reproducible builds [5]: Information only Note: This test does not block sponsorship and is for information only at this time. It is good if a package passes this test. /usr/bin/ld : /usr/bin/ld : /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/lua/lua/lv m.o/tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/modes/d ialogs/msg_dialog.o : bfd_stat en échec : Trop de fichiers ouverts : bfd_stat en échec : Mauvais descripteur de fichier/usr/bin/ld : ne peut pas trouver /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/lua/lua/lt m.o/usr/bin/ld: réouverture de : /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/menus/bmar ks_menu.o: Mauvais descripteur de fichierMauvais descripteur de fichier /usr/bin/ld : /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/menus/bmar ks_menu.o : bfd_stat en échec : Mauvais descripteur de fichier /usr/bin/ld: réouverture de /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/menus/cabb revs_menu.o: Trop de fichiers ouverts /usr/bin/ld : /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/menus/cabb revs_menu.o : bfd_stat en échec : Trop de fichiers ouverts /usr/bin/ld : ne peut pas trouver /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/../src/utils/fsda ta.o : Trop de fichiers ouverts collect2: error: ld returned 1 exit status make[5]: *** [Makefile:376: /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/bin/completion] Error 1 make[5]: *** Attente des tâches non terminées.... collect2: error: ld returned 1 exit status make[5]: *** [Makefile:376: /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/bin/cmds] Error 1 collect2: error: ld returned 1 exit status make[5]: *** [Makefile:376: /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/bin/keys] Error 1 collect2: error: ld returned 1 exit status make[5]: *** [Makefile:376: /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests/bin/options] Error 1 make[5] : on quitte le répertoire « /tmp/reprotest.dFI3rD/const_build_path/const_build_path/tests » FAIL runtests (exit status: 2) ============================================================================ Testsuite summary for vifm 0.13 ============================================================================ # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 ============================================================================ See src/test-suite.log for debugging. Some test(s) failed. Please report this to xai...@posteo.net, together with the test-suite.log file (gzipped) and your system information. Thanks. ============================================================================ make[4]: *** [Makefile:2445: test-suite.log] Error 1 make[4] : on quitte le répertoire « /tmp/reprotest.dFI3rD/const_build_path/const_build_path/src » make[3]: *** [Makefile:2580: check-TESTS] Error 2 make[3] : on quitte le répertoire « /tmp/reprotest.dFI3rD/const_build_path/const_build_path/src » make[2]: *** [Makefile:2652: check-am] Error 2 make[2] : on quitte le répertoire « /tmp/reprotest.dFI3rD/const_build_path/const_build_path/src » make[1]: *** [Makefile:398: check-recursive] Error 1 make[1] : on quitte le répertoire « /tmp/reprotest.dFI3rD/const_build_path/const_build_path » dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2 make: *** [debian/rules:10: binary] Error 255 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 sudo: impossible de trouver le nom du terminal pour le périphérique 136, 1 Traceback (most recent call last): File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 862, in run return 0 if check_func(*check_args) else 1 ~~~~~~~~~~^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 417, in check_auto if is_reproducible("1", var_x1): ~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 411, in <lambda> is_reproducible = lambda name, var: test_args.check_reproducible(proc, dist_x0, name, var) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 345, in check_reproducible dist_test = proc.send(("experiment-%s" % name, var)) File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 339, in corun_builds bctx.run_build(testbed, build, os.environ, artifact_pattern, testbed_build_pre, no_clean_on_error) ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 218, in run_build testbed.check_exec2(build_argv, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ xenv=['-i'] + ['%s=%s' % (k, v) for k, v in build.env.items()], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ kind='build') ^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 63, in check_exec2 self.bomb('"%s" failed with status %i' % (' '.join(argv), code), ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ adtlog.AutopkgtestError) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/reprotest/__init__.py", line 70, in bomb raise _type(m) reprotest.lib.adtlog.AutopkgtestError: "su -p -s /bin/sh root -c set -e; export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/i_capture_th e_path; run_build() { mkdir -p /tmp/reprotest.dFI3rD/build-experiment-1-aux && \ mv /tmp/reprotest.dFI3rD/build-experiment-1/ /tmp/reprotest.dFI3rD/const_build_path && \ SETARCH_ARCH=$(for a in $(setarch --list); do setarch $a true && echo $a || true; done) && \ DROP_ARCH="-v -e ^$(uname -m)\$" && \ WORDSIZE=64 && \ if [ $WORDSIZE -eq 64 ]; then for _ARCH_TO_DROP in armh armv7b armv7l armv8b armv8l arm athlon i386 i486 i586 i686 linux32 mips32 mips parisc32 parisc ppc32le ppc32 ppcle ppc s390 sparc32bash sparc32 sparc; do DROP_ARCH="$DROP_ARCH -e ^$_ARCH_TO_DROP\$"; done; fi && \ SETARCH_ARCH=$(echo "$SETARCH_ARCH" | grep $DROP_ARCH | shuf -n1) && \ KERNEL_VERSION=$(uname -r) && \ if [ ${KERNEL_VERSION#2.6} = $KERNEL_VERSION ]; then SETARCH_OPTS=--uname- 2.6; fi && \ CPU_MAX=$(nproc) && \ CPU_MIN=$({ echo $CPU_MAX; echo 1; } | sort -n | head -n1) && \ CPU_NUM=$(if [ $CPU_MIN = $CPU_MAX ]; then echo $CPU_MIN; echo >&2 "only 1 CPU is available; num_cpus is ineffective"; else shuf - i$((CPU_MIN + 1))-$CPU_MAX -n1; fi) && \ export CPU_LIST="$(echo $(shuf -i0-$((CPU_MAX - 1)) -n$CPU_NUM) | tr ' ' ,)" && \ mv /tmp/reprotest.dFI3rD/const_build_path/ /tmp/reprotest.dFI3rD/const_build_path-before-disorderfs/ && \ mkdir -p /tmp/reprotest.dFI3rD/const_build_path/ && \ disorderfs -q --shuffle-dirents=yes /tmp/reprotest.dFI3rD/const_build_path- before-disorderfs/ /tmp/reprotest.dFI3rD/const_build_path/ && \ touch /tmp/reprotest.dFI3rD/build-experiment-1-aux/ns-uts && \ sudo -h localhost unshare --uts=/tmp/reprotest.dFI3rD/build-experiment-1- aux/ns-uts true && \ sudo -h localhost nsenter --uts=/tmp/reprotest.dFI3rD/build-experiment-1- aux/ns-uts hostname reprotest-capture-hostname && \ sudo -h localhost nsenter --uts=/tmp/reprotest.dFI3rD/build-experiment-1- aux/ns-uts domainname reprotest-capture-domainname && \ umask 0002 && \ export REPROTEST_BUILD_PATH=/tmp/reprotest.dFI3rD/const_build_path/ && \ export REPROTEST_UMASK=$(umask) && \ sudo -h localhost -E nsenter --uts=/tmp/reprotest.dFI3rD/build-experiment- 1-aux/ns-uts sudo -h localhost -E -u root -g root env -u SUDO_COMMAND -u SUDO_GID -u SUDO_UID -u SUDO_USER \ taskset -a -c $CPU_LIST \ setarch $SETARCH_ARCH $SETARCH_OPTS \ sh -ec 'cd "$REPROTEST_BUILD_PATH"; unset REPROTEST_BUILD_PATH; umask "$REPROTEST_UMASK"; unset REPROTEST_UMASK; dpkg-source -x "vifm_0.13-1.dsc" "$(basename "$PWD")" && cd "$(basename "$PWD")" && dpkg-buildpackage --no-sign -b' } cleanup() { __c=0; \ sudo -h localhost umount /tmp/reprotest.dFI3rD/build-experiment-1-aux/ns- uts || __c=$?; \ export PATH="/tmp/reprotest.dFI3rD/bin:$PATH" || __c=$?; \ fusermount -u /tmp/reprotest.dFI3rD/const_build_path/ || __c=$?; \ rmdir /tmp/reprotest.dFI3rD/const_build_path/ || __c=$?; \ mv /tmp/reprotest.dFI3rD/const_build_path-before-disorderfs/ /tmp/reprotest.dFI3rD/const_build_path/ || __c=$?; \ mv /tmp/reprotest.dFI3rD/const_build_path /tmp/reprotest.dFI3rD/build- experiment-1/ || __c=$?; \ rm -rf /tmp/reprotest.dFI3rD/build-experiment-1-aux || __c=$?; \ exit $__c } trap '( cleanup )' HUP INT QUIT ABRT TERM PIPE # FIXME doesn't quite work reliably yet if ( run_build ); then ( cleanup ); else __x=$?; # save the exit code of run_build if ( ! false ); then if ( cleanup ); then :; else echo >&2 "cleanup failed with exit code $?"; fi; fi exit $__x fi" failed with status 2 7. Tail of the ratt (architecture dependant packages only) [6]: Good Note: This test does not block sponsorship and is for information only at this time. It is good if a package passes this test. philwyett@ks-tarkin:~/Development/builder/debian$ ratt --dist trixie vifm_0.13- 1_amd64.changes 2025/01/28 16:22:08 Loading changes file "vifm_0.13-1_amd64.changes" 2025/01/28 16:22:08 - 2 binary packages: vifm vifm-dbgsym 2025/01/28 16:22:08 Corresponding .debs (will be injected when building): 2025/01/28 16:22:08 vifm-dbgsym_0.13-1_amd64.deb 2025/01/28 16:22:08 vifm_0.13-1_amd64.deb 2025/01/28 16:22:08 Figuring out reverse build dependencies using dose-ceve(1). This might take a while 2025/01/28 16:22:45 Found 0 reverse build dependencies 2025/01/28 16:22:45 Setting -sbuild_dist=unstable (from .changes file) 2025/01/28 16:22:45 Build results: 8. Install [No previous installs]: Good 9. Upgrade [Over previous installs if any]: Good Summary... I believe 'vifm' is ready for review/possible sponsorship. Could a Debian Developer (DD) with available free time, please review this package and upload if you feel it is ready. Issue seen in lintian testing is an old issue and is not a blocker in my opinion. Kirill will address appropriately I am sure in due course. Please try the below on your packages... [1] pbuilder: * Command for 1.: sudo pbuilder build <PACKAGE>.dsc * Command for 5.: sudo pbuilder build --twice <PACKAGE>.dsc * Document: https://wiki.ubuntu.com/PbuilderHowto. * Document: https://wiki.debian.org/PbuilderTricks [2] sbuild: * Command: sbuild -d unstable <PACKAGE>.dsc * Document: https://wiki.debian.org/sbuild [3] lintian: * Command: lintian --display-info --verbose --fail-on error --info --pedantic --show-overrides (*.dsc, *.changes, *.buildinfo). Each can throw up different results, so be thorough. * Document: https://wiki.debian.org/Lintian [4] lrc: * Command: lrc * Document: https://wiki.debian.org/CopyrightReviewTools#licenserecon Note: Please report false positives as bug reports against 'licenserecon'