]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Fix output dir creation 277/head
authorRafael Antognolli <rafael.antognolli@intel.com>
Fri, 20 Jul 2018 20:54:16 +0000 (13:54 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 1 Nov 2018 00:24:17 +0000 (17:24 -0700)
The cache dir is created inside the output dir, so we need to create the
output dir at least before that. Fix the following error:

$ sudo mkosi -d fedora -r 29 -t directory -O bla --default /dev/null

Traceback (most recent call last):
  File "/bin/mkosi", line 3767, in <module>
    main()
  File "/bin/mkosi", line 3757, in main
    build_stuff(args)
  File "/bin/mkosi", line 3573, in build_stuff
    setup_package_cache(args)
  File "/bin/mkosi", line 2412, in setup_package_cache
    d = tempfile.TemporaryDirectory(dir=os.path.dirname(args.output), prefix=".mkosi-")
  File "/usr/lib64/python3.7/tempfile.py", line 788, in __init__
    self.name = mkdtemp(suffix, prefix, dir)
  File "/usr/lib64/python3.7/tempfile.py", line 366, in mkdtemp
    _os.mkdir(file, 0o700)
FileNotFoundError: [Errno 2] No such file or directory: '/home/lucas/p/mkosi/bla/.mkosi-l3oxfchg'

mkosi

diff --git a/mkosi b/mkosi
index b9b6c56bd8b0a53f3f32db730317c774b7d03fa1..331a0978c9b96b43ec5cd3a6f8988e4556df31e4 100755 (executable)
--- a/mkosi
+++ b/mkosi
@@ -3420,7 +3420,6 @@ def build_image(args: CommandLineArguments, workspace: tempfile.TemporaryDirecto
     if args.build_script is None and run_build_script:
         return None, None, None
 
-    make_output_dir(args)
     make_build_dir(args)
 
     raw, cached = reuse_cache_image(args, workspace.name, run_build_script, for_cache)
@@ -3570,6 +3569,7 @@ def build_stuff(args: CommandLineArguments) -> None:
     # always the same
     args.machine_id = uuid.uuid4().hex
 
+    make_output_dir(args)
     setup_package_cache(args)
     workspace = setup_workspace(args)