Bug#1064852: incus: missing depends on iproute2

2024-03-05 Thread Mathias Gibbens
On Tue, 2024-03-05 at 14:19 +0100, Helmut Grohne wrote:
> debvm-create --include=incus
> # This should have created a file named rootfs.ext4.
> debvm-run

  Thanks for sharing that!

> Rather than adding debvm on top of your testing, I think adding
> autopkgtests with isolation-machine should get you more automatic
> coverage. Possibly such tests need to be explicitly allowed by debci
> folks and currently are only available on amd64.

  Yes, it would be nice to get better autopkgtest coverage for incus,
lxc, and lxcfs. I'll add it to my todo list for these packages. :)

Mathias


signature.asc
Description: This is a digitally signed message part


Bug#1064852: incus: missing depends on iproute2

2024-03-05 Thread Helmut Grohne
On Tue, Mar 05, 2024 at 12:00:15PM +, Mathias Gibbens wrote:
> to add iproute2. I would be interested to know more about what
> environment Incus is being used in that doesn't have the `ip` command
> available.

debvm-create --include=incus
# This should have created a file named rootfs.ext4.
debvm-run

>   My normal testing setup for Incus is a fresh, minimal expert install
> of sid via the netinst iso. During the install of the VM, I only
> install the base system and deselect the "standard system utilities"
> group. I do use DHCP, which looks like that might be responsible for
> pulling in iproute2 for me. If there's a way to create an even more
> minimal install, I'd be happy to incorporate that into my testing
> routine.

Turns out your minimal expert install is not so minimal. debvm tends to
give you a smaller but still functional installation. I think adding
--variant=important to debvm-create roughly gets you the minimal expert
installation, but creating the machine takes slightly longer and uses
more disk space of course.

Rather than adding debvm on top of your testing, I think adding
autopkgtests with isolation-machine should get you more automatic
coverage. Possibly such tests need to be explicitly allowed by debci
folks and currently are only available on amd64.

Helmut



Processed: Re: Bug#1064852: incus: missing depends on iproute2

2024-03-05 Thread Debian Bug Tracking System
Processing control commands:

> tags -1 + pending
Bug #1064852 [incus] incus: missing depends on iproute2
Added tag(s) pending.

-- 
1064852: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1064852
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#1064852: incus: missing depends on iproute2

2024-03-05 Thread Mathias Gibbens
Control: tags -1 + pending

  It's easy enough to add iproute2 as a dependency, so I've done so.
Incus already has quite a number of dependencies, and I'd like to keep
that list as small as possible, which is why I was initially reluctant
to add iproute2. I would be interested to know more about what
environment Incus is being used in that doesn't have the `ip` command
available.

  My normal testing setup for Incus is a fresh, minimal expert install
of sid via the netinst iso. During the install of the VM, I only
install the base system and deselect the "standard system utilities"
group. I do use DHCP, which looks like that might be responsible for
pulling in iproute2 for me. If there's a way to create an even more
minimal install, I'd be happy to incorporate that into my testing
routine.

Mathias


signature.asc
Description: This is a digitally signed message part


Bug#1064852: incus: missing depends on iproute2

2024-03-03 Thread Colin Watson
On Tue, Feb 27, 2024 at 01:33:08AM +, Mathias Gibbens wrote:
>   iproute2 is Priority: important, which according to Policy §2.5 means
> that it is generally expected to be present on a Debian system. Do you
> have a specific use case where for some reason you don't have iproute2
> installed?

Would you mind reassessing your view in light of Policy 3.5
(https://www.debian.org/doc/debian-policy/ch-binary.html#dependencies)?
I think it's quite straightforward and unambiguous.

Section 2.5 has traditionally not been what controls decisions about
when dependencies ought to be specified, and this particular case is one
that I'm surprised to find being controversial.  The fine distinction
between "Priority: required" and "Essential: yes" has sometimes confused
people in the past and has needed some discussion, but it's always been
my experience that if one package needs another "Priority: important"
package for proper functioning then it's been quite uncontroversial that
the first package must declare a dependency.

Thanks,

-- 
Colin Watson (he/him)  [cjwat...@debian.org]



Bug#1064852: incus: missing depends on iproute2

2024-02-26 Thread Helmut Grohne
Control: tags -1 + moreinfo

Hi Mathias,

On Tue, Feb 27, 2024 at 01:33:08AM +, Mathias Gibbens wrote:
>   iproute2 is Priority: important, which according to Policy §2.5 means
> that it is generally expected to be present on a Debian system. Do you
> have a specific use case where for some reason you don't have iproute2
> installed?

While that means iproute2 is installed by default, it still does not
mean you can rely on its presence. It is "Essential: yes" that allows
you to skip emitting the dependency. Users are entitled to remove
important packages and often do so.

>   I'm initially reluctant to explicitly list iproute2 as a dependency
> for Incus unless there's some very compelling reason.

I think that it is the failure mode that compells me this to be serious.
When iproute2 is missing all the incus commands hang and you spend a
long time digging why this thing doesn't work at all. If incus were
telling me (on the cli) that iproute2 is missing and offering ways of
working without, I'd see things differently.

Conversely, what is the maintenance cost of having this dependency?

Helmut



Bug#1064852: incus: missing depends on iproute2

2024-02-26 Thread Mathias Gibbens
Control: tags -1 + moreinfo

Hi Helmut,

  iproute2 is Priority: important, which according to Policy §2.5 means
that it is generally expected to be present on a Debian system. Do you
have a specific use case where for some reason you don't have iproute2
installed?

  I'm initially reluctant to explicitly list iproute2 as a dependency
for Incus unless there's some very compelling reason.

Mathias


signature.asc
Description: This is a digitally signed message part


Bug#1064852: incus: missing depends on iproute2

2024-02-26 Thread Helmut Grohne
Package: incus
Version: 0.6-1
Severity: serious
Justification: missing dependency

After installing incus any "incus *" command (even incus info) just
hangs with no indication what's wrong. journalctl -u incus eventually
reveals:


Feb 26 16:47:45 testvm incusd[685]: Error: exec: "ip": executable file not 
found in $PATH

After installing iproute2, incus starts and incus commands start
working.

Helmut