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