Bug 476992

Summary: Custom F10 spins leads to revisor crash due to F10-buildinstall
Product: [Fedora] Fedora Reporter: Jean Visagie <jean.visagie>
Component: revisorAssignee: Jeroen van Meeuwen <vanmeeuwen+fedora>
Status: CLOSED WORKSFORME QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 10CC: jonathansteffan, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-04-15 07:34:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
revisor configs and rpms used
none
Modified buildinstall none

Description Jean Visagie 2008-12-18 15:09:11 UTC
Created attachment 327330 [details]
revisor configs and rpms used

Description of problem:
I am trying to make a custom Fedora 10 spin with a minimalist set of packages. The iso creation continues until the F10-buildinstall encounters a problem.

Output:
SELinux on this host is disabled. Composed media will not have SELinux, and as a result the system you install from the composed media will not have SELinux either.
Reading configuration file /etc/revisor/revisor.conf                                                                                                                
The directories Revisor uses in /var/tmp/ already exist. This could possibly hold data from a previous run. Please remove or move them to a safe location, then confirm to continue. If you do not move or remove the files, Revisor will simply delete them.                                                                                                           
The directories Revisor uses in /srv/revisor/ViPr-4_0_0 already exist. This could possibly hold data from a previous run. Please remove or move them to a safe location, then confirm to continue. If you do not move or remove the files, Revisor will simply delete them.                                                                                             
You have not selected any of the basic repositories. Please make sure that one of 'fedora', 'core', 'base' or 'development', or an equivalent repository has been configured        
Could not retrieve mirrorlist http://192.168.1.96/mirrorlist?repo=rawhide&arch=i386 error was                                                                                       
[Errno 14] HTTP Error 404: Not Found                                                                                                                                                
Got an error from /usr/lib/revisor/scripts/F10-buildinstall (return code 1)                                                                                                         
Traceback (most recent call last):                                                                                                                                                  
  File "/usr/lib/python2.5/site-packages/revisor/modgui/ready_screen.py", line 145, in button_forward_clicked                                                                       
    self.gui.next()                                                                                                                                                                 
  File "/usr/lib/python2.5/site-packages/revisor/modgui/__init__.py", line 448, in next                                                                                             
    self.default[self.current]['disp'](self)                                                                                                                                        
  File "/usr/lib/python2.5/site-packages/revisor/modgui/__init__.py", line 315, in displayBuildMedia                                                                                
    self.BuildMedia.start()                                                                                                                                                         
  File "/usr/lib/python2.5/site-packages/revisor/modgui/build_media.py", line 65, in start                                                                                          
    self.base.lift_off()                                                                                                                                                            
  File "/usr/lib/python2.5/site-packages/revisor/base.py", line 1172, in lift_off                                                                                                   
    self.buildInstallationMedia()                                                                                                                                                   
  File "/usr/lib/python2.5/site-packages/revisor/base.py", line 1838, in buildInstallationMedia                                                                                     
    mypungi.ALL_workaround()                                                                                                                                                        
  File "/usr/lib/python2.5/site-packages/revisor/pungi.py", line 653, in ALL_workaround                                                                                             
    content = open(discinfofile, 'r').readlines()                                                                                                                                   
IOError: [Errno 2] No such file or directory: '/var/tmp/revisor-pungi/4/ViPr-4_0_0/i386/os/.discinfo'


Version-Release number of selected component (if applicable):
revisor-2.1.3-1.fc10.noarch
revisor-cli-2.1.3-1.fc10.noarch
revisor-comps-2.1.3-1.fc10.noarch
revisor-gui-2.1.3-1.fc10.noarch

How reproducible:
Happens every time.

Steps to Reproduce:
1. Copy wanted rpm's into a folder /var/www/html/yum/f10/i386/base/
2. Create a repository with command: createrepo -g /mnt/repodata/Fedora-10-comps.xml /var/www/html/yum/f10//i386/base/ (Fedora 10 DVD mounted to /mnt/)
3. Start apache daemon
4. Modify /etc/revisor/revisor.conf (Attached)
5. Create revisor config in /etc/revisor/conf.d (Attached)
6. Start revisor
7. Select custom spin config
8. Proceed through revisor without specifying a kickstart file
9. At package selection -> got list and select all and continue
10. Revisor pops up error 'Got an error from /usr/lib/revisor/scripts/F10-buildinstall (return code 1)'
  
