Supporting EPEL Builds in Koji
by Mike Bonnet
Hi. I've written up a proposal for a way to support EPEL builds in
Koji. It's not the only way we could do this, but I think it's doable
with a reasonable amount of effort, and has the side-effect of greatly
simplifying the Koji setup process for a lot of people (by removing the
need to bootstrap/import an entire distro of packages into your private
Koji instance). You can view the proposal here:
http://fedoraproject.org/wiki/Koji/EPELSupport
It's fairly detailed regarding the data model changes necessary, so if
you're not familiar with the Koji codebase you can skip those parts.
Questions and comments welcome.
Thanks,
Mike
14 years, 8 months
building from git using custom koji install
by jesus rodriguez
We've installed koji (1.2.5) on F8 and successfully got the
buildroots generating and scratch builds of src.rpms working.
I'm trying to build packages from our git repo. I gave it
the url to our repo:
git://git.fedorahosted.org/git?spacewalk.git#HEAD
But it complains about not having a spec file. Which makes sense
as there is no spec file at the top of the tree. The spec file
I want to build is actually located in the web directory.
http://tinyurl.com/65hs7b
I've tried several versions of the url with no luck. It seems
that koji expects the scm repository house a single package
which is not the case for us.
Has anyone else run into a similar situation? Is there a way
to specify the subdirectory to look in after doing the
git clone?
--
jesus m. rodriguez | jesusr(a)redhat.com
sr. software engineer | irc: zeus
red hat network | 919.754.4413 (w)
rhce # 805008586930012 | 919.623.0080 (c)
+-------------------------------------------+
| "Those who cannot learn from history |
| are doomed to repeat it." |
| -- George Santayana |
+-------------------------------------------+
15 years, 1 month
livecd-iso-to-disk works on Pungi CDs.
by Martin Langhoff
Welcome surprise - the livecd-iso-to-disk utility included in
livecd-tools works well with pungi-created CDs, booting normally into
anaconda.
Now, I only have to figure out how to get anaconda to accept the repo
that's in the CD/USB disk to complete a base install.
cheers,
m
--
martin.langhoff(a)gmail.com
martin(a)laptop.org -- School Server Architect
- ask interesting questions
- don't get distracted with shiny stuff - working code first
- http://wiki.laptop.org/go/User:Martinlanghoff
15 years, 2 months
[PATCHES] Makefile.common speedups
by Adam Jackson
Attached are two (orthogonal) patches to make evaluation of
Makefile.common a bit faster.
The first one is possibly contentious. Currently, early-branching works
by checking for the existence of the other branch, by using 'cvs rlog'.
That kinda sucks, because it means you can't do 'make local' while
disconnected, and even when connected it's not fast. The patch changes
it to look for the package's name in a new file,
common/early-branched-packages. By keeping that file together with
Makefile.common we get pretty much the behaviour we're used to: when
build targets change, you have to update common/. Note that if we apply
this patch we will also need to create that (empty) file.
This would change the cvsadmin procedure for early branching, but
hopefully not by a burdensome amount.
The second one is just a refactoring to only ask rpm for %VERSION and
%RELEASE once. In principle, for packages that overrode both VERSION
and RELEASE in their Makefile, this would actually make things slower,
since now you'd be forcing rpm to run. According to my pkgcvs checkout,
no such packages exist.
Tested locally on a 3.2GHz P4. 'time make' baseline was 1.3 seconds.
First patch dropped that to about 0.6 seconds. Second patch on top of
that dropped down to about 0.38 seconds.
- ajax
15 years, 2 months
Pungi and a minimal F9 - anaconda-runtime/buildinstall errors
by Martin Langhoff
Getting my feet wet with pungi, I am tring to build a minimal F9
installer, and it is erroring out, as follows.
The ks file is adapted from one from the livecd packages:
$ cat livecd-fedora-9-minimal.ks
repo --name=release
--mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-9&arch=$basearch
repo --name=updates
--mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f9&arch=$basearch
%packages
@core
bash
kernel
passwd
policycoreutils
chkconfig
authconfig
rootfiles
%end
My commandline is
$ sudo pungi -c livecd-fedora-9-minimal.ks --nosource --force --ver=F9
and it bails out on me thus:
Pungi.Pungi:INFO: Making repodata
Warning: Reusing existing destination directory.
450/450 - Packages/notification-daemon-0.3.7-9.fc9.i386.rpmPungi.Pungi:INFO:
Running /usr/bin/repoview --quiet --state-dir
/var/cache/pungi/repoviewcache --title "Fedora F9 - i386"
/home/martin/pungi-tests-9/F9/i386/os
Pungi.Pungi:INFO: Running /usr/lib/anaconda-runtime/buildinstall
--product Fedora --version F9 --release "Fedora F9" --bugurl
http://bugzilla.redhat.com /home/martin/pungi-tests-9/F9/i386/os
Pungi.Pungi:ERROR: Got an error from /usr/lib/anaconda-runtime/buildinstall
Pungi.Pungi:ERROR:
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Traceback (most recent call last):
File "/usr/bin/pungi", line 189, in <module>
main()
File "/usr/bin/pungi", line 98, in main
mypungi.doBuildinstall()
File "/usr/lib/python2.5/site-packages/pypungi/pungi.py", line 168,
in doBuildinstall
pypungi._doRunCommand(buildinstall, self.logger) #, env={"TMPDIR":
self.workdir})
File "/usr/lib/python2.5/site-packages/pypungi/__init__.py", line
70, in _doRunCommand
raise OSError, "Got an error from %s: %s" % (command[0], err)
OSError: Got an error from /usr/lib/anaconda-runtime/buildinstall:
installed versions of the relevant tools are -
$ rpm -qa | grep '^\(rpm\|anaconda\|pungi\|repo\)' | sort
anaconda-11.4.0.82-1.i386
anaconda-runtime-11.4.0.82-1.i386
pungi-1.2.18.1-1.fc9.noarch
repoview-0.6.2-1.fc9.noarch
rpm-4.4.2.3-2.fc9.i386
rpm-build-4.4.2.3-2.fc9.i386
rpm-devel-4.4.2.3-2.fc9.i386
rpm-libs-4.4.2.3-2.fc9.i386
rpmlint-0.83-1.fc9.noarch
rpm-python-4.4.2.3-2.fc9.i386
(which are up-to-date F9 AFAICT)
any hints welcome...
cheers,
martin
--
martin.langhoff(a)gmail.com
martin(a)laptop.org -- School Server Architect
- ask interesting questions
- don't get distracted with shiny stuff - working code first
- http://wiki.laptop.org/go/User:Martinlanghoff
15 years, 2 months
Pungi and F7
by Martin Langhoff
Jesse has mentioned (in an earlier thread on fedora-devel) that the
Pungi in F7 has some caveats. At the moment I am considering a
migration from livecd-tools to pungi on F7 _before_ I migrate to F9
(this is all for the OLPC School Server, btw).
So my questions are roughly:
- What known limitations does the F7 pungi have?
- Is it known to build a minimal cli distro installer correctly?
cheers,
martin
--
martin.langhoff(a)gmail.com
martin(a)laptop.org -- School Server Architect
- ask interesting questions
- don't get distracted with shiny stuff - working code first
- http://wiki.laptop.org/go/User:Martinlanghoff
15 years, 2 months
package upload/import speed
by Naveen Gavini
Hello all,
When importing or building RPM's from source is there an option that is
throttling the upload speed of the package?
We are seeing speeds of 10kbps which makes importing/building large
packages very slow.
Thanks.
--
Naveen Gavini
Student Systems Programmer
OSS/CSS - OIT Rutgers
ngavini(a)jla.rutgers.edu
15 years, 2 months
Problems using import --link
by Naveen Gavini
Hello all,
We are trying to bootstrap our new koji setup and when we attempt to
import using --link we get the error below.
The packages that we are attempting to import are on the hub and have
been places in /mnt/koji/import (same volume).
The ownership on the packages is daemon (same as /mnt/koji/) - not sure
if this matters.
sudo koji import --link /mnt/koji/alsa-lib-1.0.14-1.rc4.el5.src.rpm
Linking rpm to:
/mnt/koji/work/cli-import/1216842099.8955669.PLyYLFZS/alsa-lib-1.0.14-1.rc4.el5.src.rpm
importing alsa-lib-1.0.14-1.rc4.el5.src.rpm... Fault: <Fault 1:
'Traceback (most recent call last):\n File
"/usr/share/koji-hub/kojixmlrpc.py", line 86, in _marshaled_dispatch\n
response = self._dispatch(method, params)\n File
"/usr/share/koji-hub/kojixmlrpc.py", line 156, in _dispatch\n ret =
func(*params,**opts)\n File "/usr/share/koji-hub/kojihub.py", line 4110,
in importRPM\n import_rpm_file(fn,rpminfo[\'build\'],rpminfo)\n File
"/usr/share/koji-hub/kojihub.py", line 2991, in import_rpm_file\n
os.rename(fn,final_path)\nOSError: [Errno 13] Permission denied\nLocals
by frame, innermost last\nFrame HandlerDispatch in
/usr/lib64/python2.4/site-packages/mod_python/importer.py at line 1537\n
req = <mp_request object at 0x2b3497cbd410>\n parent = None\n config =
{\'PythonAutoReload\': \'0\', \'PythonDebug\': \'1\'}\n self =
<mod_python.apache.CallBack instance at 0x2b3497cb3710>\n cache = <ERROR
WHILE PRINTING VALUE>\n default_handler = handler\n phase =
PythonHandler\n handler = kojixmlrpc\n hlist =
{\'handler\':\'kojixmlrpc\',\'directory\':\'/usr/share/koji-hub/\',\'silent\':0}\n
aborted = False\n directory = /usr/share/koji-hub/\n root =
/usr/share/koji-hub/\n options = {\'KojiTraceback\': \'extended\',
\'KojiDebug\': \'On\', \'EmailDomain\': \'192.168.226.61\',
\'KojiWebURL\': \'http://192.168.226.61/koji\
<http://192.168.226.61/koji%5C>', \'LoginCreatesUser\': \'Off\',
\'ProxyDNs\': \'/C=US/ST=New Jersey/O=Open System
Solutions/CN=192.168.226.61\', \'DNUsernameComponent\': \'CN\',
\'KojiDir\': \'/mnt/koji\', \'DBHost\': \'localhost\', \'DBUser\':
\'koji\', \'DBName\': \'koji\'}\n result = 500\nFrame _process_target in
/usr/lib64/python2.4/site-packages/mod_python/importer.py at line 1229\n
req = <mp_request object at 0x2b3497cbd410>\n silent = 0\n default =
handler\n handler = kojixmlrpc\n object = <function handler at
0x2b34997152a8>\n module = <module
\'_mp_df1c13776110deb1e020020636703560\' from
\'/usr/share/koji-hub/kojixmlrpc.py\'>\n directory =
/usr/share/koji-hub/\n parts = [\'kojixmlrpc\']\n result = -1\n
object_str = handler\n expected = [-1, 0]\n module_name = kojixmlrpc\n
path = [\'/usr/share/koji-hub/\']\n config = {\'PythonAutoReload\':
\'0\', \'PythonDebug\': \'1\'}\n arg = <mp_request object at
0x2b3497cbd410>\nFrame _execute_target in
/usr/lib64/python2.4/site-packages/mod_python/importer.py at line 1128\n
one_process = False\n object = <function handler at 0x2b34997152a8>\n
req = <mp_request object at 0x2b3497cbd410>\n pdb_debug = 0\n arg =
<mp_request object at 0x2b3497cbd410>\n config = {\'PythonAutoReload\':
\'0\', \'PythonDebug\': \'1\'}\nFrame handler in
/usr/share/koji-hub/kojixmlrpc.py at line 291\n functions =
<_mp_4e76479ee7b716cdbf29397025ee2356.RootExports object at
0x2b349c6f08d0>\n profiling = False\n h =
<_mp_df1c13776110deb1e020020636703560.ModXMLRPCRequestHandler object at
0x2b349c6f0d10>\n req = <mp_request object at 0x2b3497cbd410>\n
hostFunctions = <_mp_4e76479ee7b716cdbf29397025ee2356.HostExports object
at 0x2b349c6f0d90>\n opts = {\'KojiTraceback\': \'extended\',
\'KojiDebug\': \'On\', \'EmailDomain\': \'192.168.226.61\',
\'KojiWebURL\': \'http://192.168.226.61/koji\
<http://192.168.226.61/koji%5C>', \'LoginCreatesUser\': \'Off\',
\'ProxyDNs\': \'/C=US/ST=New Jersey/O=Open System
Solutions/CN=192.168.226.61\', \'DNUsernameComponent\': \'CN\',
\'KojiDir\': \'/mnt/koji\', \'DBHost\': \'localhost\', \'DBUser\':
\'koji\', \'DBName\': \'koji\'}\nFrame handle_request in
/usr/share/koji-hub/kojixmlrpc.py at line 242\n self =
<_mp_df1c13776110deb1e020020636703560.ModXMLRPCRequestHandler object at
0x2b349c6f0d10>\n req = <mp_request object at 0x2b3497cbd410>\nFrame
_marshaled_dispatch in /usr/share/koji-hub/kojixmlrpc.py at line 112\n e
= [Errno 13] Permission denied\n self =
<_mp_df1c13776110deb1e020020636703560.ModXMLRPCRequestHandler object at
0x2b349c6f0d10>\n e_class = exceptions.OSError\n start = 1216842100.35\n
faultCode = 1\n params = <ERROR WHILE PRINTING VALUE>\n tb_str =
Traceback (most recent call last):\n File
"/usr/share/koji-hub/kojixmlrpc.py", line 86, in _marshaled_dispatch\n
response = self._dispatch(method, params)\n File
"/usr/share/koji-hub/kojixmlrpc.py", line 156, in _dispatch\n ret =
func(*params,**opts)\n File "/usr/share/koji-hub/kojihub.py", line 4110,
in importRPM\n import_rpm_file(fn,rpminfo[\'build\'],rpminfo)\n File
"/usr/share/koji-hub/kojihub.py", line 2991, in import_rpm_file\n
os.rename(fn,final_path)\nOSError: [Errno 13] Permission denied\n\n
tb_type = extended\n data = <?xml
version=\'1.0\'?>\n<methodCall>\n<methodName>importRPM</methodName>\n<params>\n<param>\n<value><string>cli-import/1216842099.8955669.PLyYLFZS</string></value>\n</param>\n<param>\n<value><string>alsa-lib-1.0.14-1.rc4.el5.src.rpm</string></value>\n</param>\n</params>\n</methodCall>\n\n
method = importRPM\nFrame _dispatch in /usr/share/koji-hub/kojixmlrpc.py
at line 156\n self =
<_mp_df1c13776110deb1e020020636703560.ModXMLRPCRequestHandler object at
0x2b349c6f0d10>\n start = 1216842100.38\n params = <ERROR WHILE PRINTING
VALUE>\n func = <bound method RootExports.importRPM of
<_mp_4e76479ee7b716cdbf29397025ee2356.RootExports object at
0x2b349c6f08d0>>\n method = importRPM\n opts = {}\nFrame importRPM in
/usr/share/koji-hub/kojihub.py at line 4110\n uploadpath =
/mnt/koji/work\n basename = alsa-lib-1.0.14-1.rc4.el5.src.rpm\n rpminfo
= {\'build_id\': 20L, \'brootid\': None, \'sourcepackage\': 1, \'name\':
\'alsa-lib\', \'buildtime\': 1194704966, \'id\': 28L, \'epoch\': None,
\'version\': \'1.0.14\', \'build\': {\'sourcepackage\': 1, \'name\':
\'alsa-lib\', \'buildtime\': 1194704966, \'epoch\': None, \'version\':
\'1.0.14\', \'release\': \'1.rc4.el5\', \'sourcerpm\': [], \'arch\':
\'src\', \'id\': 20L}, \'release\': \'1.rc4.el5\', \'sourcerpm\': [],
\'arch\': \'src\', \'payloadhash\':
\'8fa4adb63144d52fc1ceb29f6022b7cb\', \'size\': 796510}\n path =
cli-import/1216842099.8955669.PLyYLFZS\n self =
<_mp_4e76479ee7b716cdbf29397025ee2356.RootExports object at
0x2b349c6f08d0>\n fn =
/mnt/koji/work/cli-import/1216842099.8955669.PLyYLFZS/alsa-lib-1.0.14-1.rc4.el5.src.rpm\nFrame
import_rpm_file in /usr/share/koji-hub/kojihub.py at line 2991\n
final_path =
/mnt/koji/packages/alsa-lib/1.0.14/1.rc4.el5/src/alsa-lib-1.0.14-1.rc4.el5.src.rpm\n
rpminfo = {\'build_id\': 20L, \'brootid\': None, \'sourcepackage\': 1,
\'name\': \'alsa-lib\', \'buildtime\': 1194704966, \'id\': 28L,
\'epoch\': None, \'version\': \'1.0.14\', \'build\': {\'sourcepackage\':
1, \'name\': \'alsa-lib\', \'buildtime\': 1194704966, \'epoch\': None,
\'version\': \'1.0.14\', \'release\': \'1.rc4.el5\', \'sourcerpm\': [],
\'arch\': \'src\', \'id\': 20L}, \'release\': \'1.rc4.el5\',
\'sourcerpm\': [], \'arch\': \'src\', \'payloadhash\':
\'8fa4adb63144d52fc1ceb29f6022b7cb\', \'size\': 796510}\n buildinfo =
{\'sourcepackage\': 1, \'name\': \'alsa-lib\', \'buildtime\':
1194704966, \'epoch\': None, \'version\': \'1.0.14\', \'release\':
\'1.rc4.el5\', \'sourcerpm\': [], \'arch\': \'src\', \'id\': 20L}\n fn =
/mnt/koji/work/cli-import/1216842099.8955669.PLyYLFZS/alsa-lib-1.0.14-1.rc4.el5.src.rpm\n'>
Any ideas?
Thanks.
--
Naveen Gavini
Student Systems Programmer
OSS/CSS - OIT Rutgers
ngavini(a)jla.rutgers.edu
15 years, 2 months
GenericError Repo directory missing
by Naveen Gavini
Hello all,
We have installed the Koji build system and are able to import RPMS. We
are having issues building from SRPMS as it's prompting us that it is
unable to find the file once it is uploaded. The other issue is we have
seen about 500 tasks fail for newRepo (noarch) with the message:
GenericError: Repo directory missing:
/mnt/koji/repos/rutgers-centos5-build/538.
We have set the permissions to daemon on /mnt/koji (same user as apache).
It seems when we try to manually look at the directory it exists, this
is also the same for when the srpm is uploaded and it fails prompting us
file not found, even though we can find it by looking at that directory
on the server.
Below is the kojira.log
2008-07-22 19:46:31,358 [DEBUG] koji.repo.manager: Reading current repo data
2008-07-22 19:46:36,855 [DEBUG] koji.repo.manager: Repo data:
[{'create_event': 552, 'state': 0, 'tag_id': 2, 'tag_name':
'rutgers-centos5-build', 'create_ts': 1216754980.8750801, 'id': 534},
{'create_event': 553, 'state': 0, 'tag_id': 2, 'tag_name':
'rutgers-centos5-build', 'create_ts': 1216755215.82616, 'id': 535}]
2008-07-22 19:46:42,399 [DEBUG] koji.repo.manager: Needed tags: [2]
2008-07-22 19:46:42,400 [DEBUG] koji.repo.manager: Current tags: [2]
2008-07-22 19:46:42,400 [DEBUG] koji.repo: Checking for changes: [1, 2]
2008-07-22 19:46:47,902 [DEBUG] koji.repo: No tag changes since event 552
2008-07-22 19:46:47,902 [DEBUG] koji.repo: Checking for changes: [1, 2]
2008-07-22 19:46:53,429 [DEBUG] koji.repo: No tag changes since event 553
2008-07-22 19:46:53,430 [DEBUG] koji.repo.manager: order: []
2008-07-22 19:46:53,430 [DEBUG] koji.repo.manager: repo 534: tag=2,
state=INIT
2008-07-22 19:46:53,430 [DEBUG] koji.repo.manager: repo 535: tag=2,
state=INIT
2008-07-22 19:46:53,430 [DEBUG] koji.repo.manager: task 548 for tag 2
2008-07-22 19:46:53,430 [DEBUG] koji.repo.manager: Scanning filesystem
for repos
2008-07-22 19:47:09,590 [INFO] koji.repo.manager: Problem: newRepo task
548 for tag 2 is FAILED
2008-07-22 19:47:09,591 [DEBUG] koji.repo.manager: Current tasks: {}
2008-07-22 19:47:09,591 [DEBUG] koji.repo.manager: Updating repos
2008-07-22 19:47:09,591 [DEBUG] koji.repo.manager: Reading current repo data
2008-07-22 19:47:15,273 [DEBUG] koji.repo.manager: Repo data:
[{'create_event': 552, 'state': 0, 'tag_id': 2, 'tag_name':
'rutgers-centos5-build', 'create_ts': 1216754980.8750801, 'id': 534},
{'create_event': 553, 'state': 0, 'tag_id': 2, 'tag_name':
'rutgers-centos5-build', 'create_ts': 1216755215.82616, 'id': 535},
{'create_event': 554, 'state': 0, 'tag_id': 2, 'tag_name':
'rutgers-centos5-build', 'create_ts': 1216756145.8847401, 'id': 536}]
2008-07-22 19:47:15,273 [INFO] koji.repo.manager: Found repo 536, state=INIT
2008-07-22 19:47:26,421 [DEBUG] koji.repo.manager: Needed tags: [2]
2008-07-22 19:47:26,421 [DEBUG] koji.repo.manager: Current tags: [2]
2008-07-22 19:47:26,421 [DEBUG] koji.repo: Checking for changes: [1, 2]
2008-07-22 19:47:31,905 [DEBUG] koji.repo: No tag changes since event 554
2008-07-22 19:47:31,905 [DEBUG] koji.repo: Checking for changes: [1, 2]
Any idea?
Thanks.
--
Naveen Gavini
Student Systems Programmer
OSS/CSS - OIT Rutgers
ngavini(a)jla.rutgers.edu
15 years, 2 months