Boys Will be Boys

Public school education, these days, strongly favors girls over boys.  The evidence for this is a little overwhelming.  SAT scores, graduation rates, college attendance, and grades have all become the primary domain of women.  In that light, here is an article from City Journal by Gerry Garibaldi.  In it he discusses some of the reasons for this sudden (1970’ish) sea change in education.

Getting In Deep with RPM

RPM is easily the most comprehensive packaging system for Linux.  The breadth of functionality and features in RPM continues to amaze me at times. Lately I have been working on getting some packages ported from our existing Redhat ES 3 infrastructure to Suse.  As a quick side note; we are not happy with Suse lately but at least they do not intentionally break KDE and ignore their volunteer community.  While RPM could, in theory, be used as a general package infrastructure for all RPM based system; the reality is something else entirely.  Packages from Redhat have required significant changes for me to get them working on Suse (the opposite is entirely true as well.)

A couple tools that have made porting easier have been perl.req and perl.prov.  Located in the /usr/lib/rpm on Suse 9, these two scripts take a list of files and return (through stdout) all required/provided perl packages for those files. Packages are only listed once and are presented in alphabetical order.

The GROUPS file for handling software categories in RPM is located in the /usr/share/doc/packages/rpm/ directory; while the RPM macros file (which is surprisingly similar to Redhat’s) is located in the normal installation directory of /usr/lib/rpm/macros. Here is a link to the January, 2005 edition of Suse Package Conventions.  I have downloaded a version in pdf form that can probably be found in my documents web page (see the VAULT side panel.)

A couple of Perl specific macros that only exist in Suse (and make building RPM packages much easier) are %perl_process_packlist, which does a bunch of cleanup work to the perl modules being built, and %perl_make_install, which handles different prefix installs depending on which version of Suse is being used. %perl_make_install is especially nice if you are trying to build a RPM for older and newer versions of suse in the same build environment.

RPM also provides similar macros (and requires/provides scripts) for Python. See the macros files for more details. Finally, the bible for all things rpm is Maximum RPM from The default macros like setup, prep, and patch are all defined there and are identical between distributions.

War & Peace

The Futurist is running a two part article (titled “The Winds of War, The Sands of Time”) discussing the relative state of peace in the world.  The article points out that from the metric of human beings killed in combat; the last couple years have been the most peaceful in recorded human history.  The reasons for this “”expansion of peace” are the usual suspects; expansion of democracy and an increase in overall absolute wealth worldwide. 

The other interesting piece of data gleaned from the article is the wikipedia List of wars and disasters by death toll.  When I saw this page I had the same feeling as the one I got the day I first saw the History channel.  Something along the lines of “Ohhhh, crap!  There goes my free-time for the next six months.”  They even list the individual battles by death toll.

Please excuse me, I have some reading to do.