From Fedora Project Wiki

< QA‎ | Test Days
Revision as of 17:05, 17 August 2009 by Kparal (talk | contribs) (add some packages, fix browser homepage, add irc shortcut)

Creating a Test Day Live Image

The following steps outline how to create a Fedora live image based on current Rawhide packages for use during Test Days.

This guide is intended mainly for Fedora QA team
Ordinary users who want to participate on a test day don't have to follow this guide, the pre-built images will be published and available for them to download on a Test Day pages.

1. Install required packages:

yum install spin-kickstarts livecd-tools

2. Save most recent fedora-live-base.ks and fedora-livecd-desktop.ks kickstart templates to a custom directory:

wget 'http://git.fedorahosted.org/git/spin-kickstarts.git?p=spin-kickstarts.git;a=blob_plain;f=fedora-live-base.ks;hb=HEAD' -O fedora-live-base.ks
wget 'http://git.fedorahosted.org/git/spin-kickstarts.git?p=spin-kickstarts.git;a=blob_plain;f=fedora-livecd-desktop.ks;hb=HEAD' -O fedora-livecd-desktop.ks

3. Create a new testday kickstart template fedora-livecd-testday.ks in the same directory, with this content:

%include fedora-livecd-desktop.ks

repo --name jlaska --baseurl http://jlaska.fedorapeople.org/repos/testday
repo --name awilliam --baseurl http://adamwill.fedorapeople.org/nouveau

%packages
gdb
strace
ltrace
rendercheck
libdrm
pidgin
mc
vim
wget
xorg-x11-apps
gtk-recordmydesktop
# save some space
-empathy
-@games
-brasero*
-sound-juicer
-gthumb
-gnome-backgrounds
-desktop-backgrounds*
# brand as fedora test spin
fedora-logos
-generic-logos
%end

%post
# Set Test_Day:Current as default browser homepage
cat << EOF > `ls -1 /usr/lib*/firefox*/browserconfig.properties`
browser.startup.homepage=https://fedoraproject.org/wiki/Test_Day:Current
EOF

# Create a .desktop link for Test Day wiki
mkdir -p /etc/skel/Desktop
cat << EOF > /etc/skel/Desktop/testday-wiki.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Participate in a Test Day
Type=Link
URL=https://fedoraproject.org/wiki/Test_Day:Current
Icon=gnome-fs-bookmark
EOF

# Create a .desktop link for Test Day IRC chat
cat << EOF > /etc/skel/Desktop/testday-irc.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Connect to a Test Day chat
Type=Link
URL=http://webchat.freenode.net/?channels=fedora-qa
Icon=gnome-fs-bookmark
EOF
%end

3. Create the live image:

livecd-creator -c fedora-livecd-testday.ks --cache /var/cache/live -f "testday-`date +%Y%m%d`"
Different architecture
You can use setarch command to create a x86 Live CD/DVD on a x86_64 system. Example: setarch i686 livecd-creator <...>.

Solving problems

Rawhide repository broken

If current rawhide repository is broken and the livecd can't be built, and you have access to some mirror with older rawhide snapshot, you may edit fedora-livecd-testday.ks and redefine the rawhide repository after the %include line, for example looking like this:

repo --name=rawhide --baseurl=protocol:/path-to-older-rawhide-repository/$basearch/os/

In the worst case you can base the whole livecd on Fedora 11 packages with this definition:

# not really rawhide, overriden with F11 'released' repo
repo --name=rawhide --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-11&arch=$basearch
repo --name=updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f11&arch=$basearch

Don't forget to comment out these lines when rawhide repository gets fixed.

SELinux complaints

For building Test Days LiveCD you must have SELinux installed and enabled. Ideally it should be in the enforcing mode and everything should run fine. In case you have problems with that, you may switch the mode temporarily into permissive mode with this command run as root:

setenforce 0

If that doesn't help, you may also modify the fedora-livecd-testday.ks file and after %include line add a directive

selinux --permissive

Now the build should run fine.

Further references

Ideas For Improvement

  1. Create a .desktop file with a Test Day URL on the Desktop
  2. Make browser default homepage http://fedoraproject.org/wiki/Test_Day:Current (suggested by User:sgallagh)
  3. Setup a test day .repo for the running live image (suggested by User:sgallagh)