Pungis work directory.
by Joel Andres Granados
I ran pungi once and created a fedora iso. When I ran it again with the
same config file, and forgot to erase the previous work directory
files, pungi shows a traceback telling me that some file already exists.
I have two proposals for this situation.
1. create a timestamp directory inside the working directory for each
pungi run. The problem with this approach is that the use is left with
a bunch of directories that are named after whatever time.time() spit
out (not very pretty). But alas it does away with the ugly traceback
message.
The diff for the first solution:
--- pungi-0.3.0 2007-04-02 23:17:25.000000000 +0200
+++ pungi-0.3.1-JG 2007-04-13 14:27:22.000000000 +0200
@@ -18,6 +18,7 @@
import yum
from ConfigParser import SafeConfigParser
+from time import time
def main():
# Set some default variables, can be overrided in config file
@@ -76,7 +77,8 @@
if not opts.destdir == "*CONFFILE*":
config.set('default', 'destdir', opts.destdir)
-
+ config.set('default', 'destdir',
os.path.join(config.get('default','destdir'),
+ str(int(time()))))
destdir = config.get('default', 'destdir')
if not os.path.exists(destdir):
2. Just tell the user to erase the things he/she has in the directory.
The diff for the second solution:
--- pungi-0.3.0 2007-04-13 15:03:26.000000000 +0200
+++ pungi-0.3.1-JG 2007-04-13 15:02:22.000000000 +0200
@@ -18,6 +18,7 @@
import yum
from ConfigParser import SafeConfigParser
+from os.path import isdir
def main():
# Set some default variables, can be overrided in config file
@@ -77,7 +78,7 @@
if not opts.destdir == "*CONFFILE*":
config.set('default', 'destdir', opts.destdir)
- destdir = config.get('default', 'destdir')
+ destdir = check_destdir(config.get('default', 'destdir'))
if not os.path.exists(destdir):
try:
@@ -180,4 +181,10 @@
manifestfile.close()
return pkglist
+ def check_destdir(workpath):
+ if isdir(workpath) and len(os.listdir(workpath)) > 0:
+ print >> sys.stderr, "Please erase all items from the
directory %s before continuing." % workpath
+ exit(1)
+ return workpath
+
main()
16 years, 4 months
configuration file not found
by Joel Andres Granados
Hi list: Its me again.
Bug (I think): Pungi fails with a traceback when the config file is not
correctly specified. It says
It does not find the default section.
Reason: Its a config parser error. The ConfigParser reads the existing
files and ingnores the
not existing ones. In any case if the file does not exist or if
it exists but there is no "default"
section, pungi will fail with a traceback.
IMO catching the mistake before the traceback and telling the user what
is happening is the right thing to do.
I don't know about the message though. Its the best thing that my
little mind could come up with :)
The diff:
@@ -37,7 +37,10 @@
config = SafeConfigParser()
config.read(opts.config)
-
+ if "default" not in config.sections():
+ print ("Check that the file %s exists and that "
+ "has a 'default' section" % opts.config)
+ exit(0)
if not config.has_option('default', 'flavor'):
config.set('default', 'flavor', flavor)
16 years, 4 months
mkisofs VolumeID 32 character limitation
by Joel Andres Granados
Hi list:
still pocking at pungi...
Bug(I think): Pungi fails sometimes with a message that the mkisofs
command failed. On further investigation
of the pungi log it seems that the label given to the iso is to
long. Looked at the mkisofs
man page and found out that it only supports 32 characters in the
iso label. In my configuration
it had a label of 33 "Fedora development x86_64 rescue"
Reason: There is a possibility for the cds iso images label to be Too
long. In the end the user
defines the label because it is constructed from the pungi.conf
variables:Prodcut_name, arch,
version...
Possible fix: make sure to snip off the label before creating the
isoimage. With the patch I'm trying to cut the id to an allowable
size. Although I *do* cut the original name and I don't know what the
effects are in the installations. I did run pungi and it ended with no
errors.
Comments: when the was shortened from the config file pungi executed
successfully. comments greatly appreciated.
The diff:
@@ -356,8 +359,8 @@
extraargs.append(os.path.join('%s-disc%s' %
(self.topdir, disc), "ppc/mac"))
extraargs.append('-V')
- extraargs.append('"%s %s %s Disc %s"' %
(self.config.get('default', 'product_name'),
- self.config.get('default', 'version'),
self.config.get('default', 'arch'), disc))
+ extraargs.append(('"%s %s %s Disc %s"' %
(self.config.get('default', 'product_name'),
+ self.config.get('default', 'version'),
self.config.get('default', 'arch'), disc))[:32])
extraargs.append('-o')
extraargs.append(isofile)
@@ -417,8 +422,8 @@
extraargs.append(os.path.join('%s-disc%s' %
(self.topdir, disc), "ppc/mac"))
extraargs.append('-V')
- extraargs.append('"%s %s %s DVD"' %
(self.config.get('default', 'product_name'),
- self.config.get('default', 'version'),
self.config.get('default', 'arch')))
+ extraargs.append(('"%s %s %s DVD"' %
(self.config.get('default', 'product_name'),
+ self.config.get('default', 'version'),
self.config.get('default', 'arch')))[:32])
extraargs.append('-o')
extraargs.append(isofile)
16 years, 4 months
[PATCH] koji import-comps
by Michael Schwendt
> #for import-comps handler (currently disabled)
> #from rhpl.comps import Comps
I've ported this to FC6 yum.comps to make it work for the buildroot list,
but it's only rudimentary, because I didn't find anything about the
"biarchonly" attribute. The "basearchonly" attribute, on the other hand,
is not evaluated by yum.comps. Plus, I couldn't find any groupreq and
metapkg support in yum.comps either.
16 years, 4 months
Creation of fedora CD install.
by Joel Andres Granados
Hi list:
I wanted to use the configuration values that express the amount of cds
that pungi should generate and their related size. When I executed
pungi with "discs =2" and "cdsize=700", pungi threw a traceback that had
something to do with not finding a directory. On further investigation
I found out that it was anaconda-runtime's splittree.py script that was
causing the traceback. It created the full directory structure for the
first cd but did not do the same for the cds after that.
I noticed that the addition of one line "fixed" it :
--- /tmp/splittree.py 2007-04-23 12:50:23.000000000 -0400
+++ splittree.py 2007-04-23 12:51:35.000000000 -0400
@@ -228,6 +227,7 @@
pass
else:
+ os.makedirs("%s-disc%d/%s" % (self.dist_dir, i,
self.product_path))
self.linkFiles(self.dist_dir, "%s-disc%d"
%(self.dist_dir, i), self.common_files)
self.createDiscInfo(i)
I also noticed that this line was recently removed from the splittree.py
file and really don't understand why, since the idea is for pungi to
create cd and dvd. Will the process to create CD isos change?? In any
case, the addition of this line to splittree.py fixes the traceback I
was getting.
Regards.
16 years, 5 months
feature request: mock --timeout
by Matt Domsch
I'd like to make a feature request for mock: the ability for it to
determine a job has taken too long and kill it. mock --timeout N (with N
in minutes) is the UI I'm picturing.
I've been doing these mass rebuilds for a while. Every so often we'll
wind up with a package with the halting problem - it continues to run,
or not, but it doesn't ever finish building either. Ever. Several
days later, it's still going, but not making progress.
Sure, some jobs, like the kernel, openoffice, glibc, etc. can take a
good number of hours. But even those don't run for days. The latest
culprits was a few perl modules that ran for >2 days with no end in
sight.
Thanks,
Matt
--
Matt Domsch
Software Architect
Dell Linux Solutions linux.dell.com & www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com
16 years, 5 months
[PATCH] kojid - BuildNotificationTask traceback
by Michael Schwendt
--- kojid~ 2007-04-09 19:23:38.000000000 +0200
+++ kojid 2007-04-22 13:18:09.000000000 +0200
@@ -2118,7 +2118,7 @@
if changelog:
changelog = "Changelog:\r\n%s" % changelog
- from_addr = self.from_addr
+ from_addr = options.from_addr
to_addrs = ', '.join(recipients)
subject = self.subject_templ % locals()
message = self.message_templ % locals()
16 years, 5 months
Error when compiling anaconda 11.1.1.3
by Olivier D
Hello,
I'm trying to compile anaconda 11.1.1.3 :
rpmbuild -ba anaconda.spec
I'm getting the following errors about wireless.h :
cc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables -Wall -Werror -D_GNU_SOURCE=1
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1
-DUSESELINUX=1 -I/usr/include/python2.4 -I.. -DHAVE_NFS -I/usr/include/glib-
2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libdhcp
-I/usr/include/dhcp4client -I/usr/include/dhcp6client -fPIC -o wireless.lo
wireless.c
In file included from wireless.c:29:
/usr/include/linux/wireless.h:636: error: expected specifier-qualifier-list
before '__s32'
/usr/include/linux/wireless.h:648: error: expected ':', ',', ';', '}' or
'__attribute__' before '*' token
/usr/include/linux/wireless.h:663: error: expected specifier-qualifier-list
before '__s32'
/usr/include/linux/wireless.h:674: error: expected specifier-qualifier-list
before '__u8'
/usr/include/linux/wireless.h:690: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:703: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:730: error: expected specifier-qualifier-list
before '__u8'
/usr/include/linux/wireless.h:792: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:806: error: expected specifier-qualifier-list
before '__u16'
/usr/include/linux/wireless.h:820: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:828: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:837: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:849: error: expected specifier-qualifier-list
before '__u16'
/usr/include/linux/wireless.h:872: error: 'IFNAMSIZ' undeclared here (not in
a function)
/usr/include/linux/wireless.h:887: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:931: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:1032: error: expected specifier-qualifier-list
before '__u32'
/usr/include/linux/wireless.h:1050: error: expected specifier-qualifier-list
before '__u16'
cc1: warnings being treated as errors
wireless.c: In function 'get_wreq':
wireless.c:34: warning: value computed is not used
wireless.c:35: error: 'struct iwreq' has no member named 'ifr_name'
wireless.c:35: error: 'struct iwreq' has no member named 'ifr_name'
wireless.c:35: error: 'struct iwreq' has no member named 'ifr_name'
wireless.c:35: error: 'struct iwreq' has no member named 'ifr_name'
wireless.c: In function 'set_essid':
wireless.c:81: error: 'struct iw_point' has no member named 'flags'
wireless.c:82: error: 'struct iw_point' has no member named 'pointer'
wireless.c:83: error: 'struct iw_point' has no member named 'length'
wireless.c:85: error: 'struct iw_point' has no member named 'flags'
wireless.c:86: error: 'struct iw_point' has no member named 'pointer'
wireless.c:87: error: 'struct iw_point' has no member named 'length'
wireless.c: In function 'get_essid':
wireless.c:108: error: 'struct iw_point' has no member named 'pointer'
wireless.c:109: error: 'struct iw_point' has no member named 'length'
wireless.c:110: error: 'struct iw_point' has no member named 'flags'
wireless.c:120: error: 'struct iw_point' has no member named 'pointer'
wireless.c: In function 'set_wep_key':
wireless.c:193: error: 'union iwreq_data' has no member named 'data'
wireless.c:194: error: 'union iwreq_data' has no member named 'data'
wireless.c:195: error: 'union iwreq_data' has no member named 'data'
wireless.c:198: error: 'union iwreq_data' has no member named 'data'
wireless.c:199: error: 'union iwreq_data' has no member named 'data'
wireless.c:200: error: 'union iwreq_data' has no member named 'data'
wireless.c: In function 'set_managed':
wireless.c:221: error: 'union iwreq_data' has no member named 'mode'
make[1]: *** [wireless.lo] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/anaconda-11.1.1.3/isys'
make: *** [subdirs] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.41753 (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.41753 (%build)
infos about /usr/include/linux/wireless.h :
/*
* This file define a set of standard wireless extensions
*
* Version : 20 17.2.06
*
* Authors : Jean Tourrilhes - HPL - <jt(a)hpl.hp.com>
* Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved.
*/
Any idea ?
Olivier
16 years, 5 months
pungi window frontend
by Joel Andres Granados
Hi list:
How about having a py-gtk based front end for pungi. It would basically
do two things : 1) manage the pungi config files (yum.conf.x86_64,
manifest, pungi.conf...) and 2) call pungi with the selected data.
This would be another package separate from pungi that depends on pungi
and yum and other X stuff. I think this would be really cool at least
to create the package list. The user would simply choose from a list of
packages. More or less like anaconda does it when you are installing
the system. The user can also specify other yum repositories and
locate comp.xml files....
The Idea is to keep it simple but helpful so even more people can make
there own spins.
comments?
PD: It would be called "snakecharmer" or something.
16 years, 5 months
FC6 Respin Install Error
by Tom Stage
Hi All
I keep getting the following error when i try to use the respin of FC6 i just created with the latest Pungi for FC6 :
Running anaconda, the FC6 System installer - please wait...
Traceback (most recent call last):
File "/usr/bin/anaconda", line 588, in ?
import signal, traceback, string, isys, iutil, time
File "/usr/lib/anaconda/isys.py", line 32, in ?
import block
ImportError: No module named block
install exited abnormally [1/1]
>From i can see from the build process there was no errors, so my big question is why do i keep getting this, or rather what am i missing ??
Cheers
Tom Stage
16 years, 6 months