{"id":43,"date":"2007-11-21T21:02:11","date_gmt":"2007-11-22T01:02:11","guid":{"rendered":"http:\/\/timelordz.com\/blog\/wordpress\/?p=43"},"modified":"2007-11-21T21:02:11","modified_gmt":"2007-11-22T01:02:11","slug":"creating-rpm-packages-so-easy","status":"publish","type":"post","link":"https:\/\/www.timelordz.com\/blog\/2007\/11\/creating-rpm-packages-so-easy\/","title":{"rendered":"Creating .rpm packages &#8211; so easy"},"content":{"rendered":"<p>Recently I have learned about a little Linux tool I wish I had become familiar with a very long time ago &#8211; the checkinstall program. I had an mistakenly assumed concept of what this tool did, believing that it checked or verified the installation, as in something one would run after using the usual .\/configure &#038;&#038; make &#038;&#038; make install steps if you later wanted to verify everything was still where it ought to be.<\/p>\n<p>Nope. And yet its so fun to make instant conclusions like that!<\/p>\n<p><em>checkinstall <\/em>is the bomb. Of course the slightest use of man checkinstall would have educated me, but it came to me through a colleague at work whom directed me to this wondrous gem.<\/p>\n<p>With checkinstall you actually create your own .rpm or .deb packages which you can then install as an rpm directly.<\/p>\n<p>There are several benefits to this:<\/p>\n<p><!--more--><\/p>\n<p>As a package, it is now portable to other systems and can be very easily installed. It will simply install the compiled binaries and other support files in the various locations &#8211; same as make install would.<\/p>\n<p>As an .rpm, when installed it will be recorded in the .rpm database. Future installs will be aware of it&#8217;s existence and locations of the various files it contains. This is NOT the case when you manually do a make and make install &#8211; so you later end up later with the database, unaware of what is on your system, reporting missing dependencies for items you in fact have installed.<\/p>\n<p>This also allows for a clean removal of the package &#8211; as of course sometimes you discover after a make install that &#8211; suprise &#8211; make uninstall is omitted or does not work.<\/p>\n<p>I highly recommend using checkinstall <em>whenever <\/em>you compile things locally. By making an .rpm you record the installation and can easily uninstall software, and of course you make your work portable.<\/p>\n<p>You can backup save these .rpm&#8217;s for the day when you have to reinstall your OS &#8211; making it so easy to reinstall all those nifty things you custom compiled. Take all the time this save you for a nice trip to Belize. <\/p>\n<p>Very nice indeed. I always though making .rpms &#8211; even simple ones &#8211; would be this painstaking process and certainly involve hours of learning, etc. This is where any lack of formal training or instruction in Unix \/ Linux shows up &#8211; a simple tool that has been right under my nose for quite a while, and I never even knew it! <\/p>\n<p>Linux constantly amazes my for the diversity and extent of amazing tools placed at your finger tips. It&#8217;s a constant voyage of discovery learning new tools and methods. <\/p>\n<p>Linux just rocks. <\/p>\n<p>The Path of the Penguin is the higher road, and the <strong>true <\/strong>vistas to be found and enjoyed are there. As opposed to another popular OS claiming something along those lines. <\/p>\n<p>So there you have it &#8211; use checkinstall ! It rocks ! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently I have learned about a little Linux tool I wish I had become familiar with a very long time ago &#8211; the checkinstall program. I had an mistakenly assumed concept of what this tool did, believing that it checked or verified the installation, as in something one would run after using the usual .\/configure [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-it-adventures"],"_links":{"self":[{"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":0,"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/posts\/43\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/media?parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/categories?post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.timelordz.com\/blog\/wp-json\/wp\/v2\/tags?post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}