#1317 slightly confusing error with rpkg srpm build method when subdirectory does not exist
Closed: Fixed 4 years ago by praiskup. Opened 4 years ago by clime.

Hello,

I was doing the following SCM build:

Source Type: Build from an SCM repository
SCM type: git
Clone URL: https://pagure.io/rpkg-util
Subdirectory: rpkg-macros
Build SRPM with: rpkg

and it ended up like this:

https://download.copr.fedorainfracloud.org/results/clime/rpkg-util/srpm-builds/01313586/builder-live.log.gz

Running: rpkg srpm --outdir /tmp/copr-rpmbuild-e827voqj --spec /tmp/copr-rpmbuild-e827voqj/obtain-sources/rpkg-util/rpkg-macros

Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/copr_rpmbuild/helpers.py", line 59, in run_cmd
    cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=cwd, preexec_fn=preexec_fn)
  File "/usr/lib64/python3.7/subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.7/subprocess.py", line 1551, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/copr-rpmbuild-e827voqj/obtain-sources/rpkg-util/rpkg-macros': '/tmp/copr-rpmbuild-e827voqj/obtain-sources/rpkg-util/rpkg-macros'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/copr-rpmbuild", line 129, in main
    action(args, config)
  File "/usr/bin/copr-rpmbuild", line 218, in build_srpm
    produce_srpm(task, config, resultdir)
  File "/usr/bin/copr-rpmbuild", line 158, in produce_srpm
    provider.produce_srpm()
  File "/usr/lib/python3.7/site-packages/copr_rpmbuild/providers/scm.py", line 121, in produce_srpm
    return run_cmd(cmd, cwd=self.repo_subpath)
  File "/usr/lib/python3.7/site-packages/copr_rpmbuild/helpers.py", line 62, in run_cmd
    raise RuntimeError("Package with `{}` command is not installed".format(cmd[0]))
Runtime Error: Package with `rpkg` command is not installed

The problem is that I specified directory wrong - it should have been just macros instead of rpkg-macros.

It is reported in the error message by the FileNotFoundError but I didn't notice it because I was more focused on the bottom error Runtime Error: Package with `rpkg` command is not installed, which I thought meant rpkg package is not installed on the builder.

Would it be possible not to throw that second (bottom) exception and just end with the FileNotFoundError?


I looked into code to make things easier for you. I think this commit here: https://pagure.io/copr/copr/c/4bd5969d3801ff9efc344f8a20e0eddbf582ed9f
might be why it behaves this way...

Metadata Update from @praiskup:
- Issue tagged with: bug

4 years ago

There already is d78149d for some time,
so this is basically waiting for release. Thanks for the report, anyways!

Metadata Update from @praiskup:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

4 years ago

Login to comment on this ticket.

Metadata