Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#64038 closed defect (fixed)

Unable to Unistall Obsolete Port py39-typed-ast Due to Dependents

Reported by: RobK88 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: toby@…, mascguy (Christopher Nielsen)
Port: py39-typed-ast, py39-mypy

Description (last modified by RobK88)

I am unable to uninstall the obsolete port py39-typed-ast due to existing dependents. Very strange.

bash-3.2$ port installed obsolete
The following ports are currently installed:
  py39-typed-ast @1.4.3_0 (active)

bash-3.2$ sudo port uninstall py39-typed-ast
Password:
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break: py39-mypy @0.910_0
Continue? [y/N]: n
--->  Cleaning py39-typed-ast

bash-3.2$ port info py39-typed-ast
Error: Port py39-typed-ast not found

bash-3.2$ port installed py39-typed-ast
The following ports are currently installed:
  py39-typed-ast @1.4.3_0 (active)

bash-3.2$ port dependents py39-typed-ast
py39-mypy depends on py39-typed-ast
bash-3.2$ 

Change History (5)

comment:1 Changed 3 years ago by RobK88

Description: modified (diff)

comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

See [6927a133ef858402bf58028c38d21f87848b0845/macports-ports] in which py38-typed-ast and later were removed because this functionality is already built into python38 and later and [0f1a1f8156307c7cd127003fcf1934524e3725ee/macports-ports] in which py38-mypy and later were modified not to have the py*-typed-ast dependency, but py-mypy's revision was not increased, thereby causing the problem you experienced.

comment:3 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to ryandesign
Resolution: fixed
Status: newclosed

In 20a75551f8bd65b89262ba8646c5776510e65fac/macports-ports (master):

py-mypy: Revbump for changed dependencies

An obsolete dependency was removed in 0f1a1f8 without increasing the
port's revision which caused problems when users wanted to uninstall the
obsolete port.

Closes: #64038

comment:4 Changed 3 years ago by RobK88

Thanks Ryan for the quick fix.

P.S. For those who may be trying to uninstall py39-typed-ast after upgrading py39-mypy, please note that you must uninstall the previous revision of py39_mypy first (i.e. revision @0.910_0). See below.

bash-3.2$ sudo port upgrade py39-mypy
Password:
--->  Computing dependencies for py39-mypy
--->  Fetching distfiles for py39-mypy
--->  Verifying checksums for py39-mypy
--->  Extracting py39-mypy
--->  Configuring py39-mypy
--->  Building py39-mypy
--->  Staging py39-mypy into destroot                    
--->  Installing py39-mypy @0.910_1                      
--->  Cleaning py39-mypy
--->  Computing dependencies for py39-mypy
--->  Deactivating py39-mypy @0.910_0
--->  Cleaning py39-mypy
--->  Activating py39-mypy @0.910_1
--->  Cleaning py39-mypy
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  No broken ports found.

bash-3.2$ sudo port uninstall obsolete
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break: py39-mypy @0.910_0
Continue? [y/N]: n
--->  Cleaning py39-typed-ast

sudo port uninstall inactive
--->  Uninstalling py39-mypy @0.910_0
--->  Cleaning py39-mypy

bash-3.2$ sudo port uninstall obsolete
--->  Deactivating py39-typed-ast @1.4.3_0
--->  Cleaning py39-typed-ast
--->  Uninstalling py39-typed-ast @1.4.3_0
--->  Cleaning py39-typed-ast
bash-3.2$
Version 0, edited 3 years ago by RobK88 (next)

comment:5 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added
Note: See TracTickets for help on using tickets.