What's the correct way to configure koji and friends to build i386 arch packages to an i686 target such as Fedora 12? I don't see any documentation on the Wiki and I don't see anything obvious to configure this.
Thanks, Michael
On 02/09/2010 11:38 AM, Michael Cronenworth wrote:
What's the correct way to configure koji and friends to build i386 arch packages to an i686 target such as Fedora 12? I don't see any documentation on the Wiki and I don't see anything obvious to configure this.
The koji build task determines the arches to build from: - the srpm headers - the build tag - the package entry ("extra" arches) - the --arch-override option (for scratch builds)
The details are in the getArchList function, and they are a little detailed. Let me try to sum up:
1) We start with the arch list for the build tag and adding any extra arches for the package. This is the base arch list.
2) If the srpm has buildarchs data, this /replaces/ the base arch list.
3) excludesivearch and excludearch data from the srpm are used to filter the base arch list (with a little bit of magic to make noarch work right).
4) At this point, if an arch override applies, it replaces the current filtered list.
5) The list is filtered against the build tag's arch list. Any arches whose canonical* arch do not match a canonical entry from the tag's arch list are removed. Also, any duplicates are removed. This is the final result.
* The canonical arch is a mapping that koji performs to group like arches. For the most part, the canonical arch is the arch of a buildroot. Anytime you need to figure out which arch-dir of a buildroot use, that arch is canonicalized. i686 packages go into the i386 buildroot, so the canonical arch of i686 is i386.
So, if your build tag has i686 in the arch list and you want to build for i386, you can either: - Set the Buildarchs macro to override the base arch list - for scratch builds, just use --arch-override Your i386 arch won't be filtered out in step 5 because it does match the tag's arch list, modulo canonicalization.
Hi guys,
I have run my own Koji on Fedora 11. I was testing the signing stuff and got a problem:
I built a test1 rpm for my fedora 10 tag, downloaded it to a client machine, with "koji download-build", then signed it locally. Then I imported the signed rpm to the server with "koji import-sig".
I see that koji created an directory in "/mnt/koji/packages/test1/1/1.fc10/data/sigcache" named with the Key ID and created a .sig file there. But when I look for signed packages in the Fedora 10 tag with "koji list-signed", Koji shows nothing (koji list-signed ). Debuging the command, it shows:
getting tag listing got tag listing ... No copy: /mnt/koji/packages/test1/1/1.fc10/data/signed//src/test1-1-1.fc10.src.rpm No copy: /mnt/koji/packages/test1/1/1.fc10/data/signed//x86_64/test1-1-1.fc10.x86_64.rpm No copy: /mnt/koji/packages/test1/1/1.fc10/data/signed//i386/test1-1-1.fc10.i386.rpm No copy: /mnt/koji/packages/test1/1/1.fc10/data/signed/c776ad20/i386/test1-1-1.fc10.i386.rpm ...
Is this a bug ? Seems that Koji is looking in the wrong place ("signed" directory). Have I forgot to configure something ? Or did I do something wrong ?
Appreciate any help
Regards
Rodrigo Trujillo Software Engineer Linux Technology Center - Brasil
On Fri, 2010-02-12 at 17:29 -0200, rotru@br.ibm.com wrote:
I built a test1 rpm for my fedora 10 tag, downloaded it to a client machine, with "koji download-build", then signed it locally. Then I imported the signed rpm to the server with "koji import-sig".
You missed the koji write-signed-rpm
That will instruct koji to combine the cached signed header with the rest of the rpm for a signed copy. This is a separate action as it does double your disk space usage for each build you write out.
On 02/12/2010 04:50 PM, Jesse Keating wrote:
On Fri, 2010-02-12 at 17:29 -0200, rotru@br.ibm.com wrote:
I built a test1 rpm for my fedora 10 tag, downloaded it to a client machine, with "koji download-build", then signed it locally. Then I imported the signed rpm to the server with "koji import-sig".
You missed the koji write-signed-rpm
That will instruct koji to combine the cached signed header with the rest of the rpm for a signed copy. This is a separate action as it does double your disk space usage for each build you write out.
To be fair, the list-signed output could be more helpful wrt cached sig vs signed copy. I've filed a ticket to remind myself to improve it https://fedorahosted.org/koji/ticket/170
buildsys@lists.fedoraproject.org