Mailing List Archived Message #43

From: "Lewis" <> Full Headers
Undecoded message
Subject: Re: [GNU Ports] Assertion error with pip building
Date: Fri, 30 Sep 2022 23:27:59 -0400
To: GNU Ports for eCS Mailing List <>

Hi, Steve...

On 09/30/22 10:35 pm, Steven Levine wrote:
In <>, on 09/30/22
    at 10:18 PM, "Lewis G Rosenthal" <> said:

HI Lewis,

I've hackishly worked around the problem by removing line 91 from
assert preserve_mode and preserve_times and not preserve_symlinks
Rather than removing the line, I recommend inserting a few lines to print
the values of preserve_mode, preserve_times and preserve_symlinks.  This
should tell you which variable has the unexpected value.

To my eyes, it seems odd that copy_tree is being called with
preserve_symlinks=1 given what the assertion says.

Hmmm... That is interesting, isn't it? I need to track that back to its source. Obviously, is only following what it's been given, and as such, the assertion is indeed false.

For the sake of completeness, the actual routine (line 91 restored) in is:


def copy_tree(

self, infile, outfile,

preserve_mode=1, preserve_times=1, preserve_symlinks=0, level=1


assert preserve_mode and preserve_times and not preserve_symlinks exclude = self.get_exclusions()

if not exclude:

return orig.install_lib.copy_tree(self, infile, outfile)

# Exclude namespace package* files from the output

from setuptools.archive_util import unpack_directory

from distutils import log

outfiles = []

def pf(src, dst):

if dst in exclude:

log.warn("Skipping installation of %s (namespace package)",


return False"copying %s -> %s", src, os.path.dirname(dst))


return dst

unpack_directory(infile, outfile, pf)

return outfiles

Subscribe: Feed, Digest, Index.
Mail to ListMaster