Skip to content
This repository has been archived by the owner on Nov 19, 2024. It is now read-only.

Install completion, gz tool scripts lib package #16

Merged
merged 3 commits into from
Sep 3, 2022

Conversation

scpeters
Copy link
Contributor

Forward port of gazebo-release/gz-transport8-release#3.

Signed-off-by: Steve Peters <scpeters@openrobotics.org>
@scpeters scpeters requested a review from azeey August 21, 2022 01:08
@scpeters
Copy link
Contributor Author

@scpeters
Copy link
Contributor Author

this needs more work, probably a backport of gazebo-release/gz-transport11-release#4 as well

@@ -1 +1,4 @@
usr/lib/*/lib*-transport[0-9][0-9].so.*
usr/lib/ruby/*/cmdtransport[0-9][0-9].rb
usr/share/*/transport[0-9][0-9].yaml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested locally by adding the usr/libexec path like so:

Suggested change
usr/share/*/transport[0-9][0-9].yaml
usr/share/*/transport[0-9][0-9].yaml
usr/libexec/gz/transport[0-9][0-9]/*

and it seems to work. In the gazebo-release/gz-transport11-release#4, we create a new package called ignition-transport11-cli, add it as a dependency of libignition-transport11-dev. However, we now want these binaries to be part of the non-dev package, but we can't add a dependency of gz-transport12-cli onto libgz-transport12 since that will create a dependency cycle. I propose we just add these binaries to libgz-transport12 and drop the cli package. @j-rivero thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe we need the CLI to be in a non-lib package, because that's now installing a binary, even though it is a libexec one, and not bin

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the gazebo-release/gz-transport11-release#4, we create a new package called ignition-transport11-cli, add it as a dependency of libignition-transport11-dev. However, we now want these binaries to be part of the non-dev package,

Let's stop here. Let me summarize the situation of the software pieces: we have a software composed by: main lib (libgz-transport12-dev), developer headers + helpers (libgz-transport12-dev and a cli program (gz-transport12-cli). The (hard -> Depends: in Debian) dependencies should be strict in the way that the package is not going to work without the dep. So the cli program probably depends on the lib but the lib should not depend on cli package since it does not need it. We can use other sotf dependencies (Suggest, Recommends) to handle the behavior we want. So my proposal would be:

  • Keep the cli package (useful), make it Depends on the main lib
  • If we want people to install the CLI together with the lib by default, make the cli a Suggest of the main lib.
  • The development package should depend on the lib + cli or we can move the cli to be also a Suggest (final behavior is the same, package manager install it together, latter seems to me like a more correct approach).

I believe we need the CLI to be in a non-lib package, because that's now installing a binary, even though it is a libexec one, and not bin

If we are strict with the Debian policy about shared libraries, then yes, they should into their own individual package so you can have two library packages from different versions installed together.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. @scpeters I can make the changes, if that's okay.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please do so, thanks for taking this over

Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
@azeey
Copy link
Contributor

azeey commented Aug 31, 2022

New build with 1b4f4f4

Build Status

ubuntu/debian/gz-transport12-cli.install Outdated Show resolved Hide resolved
@@ -1 +1,3 @@
usr/lib/*/lib*-transport[0-9][0-9]-log.so.*
usr/lib/ruby/*/cmdlog[0-9][0-9].rb
usr/share/*/transportlog[0-9][0-9].yaml
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we put these in the CLI package instead? Or do we need a log-cli package?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to leave this one like this and merge the PR to fix the libexec issue

Signed-off-by: Louise Poubel <louise@openrobotics.org>
@chapulina chapulina merged commit bd6b2ef into main Sep 3, 2022
@chapulina chapulina deleted the scpeters/bash_compl_non_dev branch September 3, 2022 00:42
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants