#18 Bug: Mash does not copy compsfile
Opened 4 years ago by alexi. Modified 4 years ago

I'm trying to use mash to generate a new repository with a comps file, but it doesn't work:

# /usr/bin/mash --no-delta -c /etc/mash/mash.conf -o /mash -f comps.xml cern8-testing
2019-11-27 11:21:26 mash: Getting package lists for cern8-testing...
2019-11-27 11:21:26 mash: Sorting packages...
2019-11-27 11:21:26 mash: Checking signatures...
2019-11-27 11:21:26 mash: Writing out files for /mash/cern8-testing/x86_64/os/Packages...
2019-11-27 11:21:26 mash: Writing out files for /mash/cern8-testing/x86_64/debug...
2019-11-27 11:21:26 mash: Writing out files for /mash/cern8-testing/aarch64/os/Packages...
2019-11-27 11:21:26 mash: createrepo: starting /mash/cern8-testing/x86_64/debug...
2019-11-27 11:21:26 mash: Writing out files for /mash/cern8-testing/aarch64/debug...
2019-11-27 11:21:26 mash: Writing out files for /mash/cern8-testing/source/SRPMS...
2019-11-27 11:21:26 mash: createrepo: starting /mash/cern8-testing/x86_64/os/Packages...
2019-11-27 11:21:26 mash: createrepo: starting /mash/cern8-testing/aarch64/debug...
Traceback (most recent call last):
  File "/usr/bin/mash", line 109, in <module>
    main()
  File "/usr/bin/mash", line 86, in main
    rc = themash.doCompose()
  File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 472, in doCompose
    repocache=repocache, comps=True, arch=arch)
  File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 275, in _write_files
    repo_path, repocache, arch, comps, previous=previous_path)
  File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 151, in _makeMetadata
    md.run(path)
  File "/usr/lib/python2.7/site-packages/mash/metadata.py", line 285, in run
2019-11-27 11:21:26 mash: Waiting for file copy and createrepo to finish...
    self.obj.run(path)
  File "/usr/lib/python2.7/site-packages/mash/metadata.py", line 220, in run
    self.repomatic = createrepo.MetaDataGenerator(self.conf)
  File "/usr/lib/python2.7/site-packages/createrepo/__init__.py", line 176, in __init__
    self._test_setup_dirs()
  File "/usr/lib/python2.7/site-packages/createrepo/__init__.py", line 275, in _test_setup_dirs
Could not find valid repo at: /mash/cern8-testing/x86_64/debug
    raise MDError, _('Error: groupfile %s cannot be found.' % a)
createrepo.utils.MDError: Error: groupfile /mash/cern8-testing/x86_64/os/comps.xml cannot be found.
...

I take it mash should copy the comps.xml file I gave it to the correct place before running createrepo, but it isn't doing so. Is this a known issue, or have I misunderstood something?


Ok, I just realized that the -f option works correctly is you pass it the full path of the comps.xml, but not if you just give it a relative path...

Login to comment on this ticket.

Metadata