[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1110157: RFS: robotraconteur/1.2.5-1 [ITP] -- communication framework for robotics and automation



Control: tags -1 -moreinfo

Phil,

Thank you for the review. I am still learning the intricacies of making these packages.

I created an account at salsa.debian.org and the CI there has been very helpful. I have worked through most of the issues, with just a few minor ones remaining that I don't think are critical. I found the "opencv" package had a similar build with both a native C++ library and a Python library in the same source package and example that provided the information I needed to properly implement the Python build.

Here are the links to the current CI runs on salsa:

* https://salsa.debian.org/johnwason/robotraconteur/-/pipelines/901188
* https://salsa.debian.org/johnwason/robotraconteur-companion/-/pipelines/901224

The "piuparts" job is failing for the companion but this has something to do with the temporary repository configuration for the "robotraconteur" repo and is not being caused by the package itself.

I pushed the updated source packages to mentors:

* dget -x https://mentors.debian.net/debian/pool/main/r/robotraconteur/robotraconteur_1.2.5-1.dsc * dget -x https://mentors.debian.net/debian/pool/main/r/robotraconteur-companion/robotraconteur-companion_0.4.2-1.dsc

    -John

On 8/1/2025 4:21 AM, Phil Wyett wrote:
Control: tags -1 +moreinfo

I have no decision making athority within the Debian Project. You may reject
this review if you wish.

John,

Review of upload: 2025-08-01 04:42

Test 1 (reproducibility): Information only

Not being performed until bug below is fixed and accurate documentation written.

Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1108550

Test 2 (pbuilder build): Information only

Good

Test 3 (pbuilder build --twice): Information only

Good

Test 4 (sbuild): Information only

Lintian:

E: python3-robotraconteur: arch-dependent-file-not-in-arch-specific-directory
[usr/lib/python3/dist-packages/RobotRaconteur/_RobotRaconteurPython.so]
N:
N:   This package is Multi-Arch "same", but it installs an ELF binary in the
N:   directory that is not architecture-specific.
N:
N:   Please refer to https://wiki.ubuntu.com/MultiarchSpec for details.
N:
N:   Visibility: error
N:   Show-Always: no
N:   Check: binaries/location
N:
N:
E: robotraconteurgen: arch-dependent-file-not-in-arch-specific-directory
[usr/bin/RobotRaconteurGen]
N:
E: python3-robotraconteur: package-installs-python-pycache-dir
[usr/lib/python3/dist-packages/RobotRaconteur/__pycache__/]
N:
N:   The package installs a __pycache__ directory, which is normally only used
N:   to store compiled Python source files. Compiled Python source files must
N:   not be included in the package, instead they should be generated at
N:   installation time in the postinst.
N:
N:   Note this tag is issues even if the directory is empty.
N:
N:   Please refer to Documentation (Section 3.7) in the Debian Python Policy
N:   0.12.0.0 documentation for details.
N:
N:   Visibility: error
N:   Show-Always: no
N:   Check: languages/python
N:
N:
W: python3-robotraconteur: extended-description-contains-empty-paragraph
N:
N:   The extended description (the lines after the first line of the
N:   "Description:" field) contains an empty paragraph.
N:
N:   Visibility: warning
N:   Show-Always: no
N:   Check: fields/description
N:
N:
W: robotraconteurgen: no-manual-page [usr/bin/RobotRaconteurGen]
N:
N:   Each binary in /usr/bin, /usr/sbin, /bin, /sbin or /usr/games should have
N:   a manual page
N:
N:   Note that though the man program has the capability to check for several
N:   program names in the NAMES section, each of these programs should have its
N:   own manual page (a symbolic link to the appropriate manual page is
N:   sufficient) because other manual page viewers such as xman or tkman don't
N:   support this.
N:
N:   If the name of the manual page differs from the binary by case, man may be
N:   able to find it anyway; however, it is still best practice to match the
N:   exact capitalization of the executable in the manual page.
N:
N:   If the manual pages are provided by another package on which this package
N:   depends, Lintian may not be able to determine that manual pages are
N:   available. In this case, after confirming that all binaries do have manual
N:   pages after this package and its dependencies are installed, please add a
N:   Lintian override.
N:
N:   Please refer to Manual pages (Section 12.1) in the Debian Policy Manual
N:   for details.
N:
N:   Visibility: warning
N:   Show-Always: no
N:   Check: documentation/manual
N:   Renamed from: binary-without-manpage
N:
N:
I: python3-robotraconteur: capitalization-error-in-description python Python
N:
N:   Lintian found a possible capitalization error in the package description.
N:   Lintian has a list of common capitalization errors, primarily of upstream
N:   projects, that it looks for. It does not have a dictionary like a spelling
N:   checker does.
N:
N:   This is a particularly picky check of capitalization in package
N:   descriptions, since they're very visible to end users, but it will have
N:   false positives for project names used in a context where they should be
N:   lowercase, such as package names or executable names.
N:
N:   Visibility: info
N:   Show-Always: no
N:   Check: fields/description
N:
N:
I: robotraconteur source: duplicate-short-description librobotraconteur-dev
librobotraconteurcore1 robotraconteurgen [debian/control]
N:
N:   The listed binary packages all share the same short description, i.e. the
N:   first line of the Description field in debian/control.
N:
N:   Please add a word or two, in parentheses if needed, to describe to users
N:   what they are installing.
N:
N:   It is not okay to rely solely on package naming conventions to indicate
N:   what is inside.
N:
N:   Visibility: info
N:   Show-Always: no
N:   Check: debian/control/field/description/duplicate
N:
N:
I: librobotraconteurcore1: hardening-no-bindnow [usr/lib/x86_64-linux-
gnu/libRobotRaconteurCore.so.1.2.5]
N:
N:   This package provides an ELF binary that lacks the "bindnow" linker flag.
N:
N:   This is needed (together with "relro") to make the "Global Offset Table"
N:   (GOT) fully read-only. The bindnow feature trades startup time for
N:   improved security. Please consider enabling this feature or consider
N:   overriding the tag (possibly with a comment about why).
N:
N:   If you use dpkg-buildflags, you may have to add hardening=+bindnow or
N:   hardening=+all to DEB_BUILD_MAINT_OPTIONS.
N:
N:   The relevant compiler flags are set in LDFLAGS.
N:
N:   Please refer to https://wiki.debian.org/Hardening for details.
N:
N:   Visibility: info
N:   Show-Always: no
N:   Check: binaries/hardening
N:
N:
I: python3-robotraconteur: hardening-no-bindnow [usr/lib/python3/dist-
packages/RobotRaconteur/_RobotRaconteurPython.so]
N:
I: robotraconteurgen: hardening-no-bindnow [usr/bin/RobotRaconteurGen]
N:
I: robotraconteur source: installable-field-mirrors-source (in section for
librobotraconteurcore1) Section [debian/control:24]
N:
N:   The named field for an installation package in debian/control has the same
N:   value as the one inherited from the source paragraph.
N:
N:   In the interest of shorter and clearer files, you may wish to take
N:   advantage of the inheritance rules. This field is redundant.
N:
N:   Visibility: info
N:   Show-Always: no
N:   Check: debian/control/field/redundant
N:   Renamed from: binary-control-field-duplicates-source
N:
N:
I: librobotraconteurcore1: no-symbols-control-file usr/lib/x86_64-linux-
gnu/libRobotRaconteurCore.so.1.2.5
N:
N:   Although the package includes a shared library, the package does not have
N:   a symbols control file.
N:
N:   dpkg can use symbols files in order to generate more accurate library
N:   dependencies for applications, based on the symbols from the library that
N:   are actually used by the application.
N:
N:   Please refer to the dpkg-gensymbols(1) manual page and
N:   https://wiki.debian.org/UsingSymbolsFiles for details.
N:
N:   Visibility: info
N:   Show-Always: no
N:   Check: debian/shlibs
N:
N:
I: robotraconteur source: patch-not-forwarded-upstream [debian/patches/0001-Add-
ROBOTRACONTEUR_SKIP_RPATH-cmake-option.patch]
N:
N:   According to the DEP-3 headers, this patch has not been forwarded
N:   upstream.
N:
N:   Please forward the patch and try to have it included in upstream's version
N:   control system. If the patch is not suitable for that, please mention
N:   not-needed in the Forwarded field of the patch header.
N:
N:   Please refer to social contract item 2, Coordination with upstream
N:   developers (Section 3.1.4) in the Debian Developer's Reference, Changes to
N:   the upstream sources (Section 4.3) in the Debian Policy Manual, and
N:   Bug#755153 for details.
N:
N:   Visibility: info
N:   Show-Always: no
N:   Check: debian/patches/dep3
N:   Renamed from: send-patch
N:
N:
I: robotraconteurgen: spare-manual-page
[usr/share/man/man1/robotraconteurgen.1.gz]
N:
N:   Each manual page in /usr/share/man should have a reason to be there. This
N:   manual page does not appear to have a valid reason to be shipped.
N:
N:   For manual pages in sections 1 and 8, an executable (or a link to one)
N:   should exist. This check currently considers all installation packages
N:   created by the same sources, as long as they are present.
N:
N:   Please refer to Manual pages (Section 12.1) in the Debian Policy Manual
N:   and Bug#583125 for details.
N:
N:   Visibility: info
N:   Show-Always: no
N:   Check: documentation/manual
N:   Renamed from: manpage-without-executable
N:
N:
P: robotraconteur source: package-does-not-install-examples [examples/]
N:
N:   The original source tarball contains the specified examples directory.
N:   However, no examples are installed in any binary packages.
N:
N:   Please use dh_installexamples to install these to the most relevant
N:   package, for example by adding the directory name followed by a wildcard
N:   to a debian/pkgname.examples file.
N:
N:   Lintian looks for any directory called examples under /usr/share/doc in
N:   all binary packages.
N:
N:   Please refer to the dh_installexamples(1) manual page for details.
N:
N:   Visibility: pedantic
N:   Show-Always: no
N:   Check: examples
N:
N:   Screen: examples/in-tests
N:     Advocates: "Scott Kitterman" <debian@kitterman.com>
N:     Reason:
N:             Some sources like python-tomlkit trigger this tag for tests
because of files
N:             in ./tests/examples/. They are not examples for tomlkit, however.
They are
N:             examples of TOML files used in the tests.
N:
N:             Overall, the check is probably better off not looking in test
N:             directories.
N:
N:             Read more in Bug#1005184.

autopkgtest:

autopkgtest [08:22:37]: test autodep8-python3: set -e ; for py in $(py3versions
-d 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c
"import robotraconteur; print(robotraconteur)" ; done
autopkgtest [08:22:37]: test autodep8-python3: [-----------------------
Testing with python3.13:
Traceback (most recent call last):
   File "<string>", line 1, in <module>
     import robotraconteur; print(robotraconteur)
     ^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'robotraconteur'
autopkgtest [08:22:38]: test autodep8-python3: -----------------------]
autopkgtest [08:22:38]: test autodep8-python3:  - - - - - - - - - - results - -
- - - - - - - -
autodep8-python3     FAIL non-zero exit status 1
autopkgtest [08:22:39]:  - - - - - - - - - - running shell - - - - - - - - - -
You can now log into the VM through the serial terminal.
Depending on which terminal program you have installed, you can use one of

     ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 10022
user@localhost
     minicom -D unix#/tmp/autopkgtest-qemu.1ya44tvi/ttyS0
     nc -U /tmp/autopkgtest-qemu.1ya44tvi/ttyS0
     socat - UNIX-CONNECT:/tmp/autopkgtest-qemu.1ya44tvi/ttyS0

The tested source package is in /tmp/autopkgtest.xKlZJp/build.erD/src

Press Enter to resume running tests.

Test 5 (ratt): Information only

Not run at this time

Test 6 (debian/watch): Information only

Not run at this time

Test 7 (licenserecon): Information only

Not run at this time

Summary
=======

A number of issues above that you may wish to look at.

Tags
====

If a 'moreinfo' tag has been added to your RFS bug. You can remove the tag using
the line below at the top of a reply that is supplying information and/or
indicating a new upload.

Control: tags -1 -moreinfo

Regards

Phil



Reply to: