cpuset package missing dependency in focal

Bug #1907881 reported by Vinjar Hillestad
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
cpuset (Debian)
Fix Released
Unknown
cpuset (Ubuntu)
Fix Released
Low
Unassigned
Focal
Fix Released
Low
Brian Murray

Bug Description

Stable Release Update:

[impact]
cset fails to run without python3-future installed.

This is a minor fix which already is present in newer Ubuntu releases.

As mentioned in the comments below, the SRU is needed only in Focal, though I don't have permission to target the series.

[test plan]
sudo apt install cpuset
cset --help
#Should run without error message.

[Where problems could occur]

Minimal regression potential. As this is only adding an extra dependency it is otherwise equivalent of a no-change rebuild.
The binary packages have no other reverse dependencies.

Original report:

This package for focal seems to miss a dependency.
Namely python3-futures.

Reproducing the bug
--------------------------------

Reproducable Docker file:
Built with "docker build . -t csettest"

--------
FROM ubuntu:focal

RUN apt update && apt install -y cpuset

ENTRYPOINT ["cset", "--help"]
-------

Running the docker file:

-------
$ docker run --rm -it csettest

Traceback (most recent call last):
  File "/usr/bin/cset", line 44, in <module>
      from cpuset.main import main
        File "/usr/lib/python3/dist-packages/cpuset/main.py", line 7, in <module>
            from future import standard_library
            ModuleNotFoundError: No module named 'future'
-------
--------------------------------

Possible fix with python3-future
--------------------------------

Docker file:
-------
FROM ubuntu:focal

RUN apt update && apt install -y cpuset python3-future

ENTRYPOINT ["cset", "--help"]
-------

Running the Docker file
-------
$ docker run --rm -it csettest

Usage: cset [global options] <command> [command options]

Global options:
  -l/--log <fname> output debugging log in fname
    -m/--machine print machine readable output
      -x/--tohex <CPUSPEC> convert a CPUSPEC to hex

      Generic commands:
        help print the detailed command usage
          version display version information
            copyright display copyright information

            Super commands (high-level and multi-function):
              shield supercommand to set up and manage basic shielding

              Regular commands:
                proc create and manage processes within cpusets
                  set create, modify and destroy cpusets
-------
--------------------------------

Vinjar Hillestad (vhi)
tags: added: focal
tags: added: packaging
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in cpuset (Ubuntu):
status: New → Confirmed
Revision history for this message
Hans Joachim Desserud (hjd) wrote :

Thanks for reporting.

I found a corresponding bug report in Debian, and the extra dependency has been added in the version available in Ubuntu 21.04, so newer releases are fixed at least. However, 20.04 is still affected, so I'll try to prepare a debdeff for a Stable Release Update.

(From my testing 18.04 was not affected. Presumably this uses an older version before cpuset started using python3-future)

As a workaround in the meantime, manually install python3-future.

Revision history for this message
Hans Joachim Desserud (hjd) wrote :

Attached patch adds python3-future as a dependency also for 20.04.

description: updated
description: updated
tags: added: patch
Changed in cpuset (Debian):
status: Unknown → Fix Released
Mathew Hodson (mhodson)
tags: added: unmetdeps
Changed in cpuset (Ubuntu):
importance: Undecided → Low
Changed in cpuset (Ubuntu Focal):
importance: Undecided → Low
Changed in cpuset (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote :

I've gone ahead and sponsored this after running update-maintainer.

 $ dput cpuset_1.6-3.1ubuntu1_source.changes
Trying to upload package to ubuntu
Checking signature on .changes
gpg: /tmp/pkgs/focal/cpuset_1.6-3.1ubuntu1_source.changes: Valid signature from 1E918B66765B3E31
Checking signature on .dsc
gpg: /tmp/pkgs/focal/cpuset_1.6-3.1ubuntu1.dsc: Valid signature from 1E918B66765B3E31
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading cpuset_1.6-3.1ubuntu1.dsc: done.
  Uploading cpuset_1.6-3.1ubuntu1.debian.tar.xz: done.
  Uploading cpuset_1.6-3.1ubuntu1_source.buildinfo: done.
  Uploading cpuset_1.6-3.1ubuntu1_source.changes: done.
Successfully uploaded packages.

Changed in cpuset (Ubuntu Focal):
status: New → In Progress
assignee: nobody → Brian Murray (brian-murray)
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Vinjar, or anyone else affected,

Accepted cpuset into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cpuset/1.6-3.1ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cpuset (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal
Revision history for this message
Brian Murray (brian-murray) wrote :

I installed the new version of cpuset and verify that python3-future also gets installed and you can run 'cset --help'.

ubuntu@cset-test:~$ sudo apt-get install cpuset
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  python3-cpuset python3-future python3-lib2to3
Suggested packages:
  python-future-doc
The following NEW packages will be installed:
  python3-future python3-lib2to3
The following packages will be upgraded:
  cpuset python3-cpuset
2 upgraded, 2 newly installed, 0 to remove and 6 not upgraded.
Need to get 510 kB of archives.
After this operation, 2,427 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 python3-lib2to3 all 3.8.10-0ubuntu1~20.04 [76.3 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-future all 0.18.2-2 [336 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal-proposed/universe amd64 cpuset all 1.6-3.1ubuntu1 [71.5 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal-proposed/universe amd64 python3-cpuset all 1.6-3.1ubuntu1 [26.1 kB]
Fetched 510 kB in 1s (367 kB/s)
Selecting previously unselected package python3-lib2to3.
(Reading database ... 15983 files and directories currently installed.)
Preparing to unpack .../python3-lib2to3_3.8.10-0ubuntu1~20.04_all.deb ...
Unpacking python3-lib2to3 (3.8.10-0ubuntu1~20.04) ...
Selecting previously unselected package python3-future.
Preparing to unpack .../python3-future_0.18.2-2_all.deb ...
Unpacking python3-future (0.18.2-2) ...
Preparing to unpack .../cpuset_1.6-3.1ubuntu1_all.deb ...
Unpacking cpuset (1.6-3.1ubuntu1) over (1.6-3.1) ...
Preparing to unpack .../python3-cpuset_1.6-3.1ubuntu1_all.deb ...
Unpacking python3-cpuset (1.6-3.1ubuntu1) over (1.6-3.1) ...
Setting up python3-lib2to3 (3.8.10-0ubuntu1~20.04) ...
Setting up python3-future (0.18.2-2) ...
update-alternatives: using /usr/bin/python3-futurize to provide /usr/bin/futurize (futurize) in auto mode
update-alternatives: using /usr/bin/python3-pasteurize to provide /usr/bin/pasteurize (pasteurize) in auto mode
Setting up python3-cpuset (1.6-3.1ubuntu1) ...
Setting up cpuset (1.6-3.1ubuntu1) ...

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cpuset - 1.6-3.1ubuntu1

---------------
cpuset (1.6-3.1ubuntu1) focal; urgency=medium

  * Add missing dependency python3-future. (LP: #1907881)

 -- Hans Joachim Desserud <email address hidden> Fri, 31 Dec 2021 10:04:13 +0100

Changed in cpuset (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for cpuset has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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