[opensuse-buildservice] how to copy foreign noarch packages into target repository?
Following the example of Virtualization/qemu-aggregate, I added this to prjconf: ExportFilter: ^grub.*\.noarch\.rpm$ . i586 armv7l aarch64 ppc ppc64 ppc64le s390x x86_64 This home:olh:ai/grub2-aggregate/_aggregate exists: <aggregatelist> <aggregate project="SUSE:SLE-15-SP1:Update"> <package>grub2.14406</package> <binary>grub2-powerpc-ieee1275</binary> <binary>grub2-arm64-efi</binary> <repository source="standard" target="grub2_mknetdir" /> </aggregate> </aggregatelist> This repository exists: <repository name="grub2_mknetdir"> <path project="SUSE:SLE-15-SP1:Update" repository="standard"/> <arch>x86_64</arch> </repository> The result is: no binaries in the 'grub2-aggregate' pkg. I tried various variants, like temporary adding <arch>ppc64le</arch> to the repository. This did apparently trigger the creation of "::import::ppc64le::grub2-powerpc-ieee1275.noarch.rpm", the rpm remains even with arch removed. However, where is the arm binary package? Are the steps above enough import foreign packages for further processing? Olaf
Hi Olaf, On Wed, 2020-04-08 at 17:25 +0200, Olaf Hering wrote:
Following the example of Virtualization/qemu-aggregate, I added this to prjconf:
ExportFilter: ^grub.*\.noarch\.rpm$ . i586 armv7l aarch64 ppc ppc64 ppc64le s390x x86_64
<snip/>
The result is: no binaries in the 'grub2-aggregate' pkg.
I tried various variants, like temporary adding <arch>ppc64le</arch> to the repository. This did apparently trigger the creation of "::import::ppc64le::grub2-powerpc-ieee1275.noarch.rpm", the rpm remains even with arch removed. However, where is the arm binary package?
Are the steps above enough import foreign packages for further processing?
Disclaimer: I've not worked (extensively) with aggregatelists, but I've seen quite a few of them and have read some of the backend code about them. I could be wrong here and have not tested what I've written below. From what I understand, you need to have one <arch> element for each of those architectures. For ExportFilter to completely work, you need "succeeded" build status for each of the architectures you are wishing to export which would indicate binaries were downloaded successfully. If an <arch> is not defined for the repository, then the binary for that architecture will not be downloaded by the scheduler to be exported. Hence, I believe, you need the following repository in your meta: <repository name="grub2_mknetdir"> <path project="SUSE:SLE-15-SP1:Update" repository="standard"/> <arch>x86_64</arch> <arch>aarch64</arch> <arch>ppc64le</arch> <arch>s390x</arch> </repository> I'm assuming you are working in the IBS since I couldn't find any binaries on the OBS for SUSE:SLE-15-SP1:Update/grub2.14406. I checked on SCC and found that there are only 4 supported architectures for SLES15 SP1. Hence, I've included above 4 architectures. If there are more architectures available to you through the IBS, you may have to include those architectures as well. Hope this helps, Srinidhi.
On Apr 08 2020, Olaf Hering wrote:
This home:olh:ai/grub2-aggregate/_aggregate exists: <aggregatelist> <aggregate project="SUSE:SLE-15-SP1:Update"> <package>grub2.14406</package> <binary>grub2-powerpc-ieee1275</binary> <binary>grub2-arm64-efi</binary> <repository source="standard" target="grub2_mknetdir" /> </aggregate> </aggregatelist>
Since the target repository has only the x86_64 architecture, and SUSE:SLE-15-SP1:Update/grub2.14406/standard/x86_64 has neither a grub2-powerpc-ieee1275 nor a grub2-arm64-efi binary, there is nothing to aggregate. An aggregate can only copy between identical architectures. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Andreas Schwab
-
Olaf Hering
-
Srinidhi B