Actual results:
Got an error from /usr/lib/revisor/scripts/F10-buildinstall (return code 1)

Expected results:
A working iso


Additional info:
Host machine is Fedora 10. First got an error that stated I need to have gail included. Did a yum update on revisor and this went away. Also attached is a list of the rpm's I used. (All were copied from the Fedora 10 DVD)

Comment 1 Fedora Admin XMLRPC Client 2009-02-01 00:05:56 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 2 Jeroen van Meeuwen 2009-02-01 01:34:42 UTC
Please run:

yum -d9 -c /path/to/modified/conf list

Where /path/to/modified/conf is the path to the modified YUM configuration file probably somewhere in /etc/revisor/conf.d/

Comment 3 Jean Visagie 2009-04-06 11:05:49 UTC
Created attachment 338314 [details]
Modified buildinstall

script failed because of missing buildinstall function import. Also removed repo command line option because it is not used in rest of script, or stuff broke (can't remember which)

Comment 4 Jean Visagie 2009-04-06 11:06:46 UTC
I actually made custom distro using just buildinstall, but I had to modify the buildinstall in the 'anaconda-11.4.1.62-1.i386' package. Please find it attached.

Comment 5 Jeroen van Meeuwen 2009-04-09 09:45:44 UTC
Sorry, this new buildinstall doesn't work for Revisor.

If you're looking to change something, it'll probably be in this section:

==
UPD_INSTROOT=./upd-instroot
MK_IMAGES=./mk-images
MK_TREEINFO=./maketreeinfo.py
MK_STAMP=./makestamp.py
BUILDINSTALL=./buildinstall
BUILDINSTALL_FUNCTIONS=./buildinstall.functions

for f in $UPD_INSTROOT $MK_IMAGES $MK_STAMP $MK_TREEINFO $BUILDINSTALL $BUILDINSTALL_FUNCTIONS; do
    if [ -n "$UPDATES" -a -f $UPDATES/usr/lib/anaconda-runtime/$f ]; then
	cp -a $UPDATES/usr/lib/anaconda-runtime/$f* $BUILDINSTDIR/
    elif [ ! -f $f ]; then
	cp -a $BUILDINSTDIR/usr/lib/anaconda-runtime/$f* $BUILDINSTDIR/
    else
	cp -a $f* $BUILDINSTDIR/
    fi
done

UPD_INSTROOT=$BUILDINSTDIR/upd-instroot
MK_IMAGES=$BUILDINSTDIR/mk-images
MK_TREEINFO=$BUILDINSTDIR/maketreeinfo.py
MK_STAMP=$BUILDINSTDIR/makestamp.py
BUILDINSTALL=$BUILDINSTDIR/buildinstall
==

Also, please attach the changes you made using diff or something, not the entire file.

Comment 6 Jean Visagie 2009-04-09 10:24:04 UTC
Here are the diffs

76c76
<         if [ -z "$REPO" ]; then
---
>         #if [ -z "$REPO" ]; then
78,80c78,80
<         else
<             EXTRA_REPOS="$EXTRA_REPOS $1"
<         fi
---
>         #else
>         #    EXTRA_REPOS="$EXTRA_REPOS $1"
>         #fi
179a180
> BUILDINSTALL_FUNCTIONS=./buildinstall.functions
181c182
< for f in $UPD_INSTROOT $MK_IMAGES $MK_STAMP $MK_TREEINFO $BUILDINSTALL; do
---
> for f in $UPD_INSTROOT $MK_IMAGES $MK_STAMP $MK_TREEINFO $BUILDINSTALL $BUILDINSTALL_FUNCTIONS; do

Is buildinstall used at all for anaconda image creation? Or are the anaconda images created by hand?

Comment 7 Jeroen van Meeuwen 2009-04-12 10:34:02 UTC
buildinstall and buildinstall.functions are essential to the anaconda image creation process.