<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>gr8can8dian &#187; SBR600</title>
	<atom:link href="http://gr8can8dian.wordpress.com/category/sbr600/feed/" rel="self" type="application/rss+xml" />
	<link>http://gr8can8dian.wordpress.com</link>
	<description>Just another WordPress.com site</description>
	<lastBuildDate>Mon, 16 May 2011 16:58:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gr8can8dian.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>gr8can8dian &#187; SBR600</title>
		<link>http://gr8can8dian.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gr8can8dian.wordpress.com/osd.xml" title="gr8can8dian" />
	<atom:link rel='hub' href='http://gr8can8dian.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Building an RPM with koji</title>
		<link>http://gr8can8dian.wordpress.com/2011/01/31/building-an-rpm-with-koji/</link>
		<comments>http://gr8can8dian.wordpress.com/2011/01/31/building-an-rpm-with-koji/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 22:39:19 +0000</pubDate>
		<dc:creator>gr8can8dian</dc:creator>
				<category><![CDATA[SBR600]]></category>

		<guid isPermaLink="false">http://gr8can8dian.wordpress.com/?p=41</guid>
		<description><![CDATA[Installing koji on your Fedora system is a bit of an involved task; the procedure can be followed here. After installing the koji software with: yum install fedora-packager and running the command: /usr/bin/fedora-packager-setup It was a straightforward procedure to enable &#8230; <a href="http://gr8can8dian.wordpress.com/2011/01/31/building-an-rpm-with-koji/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=41&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Installing koji on your Fedora system is a bit of an involved task; the procedure can be followed <a href="http://fedoraproject.org/wiki/PackageMaintainers/UsingKoji">here</a>.</strong></p>
<p><strong>After installing the koji software with:</strong></p>
<pre>yum install fedora-packager</pre>
<p><strong>and running the command:</strong></p>
<pre>/usr/bin/fedora-packager-setup</pre>
<p><strong>It was a straightforward procedure to enable the web certificate for the <a href="http://koji.fedoraproject.org/koji/">Fedora BuildSystem</a> website.</strong></p>
<p><a href="http://gr8can8dian.files.wordpress.com/2011/01/certificate.png"><img class="alignnone size-medium wp-image-44" title="Certificate" src="http://gr8can8dian.files.wordpress.com/2011/01/certificate.png?w=300&h=208" alt="" width="300" height="208" /></a></p>
<p><strong>When trying to run the command:</strong><span style="color:#33cccc;"><br />
LoneWolf@LoneWolf:rpmbuild$</span> koji build dist-f14 &#8211;scratch SRPMS/less 418-1.fc14.src.rpm<br />
<strong>It yielded the following error:</strong><br />
Error: [('SSL routines', 'SSL3_READ_BYTES', 'sslv3 alert certificate revoked'), ('SSL routines', 'SSL3_WRITE_BYTES', 'ssl handshake failure')]</p>
<p><strong>Not sure what to do about that one.</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gr8can8dian.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gr8can8dian.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gr8can8dian.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gr8can8dian.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gr8can8dian.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gr8can8dian.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gr8can8dian.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gr8can8dian.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gr8can8dian.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gr8can8dian.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gr8can8dian.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gr8can8dian.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gr8can8dian.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gr8can8dian.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=41&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gr8can8dian.wordpress.com/2011/01/31/building-an-rpm-with-koji/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d5d1f6c3b2f79f268321a966ffe96a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gr8can8dian</media:title>
		</media:content>

		<media:content url="http://gr8can8dian.files.wordpress.com/2011/01/certificate.png?w=300" medium="image">
			<media:title type="html">Certificate</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating a Custom CentOS-5.5 ISO Image</title>
		<link>http://gr8can8dian.wordpress.com/2011/01/22/creating-a-custom-centos-5-5-iso-image/</link>
		<comments>http://gr8can8dian.wordpress.com/2011/01/22/creating-a-custom-centos-5-5-iso-image/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 01:40:26 +0000</pubDate>
		<dc:creator>gr8can8dian</dc:creator>
				<category><![CDATA[SBR600]]></category>

		<guid isPermaLink="false">http://gr8can8dian.wordpress.com/?p=36</guid>
		<description><![CDATA[I required a script to customize the installation of CentOS-5.5-x86_64 for minimalist installations in Fedora KVM. I wanted the option to install any type of server while installing as few packages as possible. The following files will create a usable &#8230; <a href="http://gr8can8dian.wordpress.com/2011/01/22/creating-a-custom-centos-5-5-iso-image/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=36&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>I required a script to customize the installation of CentOS-5.5-x86_64 for minimalist installations in Fedora KVM. I wanted the option to install any type of server while installing as few packages as possible. The following files will create a usable image when created on a CentOS host but each file must be present in the same directory (along with both CentOS-5.5 DVD images) to work properly:</strong><a href="http://pastebin.com/kAWqEqLU"><br />
README</a>, <a href="http://pastebin.com/kELFfCfr">ks.cfg</a>, <a href="http://pastebin.com/2hCQuCXn">comps.xml</a>, <a href="http://pastebin.com/4Hp2Bzbr">Create-ISO.sh</a></p>
<p>Hope this helps someone out.</p>
<p><strong>This is a step-by-step from the file Create-ISO.sh listed above. This blog only covers the steps relating to the creation of a DVD repository and the creation of an ISO image file. For more information on using the files above, refer to the README file listed above.</strong><br />
<span style="color:#0000ff;">##### BUILD THE DVD ######</span></p>
<p><strong>The first step in creating an istallation repository is to mimic the structure found on the CentOS installation DVD:</strong></p>
<p># In the current directory, create an iso build directory:<br />
timer &#8220;Building iso directory tree&#8221;</p>
<p>if [ $burntype == "kickstart" ]; then<br />
mkdir -p ./kickstart_build/{isolinux,images,ks}<br />
else<br />
mkdir -p ./kickstart_build/{isolinux,images}<br />
fi</p>
<p><strong>***Note the use of the curly braces for grouping of directories; this allows multiple directories to be created on the same branch of the installation tree.</strong></p>
<p><strong>The following directory tree of the Centos-5.5 DVD is going to be re-created in a custom directory, with a hand-picked selection of RPMs:</strong></p>
<p><strong>mnt</strong><br />
<strong>├── CentOS</strong><br />
<strong>├── images</strong><br />
<strong>│   ├── pxeboot</strong><br />
<strong>│   └── xen</strong><br />
<strong>├── isolinux</strong><br />
<strong>├── NOTES</strong><br />
<strong>└── repodata</strong></p>
<p># Mount the CentOS DVD image, avoid read-only mount error message<br />
mount -o loop ./CentOS-5.5-x86_64-bin-DVD-1of2.iso /mnt &gt; /dev/null 2&gt;&amp;1</p>
<p>##### COPY FILES FROM THE CentOS DVD #####<br />
timer &#8220;Copying files to iso&#8221;</p>
<p><strong>This directory contains kernel images that are maps to create directory structures on a new filesystem: </strong></p>
<p># Copy all the files from the isolinux directory on CentOS disc 1 into your kickstart_build/isolinux directory.<br />
cp -R /mnt/isolinux/* ./kickstart_build/isolinux</p>
<p><strong>The .discinfo file contains information about the installation disc such as release version, arch, number of discs and the location of installation directories. This is the .discinfo file from the CentOS-5.5 DVD:</strong></p>
<p><strong>1272326751.405938</strong><br />
<strong>Final</strong><br />
<strong>x86_64</strong><br />
<strong>1</strong><br />
<strong>CentOS/base</strong><br />
<strong>/home/buildcentos/CENTOS/5.5/en/x86_64/CentOS</strong><br />
<strong>CentOS/pixmaps</strong></p>
<p># Copy .discinfo from the CentOS disc 1 into your kickstart_build/isolinux directory.<br />
cp /mnt/.discinfo ./kickstart_build</p>
<p><strong>This directory contains files that enable a bootable environment for both flash drives (diskboot.img) and cd-roms (boot.iso):</strong></p>
<p># Copy all the files from the images directory on CentOS disc 1 into your kickstart_build/isolinux/images directory.<br />
cp -R /mnt/images/* ./kickstart_build/images</p>
<p><strong>This file is parsed by the anaconda installer and contains information about software groups. The comps.xml serves as the outline for the package selection menu in the GUI installer, and gives the installer a framework for package selection in a kickstart installation.</strong></p>
<p># Copy your customized comps.xml to kickstart_build.<br />
cp -f ./comps.xml ./kickstart_build/comps.xml<br />
chmod 644 ./kickstart_build/comps.xml</p>
<p><strong>A kickstart file is not normally found on an installation DVD, this file will enable the iso file to autoinstall according to your specific instructions:</strong></p>
<p># Your kickstart config file will go into the kickstart_build/ks directory.<br />
if [ $burntype == "kickstart" ]; then<br />
timer &#8220;Configuring kickstart files&#8221;<br />
cp ./ks.cfg ./kickstart_build/ks/ks.cfg</p>
<p><strong>These files need their permissions changed because the directory structure is READ ONLY; mkisofs will return an error if the filestructure is not read-only: </strong></p>
<p># Change permissions on 3 files:<br />
chmod 664 ./kickstart_build/isolinux/isolinux.bin<br />
chmod 664 ./kickstart_build/isolinux/isolinux.cfg<br />
chmod 664 ./kickstart_build/ks/ks.cfg</p>
<p>T<strong>his option uses openssl to insert password hashes into your custom kickstart for both the root and regular user:</strong></p>
<p># Change the root password in the ks.cfg file<br />
createPassword &#8220;Please enter a root password.&#8221;<br />
sed -i &#8216;s/^rootpw .*$/rootpw &#8211;iscrypted &#8216;$passhash&#8217;/&#8217; ./kickstart_build/ks/ks.cfg</p>
<p># Change the user password in the ks.cfg file<br />
read -p &#8220;Please enter a username. &#8221; username<br />
createPassword &#8220;Please enter a user password.&#8221;<br />
sed -i &#8216;s/^user .*$/user &#8211;name=&#8217;$username&#8217; &#8211;password=&#8217;$passhash&#8217; &#8211;iscrypted/&#8217; ./kickstart_build/ks/ks.cfg</p>
<p><strong>The next two modifications are necessary to redirect the installer to the kickstart file, otherwise, the installer would use the default GUI installer with user interaction:</strong></p>
<p># Modify the &#8220;isolinux.cfg&#8221; file, this is done so that the kickstart runs automatically.<br />
# Change the line: &#8220;default linux&#8221; to &#8220;default ks&#8221;<br />
sed -i &#8216;s/^default linux$/default ks/&#8217; ./kickstart_build/isolinux/isolinux.cfg</p>
<p># Change the line: &#8220;append ks initrd=initrd.img&#8221; to &#8220;append ks=cdrom:/CentOS-VM-ks.cfg initrd=initrd.img&#8221;<br />
sed -i &#8216;s/^[ ]*append ks initrd=initrd.img$/ append ks=cdrom:\/ks\/ks.cfg initrd=initrd.img/&#8217; ./kickstart_build/isolinux/isolinux.cfg<br />
fi</p>
<p><strong>The createrepo software enables you to build update repositories as well as installation repositories: </strong></p>
<p># Install createrepo so that you can create a repository.<br />
if [ ! $(rpm -q createrepo) ]; then<br />
yum -y install createrepo<br />
fi</p>
<p><strong>Now that the directory structure is in place and the necessary software is installed on the system, you can load RPMs into the DVD installation repository. Hopefully all the dependencies for RPM packages are resolved for all individual and group entries in your comps.xml file:</strong></p>
<p># Load RPMs on to new DVD.<br />
timer &#8220;Copying RPM files&#8221;</p>
<p>if [ ! -d ./kickstart_build/CentOS ]; then<br />
mkdir ./kickstart_build/CentOS<br />
fi</p>
<p>cp -R ./custom_rpms/* ./kickstart_build/CentOS</p>
<p><strong>With all the RPMs in the directory tree, it is time to build the repository from the directory structure that has been created:</strong></p>
<p># Build repository on the new DVD<br />
timer &#8220;Building repository&#8221;<br />
cd ./kickstart_build</p>
<p>declare -x discinfo=$(head -1 .discinfo)<br />
createrepo -u &#8220;media://$discinfo&#8221; -g comps.xml .</p>
<p>cd ../</p>
<p><strong>Returning the status of any changed files to read-only is essential for the successful creation of an iso image file: </strong></p>
<p>if [ $burntype == "kickstart" ]; then<br />
# Change permissions back to default for &#8220;isolinux.cfg&#8221; and &#8220;isolinux.bin&#8221;<br />
chmod 555 ./kickstart_build/isolinux/isolinux.cfg<br />
chmod 444 ./kickstart_build/isolinux/isolinux.bin<br />
fi</p>
<p># Create the iso file.<br />
timer &#8220;Building image file&#8221;<br />
mkisofs -r -N -L -d -J -T -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -V &#8220;$label&#8221; -boot-load-size 4 -boot-info-table  -o &#8220;$filename&#8221; kickstart_build/</p>
<p><strong>Although this program (in its entirety) will produce a usable image, there are some aspects of the build that I was not able to get working completely:</strong></p>
<p># Add checksum to iso (not working !!!):<br />
# implantisomd5 ./CentOS-VM.iso</p>
<p># Record DVD automatically (not tested):<br />
#growisofs -Z /dev/cdrom=./CentOS-VM.iso</p>
<p>umount /mnt</p>
<p><strong>Writing this program forced me to look closely at the booting process for a RHEL-based installation DVD and also gave me some insight into: RPMs, kickstart files, repositories, and xml files. It also spawned the notion to create an update repository for my virtual machine network(s); the process of creating a network repository is quite similar to creating an installation repo. </strong></p>
<p><span style="color:#0000ff;"> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gr8can8dian.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gr8can8dian.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gr8can8dian.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gr8can8dian.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gr8can8dian.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gr8can8dian.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gr8can8dian.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gr8can8dian.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gr8can8dian.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gr8can8dian.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gr8can8dian.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gr8can8dian.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gr8can8dian.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gr8can8dian.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=36&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gr8can8dian.wordpress.com/2011/01/22/creating-a-custom-centos-5-5-iso-image/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d5d1f6c3b2f79f268321a966ffe96a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gr8can8dian</media:title>
		</media:content>
	</item>
		<item>
		<title>Terminal Application for KVM Backup on Fedora</title>
		<link>http://gr8can8dian.wordpress.com/2011/01/22/terminal-application-for-kvm-backup-on-fedora/</link>
		<comments>http://gr8can8dian.wordpress.com/2011/01/22/terminal-application-for-kvm-backup-on-fedora/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 00:16:29 +0000</pubDate>
		<dc:creator>gr8can8dian</dc:creator>
				<category><![CDATA[SBR600]]></category>

		<guid isPermaLink="false">http://gr8can8dian.wordpress.com/?p=32</guid>
		<description><![CDATA[I Wrote this script to assist with backups when using virtualization in Fedora. Excuse any bugs, as I am not quite finished debugging all the code (delete is not finished). Any suggestions or improvements are always welcome, I eventually would &#8230; <a href="http://gr8can8dian.wordpress.com/2011/01/22/terminal-application-for-kvm-backup-on-fedora/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=32&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>I Wrote this script to assist with backups when using virtualization in Fedora. Excuse any bugs, as I am not quite finished debugging all the code (delete is not finished). Any suggestions or improvements are always welcome, I eventually would like to create a zenity version of this script (time permitting). You can link to the code <a href="http://pastebin.com/DdT9WdbY">here</a>. <span style="color:#ff0000;">):}&gt;</span></strong></p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gr8can8dian.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gr8can8dian.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gr8can8dian.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gr8can8dian.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gr8can8dian.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gr8can8dian.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gr8can8dian.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gr8can8dian.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gr8can8dian.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gr8can8dian.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gr8can8dian.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gr8can8dian.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gr8can8dian.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gr8can8dian.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=32&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gr8can8dian.wordpress.com/2011/01/22/terminal-application-for-kvm-backup-on-fedora/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d5d1f6c3b2f79f268321a966ffe96a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gr8can8dian</media:title>
		</media:content>
	</item>
		<item>
		<title>Building a Fedora RPM with &#8220;mock&#8221;</title>
		<link>http://gr8can8dian.wordpress.com/2011/01/22/building-a-fedora-rpm-with-mock/</link>
		<comments>http://gr8can8dian.wordpress.com/2011/01/22/building-a-fedora-rpm-with-mock/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 20:26:20 +0000</pubDate>
		<dc:creator>gr8can8dian</dc:creator>
				<category><![CDATA[SBR600]]></category>

		<guid isPermaLink="false">http://gr8can8dian.wordpress.com/?p=22</guid>
		<description><![CDATA[The mock program creates chroots and builds RPM packages in them. To install mock on your system, enter &#8220;yum install mock&#8221; in terminal (as the root user). Details for the mock project can be found here. LoneWolf@LoneWolf:~$ su - root@LoneWolf:~# &#8230; <a href="http://gr8can8dian.wordpress.com/2011/01/22/building-a-fedora-rpm-with-mock/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=22&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>The <em>mock</em> program creates <a href="http://en.wikipedia.org/wiki/Chroot">chroots</a> and builds RPM packages in them. To install <em>mock</em> on your system, enter &#8220;yum install mock&#8221; in terminal (as the root user).</strong> <strong>Details for the <em>mock</em> project can be found <a href="http://fedoraproject.org/wiki/Projects/Mock">here</a>.</strong><br />
LoneWolf@LoneWolf:~$ su -<br />
root@LoneWolf:~# yum install mock <em> </em></p>
<p><span style="color:#000000;"><strong> You must now add your user account to the <em>mock</em> group in order to run the software as a regular user. It is not good practice to build RPMS as the &#8220;root&#8221; user because there is a chance that you could compromise your OS installation; building RPM packages should never be performed as root. It should also be noted that the recommended practice is to create a new &#8220;build&#8221; user to run <em>mock</em> as there are security considerations to running as your regular user account. </strong></span><span style="color:#000080;"><span style="color:#333399;"><strong> </strong></span><strong> </strong></span><em> </em><strong> </strong><strong>If you are concerned with security, create a new user with: &#8220;useradd -G <em>groupname username</em>&#8220;, and run <em>mock</em> as this user. </strong><span style="color:#000000;"><strong>To add your regular username to the <em>mock</em> group, enter the following command in terminal as root: &#8220;usermod -a -F </strong><strong>groupname username</strong></span><strong>&#8220;. </strong><br />
root@LoneWolf:~# usermod -a -G mock LoneWolf</p>
<p><strong>There are problems associated with running <em>mock</em> with SELinux; an SELinux policy module can be installed as outlined <a href="http://fedoraproject.org/wiki/Extras/MockTricks">here</a> (Under the heading &#8220;Using Mock with SELinux). Execute the following commands to install this module:</strong><br />
mkdir /root/selinux.local<br />
cd /root/selinux.local</p>
<p>wget http://fedoraproject.org/w/uploads/2/2f/PackageMaintainers_MockTricks_mock.if<br />
wget http://fedoraproject.org/w/uploads/7/73/PackageMaintainers_MockTricks_mock.fc<br />
wget http://fedoraproject.org/w/uploads/0/0b/PackageMaintainers_MockTricks_mock.te</p>
<p>yum -y install selinux-policy-devel checkpolicy<br />
make -f /usr/share/selinux/devel/Makefile</p>
<p><strong>Change to the user account you will use to run <em>mock</em>, and run the command:<br />
mock -r fedora-<em>your-distribution_release</em>-<em>your_arch</em> <em>/path/to/SRPM</em>&#8220;<br />
Use the SRPM that you created as outlined in the post &#8220;<a href="http://gr8can8dian.wordpress.com/2011/01/13/rpm-writing-lab/">Building a Fedora RPM</a>&#8220;. </strong><br />
root@LoneWolf:selinux.local# logout<br />
LoneWolf@LoneWolf:~$ mock -r fedora-14-x86_64 rpmbuild/SRPMS/less-418-1.fc14.src</p>
<p><strong>This resulted in the following error <img src='http://s0.wp.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> &#8230;</strong><br />
checking for working terminal libraries&#8230; Cannot find terminal libraries &#8211; configure failed<br />
error: Bad exit status from /var/tmp/rpm-tmp.6ua9eg (%build)<br />
<strong>Since:</strong><br />
&#8220;Package ncurses-devel-5.7-9.20100703.fc14.x86_64 already installed&#8230;&#8221;<br />
&#8220;Package ncurses-5.7-9.20100703.fc14.x86_64 already installed&#8230;&#8221;<br />
&#8220;Package gcc-4.5.1-4.fc14.x86_64 already installed&#8230;&#8221;<br />
I&#8217;ll have to figure out which library it is looking for.</p>
<p><strong>Going back and executing &#8220;rpmbuild -ba list.spec&#8221; in the SPECS directory yielded this: </strong><br />
<strong><span style="color:#ff0000;">Requires(rpmlib):</span></strong><br />
rpmlib(CompressedFileNames) &lt;= 3.0.4-1<br />
rpmlib(FileDigests) &lt;= 4.6.0-1<br />
rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1<br />
<strong><span style="color:#ff0000;">Requires: </span></strong><br />
libc.so.6()(64bit)<br />
libc.so.6(GLIBC_2.11)(64bit)<br />
libc.so.6(GLIBC_2.2.5)(64bit)<br />
libc.so.6(GLIBC_2.3)(64bit)<br />
libc.so.6(GLIBC_2.3.4)(64bit)<br />
libc.so.6(GLIBC_2.4)(64bit)<br />
libtinfo.so.5()(64bit)<br />
rtld(GNU_HASH)</p>
<p><strong>A quick search of the above entries at <a href="http://pkgs.org/">Linux Packages Search</a> narrowed down the packages needed. This meant adding these two lines to the less.spec file:</strong><br />
<span style="color:#ff0000;">BuildRequires:  kobo, kobo-rpmlib</span><br />
<span style="color:#ff0000;">Requires: glibc, ncurses-libs</span><strong><br />
This generated another error message after another <em>rpmbuild -ba less.spec</em>:</strong><br />
LoneWolf@LoneWolf:SPECS$ rpmlint ../RPMS/x86_64/less-418-1.fc14.x86_64.rpm<br />
less.x86_64: E: explicit-lib-dependency ncurses-libs<br />
less.x86_64: W: spurious-executable-perm /usr/share/doc/less-418/COPYING<br />
less.x86_64: W: spurious-executable-perm /usr/share/doc/less-418/INSTALL<br />
less.x86_64: W: spurious-executable-perm /usr/share/doc/less-418/LICENSE<br />
1 packages and 0 specfiles checked; 1 errors, 3 warnings.<strong><br />
Shortening the <em>Requires:</em> entry to </strong><span style="color:#000000;"><em>Requires: glibc </em></span><strong>and rebuilding AGAIN eliminated this error.</strong></p>
<p><strong> </strong></p>
<p><strong>As it turned out, the packages: <em>glibc</em> and <em>ncurses-libs</em> were already installed but the packages: <em>kobo</em> and <em>kobo-rpmlib</em> were not.</strong><br />
root@LoneWolf:~# yum -y install kobo kobo-rpmlib<br />
LoneWolf@LoneWolf:SPECS$ mock -r fedora-14-x86_64 ../SRPMS/less-418-1.fc14.src.rpm<br />
<span style="color:#ff0000;">ERROR: Exception(../SRPMS/less-418-1.fc14.src.rpm) Config(fedora-14-x86_64) 0 minutes 44 seconds</span><br />
<span style="color:#ff0000;">checking for working terminal libraries&#8230; Cannot find terminal libraries &#8211; configure failed</span></p>
<p><strong>After adding <em>ncurses-devel</em> to the <em>BuildRequires</em> section in my SPEC file, the build for &#8220;less&#8221; finally executed without error. It should be noted that because <em>mock </em>runs in a chroot environment, it does not have access to system libraries, unless they are included in the BuildRequires section of your .spec file.</strong></p>
<p><strong>The build for <em>gawk </em>went rather smoothly after applying the knowledge learned from building the <em>less </em>package.</strong></p>
<p><strong>Next topic: <a href="http://gr8can8dian.wordpress.com/2011/01/31/building-an-rpm-with-koji/">Building an RPM with koji</a><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gr8can8dian.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gr8can8dian.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gr8can8dian.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gr8can8dian.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gr8can8dian.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gr8can8dian.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gr8can8dian.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gr8can8dian.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gr8can8dian.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gr8can8dian.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gr8can8dian.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gr8can8dian.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gr8can8dian.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gr8can8dian.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=22&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gr8can8dian.wordpress.com/2011/01/22/building-a-fedora-rpm-with-mock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d5d1f6c3b2f79f268321a966ffe96a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gr8can8dian</media:title>
		</media:content>
	</item>
		<item>
		<title>Building a Fedora RPM</title>
		<link>http://gr8can8dian.wordpress.com/2011/01/13/rpm-writing-lab/</link>
		<comments>http://gr8can8dian.wordpress.com/2011/01/13/rpm-writing-lab/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 00:58:43 +0000</pubDate>
		<dc:creator>gr8can8dian</dc:creator>
				<category><![CDATA[SBR600]]></category>

		<guid isPermaLink="false">http://gr8can8dian.wordpress.com/?p=12</guid>
		<description><![CDATA[The RPM build process starts with having the proper software on your system. I installed the packages below (as the root user): root@LoneWolf:~# yum groupinstall &#8220;Fedora Packager&#8221; root@LoneWolf:~# yum install rpmlint yum-utils Package rpmlint-1.0-2.fc14.noarch already installed and latest version Package &#8230; <a href="http://gr8can8dian.wordpress.com/2011/01/13/rpm-writing-lab/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=12&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>The RPM build process starts with having the proper software on your system. I installed the packages below (as the root user):</strong><br />
root@LoneWolf:~# yum groupinstall &#8220;Fedora Packager&#8221;<br />
root@LoneWolf:~# yum install rpmlint yum-utils</p>
<p>Package rpmlint-1.0-2.fc14.noarch already installed and latest version<br />
Package yum-utils-1.1.28-1.fc14.noarch already installed and latest version<br />
Nothing to do</p>
<p><strong>Change to a regular user account to build RPMs; it is best if you do not execute builds as the root user, it could really mess up your system if something gets installed improperly. </strong><br />
root@LoneWolf:~# logout</p>
<p><strong>The directory structure for an RPM build must now be set up:</strong><br />
LoneWolf@LoneWolf:~$ rpmdev-setuptree</p>
<p><strong>This command makes a directory called &#8220;rpmbuild&#8221; in your home directory:</strong><br />
LoneWolf@LoneWolf:~$ dir<br />
Desktop    Downloads  Pictures    <span style="color:#0000ff;">rpmbuild</span> Videos<br />
Documents  Music      Public    Templates</p>
<p><strong>There are six directories inside the &#8220;rpmbuild&#8221; directory:</strong><br />
LoneWolf@LoneWolf:~$ cd /home/LoneWolf/rpmbuild/<br />
LoneWolf@LoneWolf:rpmbuild$ dir<br />
BUILD  BUILDROOT  RPMS    SOURCES  SPECS    SRPMS</p>
<p><strong>First your source code packages must be in the &#8220;SOURCES&#8221; directory:</strong><br />
cp /home/LoneWolf/Desktop/MakeTest/*.gz.* rpmbuild/SOURCES/</p>
<p><strong>As you can see I am trying to build RPMS for &#8220;less&#8221; and &#8220;gawk&#8221;.</strong> These packages are found <a href="http://www.gnu.org/software/software.html#allgnupkgs">here</a>.<br />
LoneWolf@LoneWolf:~$ cd rpmbuild/SOURCES<br />
LoneWolf@LoneWolf:SOURCES$ dir<br />
gawk-3.1.8.tar.gz  less-418.tar.gz</p>
<p><strong>The next step is to change to the &#8220;SPECS&#8221; directory: </strong><br />
LoneWolf@LoneWolf:rpmbuild$ cd SPECS/</p>
<p><strong>You then must generate a &#8220;spec&#8221; file for your RPM build. Skeleton spec files for the new RPM packages are generated with the command: </strong>rpmdev-newspec<strong> <em>filename</em></strong><br />
LoneWolf@LoneWolf:SPECS$ rpmdev-newspec gawk-3.1.8<br />
Skeleton specfile (minimal) has been created to &#8220;gawk-3.1.8.spec&#8221;.</p>
<p>LoneWolf@LoneWolf:SPECS$ rpmdev-newspec less-418<br />
Skeleton specfile (minimal) has been created to &#8220;less-418.spec&#8221;.</p>
<p><strong>Then edit the spec files for your RPM(s); some helpful resources can be found here:</strong><br />
<span style="text-decoration:underline;"><strong>Internet Resources:</strong></span><a href="http://wiki.mandriva.com/en/Policies/RpmSpecProposal"><br />
Rpm specs file syntax<br />
Packaging software with RPM, Part 1</a><br />
<a href="http://rpm5.org/docs/rpm-guide.pdf">rpm-guide.pdf (chapters 8,9,10 )</a></p>
<p><span style="text-decoration:underline;"><strong>Handy Terminal Commands:</strong> </span><br />
List the metadata for an RPM:<br />
rpm -qi <em>packagename </em></p>
<p>List the shared object and program dependencies for an RPM:<br />
rpm -qR <em>packagename</em></p>
<p><strong>After reading (hopefully all) of the material posted above and with your (hopefully error-free) &#8220;spec&#8221; file ready to go, it is time to make an RPM! Execute the command:</strong><br />
rpmbuild -ba SPECS/yourRPMname.spec<br />
LoneWolf@LoneWolf:rpmbuild$ rpmbuild -ba SPECS/less-418.spec</p>
<p><strong>Result: </strong><br />
error: File not found: /home/LoneWolf/rpmbuild/BUILDROOT/less-418-1.fc14.x86_64/usr/doc/less-418/LICENSE<br />
<strong>It would seem that one of the %doc files under the %files section in the specfile needs some fine-tuning.</strong></p>
<p><strong>Debugging specfiles can be tedious! The program &#8220;rpmlint&#8221; is used to check three files generated from your build: <em>name</em>.spec, your SRPM and your RPM. The &#8220;rpmlint&#8221; command is executed by entering &#8220;rpmlint <em>/path/to/file</em>&#8220;. After fixing all the errors reported from running rpmlint, this was the result from building the &#8220;less&#8221; package:</strong><br />
LoneWolf@LoneWolf:SPECS$ rpmlint ../RPMS/x86_64/less-418-1.fc14.x86_64.rpm<br />
less.x86_64: W: spurious-executable-perm /usr/share/doc/less-418/COPYING<br />
less.x86_64: W: spurious-executable-perm /usr/share/doc/less-418/INSTALL<br />
less.x86_64: W: spurious-executable-perm /usr/share/doc/less-418/LICENSE<br />
1 packages and 0 specfiles checked; 0 errors, 3 warnings.</p>
<p>LoneWolf@LoneWolf:SPECS$ rpmlint ../SRPMS/less-418-1.fc14.src.rpm<br />
1 packages and 0 specfiles checked; 0 errors, 0 warnings.</p>
<p>LoneWolf@LoneWolf:SPECS$ rpmlint less.spec<br />
0 packages and 1 specfiles checked; 0 errors, 0 warnings.</p>
<p><strong>I am unsure about the warnings generated by running rpmlint on my RPM package; defining the executables as &#8220;%doc files&#8221; or defining the executables as just &#8220;files&#8221; makes no difference in this error message. From what I can gather, defining executables in the %files section of a SPEC file is considered bad practice because this may introduce additional dependencies in the finished RPM. </strong></p>
<p><strong><span style="color:#ff0000;">My &#8220;.spec&#8221; file for the &#8220;less&#8221; package is shown below:</span></strong></p>
<p>Name:           less<br />
Version:        418<br />
Release:        1%{?dist}<br />
Summary:        This is the distribution of &#8220;less&#8221;, a page navigator similar to &#8220;more&#8221; or &#8220;pg&#8221;</p>
<p>Group:          Applications/Text<br />
License:        GPLv3+<br />
URL:            http://www.greenwoodsoftware.com/less/<br />
Source0:        http://ftp.gnu.org/gnu/less/%{name}-%{version}.tar.gz<br />
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)</p>
<p>%description<br />
Less is a program similar to more.<br />
Less allows backward  movement in the file as well as forward movement.</p>
<p>%prep<br />
%setup -q</p>
<p>%build<br />
%configure<br />
make %{?_smp_mflags}</p>
<p>%install<br />
rm -rf $RPM_BUILD_ROOT<br />
make install DESTDIR=$RPM_BUILD_ROOT</p>
<p>%clean<br />
rm -rf $RPM_BUILD_ROOT</p>
<p>%files<br />
%defattr(-,root,root,-)<br />
# Same as /usr/bin<br />
%{_bindir}/*<br />
# Same as path to man pages<br />
%{_mandir}/*/*<br />
%doc LICENSE<br />
%doc COPYING<br />
%doc  INSTALL<br />
%doc NEWS<br />
%doc README</p>
<p>%changelog<br />
*Sat Jan 23 2011 &#8211; ldsoura (at) learn.senecac.on.ca 418-1<br />
-Verbose descriptions for changes in packages are put here.<br />
-This keeps track of specific changes and bug fixes in new builds.<br />
-Note the the date and the version must both be present in the first line of changelog.</p>
<p><strong>This next topic is a continuation of testing to assure that the RPM you have built will install without errors. Next topic:</strong> <a href="http://gr8can8dian.wordpress.com/2011/01/22/building-a-fedora-rpm-with-mock/">Building a Fedora RPM with &#8220;mock&#8221;</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gr8can8dian.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gr8can8dian.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gr8can8dian.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gr8can8dian.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gr8can8dian.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gr8can8dian.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gr8can8dian.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gr8can8dian.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gr8can8dian.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gr8can8dian.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gr8can8dian.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gr8can8dian.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gr8can8dian.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gr8can8dian.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=12&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gr8can8dian.wordpress.com/2011/01/13/rpm-writing-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d5d1f6c3b2f79f268321a966ffe96a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gr8can8dian</media:title>
		</media:content>
	</item>
		<item>
		<title>Adventures in Compiling Open Source Software</title>
		<link>http://gr8can8dian.wordpress.com/2011/01/13/hello-world/</link>
		<comments>http://gr8can8dian.wordpress.com/2011/01/13/hello-world/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 04:17:14 +0000</pubDate>
		<dc:creator>gr8can8dian</dc:creator>
				<category><![CDATA[SBR600]]></category>

		<guid isPermaLink="false">http://gr8can8dian.wordpress.com/?p=1</guid>
		<description><![CDATA[I first downloaded the zipped files &#8220;less&#8221; and &#8220;wget&#8221; using links from the GNU software collection website. I started with building the package &#8220;less&#8221; using the following commands: root@LoneWolf:MakeTest# dir less-418  less-418.tar.gz  wget-latest.tar.gz Untar the files from the zipped archive: &#8230; <a href="http://gr8can8dian.wordpress.com/2011/01/13/hello-world/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=1&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>I first downloaded the zipped files &#8220;less&#8221; and &#8220;wget&#8221; using links from the </strong><a title="http://www.gnu.org/software/software.html#allgnupkgs" rel="nofollow" href="http://www.gnu.org/software/software.html#allgnupkgs">GNU software collection</a> <strong>website. I started with building the package &#8220;less&#8221; using the following commands:</strong></p>
<p>root@LoneWolf:MakeTest# dir<br />
less-418  less-418.tar.gz  wget-latest.tar.gz</p>
<p><strong>Untar the files from the zipped archive:</strong><br />
root@LoneWolf:MakeTest# tar -xvzf less-418.tar.gz</p>
<p><strong>Change to the unzipped directory. </strong><br />
root@LoneWolf:MakeTest# cd less-418</p>
<p><strong>Run the &#8220;configure&#8221; script:</strong><br />
root@LoneWolf:less-418# ./configure</p>
<p><strong>Run the &#8220;make&#8221; command:</strong><br />
root@LoneWolf:less-418# make</p>
<p><strong>See how long it took for the &#8220;make&#8221; command to execute:</strong><br />
root@LoneWolf:less-418# time make<br />
make: Nothing to be done for `all&#8217;.</p>
<p>real    0m0.005s<br />
user    0m0.004s<br />
sys    0m0.001s</p>
<p><strong>Test the command by executing the binary file:</strong><br />
root@LoneWolf:less-418# ./less README</p>
<p><strong>The program compiled without errors or dependencies and the binary executed as expected.</strong></p>
<p><strong>I then tried to build the &#8220;wget&#8221; package, but it required the dependency &#8220;Libidn&#8221;.</strong><br />
<strong>Change back to the directory where the downloaded zipped archives reside: </strong><br />
root@LoneWolf:less-418# cd ../<br />
root@LoneWolf:MakeTest# dir<br />
less-418  less-418.tar.gz  wget-latest.tar.gz</p>
<p><strong>Untar the &#8220;wget&#8221; archive:</strong><br />
root@LoneWolf:MakeTest# tar -xvzf wget-latest.tar.gz<br />
root@LoneWolf:MakeTest# dir<br />
less-418  less-418.tar.gz  wget-1.12  wget-latest.tar.gz</p>
<p><strong>Change to the untarred directory:</strong><br />
root@LoneWolf:MakeTest# cd wget-1.12/</p>
<p><strong>Run the configure script:</strong><br />
root@LoneWolf:wget-1.12# ./configure</p>
<p><strong>I received the following error for a missing shared library file:</strong><br />
configure: WARNING: Libidn not found</p>
<p><strong>I opted to pick another package, and downloaded the file &#8220;gawk&#8221;.</strong><br />
root@LoneWolf:wget-1.12# cd ../<br />
root@LoneWolf:MakeTest# wget http://ftp.gnu.org/gnu/gawk/gawk-3.1.8.tar.gz<br />
&#8211;2011-01-13 13:05:36&#8211;  http://ftp.gnu.org/gnu/gawk/gawk-3.1.8.tar.gz<br />
Resolving ftp.gnu.org&#8230; 140.186.70.20<br />
Connecting to ftp.gnu.org|140.186.70.20|:80&#8230; connected.<br />
HTTP request sent, awaiting response&#8230; 200 OK<br />
Length: 2627635 (2.5M) [application/x-gzip]<br />
Saving to: “gawk-3.1.8.tar.gz.1”</p>
<p>100%[======================================&gt;] 2,627,635   1.59M/s   in 1.6s</p>
<p>2011-01-13 13:05:37 (1.59 MB/s) &#8211; “gawk-3.1.8.tar.gz.1” saved [2627635/2627635]</p>
<p><strong>I untarred the archive:</strong><br />
root@LoneWolf:MakeTest# tar -xvzf gawk-3.1.8.tar.gz.1</p>
<p><strong>Changed to the untarred directory:</strong><br />
root@LoneWolf:MakeTest# cd gawk-3.1.8</p>
<p><strong>Ran the &#8220;configure&#8221; script:</strong><br />
root@LoneWolf:gawk-3.1.8# ./configure</p>
<p><strong>This time I was successful in having no errors or dependencies, so I ran the &#8220;make&#8221; command.</strong><br />
root@LoneWolf:gawk-3.1.8# make</p>
<p><strong>Checked to see how much time it took to run &#8220;make&#8221;:</strong><br />
root@LoneWolf:gawk-3.1.8# time make<br />
real    0m0.107s<br />
user    0m0.051s<br />
sys    0m0.046s</p>
<p><strong>I then tested the command by running the binary:</strong><br />
root@LoneWolf:gawk-3.1.8# ./gawk &#8216;END{print NR}&#8217; README<br />
114</p>
<p><strong>It showed that there are 114 lines in gawk&#8217;s &#8220;README&#8221; file.</strong></p>
<p><strong>Manually configuring programs from tarballs is a time consuming process, but is sometimes necessary in situations where there is no other alternative, such as having a ready-made package that a package manager can install for you. Resolving dependencies can be a real challenge if there are many extra files that are required by the software that you are trying to compile. Compiling from source code is not for the impatient!</strong><br />
The next step is to create RPM files <a href="http://gr8can8dian.wordpress.com/2011/01/13/rpm-writing-lab/"></a> from the two zipped archives for &#8220;list&#8221; and &#8220;gawk&#8221;<strong>. </strong>This procedure is outlined in my <a title="RPM-Writing Lab" href="http://gr8can8dian.wordpress.com/2011/01/13/rpm-writing-lab/">RPM-Writing Lab</a> <strong></strong>blog post.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gr8can8dian.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gr8can8dian.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gr8can8dian.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gr8can8dian.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gr8can8dian.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gr8can8dian.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gr8can8dian.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gr8can8dian.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gr8can8dian.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gr8can8dian.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gr8can8dian.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gr8can8dian.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gr8can8dian.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gr8can8dian.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gr8can8dian.wordpress.com&#038;blog=19088158&#038;post=1&#038;subd=gr8can8dian&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gr8can8dian.wordpress.com/2011/01/13/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3d5d1f6c3b2f79f268321a966ffe96a5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gr8can8dian</media:title>
		</media:content>
	</item>
	</channel>
</rss>
