Ignoring existing file is too verbose


#1

Better illustrated with an image:


#2

well, someone has to try out if the maximum filename lenght is really 255 bytes :wink:

(beyond printing it, why do we use such hilariously long directory names for the cache ? )


#3

This is coming from the Python apt API. Iirc there’s a bug report for it but I can’t find it.


#4

Can we get it fixed?


#5

More specifically it’s coming from https://anonscm.debian.org/cgit/apt/python-apt.git/tree/apt/package.py#n735

@mvo Can you advise if/ how we could remove the unconditional logging from python-apt? Seeing as you’re the maintainer.

We could also try to work-around it in Snapcraft if needed, by checking for already existing files beforehand.


#6

(just discovered I never clicked on “reply” last night)

This is low hanging fruit, it is not something we directly control but we can certainly override. The root cause of it is a non optional print in the python apt package.

In apt/package.py

def fetch_binary(self, destdir='', progress=None):
    ...
    print(('Ignoring already existing file: %s' % destfile))
    ...

I will work on a PR


#7

This is now fixed in upstream python-apt: https://salsa.debian.org/apt-team/python-apt/commit/d122f9142df614dbb5f7644112280140dc155ecc


#8

Here’s a PR that takes care of this until that python-apt is released https://github.com/snapcore/snapcraft/pull/1949

The reason I did it this way is in some part given by the fact that python-apt would need to be SRUed across the board (until we can go snap only at least).