<?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/"
	>

<channel>
	<title>Fernandez de Quilon &#187; RPM</title>
	<atom:link href="http://www.jefferyfernandez.id.au/category/rpm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jefferyfernandez.id.au</link>
	<description>between flat screens and grey matter</description>
	<lastBuildDate>Sat, 28 Aug 2010 04:28:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>openSUSE &#8220;Packaging Day II&#8221;</title>
		<link>http://www.jefferyfernandez.id.au/2008/03/15/opensuse-packaging-day-ii/</link>
		<comments>http://www.jefferyfernandez.id.au/2008/03/15/opensuse-packaging-day-ii/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 09:45:27 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[openSuSe]]></category>
		<category><![CDATA[openSUSE build service]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.jefferyfernandez.id.au/?p=73</guid>
		<description><![CDATA[Ever had problems finding a package for your favorite application for your favorite distro? Are you an application developer or project contributor, and want to learn how to provide binary packages for all the popular distros (including openSUSE) automatically? Using &#8230; <a href="http://www.jefferyfernandez.id.au/2008/03/15/opensuse-packaging-day-ii/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="https://build.opensuse.org/"><img style="float: left;" src="http://www.jefferyfernandez.id.au/wp-content/uploads/2008/03/logo-buildservice.png" rel="attachment wp-att-74" alt="openSUSe Build Service logo" title="openSUSe Build Service logo" class="align-left alignleft" height="75" width="127" /></a>Ever had problems finding a package for your favorite application for your favorite distro? Are you an application developer or project contributor, and want to learn how to provide binary packages for all the popular distros (including <a target="_blank" title="openSUSE Linux Distribution" href="http://en.opensuse.org/Welcome_to_openSUSE.org">openSUSE</a>) automatically?</p>
<p>Using the <a target="_blank" title="openSUSE Build Service" href="http://build.opensuse.org">openSUSE Build Service</a>, you can provide software packages for most popular Linux distros using one single service. Rather than maintaining separate systems to build packages, you can take advantage of the openSUSE Build Service and let it do most of the work.</p>
<p>To learn how to leverage the build service, join the openSUSE community on April 4th and 5th on <a target="_blank" title="Internet Relay Chat" href="http://en.wikipedia.org/wiki/IRC">IRC</a> to hone your package building skills. The <i><b>Packaging Days II</b></i> event will be held on Freenode at #opensuse-buildservice. Community members will be standing by to provide support and answer questions about using the build service and creating packages.</p>
<p>Find out more about the <i><b>Packaging Days II</b></i> event at: <a target="_blank" href="http://en.opensuse.org/Packaging/Packaging_Day" title="http://en.opensuse.org/Packaging/Packaging_Day">http://en.opensuse.org/Packaging/Packaging_Day</a></p>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2008/03/15/opensuse-packaging-day-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>qBittorrent v1.0.0 Release</title>
		<link>http://www.jefferyfernandez.id.au/2007/10/28/qbittorrent-v100-release/</link>
		<comments>http://www.jefferyfernandez.id.au/2007/10/28/qbittorrent-v100-release/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 00:32:33 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Packages]]></category>
		<category><![CDATA[RPM]]></category>
		<category><![CDATA[openSuSe]]></category>

		<guid isPermaLink="false">http://www.jefferyfernandez.id.au/2007/10/28/qbittorrent-v100-release/</guid>
		<description><![CDATA[qBittorrent is a Bittorrent client using C++ / libtorrent and a Qt4 Graphical User Interface. Its been under heavy development for a full year now and finally its maturing into one of the best torrent clients out there. I am &#8230; <a href="http://www.jefferyfernandez.id.au/2007/10/28/qbittorrent-v100-release/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jefferyfernandez.id.au/wp-content/uploads/2007/10/qbt-v100-splash-screen-002.thumbnail.png" alt="qBittorrent v1.0.0 Release" align="left" />qBittorrent is a Bittorrent client using C++ / libtorrent and a Qt4 Graphical User Interface. Its been under heavy development for a full year now and finally its maturing into one of the best torrent clients out there. I am the Project Consultant + Packager of the application for my distro of choice: <a href="http://en.opensuse.org/Welcome_to_openSUSE.org" title="openSUSE Home" target="_blank">openSUSE</a>. Packages for other distributions are available (<a href="http://qbittorrent.sourceforge.net/download.php" title="qBittorrent Downloads" target="_blank">qBittorrent Downloads</a>) and a Windows port is coming soon.</p>
<p>Packages for openSUSE 10.2 and 10.3 can be obtained from my <a href="https://build.opensuse.org" title="openSUSE build farm" target="_blank">openSUSE build farm</a> account at : <a href="http://download.opensuse.org/repositories/home:/jefferyfernandez" title="openSUSE build farm home:jefferyfernandez" target="_blank">home:jefferyfernandez</a>. If you encounter any bugs in the package or the application itself, please report them at:  <a href="https://bugs.launchpad.net/qbittorrent/" title="qBittorrent Bugs" target="_blank">qBittorrent Bug-tracker</a>. Happy torrenting <img src='http://www.jefferyfernandez.id.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>qBittorrent Home: <a href="http://www.qbittorrent.org" title="qBittorrent Home" target="_blank">http://www.qbittorrent.org</a></p>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2007/10/28/qbittorrent-v100-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Mandriva 2006 Repository is Live</title>
		<link>http://www.jefferyfernandez.id.au/2006/07/26/my-mandriva-2006-repository-is-live/</link>
		<comments>http://www.jefferyfernandez.id.au/2006/07/26/my-mandriva-2006-repository-is-live/#comments</comments>
		<pubDate>Tue, 25 Jul 2006 22:28:40 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[Mandriva]]></category>
		<category><![CDATA[Packages]]></category>
		<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://www.jefferyfernandez.id.au/2006/07/26/my-mandriva-2006-repository-is-live/</guid>
		<description><![CDATA[I have put together a collection of RPMS which I have built for various projects I am involved with or was required by me. You can access these RPMS for Mandriva 2006 by executing the foolowing commad on the shell. &#8230; <a href="http://www.jefferyfernandez.id.au/2006/07/26/my-mandriva-2006-repository-is-live/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have put together a collection of RPMS which I have built for various projects I am involved with or was required by me. You can access these RPMS for Mandriva 2006 by executing the foolowing commad on the shell.</p>
<pre class="rootcommand">urpmi.addmedia jeffery http://jefferyfernandez.id.au/RPMS with hdlist.cz</pre>
<p>The list of available packages on the repository can be seen by accessing <a href="http://www.jefferyfernandez.id.au/RPMS/list" target="_blank">this list</a></p>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2006/07/26/my-mandriva-2006-repository-is-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip for Obtaining Application Dependencies</title>
		<link>http://www.jefferyfernandez.id.au/2006/06/04/tip-for-obtaining-application-dependencies/</link>
		<comments>http://www.jefferyfernandez.id.au/2006/06/04/tip-for-obtaining-application-dependencies/#comments</comments>
		<pubDate>Sun, 04 Jun 2006 00:12:47 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://jefferyfernandez/2006/06/04/tip-for-obtaining-application-dependencies/</guid>
		<description><![CDATA[To check what all libraries is an application linked to, run the ldd tool (available on most Unices): ldd /usr/bin/qbittorrentThis should return you a list of libraries like: linux-gate.so.1 => (0xffffe000) libtorrent.so.0 => /usr/lib/libtorrent.so.0 (0xb7e98000) libQtXml.so.4 => /usr/lib/qt4/lib/libQtXml.so.4 (0xb7e61000) libQtGui.so.4 &#8230; <a href="http://www.jefferyfernandez.id.au/2006/06/04/tip-for-obtaining-application-dependencies/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>To check what all libraries is an application linked to, run the ldd tool (available on most Unices):<br />
<code class="usercommand">ldd /usr/bin/qbittorrent</code>This should return you a list of libraries like:</p>
<pre class="shelloutput">
linux-gate.so.1 =>  (0xffffe000)
libtorrent.so.0 => /usr/lib/libtorrent.so.0 (0xb7e98000)
libQtXml.so.4 => /usr/lib/qt4/lib/libQtXml.so.4 (0xb7e61000)
libQtGui.so.4 => /usr/lib/qt4/lib/libQtGui.so.4 (0xb7a43000)
libpng.so.3 => /usr/lib/libpng.so.3 (0xb7a1d000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb7a14000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb79fc000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0xb79f4000)
libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0xb79ea000)
libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb79e6000)
libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0xb79dd000)
libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0xb79da000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7971000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7941000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb7932000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7866000)
libQtCore.so.4 => /usr/lib/qt4/lib/libQtCore.so.4 (0xb7753000)
libz.so.1 => /lib/libz.so.1 (0xb7740000)
libdl.so.2 => /lib/libdl.so.2 (0xb773c000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0xb76ea000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb760d000)
libm.so.6 => /lib/i686/libm.so.6 (0xb75e8000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb75dd000)
libc.so.6 => /lib/i686/libc.so.6 (0xb74ae000)
libboost_filesystem.so.1 => /usr/lib/libboost_filesystem.so.1 (0xb749f000)
libboost_date_time.so.1 => /usr/lib/libboost_date_time.so.1 (0xb7492000)
libboost_thread.so.1 => /usr/lib/libboost_thread.so.1 (0xb7486000)
libXfixes.so.3 => /usr/X11R6/lib/libXfixes.so.3 (0xb7481000)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb7461000)
/lib/ld-linux.so.2 (0xb7f9e000)
librt.so.1 => /lib/i686/librt.so.1 (0xb744e000)
</pre>
<p>qbittorrent being a QT based application and as you can see it clearly depends on libQtXml, libQtGui and libQtCore. Based on this information, I can now add those dependencies for the qbittorrent package alongside the libtorrent library. Most of the other libs are sub-dependant libraries.</p>
<p>NOTE: This also means qbittorrent is not statically linked to any of the above libraries. So if libQtGui was statically linked in qbittorrent, then it won&#8217;t appear in the above list and you don&#8217;t have to worry about it being a dependency for  the qbittorrent package.</p>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2006/06/04/tip-for-obtaining-application-dependencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CheckInstall to the Rescue</title>
		<link>http://www.jefferyfernandez.id.au/2006/05/19/checkinstall-to-the-rescue/</link>
		<comments>http://www.jefferyfernandez.id.au/2006/05/19/checkinstall-to-the-rescue/#comments</comments>
		<pubDate>Thu, 18 May 2006 14:04:39 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://jefferyfernandez/2006/05/19/checkinstall-to-the-rescue/</guid>
		<description><![CDATA[Ever built a Software which takes more than 8 hours to compile ? Well I had the opportunity to do so. I needed to build a project which was dependant on qt4.1.2 and there was no release for it being &#8230; <a href="http://www.jefferyfernandez.id.au/2006/05/19/checkinstall-to-the-rescue/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ever built a Software which takes more than 8 hours to compile ? Well I had the opportunity to do so. I needed to build a project which was dependant on qt4.1.2 and there was no release for it being made in any <a href="http://www.mandriva.com">Mandriva</a> Repositories except <a href="http://www.mandriva.com/en/community/developers/development_model">Cooker</a>. </p>
<p>So I embarked on the journey of building my own package for qt4. I managed to get hold of a spec file from the Mandriva CVS repository and then was shocked to see that it contained 27 sub-packages. There was no way I was going to sit down and do a trial and error build for this project. So I did some googling around and found this cool tool which could possibly do all the hard work for you. Its called checkinstall.<br />
<span id="more-9"></span><br />
<script type="text/javascript"><!--
google_ad_client = "pub-5896900602713932";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-10-07: general
google_ad_channel = "5562041263";
//-->
</script><br />
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><a href="http://asic-linux.com.mx/~izto/checkinstall/">Checkinstall</a> is a software which helps you in building an RPM from the last step of the install process of a package you have compiled. For example when you compile a software with ./configure; make; make install, you are actually compiling and installing a software onto your system. The third command &#8220;make install&#8221; is when you are actually installing the binaries into the appropriate location. </p>
<p>To use Checkinstall, you first run ./configure and make to build your program, then run checkinstall. Checkinstall will run then run &#8220;make install&#8221; (or whatever you tell it to run) and keep track of every file modified by this installation. In the end it will ask you for the package specific details like package name, source location, dependencies, etc. When &#8220;make install&#8221; is done, checkinstall will create a Slackware, RPM or Debian package depending on which distro you are using checkinstall. Now this package can be installed like any other package on your system.</p>
<p>The only downside is that it does not prepare you a source-package nor does it create sub-packages&#8230; ofcourse I am asking for too much intelligence there. The good side is you don&#8217;t have to worry about your spec file failing due to some silly mistake you made, especially when you are building a monstor package like qt. So if you are looking for the easy way out to build RPM packages for yourself, give checkinstall a go.</p>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2006/05/19/checkinstall-to-the-rescue/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cabextract</title>
		<link>http://www.jefferyfernandez.id.au/2006/05/16/cabextract/</link>
		<comments>http://www.jefferyfernandez.id.au/2006/05/16/cabextract/#comments</comments>
		<pubDate>Tue, 16 May 2006 06:12:53 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[Packages]]></category>

		<guid isPermaLink="false">http://jefferyfernandez/2006/05/16/cabextract/</guid>
		<description><![CDATA[A program to extract Microsoft Cabinet files Cabinet (.CAB) files are a form of archive, which Microsoft use to distribute their software, and things like Windows Font Packs. The cabextract program unpacks these files. And why do I have this &#8230; <a href="http://www.jefferyfernandez.id.au/2006/05/16/cabextract/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A program to extract Microsoft Cabinet files</p>
<p>Cabinet (.CAB) files are a form of archive, which Microsoft use to distribute their software, and things like Windows Font Packs. The cabextract program unpacks these files.</p>
<p>And why do I have this here? &#8230; because I required it to run <a href="http://www.tatanka.com.br/ies4linux/blog/">ie4linux</a> on <a href="http://www.winehq.com/">WINE</a></p>
<p><a href="/?file=cabextract-1.1-1.20060mdk.i586.rpm">Download Cabextract</a></p>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2006/05/16/cabextract/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing your RPM build environment</title>
		<link>http://www.jefferyfernandez.id.au/2006/05/16/customizing-your-rpm-build-environment/</link>
		<comments>http://www.jefferyfernandez.id.au/2006/05/16/customizing-your-rpm-build-environment/#comments</comments>
		<pubDate>Mon, 15 May 2006 23:07:17 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://jefferyfernandez/2006/05/16/customizing-your-rpm-build-environment/</guid>
		<description><![CDATA[Ever built an RPM as root user? Have you wondered about the implications if something goes wrong in your RPM spec file? Building RPM&#8217;s as root is dangerous, because the binary files are installed on the system before being packaged, &#8230; <a href="http://www.jefferyfernandez.id.au/2006/05/16/customizing-your-rpm-build-environment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ever built an RPM as root user? Have you wondered about the implications if something goes wrong in your RPM spec file? <strong>Building RPM&#8217;s as root is dangerous, because the binary files are installed on the system before being packaged, thus you must always build as normal user so you won&#8217;t accidentally pollute your system.</strong> Over here I will show you how to setup your &#8220;own&#8221; RPM build environment.</p>
<p>To make this happen, RPM needs to use your own environment definitions rather that of the root user. You need to override the default macros RPM uses. The most important one is the %_topdir (which by default would point to /usr/src/redhat) macro. There are a few more customizations you can make to speed up your Spec file generation. Open up a shell and create a rpmmacros file:<br />
<span id="more-5"></span><br />
<script type="text/javascript"><!--
google_ad_client = "pub-5896900602713932";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-10-07: general
google_ad_channel = "5562041263";
//-->
</script><br />
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><code class="usercommand">vim ~/.rpmmacros</code></p>
<p>Now add the following definitions into it, <strong>replacing it with your name, email address and system home directory</strong></p>
<pre class="textinput">%distribution Mandriva Linux
%packager Jeffery Fernandez &lt;developer @jefferyfernandez.id.au&gt;
%vendor http://www.jefferyfernandez.id.au

%_topdir /home/jeffery/redhat
%_tmppath /home/jeffery/redhat/tmp

%_signature gpg
%_gpg_name 2473E75A
%_gpg_path /home/jeffery/.gnupg

%prefix /usr/local/</pre>
<p>The first three lines define some macros you would use in a Spec file. This saves you from re-typing them into the Spec file every time you make one. Next comes the important bit, the topdir and tmppath macros.</p>
<p>As a consequence of re-defining the %_topdir macro, RPM will need the package building directory structure available in the topdir location you have defined. You can make this structure by executing the following: </p>
<pre class="usercommand">mkdir -p ~/redhat/{BUILD,RPMS/{i386,i486,i586,i686,noarch},SOURCES,SPECS,SRPMS,tmp}</pre>
<p>This will create a heirarchy of folders in your home directory (similar to the one found at /usr/src/redhat) which look like:</p>
<pre class="shelloutput">
~/redhat/BUILD
~/redhat/RPMS/i386
~/redhat/RPMS/i486
~/redhat/RPMS/i586
~/redhat/RPMS/i686
~/redhat/RPMS/noarch
~/redhat/SOURCES
~/redhat/SPECS
~/redhat/SRPMS
~/redhat/tmp
</pre>
<p>The next three lines are required if you intend to sign your packages with a GPG key. If you don&#8217;t have one yet, you can ignore them. More about GPG signing of RPMS in an other topic <img src='http://www.jefferyfernandez.id.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Once you have finished this, you should be ready to build packages as a normal user. Ok.. and if you are wondering what the prefix macros does&#8230;.. then my answer is I am still researching about it. Quick google tells me that it is meant to define where the packages are installed. To me that doesn&#8217;t sound right. anyone have suggestions?</p>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2006/05/16/customizing-your-rpm-build-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Importing a trusted key for RPM packages</title>
		<link>http://www.jefferyfernandez.id.au/2006/01/16/importing-a-trusted-key-for-rpm-packages/</link>
		<comments>http://www.jefferyfernandez.id.au/2006/01/16/importing-a-trusted-key-for-rpm-packages/#comments</comments>
		<pubDate>Mon, 16 Jan 2006 00:56:26 +0000</pubDate>
		<dc:creator>Jeffery</dc:creator>
				<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://jefferyfernandez/2006/01/16/importing-a-trusted-key-for-rpm-packages/</guid>
		<description><![CDATA[Often when you download and install software from the internet as an RPM package, have you thought about how trust worthy the packge is? Most download sites if they are genuine, list along side their downloads a link to a &#8230; <a href="http://www.jefferyfernandez.id.au/2006/01/16/importing-a-trusted-key-for-rpm-packages/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Often when you download and install software from the internet as an RPM package, have you thought about how trust worthy the packge is? Most download sites if they are genuine, list along side their downloads a link to a &#8220;trusted key&#8221;. </p>
<p>This trusted public key may belong to a vendor or an individual itself and be part of a &#8220;<a href="http://en.wikipedia.org/wiki/Web_of_trust">web of trust</a>&#8220;. By being part of a trusted group we can make sure that any packages signed (GPG signed) by the owner of that key is authentic.<br />
<span id="more-6"></span><br />
<script type="text/javascript"><!--
google_ad_client = "pub-5896900602713932";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
//2007-10-07: general
google_ad_channel = "5562041263";
//-->
</script><br />
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Having said that, here is how you would import a key for your RPM trust database. To import my GPG signed key, you can execute the following shell command as root user:<br />
<code class="rootcommand">rpm --import http://www.jefferyfernandez.id.au/jeffery.gpg</code><br />
Having executed that command now makes the packages signed by me a trusted package, simply because I belong to the &#8220;web of trust&#8221;. So now you can safely install (if you wish to <img src='http://www.jefferyfernandez.id.au/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) any packages I have uploaded onto this site.</p>
<p>To verify if a package you have downloded matches the trusted key to the packages signature, execute the following command:</p>
<p><code class="rootcommand">rpm --checksig packagename.rpm</code></p>
<p>which should give you an &#8220;OK&#8221; result similar to:</p>
<pre class="shelloutput">packagename.rpm: (sha1) dsa sha1 md5 gpg OK</pre>
<p>And finally to list all the trusted keys in the RPM trust db execute:</p>
<pre class="usercommand">rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\\n'</pre>
<div style="float:left;margin:0px 0px 0px 0px;"></div>]]></content:encoded>
			<wfw:commentRss>http://www.jefferyfernandez.id.au/2006/01/16/importing-a-trusted-key-for-rpm-packages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
