Building EL6 with koji/mock on a EL5.5 host
Mike Bonnet
mikeb at redhat.com
Thu Jan 6 14:31:05 UTC 2011
On 01/06/2011 12:43 AM, Brian_Kosick at McAfee.com wrote:
> Fantastic, that really helped, I upgraded my koji instance from 1.4->1.6, built/added a RH6 builder box and added the [policy] entry to hub.conf... It works beautifully. (Also I noticed that there wasn't a 1.5->1.6 schema file. I'm assuming that there weren't any schema changes) I just need to figure out this build error on the el6 builder box.
>
> Traceback (most recent call last):
> File "/usr/sbin/mock", line 783, in <module>
> main(retParams)
> File "/usr/sbin/mock", line 693, in main
> uid=chroot.chrootuid, gid=chroot.chrootgid, cwd=options.cwd)
> File "/usr/lib/python2.6/site-packages/mock/backend.py", line 422, in doChroot
> shell=shell, *args, **kargs )
> File "<peak.util.decorators.rewrap wrapping mock.util.do at 0x00DB0488>", line 3, in do
> File "/usr/lib/python2.6/site-packages/mock/trace_decorator.py", line 70, in trace
> result = func(*args, **kw)
> File "/usr/lib/python2.6/site-packages/mock/util.py", line 281, in do
> preexec_fn = preexec,
> File "/usr/lib64/python2.6/subprocess.py", line 633, in __init__
> errread, errwrite)
> File "/usr/lib64/python2.6/subprocess.py", line 1139, in _execute_child
> raise child_exception
> OSError: [Errno 13] Permission denied
Make sure "make" is in the srpm-build group for your build tag. "koji
list-groups <build-tag>" will tell you what's currently in the group.
> Running the command manually and adding the --trace and -vvv flags...
> /usr/bin/mock -r koji/el6-extras-build-3660-5581 --no-clean --unpriv --cwd /tmp/scmroot/postgresql-9.0.2 --chroot make sources -vvvvv --trace
> .....
> DEBUG: mount -n -t sysfs mock_chroot_sysfs /var/lib/mock/el6-extras-build-3660-5581/root/sys
> INFO: ENTER do('mount -n -t sysfs mock_chroot_sysfs /var/lib/mock/el6-extras-build-3660-5581/root/sys', True, None, None, 0, True, 0, None, None, None, )
> DEBUG: Executing command: mount -n -t sysfs mock_chroot_sysfs /var/lib/mock/el6-extras-build-3660-5581/root/sys
> DEBUG: Child returncode was: 0
> INFO: LEAVE do -->
>
> INFO: LEAVE _mountall --> None
>
> INFO: ENTER makeChrootPath(<mock.backend.Root object at 0x1237b50>, )
> INFO: LEAVE makeChrootPath --> /var/lib/mock/el6-extras-build-3660-5581/root/
>
> INFO: ENTER do(['make', 'sources'], False, '/var/lib/mock/el6-extras-build-3660-5581/root/', '/tmp/scmroot/postgresql-9.0.2', 0, True, 0, 500, 495, None, )
> DEBUG: Executing command: ['make', 'sources']
> INFO: EXCEPTION: [Errno 13] Permission denied
> Traceback (most recent call last):
> File "/usr/lib/python2.6/site-packages/mock/trace_decorator.py", line 70, in trace
> result = func(*args, **kw)
> File "/usr/lib/python2.6/site-packages/mock/util.py", line 281, in do
> preexec_fn = preexec,
> File "/usr/lib64/python2.6/subprocess.py", line 633, in __init__
> errread, errwrite)
> File "/usr/lib64/python2.6/subprocess.py", line 1139, in _execute_child
> raise child_exception
> OSError: [Errno 13] Permission denied
> INFO: LEAVE do --> EXCEPTION RAISED
>
> .......
> I verified that my kojibuilder user is added to the mock group. Anyone have a suggestion? I also noticed that there's new koji-vm code. The rpm description says "koji-vm contains a supplemental build daemon that executes certain tasks in a virtual machine." I was wondering where I could find more info on this.
>
> Brian
>
> On Jan 3, 2011, at 1:36 PM, Mike McLean wrote:
>
>> On 12/23/2010 06:10 PM, Brian_Kosick at McAfee.com wrote:
>>> Hi All,
>>>
>>> I'm trying to build el6 on a koji build host that is el5.5.
>>
>> The stock rhel5 version of rpm cannot handle this. You'll need to build
>> your own.
>>
>>> I believe that what I may want to do is create a el6 build host and
>>> use channels to control which host builds the el6 dist tag.
>>> However, I cannot seem to find information on how to create and use
>>> custom channels with koji and only vague references to the concept of
>>> channels in koji. For instance my questions would be:
>>
>> This will work also. To direct different builds to different channels,
>> you'll need to write a custom channel policy. You can read more about
>> that here: https://fedoraproject.org/wiki/Koji/Policies
>>
>> $ koji help --admin |grep channel
>> add-host-to-channel Add a host to a channel
>> remove-host-from-channel Remove a host from a channel
>>
>> In koji-1.5.0 and later, the add-host-to-channel command supports a
>> --new option that will create the channel. Otherwise, you can add it in
>> the db manually with a simple insert... something like: insert into
>> channels(name) values('my-new-channel').
>>
>> For your channel policy, you'll want to go with a small variation of the
>> default, so something like:
>>
>> channel =
>> has req_channel :: req
>> is_child_task :: parent
>> method build && match target dist-6E-* :: use my-new-channel
>> all :: use default
>>
>>> How to create a new channel? How to associate a tag/target/dist with
>>> a channel? I'm assuming that the koji add-host-to-channel command
>>> would add the new el6 host correctly, but how to then remove the the
>>> new host from the "default" channel so that it doesn't build el5 and
>>> which,. I suspect, would have the same rpm db issues in reverse.
>>
>> The reverse issue does not occur. An el6 box can build el5 packages just
>> fine.
>>
>> However, if you still want to remove hosts from a channel, you can use
>> the remove-host-from-channel command.
>> --
>> buildsys mailing list
>> buildsys at lists.fedoraproject.org
>> https://admin.fedoraproject.org/mailman/listinfo/buildsys
>
> --
> buildsys mailing list
> buildsys at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/buildsys
More information about the buildsys
mailing list