Koji is a utility that
uses a scratch package to build a testing environment for the source RPM file,
which to verify whether the source RPM file fits into different computer architectures,
such as, ARM, IBM, and power PC. Koji is a necessary environment for testing
the source RPM file because it can verify the compatibility issue of the source
RPM file before releases it. This could effectively enhance the stability
for the source package in term of usability in different architectures. Before we use koji to test our source RPM
file, we actually need to create fedora account in here https://admin.fedoraproject.org/accounts/ for authorizing and evaluating our testers’ identity.
1)
First, this is the
syntax of the koji command “koji build TargetPlatform --scratch sourceRPMfile”
# TargetPlatform means
what platform we need to test, such as, f17, f18, f18-gnome,
f19, and el6-candidate,
etc.
# -- scratch is the key
word means to ask koji to build the package but not tag it for the target
# the sourceRPMfile is your
source that prepares for testing
After I issue the command of “koji build f17 --scratch
wget-1.13.4-2.fc17.src.rpm”, then the testing source package will upload to
fedora server in this address http://koji.fedoraproject.org/koji/tasks
. You can find your task number after
executes the command. Based on the task
number, you can find out your package building status from koji.fedora server.
If the command line returns feedback that says build completed successfully and
it means that the process of your package testing runs without any errors and
passes the testing based on the two basic architectures of x86_64 and
i686. This process is about to take 3 minutes
to finish, and the mock building times for this package uses 5 minutes. Below is the output;
[root@localhost SRPMS]# koji
build f17 --scratch wget-1.13.4-2.fc17.src.rpm
Uploading srpm:
wget-1.13.4-2.fc17.src.rpm
[====================================]
100% 00:00:19 1.86 MiB 99.16 KiB/sec
Created task: 4567716
Task info:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4567716
Watching tasks (this may
be safely interrupted)...
4567716 build (f17,
wget-1.13.4-2.fc17.src.rpm): free
4567718 buildArch
(wget-1.13.4-2.fc17.src.rpm, i686): free
4567717 buildArch
(wget-1.13.4-2.fc17.src.rpm, x86_64): open (buildvm-13.phx2.fedoraproject.org)
4567718 buildArch
(wget-1.13.4-2.fc17.src.rpm, i686): free -> open
(buildvm-06.phx2.fedoraproject.org)
4567717 buildArch
(wget-1.13.4-2.fc17.src.rpm, x86_64): open (buildvm-13.phx2.fedoraproject.org)
-> closed
0 free 2 open
1 done 0 failed
4567718 buildArch
(wget-1.13.4-2.fc17.src.rpm, i686): open (buildvm-06.phx2.fedoraproject.org)
-> closed
0 free 1 open
2 done 0 failed
4567716 build (f17,
wget-1.13.4-2.fc17.src.rpm): open (ppc12.phx2.fedoraproject.org) -> closed
0 free 0 open
3 done 0 failed
4567716 build (f17,
wget-1.13.4-2.fc17.src.rpm) completed successfully
2)
Follow this solution, we can test the
same package throughout different architectures, such IBM, and uses follow
command of “S390-koji
build f17 --scratch wget-1.13.4-2.fc17.src.rpm”. The task status will up load
to http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=whateveryourtasknumber for testing the source RPM package in IBM platform. This process takes longer than others in general as least in my attempt
because it depends how many people are actually using the testing services in
the fedora server end. The testing will exam IBM s390 and s390x platform if it finishes successfully, then the result should look
similar like below example.
[root@localhost SRPMS]#
s390-koji build f17 --scratch wget-1.13.4-2.fc17.src.rpm
Uploading srpm:
wget-1.13.4-2.fc17.src.rpm
[====================================]
100% 00:00:20 1.86 MiB 91.00 KiB/sec
Created task: 827832
Task info:
http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=827832
Watching tasks (this may
be safely interrupted)...
827832 build (f17,
wget-1.13.4-2.fc17.src.rpm): free
827832 build (f17,
wget-1.13.4-2.fc17.src.rpm): free -> open (fedora3.s390.bos.redhat.com)
827833 buildArch (wget-1.13.4-2.fc17.src.rpm,
s390): free
827834
buildArch (wget-1.13.4-2.fc17.src.rpm, s390x): free
827833 buildArch (wget-1.13.4-2.fc17.src.rpm,
s390): free -> open (fedora2.s390.bos.redhat.com)
827834 buildArch (wget-1.13.4-2.fc17.src.rpm,
s390x): free -> open (fedora1.s390.bos.redhat.com)
827834 buildArch (wget-1.13.4-2.fc17.src.rpm,
s390x): open (fedora1.s390.bos.redhat.com) -> closed
0 free
2 open 1 done 0 failed
827833 buildArch (wget-1.13.4-2.fc17.src.rpm,
s390): open (fedora2.s390.bos.redhat.com) -> closed
0 free
1 open 2 done 0 failed
827832 build (f17,
wget-1.13.4-2.fc17.src.rpm): open (fedora3.s390.bos.redhat.com) -> closed
0 free
0 open 3 done 0 failed
827832 build (f17,
wget-1.13.4-2.fc17.src.rpm) completed successfully
3)
Then, we can try to test the package in power PC to see whether it
works or not. I uses the command of “ppc-koji build f17 --scratch wget-1.13.4-2.fc17.src.rpm” to test the package in
power pc environment. The task status can be found in the link of http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=whateveryourtasknumber. The testing case will exam the ppc 32bit and 64bit system. If it
finishes successfully, then the result should look similar like below example.
[root@localhost SRPMS]#
ppc-koji build f17 --scratch wget-1.13.4-2.fc17.src.rpm
Uploading srpm:
wget-1.13.4-2.fc17.src.rpm
[====================================]
100% 00:00:22 1.86 MiB 85.16 KiB/sec
Created task: 728977
Watching tasks (this may
be safely interrupted)...
728977 build (f17,
wget-1.13.4-2.fc17.src.rpm): free
728977 build (f17,
wget-1.13.4-2.fc17.src.rpm): free -> open (ppc-builder6)
728978 buildArch (wget-1.13.4-2.fc17.src.rpm,
ppc): free
728979 buildArch (wget-1.13.4-2.fc17.src.rpm,
ppc64): free
728978 buildArch (wget-1.13.4-2.fc17.src.rpm,
ppc): free -> open (ppc-builder6)
728979 buildArch (wget-1.13.4-2.fc17.src.rpm,
ppc64): free -> open (ppc-builder6)
728978 buildArch (wget-1.13.4-2.fc17.src.rpm,
ppc): open (ppc-builder6) -> closed
0 free
2 open 1 done 0 failed
728979 buildArch (wget-1.13.4-2.fc17.src.rpm,
ppc64): open (ppc-builder6) -> closed
0 free
1 open 2 done 0 failed
728977 build (f17,
wget-1.13.4-2.fc17.src.rpm): open (ppc-builder6) -> closed
0 free
0 open 3 done 0 failed
4)
The
last attempt is to test arm architectures of armv5tel and armv7hl. I use command of “arm-koji build f17 --scratch wget-1.13.4-2.fc17.src.rpm”
for testing rpm package. The process takes around 6
minutes to completing the testing. As the example below, the test result can be
found from here: http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=1178537
[root@localhost SRPMS]#
arm-koji build f17 --scratch wget-1.13.4-2.fc17.src.rpm
Uploading srpm:
wget-1.13.4-2.fc17.src.rpm
[====================================]
100% 00:00:34 1.86 MiB 55.98 KiB/sec
Created task: 1178537
Task info:
http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=1178537
Watching tasks (this may
be safely interrupted)...
1178537 build (f17,
wget-1.13.4-2.fc17.src.rpm): free
1178537 build (f17,
wget-1.13.4-2.fc17.src.rpm): free -> open (hsv-yosemite-1-4-v5tel)
1178539 buildArch
(wget-1.13.4-2.fc17.src.rpm, armv5tel): free
1178538 buildArch
(wget-1.13.4-2.fc17.src.rpm, armv7hl): free
1178538 buildArch (wget-1.13.4-2.fc17.src.rpm,
armv7hl): free -> open (cdot-panda-12-2-v7hl)
1178539 buildArch
(wget-1.13.4-2.fc17.src.rpm, armv5tel): free -> open (cdot-panda-6-1)
1178539 buildArch
(wget-1.13.4-2.fc17.src.rpm, armv5tel): open (cdot-panda-6-1) -> closed
0 free
2 open 1 done 0 failed
1178538 buildArch
(wget-1.13.4-2.fc17.src.rpm, armv7hl): open (cdot-panda-12-2-v7hl) -> closed
0 free
1 open 2 done 0 failed
1178537 build (f17,
wget-1.13.4-2.fc17.src.rpm): open (hsv-yosemite-1-4-v5tel) -> closed
0 free
0 open 3 done 0 failed
1178537 build (f17,
wget-1.13.4-2.fc17.src.rpm) completed successfully
No comments:
Post a Comment