Package: python3-apt Version: 2.2.0 As can be seen in the constructor, InstallProgress is designed to be used in a 'with' in order to properly close write_stream and status_stream:
https://git.launchpad.net/python-apt/tree/apt/progress/base.py#n163 This commit added support for using InstallProgress as a context manager: https://git.launchpad.net/python-apt/commit/?id=462c05b39eae5a0fa2270d329b03d4711742f20d It also modified a test, but didn't change the way InstallProgress is used by cache.py. This causes Python 3 to complain that InstallProgress's constructor leaves unclosed files: > /usr/lib/python3.9/glob.py:123: ResourceWarning: unclosed file > <_io.TextIOWrapper name=4 mode='r' encoding='UTF-8'> > with os.scandir(dirname) as it: > Object allocated at (most recent call last): > File "/opt/thinlinc/modules/thinlinc/packageinstaller/__init__.py", lineno > 33 > OOO0o000 = globals ( ) [ IIi1i111IiII ] . Backend ( ) > File "/opt/thinlinc/modules/thinlinc/packageinstaller/aptbackend.py", > lineno 88 > self . _aptcallback = i1Ii1i ( self ) > File "/opt/thinlinc/modules/thinlinc/packageinstaller/aptbackend.py", > lineno 31 > super ( ) . __init__ ( ) > File "/usr/lib/python3/dist-packages/apt/progress/base.py", lineno 164 > self.status_stream = os.fdopen(self.statusfd, "r") # type: io.TextIOBase > # noqa > File "/usr/lib/python3.9/os.py", lineno 1023 > return io.open(fd, *args, **kwargs) > /usr/lib/python3.9/glob.py:123: ResourceWarning: unclosed file > <_io.TextIOWrapper name=5 mode='w' encoding='UTF-8'> > with os.scandir(dirname) as it: > Object allocated at (most recent call last): > File "/opt/thinlinc/modules/thinlinc/packageinstaller/__init__.py", lineno > 33 > OOO0o000 = globals ( ) [ IIi1i111IiII ] . Backend ( ) > File "/opt/thinlinc/modules/thinlinc/packageinstaller/aptbackend.py", > lineno 88 > self . _aptcallback = i1Ii1i ( self ) > File "/opt/thinlinc/modules/thinlinc/packageinstaller/aptbackend.py", > lineno 31 > super ( ) . __init__ ( ) > File "/usr/lib/python3/dist-packages/apt/progress/base.py", lineno 163 > self.write_stream = os.fdopen(self.writefd, "w") # type: io.TextIOBase > File "/usr/lib/python3.9/os.py", lineno 1023 > return io.open(fd, *args, **kwargs) The issue was identified on Ubuntu 21.04: > Linux ubuntu2104 5.11.0-17-generic #18-Ubuntu SMP Thu May 6 20:10:11 > UTC 2021 x86_64 x86_64 x86_64 GNU/Linux -- Samuel Mannehed Software Development Cendio AB https://cendio.com Teknikringen 8 https://twitter.com/ThinLinc 583 30 Linköping https://facebook.com/ThinLinc Phone: +46 13 214 600