#296 Add support for container updates
Closed: Fixed a year ago Opened a year ago by cverna.

It is now possible to use bodhi for container but when trying to create an update with fedpkg, it give the following error

 [cverna@laptop]  [f28] $ fedpkg update
Could not execute update: No spec file found.

It's because the update template needs NVR. The version and release parts are retrieved from the spec file. How can that data be obtained for containers?

Also what would be a good container repo with representative content?

It's because the update template needs NVR. The version and release parts are retrieved from the spec file. How can that data be obtained for containers?

The version is available in the Dockerfile (https://src.fedoraproject.org/container/origin-base/blob/f28/f/Dockerfile#_10), the release is automatically generated by OSBS.

Also what would be a good container repo with representative content?

you can look at https://src.fedoraproject.org/container/origin-base/tree/f28

I see, so it's not really possible to get NVR from local data in the repo. Fixing this will probably require a new command line argument where user would have to specify the NVR, which is not great UX.

Can you re-run the command as fedpkg -v -d update and post the traceback to make sure my guess above is correct?

I see, so it's not really possible to get NVR from local data in the repo. Fixing this will probably require a new command line argument where user would have to specify the NVR, which is not great UX.

Maybe just leaving the template empty and require the user to enter these information is acceptable

Can you re-run the command as fedpkg -v -d update and post the traceback to make sure my guess above is correct?

Sure

~/rpmbuild/CONTAINERS/cockpit
 [cverna@laptop]  [f28] $ fedpkg -v -d update 
Creating repo object from /home/cverna/rpmbuild/CONTAINERS/cockpit
Could not execute update: No spec file found.
Traceback (most recent call last):
  File "/usr/bin/fedpkg", line 11, in <module>
    load_entry_point('fedpkg==1.35', 'console_scripts', 'fedpkg')()
  File "/usr/lib/python3.7/site-packages/fedpkg/__main__.py", line 94, in main
    sys.exit(client.args.command())
  File "/usr/lib/python3.7/site-packages/fedpkg/cli.py", line 705, in update
    ready = self._prepare_bodhi_template(bodhi_template_file)
  File "/usr/lib/python3.7/site-packages/fedpkg/cli.py", line 644, in _prepare_bodhi_template
    'nvr': self.cmd.nvr,
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 718, in nvr
    self.load_nvr()
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 724, in load_nvr
    self._nvr = '%s-%s-%s' % (self.repo_name, self.ver, self.rel)
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 1061, in ver
    self.load_nameverrel()
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 742, in load_nameverrel
    '--specfile', '"%s"' % os.path.join(self.path, self.spec)])
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 840, in spec
    self.load_spec()
  File "/usr/lib/python3.7/site-packages/pyrpkg/__init__.py", line 860, in load_spec
    raise rpkgError('No spec file found.')
pyrpkg.errors.rpkgError: No spec file found.

That is a good suggestion, users can just fill it in the template. PR #297 should fix the problem (it at least allows me to fill the template in, I did not test submitting it).

Metadata Update from @onosek:
- Issue set to the milestone: 1.36

a year ago

Login to comment on this ticket.

Metadata
Related Pull Requests
  • #297 Merged a year ago