python-software-properties not found on bionic

Bug #1764267 reported by John A Meinel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Fix Released
High
John A Meinel
2.3
Fix Released
High
John A Meinel

Bug Description

It seems python-software-properties was removed from bionic somewhere in the last week or so.

I was bootstrapping fine on Bionic last week, but today while trying to test juju-2.3.6 (proposed) I hit:
2018-04-16 06:01:05 ERROR juju.utils.packaging.manager utils.go:102 packaging command failed: exit status 100; cmd: "apt-get --option=Dpkg::Options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet install python-software-properties"; output: Reading package lists...
Building dependency tree...
Reading state information...
Package python-software-properties is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  software-properties-common

E: Package 'python-software-properties' has no installation candidate

I don't know what to make of this:
https://answers.launchpad.net/ubuntu/bionic/+package/python-software-properties

AFAICT, we install it when we are going to use a ppa or some other custom archive source. I don't know what that would be for targeting bionic:
 if len(cfg.PackageSources()) > 0 {
  // Ensure add-apt-repository is available.
  cmds = append(cmds, LogProgressCmd("Installing add-apt-repository"))
  cmds = append(cmds, cfg.paccmder.InstallCmd("python-software-properties"))
 }
 for _, src := range cfg.PackageSources() {
  // PPA keys are obtained by add-apt-repository, from launchpad.
  if !strings.HasPrefix(src.URL, "ppa:") {
   if src.Key != "" {
    key := utils.ShQuote(src.Key)
    cmd := fmt.Sprintf("printf '%%s\\n' %s | apt-key add -", key)
    cmds = append(cmds, cmd)
   }
  }
  cmds = append(cmds, LogProgressCmd("Adding apt repository: %s", src.URL))
  cmds = append(cmds, cfg.paccmder.AddRepositoryCmd(src.URL))
 }

It at least thinks it is necessary to get "add-apt-repository".

I can see that on Bionic we have "add-apt-repository" and it is provided by "software-properties-common":
root@bio:~# dpkg -S /usr/bin/add-apt-repository
software-properties-common: /usr/bin/add-apt-repository

I'm guessing they dropped an old package in Bionic and that broke us.

Revision history for this message
John A Meinel (jameinel) wrote :

software-properties-common also exists on Xenial, and seems to have a dependency from "ubuntu-server", so it seems that it may always be installed by default.

It also exists in trusty, and has a dependency of cloud-init.

So I'm guessing this was actually just a necessary dependency for code older than Trusty, so it isn't actually supported anymore.

The question is whether we should continue to force install something (software-properties-common), or should we just assume add-apt-repository is always available (as it seems to be in our default installs everywhere since Trusty).

I'll start with the former.

Changed in juju:
status: Triaged → In Progress
assignee: nobody → John A Meinel (jameinel)
milestone: none → 2.4-beta1
Revision history for this message
John A Meinel (jameinel) wrote :
Revision history for this message
John A Meinel (jameinel) wrote :
Changed in juju:
status: In Progress → Won't Fix
status: Won't Fix → Fix Committed
Revision history for this message
John A Meinel (jameinel) wrote :

The fix has landed, but I believe it has missed the 2.3.6 cutoff.

Changed in juju:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.