On 3/11/24 2:46 AM, Collin Funk wrote: > So I think it is safe to say the problem occurs somewhere around > there... All of those modules are Coreutils --local-dir modules. Then > dynamic typing things happen.
I just started looking into this issue a bit more. With a clean Coreutils directory, I get the same issue as Simon. I think I have found where this issue occurs. Here is the output with a few print statements that I have added to show the issue. $ gnulib-tool.py --add-import Module list with included dependencies (indented): File list: lib/dummy.c m4/00gnulib.m4 m4/gnulib-common.m4 m4/zzgnulib.m4 self.config['tempdir']: /tmp/tmpnxeke9x1 lookedup: /home/collin/.local/src/gnulib/lib/dummy.c tmpfile: /dummy.c.tmp /home/collin/.local/src/gnulib/gnulib-tool.py: *** could not create file /home/collin/.local/src/gnulib/lib/dummy.c /home/collin/.local/src/gnulib/gnulib-tool.py: *** Stop. As shown by the extra print statements I added, it seems that the temporary files are written to the root directory of my file system instead of the temporary directory. I have to look into it a bit more, but it seems that GLFileSystem.add_or_update calls GLFileSystem.tmpfilename which mangles the file name. I'm not sure if the issue is GLFileSystem.tmpfilename or joinpath. Here is a small diff just showing the print statements I added. diff --git a/pygnulib/GLFileSystem.py b/pygnulib/GLFileSystem.py index f60e3fc6ea..8b4d608f51 100644 --- a/pygnulib/GLFileSystem.py +++ b/pygnulib/GLFileSystem.py @@ -347,6 +347,9 @@ class GLFileAssistant(object): try: # Try to copy lookedup file to tmpfile copyfile(lookedup, tmpfile) except Exception as error: + print(f'self.config[\'tempdir\']: {self.config["tempdir"]}') + print(f'lookedup: {lookedup}') + print(f'tmpfile: {tmpfile}') raise GLError(15, lookedup) # Don't process binary files with sed. if not (original.endswith(".class") or original.endswith(".mo")): Collin