[SRU] metaphlan2 is not installable in bionic

Bug #1777165 reported by Tony Travis
38
This bug affects 6 people
Affects Status Importance Assigned to Milestone
metaphlan2 (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Dylan Aïssi

Bug Description

[Impact]

 * The package of metaphlan2 is not installable in bionic.

 * The "_metaphlan2.py" file contains Python 3 source but the "postinst"
 script runs "pycompile" on the Python source files. However, "pycompile"
 only supports Python version 2. The print() function in "_metaphlan2.py"
 can be imported from the "__future__" library, but Python 2 does not
 support function annotations: These are optional in Python 3, and are
 removed from the function definitions in "_metaphlan2.py" by the patch.

[Test Case]

 * Try to install the package.

[Regression Potential]

 * This patch is already applied in Debian since ~ 10 months and in Ubuntu
 since Cosmic without any problem.

=============================================

Already reported by me and Fixed by Andreas Tille in the Debian-Med team.

Python3 syntax is used in _metaphlan2.py, but "pycompile" run by the "postinst" script only supports Python2. Fixed by adding "print()" and removing function annotations:

/usr/share/metaphlan2# diff -Naur _metaphlan2.py.dist _metaphlan2.py
--- _metaphlan2.py.dist 2018-02-07 10:43:00.000000000 +0000
+++ _metaphlan2.py 2018-06-15 16:09:30.056981110 +0100
@@ -3,7 +3,7 @@
 # This module defines the functions which run MetaPhlAn2 on
 # single and paired fastq data.

-
+from __future__ import print_function
 import subprocess as sb
 from q2_types.per_sample_sequences import SingleLanePerSampleSingleEndFastqDirFmt
 from q2_types.per_sample_sequences import SingleLanePerSamplePairedEndFastqDirFmt
@@ -24,8 +24,7 @@
     sb.run(cmd, check=True)

-def profile_single_fastq(raw_data: SingleLanePerSampleSingleEndFastqDirFmt,
- nproc: int=1) -> biom.Table:
+def profile_single_fastq(raw_data, nproc=1):
     output_biom = None

     with tempfile.TemporaryDirectory() as tmp_dir:
@@ -36,8 +35,7 @@
     return output_biom

-def profile_paired_fastq(raw_data: SingleLanePerSamplePairedEndFastqDirFmt,
- nproc: int=1) -> biom.Table:
+def profile_paired_fastq(raw_data, nproc=1):
     output_biom = None

     with tempfile.TemporaryDirectory() as tmp_dir:

ProblemType: Package
DistroRelease: Ubuntu 18.04
Package: metaphlan2 2.7.5-1 [modified: usr/share/metaphlan2/_metaphlan2.py]
ProcVersionSignature: Ubuntu 4.15.0-23.25-generic 4.15.18
Uname: Linux 4.15.0-23-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.9-0ubuntu7.2
Architecture: amd64
Date: Fri Jun 15 15:07:54 2018
ErrorMessage: installed metaphlan2 package post-installation script subprocess returned error exit status 101
PackageArchitecture: all
Python3Details: /usr/bin/python3.6, Python 3.6.5, python3-minimal, 3.6.5-3
PythonDetails: /usr/bin/python2.7, Python 2.7.15rc1, python-minimal, 2.7.15~rc1-1
RelatedPackageVersions:
 dpkg 1.19.0.5ubuntu2
 apt 1.6.1
SourcePackage: metaphlan2
Title: package metaphlan2 2.7.5-1 [modified: usr/share/metaphlan2/_metaphlan2.py] failed to install/upgrade: installed metaphlan2 package post-installation script subprocess returned error exit status 101
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Tony Travis (ajtravis) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in metaphlan2 (Ubuntu):
status: New → Confirmed
Dylan Aïssi (daissi)
Changed in metaphlan2 (Ubuntu):
assignee: nobody → Dylan Aïssi (daissi)
Revision history for this message
Graham Inggs (ginggs) wrote :

Fixed in 2.7.6-1 in Cosmic:

metaphlan2 (2.7.6-1) unstable; urgency=medium

  [ Andreas Tille ]
  * New upstream version
  * Point Vcs fields to salsa.debian.org
  * Standards-Version: 4.1.4
  * Avoid privacy breach by referencing remote files from README.html

  [ Tony Travis ]
  * Compile with Python2 despite _metaphlan2.py is using Python3 syntax

 -- Andreas Tille <email address hidden> Mon, 28 May 2018 15:13:38 +0200

Changed in metaphlan2 (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Dylan Aïssi (daissi) wrote :

Attached is a patch which backport a debian patch to fix this error in bionic.

Graham Inggs (ginggs)
Changed in metaphlan2 (Ubuntu Bionic):
status: New → Confirmed
assignee: nobody → Dylan Aïssi (daissi)
Changed in metaphlan2 (Ubuntu):
assignee: Dylan Aïssi (daissi) → nobody
Dylan Aïssi (daissi)
description: updated
summary: - package metaphlan2 2.7.5-1 [modified:
- usr/share/metaphlan2/_metaphlan2.py] failed to install/upgrade:
- installed metaphlan2 package post-installation script subprocess
- returned error exit status 101
+ metaphlan2 is uninstallable in bionic
summary: - metaphlan2 is uninstallable in bionic
+ metaphlan2 is not installable in bionic
description: updated
Graham Inggs (ginggs)
summary: - metaphlan2 is not installable in bionic
+ [SRU] metaphlan2 is not installable in bionic
Graham Inggs (ginggs)
Changed in metaphlan2 (Ubuntu Bionic):
status: Confirmed → In Progress
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Tony, or anyone else affected,

Accepted metaphlan2 into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/metaphlan2/2.7.5-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 and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, details of your testing will help us make a better decision.

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

Changed in metaphlan2 (Ubuntu Bionic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-bionic
Revision history for this message
Dylan Aïssi (daissi) wrote :

Tested in a fresh bionic install and it works.

tags: added: verification-done verification-done-bionic
removed: verification-needed verification-needed-bionic
Revision history for this message
Tony Travis (ajtravis) wrote :

Hi, Robie.

Tested install from bionic-proposed under Ubuntu-MATE 18.04.2 LTS with 4.18.0-20-generic kernel:

Install was successful, and no errors reported.

Thanks,

  Tony.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package metaphlan2 - 2.7.5-1ubuntu1

---------------
metaphlan2 (2.7.5-1ubuntu1) bionic; urgency=medium

  * Backport a debian patch to fix installation error. (LP: #1777165)

 -- Dylan Aïssi <email address hidden> Wed, 24 Apr 2019 21:17:24 +0200

Changed in metaphlan2 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for metaphlan2 has completed successfully and the package has now been 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.