While building two related new packages for EPEL9 with a chainbuild, the second one failed, however, now I am trying to work out how to specify the completed package in the build for the second package.
I have tried creating a side-tag and add the completed build to the side-tag, then building the second package in that side-tag, but it still claims that it can't find the first package, which it requires to build.
What is the correct sequence to do this for an EPEL9 build, or do I have to wait until the first package gets pushed to the stable before I can now build the second?
Regards Frank
n 22/08/27 04:03PM, Frank Crawford wrote:
While building two related new packages for EPEL9 with a chainbuild, the second one failed, however, now I am trying to work out how to specify the completed package in the build for the second package.
I have tried creating a side-tag and add the completed build to the side-tag, then building the second package in that side-tag, but it still claims that it can't find the first package, which it requires to build.
Can you please provide more information? What are the builds/packages? What commands did you run? How did you add the first package to the side tag? Did you wait for the side tag repo to refresh before trying to build the second package?
do I have to wait until the first package gets pushed to the stable before I can now build the second?
No, that is not necessary. There are multiple ways to build against packages that have not yet reached stable.
On Sat, 2022-08-27 at 14:58 -0500, Maxwell G via epel-devel wrote:
n 22/08/27 04:03PM, Frank Crawford wrote:
While building two related new packages for EPEL9 with a chainbuild, the second one failed, however, now I am trying to work out how to specify the completed package in the build for the second package.
I have tried creating a side-tag and add the completed build to the side-tag, then building the second package in that side-tag, but it still claims that it can't find the first package, which it requires to build.
Can you please provide more information? What are the builds/packages? What commands did you run? How did you add the first package to the side tag? Did you wait for the side tag repo to refresh before trying to build the second package?
I think you answered my issue here, I did not allow sufficient time for the repo to refresh before submitting the second build.
For reference, the packages were python-zipp-0.5.1-1.el9 and python- importlib-metadata-4.6.3-2.el9 and the commands I ran were:
fedpkg request-side-tag koji wait-repo <tag> koji tag-pkg <tag> python-zipp-0.5.1-1.el9 fedpkg build --target=<tag>
It looks like I needed to do another "koji wait-repo <tag>" between the tag-pkg and build, but I will say that it is not obvious in any of the documentation I could find, that this needed.
do I have to wait until the first package gets pushed to the stable before I can now build the second?
No, that is not necessary. There are multiple ways to build against packages that have not yet reached stable.
Anyway, thanks for your help.
Regards Frank
On Sun, Aug 28, 2022 at 07:38:31PM +1000, Frank Crawford wrote:
On Sat, 2022-08-27 at 14:58 -0500, Maxwell G via epel-devel wrote:
n 22/08/27 04:03PM, Frank Crawford wrote:
While building two related new packages for EPEL9 with a chainbuild, the second one failed, however, now I am trying to work out how to specify the completed package in the build for the second package.
I have tried creating a side-tag and add the completed build to the side-tag, then building the second package in that side-tag, but it still claims that it can't find the first package, which it requires to build.
Can you please provide more information? What are the builds/packages? What commands did you run? How did you add the first package to the side tag? Did you wait for the side tag repo to refresh before trying to build the second package?
I think you answered my issue here, I did not allow sufficient time for the repo to refresh before submitting the second build.
For reference, the packages were python-zipp-0.5.1-1.el9 and python- importlib-metadata-4.6.3-2.el9 and the commands I ran were:
fedpkg request-side-tag koji wait-repo <tag> koji tag-pkg <tag> python-zipp-0.5.1-1.el9 fedpkg build --target=<tag>
It looks like I needed to do another "koji wait-repo <tag>" between the tag-pkg and build, but I will say that it is not obvious in any of the documentation I could find, that this needed.
:( Which documentation were you looking at for this? We should try and update it...
The wait repo is needed because you added a build and now it needs to regenerate the repodata to include it.
kevin
Kevin,
On Mon, 2022-08-29 at 13:07 -0700, Kevin Fenzi wrote:
On Sun, Aug 28, 2022 at 07:38:31PM +1000, Frank Crawford wrote:
...
I think you answered my issue here, I did not allow sufficient time for the repo to refresh before submitting the second build.
For reference, the packages were python-zipp-0.5.1-1.el9 and python- importlib-metadata-4.6.3-2.el9 and the commands I ran were:
fedpkg request-side-tag koji wait-repo <tag> koji tag-pkg <tag> python-zipp-0.5.1-1.el9 fedpkg build --target=<tag>
It looks like I needed to do another "koji wait-repo <tag>" between the tag-pkg and build, but I will say that it is not obvious in any of the documentation I could find, that this needed.
:( Which documentation were you looking at for this? We should try and update it...
The document I used was https://docs.fedoraproject.org/en-US/package-maintainers/Package_Update_Guid...
It was the only place I could find that really talked about side-tags, and wait-repo looks only mentioned in passing. Once you know it is needed it is more obvious, but not if you haven't used them much before.
The wait repo is needed because you added a build and now it needs to regenerate the repodata to include it.
kevin
Regards Frank
On Sat, Sep 03, 2022 at 08:32:47PM +1000, Frank Crawford wrote:
The document I used was https://docs.fedoraproject.org/en-US/package-maintainers/Package_Update_Guid...
It was the only place I could find that really talked about side-tags, and wait-repo looks only mentioned in passing. Once you know it is needed it is more obvious, but not if you haven't used them much before.
Well, it does say:
"The latter is important if any builds depend on previous ones in the side tag. Use koji wait-repo --build <package-nvr> <side-tag> to ensure that the respective build is available in the build root for subsequent builds. "
But if you can see a way to be more clear there, perhaps you could put in a PR?
kevin
On Sun, 2022-09-04 at 17:18 -0700, Kevin Fenzi wrote:
On Sat, Sep 03, 2022 at 08:32:47PM +1000, Frank Crawford wrote:
The document I used was https://docs.fedoraproject.org/en-US/package- maintainers/Package_Update_Guide/#multiple_packages
It was the only place I could find that really talked about side- tags, and wait-repo looks only mentioned in passing. Once you know it is needed it is more obvious, but not if you haven't used them much before.
Well, it does say:
"The latter is important if any builds depend on previous ones in the side tag. Use koji wait-repo --build <package-nvr> <side-tag> to ensure that the respective build is available in the build root for subsequent builds. "
But if you can see a way to be more clear there, perhaps you could put in a PR?
I'll see what I can do, but the issue is more about understanding what is happening in the background than just the wording. Now seeing it fail it is obvious that each side-tag has its own repo, and this is waiting for it to be created, but prior to sitting back and thinking what has to go on the term "wait-repo" is just an extra step.
What seems to be really missing is some details of what is happening in the background rather than a list of commands that are important.
As I said earlier, there seems to be very little documentation anywhere, on what a side-tag actually is, or what it does. Naively, I assumed just added an extra tag, and that is all.
kevin
Regards Frank
epel-devel@lists.fedoraproject.org