[Bug 1829370] Re: Discuss further entries in essential which might instead be minimal

Steve Langasek steve.langasek at canonical.com
Fri May 17 08:07:52 UTC 2019


On Fri, May 17, 2019 at 06:41:12AM -0000, Christian Ehrhardt  wrote:
> So it seems we have two optional tasks identified that could be done in
> this context:
> - e2fsprogs
>   - break fsprogs from e2fsprogs
>   - then make the main e2fsprogs non essential
>   - remove e2fsprogs from e.g. container images

If fsprogs is to be split out, I think that's a change that should be agreed
in Debian first.

And this will only save ~1MB on the unpacked system.  So while it's worth
pushing this along, it's not something we should treat as urgent.

Also, you briefly confused me by saying "make the main e2fsprogs non
essential".  e2fsprogs is not Essential, it's Important; so packages are not
allowed to rely on it without a dependency and it is valid to remove it from
images.

> - drop essential flag from bash
>   - is dash considered compatible enough?  could we drop bash in
>     containers then?

"compatible" with what?

The problem is that there's no definition of *what* within an Essential
package you're allowed to assume to be installed on the system.  So
historically, a large number of packages assume that the path /bin/bash will
be available as an interpreter, without any dependencies being declared.

So this is a long migration.  I want to make sure it's understood that
removing the Essential flag from packages is a change that must be
coordinated with Debian, not something we should do downstream in Ubuntu.

> What about #2 (diffutils):
> - I assume it might be needed in the apt/dpkg context to diff show old/new
>   config?
> - If that is true could it detect if diff is missing and then fall back to
>   not show the user the delta of conffiles?
> - Then this could be dropped as well from most minimal images

I think it would be a huge usability issue to not be able to use the 'diff'
option in dpkg conffile prompts, whenever these prompts appear on upgrade.
And dpkg does need diffutils in order to display the diffs (I've just
confirmed this in the dpkg source).  OTOH this is only used when
interactively invoking dpkg, so probably fits the "not required on a minimal
system" criteria.

On the gripping hand, this package is also Essential.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to livecd-rootfs in Ubuntu.
https://bugs.launchpad.net/bugs/1829370

Title:
  Discuss further entries in essential which might instead be minimal

Status in livecd-rootfs package in Ubuntu:
  New

Bug description:
  I was comparing and analyzing a recent docker image for more things we
  could maybe drop to be more minimal.

  I found a few which are in platform.git/required that we might be able
  to move to minimal.

  Not sure what the best practice is here to minimize the container
  images - put it to minimal as recommends and then remove it in livecd-
  rootfs? Anyway that would be up to you, the discussion first ...

  
  #1 e2fsprogs
  For a cloud image and anything bootable with disks - absolutely.
  But for a container which by definition already comes on its FS without disk access.
  I think this could be dropped.

  #2 diffutils
  There is no call to diff other than the references from its own docu and bzdiff/zdiff, ...
  Now while we need bzip2/gunzip and such, we don't need bzdiff/zdiff.
  Should that be split and removed along with diffutils?

  #3 dash
  The comment says "Much faster default shell" whicih is right, but bash+dash in essential.
  Again probably ok for cloud-images and everything bigger, but for minimal container images one should do - which of them I don't know.

  
  I just was curious on those three after checking the image if they might be removable.
  (Triggered by danwest asking about images sizes)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/1829370/+subscriptions



More information about the foundations-bugs mailing list