1,885
edits
Changes
no edit summary
See also "Fedora Linux" chapter 5 (see Seneca Library website > eBooks > View All > Safari > Fedora Linux).
* Take the software you compiled last week and package it (not Nled!). Blog about the experience. Include a link to your source RPM (and optionally your binary RPM) from your blog. '''Please complete this by Monday, September 28.'''
# Test it with mock
-->
== ToDo ==
* Test your RPM from last week with:
** rpmlint
** mock
** koji
* Blog about your experience.
= Week 5 (October 6) - Repositories/Distributing =
== Signing RPM packages ==
An RPM signature, like the digital signature used on many other software-signing systems, is a private key encryption of a checksum. RPM uses the GPG libraries for signing.
# Create a GPG key: <code>gpg --gen-key</code>
# Add the e-mail address associated with your gpg key to the <code>%_gpg_name</code> macro in <code>~/.rpmmacros</code> -- the line will look like this: <code>%_gpg_name "<i>e-mail-address</i></code>
# Find (or make) some packages to put in your repository. Make sure that the epoch-version-release is higher than that of any package with the same name in the Fedora repositories.
# Sign those packages with: <code>rpm --addsign <i>packagefile</i></code>
== Creating a YUM repository ==
A yum repository is just a directory of packages and some metadata.
# Create a directory that can be served. The protocol used to serve that directory could be http, ftp, nfs, or something else (the files can be served by putting them on a DVD too!). For http, create the directory within <code>/var/www/html</code>
# Put your signed packages in that directory.
# Create the repository metadata for that directory: <code>createrepo <i>/name/of/directory</i></code>
Notice that the repository metadata will be placed in a directory named <code>repodata</code>
== Testing ==
# Create a new repository file in <code>/etc/yum.repos.d</code> by copying and modifying an existing file in that directory. Keep <code>gpgcheck=1</code> but comment out the <code>gpgkey</code> file.
# Confirm that you cannot install from that repository using yum.
# Uncomment the <code>gpgkey</code> line, and point it to a new file within <code>/etc/pki/rpm-gpg/</code>
# Create that file by running (as your regular user): <code>gpg --export --armour <i>e-mail-address</i></code> and saving the output
# Confirm that you can now install from your repository. You should be asked whether you wish to import the key for your repo.
== Guest Speakers: Ben Hearsum and Armen Zambrano ==
* Ben Hearsum and Armen Zambrano Gasparnian from the Mozilla build team will discuss what Build & Release means in the [http://mozilla.org/ Mozilla] context.
== ToDo ==
# Create an RPM package that will install your repository configuration file and the key.
# Test it.
# Blog about this lab, and include a link to your repository RPM package.
= Week 6 (October 13) - Compositing =
* Compositing (or Composing) is arranging media for distribution. These days, "Media" may be an image instead of physical media.
== Creating a LiveCD/LiveDVD in Fedora ==
* Install the livecd-tools and example kickstart files: <code>yum install livecd-tools spin-kickstarts</code>
* Turn off SELinux temporarily: <code>setenforce 0</code>
* Run the livecd-creator with a specific kickstart file (this one uses an example from /usr/share/spin-kickstarts): <code> livecd-creator --config=/usr/share/spin-kickstarts/fedora-livecd-desktop.ks --fslabel=Fedora-LiveCD --cache=/var/cache/live</code>
* You should end up with an ISO image. You can test it with: <code>qemu-kvm -m 512 -cdrom Fedora-LiveCD.iso</code>
== Creating Your Own LiveCD Image ==
* Create a modified kickstart file with these changes:
** Replace the ''fedora-logos'', ''fedora-release'', and ''fedora-release-notes'' with the ''generic-logos'', ''generic-release'', and ''generic-release-notes'' packages.
** Add your personal repository and the package which you created.
* Build the live disc and test it.
== ToDo ==
* Blog about your experiment finding the optimal <code>%_smp_mflags</code> value for a CDOT machine.
* Blog about the LiveCD image you created. Include a link to the kickstart file as well as to the ISO image itself.
<!--
* We analyzed the [[Winter 2009 SBR 600 Fedora Mass Rebuild|mass rebuild]] results so far to find the slowest 15 packages: [[Winter 2009 SBR600 Packages of Interest]]
# [c] start the build: <code>time rpmbuild --rebuild ''package''.src.rpm</code>
* Blog about the build times with and without distcc.
* Blog an analysis of the /var/f10source/buildall.log file on Scotland.
# Confirm that you can now install from your repository. You should be asked whether you wish to import the key for your repo.
# Create an RPM package that will install your repository configuration file and the key.