Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable build of RPMs on RHEL 8 #18421

Closed
Steve973 opened this issue May 2, 2023 · 5 comments · Fixed by #18465
Closed

Enable build of RPMs on RHEL 8 #18421

Steve973 opened this issue May 2, 2023 · 5 comments · Fixed by #18465
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. Packaging Bug is in a Podman package

Comments

@Steve973
Copy link

Steve973 commented May 2, 2023

Feature request description

RHEL 8.6 app streams include a version of Podman that is nearly a year old, so I want to be able to build an RPM to install a newer version of Podman on RHEL 8.6 and RHEL 8.7 servers. I have tried cloning the repository and building on the machine (directly), as well as creating a RHEL 8.6 container with installed dependencies for building. The problem that I am running into when issuing make package is that rpkg-utils is no longer available. I can install fedpkg, but I have not had success in building an RPM.

Suggest potential solution

Provide instructions, at a minimum, for RPM building on various platforms including RHEL 8.x. Consider moving away from rpkg-utils, since it is no longer maintained.

Have you considered any alternatives?

If there are compatible RPMs for RHEL 8.6, I will try them. However, I do not see any RPMs in the assets that are produced by the builds.

Additional context

Add any other context or screenshots about the feature request here.

@Steve973 Steve973 added the kind/feature Categorizes issue or PR as related to a new feature. label May 2, 2023
@rhatdan
Copy link
Member

rhatdan commented May 2, 2023

@lsm5 PTAL

@Luap99 Luap99 added the Packaging Bug is in a Podman package label May 3, 2023
@lsm5
Copy link
Member

lsm5 commented May 3, 2023

@Steve973 i'm working on switching our downstream Fedora process to a packit workflow, starting with container-selinux at containers/container-selinux#232 . The spec file present upstream, currently podman.spec.rpkg and soon rpm/podman.spec (see the container-selinux PR for the relevant change there) will be buildable on all active environments (fedora rawhide to rhel 8).

So, with that spec file, it might be easiest for you to stand up your own copr repo and have it autobuild rpms. Would that work for you? I think I could also update make package or add a make rpm to build using the new spec file.

@Steve973
Copy link
Author

Steve973 commented May 3, 2023

@Steve973 i'm working on switching our downstream Fedora process to a packit workflow, starting with container-selinux at containers/container-selinux#232 . The spec file present upstream, currently podman.spec.rpkg and soon rpm/podman.spec (see the container-selinux PR for the relevant change there) will be buildable on all active environments (fedora rawhide to rhel 8).

So, with that spec file, it might be easiest for you to stand up your own copr repo and have it autobuild rpms. Would that work for you? I think I could also update make package or add a make rpm to build using the new spec file.

I'm on an enclave, although this repo gets pulled up on some schedule that I'm not entirely aware of. At least at this point, I'd like to build on demand, so however I can achieve that, I'd be happy with it. I'd really like to get the fixes for init containers (that have been merged since 4.2.0) so that I can use them with my project when using podman kube play. I will try whatever is the simplest solution you can recommend. Thanks for looking into this.

@lsm5
Copy link
Member

lsm5 commented May 3, 2023

@Steve973 ack, got it. Given I'm in the middle of a build process change, hope you're cool with waiting a little longer. I'll have a PR up in a bit, with a new Makefile target to build on demand.

@Steve973
Copy link
Author

Steve973 commented May 3, 2023

@lsm5 Thanks. It will happen when it happens. I can still build the source, but I just can't create RPMs. I could work around that, in the meantime, if I need to.

lsm5 added a commit to lsm5/podman that referenced this issue May 23, 2023
Get rid of `podman.spec.rpkg` in favour of
`rpm/podman.spec` which gets synced with fedora dist-git on every
upstream release. The version in the new spec file is set to `0` by
default and gets updated by packit automatically on every packit task.

For local manual rpm builds using the spec, the helper script in the
`rpm/` subdir will update the Version field with the latest version
found in the upstream repo.

Packit will automatically create a PR on fedora dist-git on every new
upstream release. A sample PR will look like:
https://src.fedoraproject.org/rpms/container-selinux/pull-request/10#

A dry run for this can be triggered using:
`$ packit propose-downstream --local-content`

To run this command locally, you would need to have your packit
user-configuration-file set.
Ref: https://packit.dev/docs/configuration/#user-configuration-file

along with a fedora api key created at:
https://src.fedoraproject.org/settings#nav-api-tab with sufficient ACLs.

Also includes a revised `package` Makefile target which will build rpms
using `rpm/podman.spec`. Fixes: containers#18421.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <[email protected]>
lsm5 added a commit to lsm5/podman that referenced this issue May 24, 2023
Get rid of `podman.spec.rpkg` in favour of
`rpm/podman.spec` which gets synced with fedora dist-git on every
upstream release. The version in the new spec file is set to `0` by
default and gets updated by packit automatically on every packit task.

For local manual rpm builds using the spec, the helper script in the
`rpm/` subdir will update the Version field with the latest version
found in the upstream repo.

Packit will automatically create a PR on fedora dist-git on every new
upstream release. A sample PR will look like:
https://src.fedoraproject.org/rpms/container-selinux/pull-request/10#

A dry run for this can be triggered using:
`$ packit propose-downstream --local-content`

To run this command locally, you would need to have your packit
user-configuration-file set.
Ref: https://packit.dev/docs/configuration/#user-configuration-file

along with a fedora api key created at:
https://src.fedoraproject.org/settings#nav-api-tab with sufficient ACLs.

Also includes a revised `package` Makefile target which will build rpms
using `rpm/podman.spec`. Fixes: containers#18421.

[NO NEW TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <[email protected]>
(cherry picked from commit 6003dca)
Signed-off-by: Lokesh Mandvekar <[email protected]>
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Aug 23, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. Packaging Bug is in a Podman package
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants