First off, I apologize for the lengthy message, but I hope to eventually
contribute to this project via code and/or docs. (I've already updated
the Server Setup wiki page where I felt knowledgeable enough.)
I'm loosely following the wiki page[1] for this process but may have
myself confused about what some steps do and what overall is required. I
want a Koji instance for building internally developed packages. I would
rarely, if ever, want to rebuild a package already provided in Fedora.
I've got lots of experience using rpmbuild and recently a little with
mock, but am trying for a full fledged setup with Koji now to improve my
workflow. For now, I am focusing on builds for F19 only, but will
eventually add others to basically follow Fedora's EoL schedule.
Thus far, I have:
A basic setup working and can now login thanks to Mike's excellent help.
A "f19" tag and a child "f19-build" tag for arches i386 and x86_64.
Successfully imported the SRPMs for my locally developed packages only. I
didn't import any binary RPMs as I wanted to see that Koji could do that
as a test. I also didn't import anything of the Fedora-provided packages
since I'm not interested in building those.
A "f19" build target.
A build group named "build" associated with my "f19-build" tag.
I've tried doing a build of one of my SRPMs that I had imported and keep
meeting failure. Examination of the root.log revealed only a few things,
but none that sounded to worrisome:
DEBUG util.py:266: There is no installed groups file.
DEBUG util.py:266: Warning: Group build does not have any packages to
install.
When I got to the mock_output.log however, I saw this which I'm guessing
is the reason for failure:
ERROR: Could not find useradd in chroot, maybe the install failed?
Seeing this I figured it was due to skipping the step for populating the
"build" group with packages to be installed in the minimal buildroot. I
skipped this because the instructions fail for me since I my FAS account
isn't set up sufficiently to let me to auth against the real Fedora Koji
instance, i.e., I don't have a signed user cert. Knowing that my current
mock setup can manage this, I dug into its config and stumbled upon the
"buildsys-build" package name and thus came up with:
$ yum group info buildsys-build
Loaded plugins: langpacks
There is no installed groups file.
Maybe run: yum groups mark convert
Group: Buildsystem building group
Group-Id: buildsys-build
Mandatory Packages:
bash
bzip2
coreutils
cpio
diffutils
fedora-release
findutils
gawk
gcc
gcc-c++
grep
gzip
info
make
patch
redhat-rpm-config
rpm-build
sed
shadow-utils
tar
unzip
util-linux
which
xz
This looks like a minimal buildroot to me, so I commenced with that list:
$ koji add-group-pkg f19-build build bash bzip2 coreutils cpio diffutils
fedora-release findutils gawk gcc gcc-c++ grep gzip info make patch
redhat-rpm-config rpm-build sed shadow-utils tar unzip util-linux which xz
I believe these are now "in place" correctly since:
$ koji list-groups f19-build
build [f19-build]
bash: None, default [f19-build]
bzip2: None, default [f19-build]
coreutils: None, default [f19-build]
cpio: None, default [f19-build]
diffutils: None, default [f19-build]
fedora-release: None, default [f19-build]
findutils: None, default [f19-build]
gawk: None, default [f19-build]
gcc: None, default [f19-build]
gcc-c++: None, default [f19-build]
grep: None, default [f19-build]
gzip: None, default [f19-build]
info: None, default [f19-build]
make: None, default [f19-build]
patch: None, default [f19-build]
redhat-rpm-config: None, default [f19-build]
rpm-build: None, default [f19-build]
sed: None, default [f19-build]
shadow-utils: None, default [f19-build]
tar: None, default [f19-build]
unzip: None, default [f19-build]
util-linux: None, default [f19-build]
which: None, default [f19-build]
xz: None, default [f19-build]
However, when I resubmitted my build request, it failed and I see the same
warnings/errors in the logs. I also see this in /var/log/kojid.log:
2013-10-22 16:48:57,582 [DEBUG] koji.TaskManager: bins: {'1:noarch': 1,
'2:noarch': 1, '1:x86_64': 1, '1:i386': 1, '2:x86_64': 1,
'2:i386': 1}
2013-10-22 16:49:12,598 [DEBUG] koji: Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/koji/__init__.py", line 1895, in
_callMethod
return self._sendCall(handler, headers, request)
File "/usr/lib/python2.7/site-packages/koji/__init__.py", line 1806, in
_sendCall
return self._sendOneCall(handler, headers, request)
File "/usr/lib/python2.7/site-packages/koji/__init__.py", line 1825, in
_sendOneCall
cnx.send(request)
File "/usr/lib64/python2.7/httplib.py", line 805, in send
self.sock.sendall(data)
File "/usr/lib/python2.7/site-packages/koji/ssl/SSLConnection.py", line
111, in sendall
self.close()
File "/usr/lib/python2.7/site-packages/koji/ssl/SSLConnection.py", line
82, in close
self.shutdown()
File "/usr/lib/python2.7/site-packages/koji/ssl/SSLConnection.py", line
53, in shutdown
self.__dict__["conn"].shutdown()
Error: []
2013-10-22 16:49:12,599 [INFO] koji: Try #1 for call 1328 (listBuildroots)
failed: []
I suspect I'm really close now, but have done something silly that's not
obvious to me. Any pointers will be greatly appreciated.
[1]
https://fedoraproject.org/wiki/Koji/ServerBootstrap
--
John Florian