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'

Reply via email to