Calibre install on Fedora 11 Beta

I just completed a from scratch, from source install of calibre on my Fedora 11 beta laptop. As documented a couple of posts back, the laptop was installed using the Fedora 11 live USB install method. Here’s what I had to add, to get calibre to build and install:

For building calibre, I needed the following; just do a yum install; there will be a long list of dependencies brought in:

  1. python-setupdocs
  2. python-setuptools
  3. sip
  4. PyQt4
  5. PyQt4-devel
  6. gcc
  7. gcc-c++

Finally, do this:

export PATH=$PATH:/usr/lib/qt4/bin

Then, python setup.py build should cleanly build calibre.

To install calibre, I had to yum install the following:

  1. python-mechanize
  2. python-clientform
  3. python-lxml
  4. python-dateutil
  5. python-imaging
  6. python-BeautifulSoup

The python setup.py install worked without complaints. The calibre icon appeared in the Fedora menu, and all is well.

For me, calibre segfaults when being called from the Fedora menu, and the “View MOBI” option is selected. “View PDF” works fine. When I invoke calibre from the command line, all the view options work, irrespective of format. Not necessarily a calibre bug; I’ll check out the calibre release notes and trouble ticket, and poke around my setup a bit.

-k-

, ,

A High-calibre Upgrade Bonus

Fedora 11 includes an upgrade to python 2.6. This is a good thing: I can now install the latest, greatest calibre. calibre is a tool for managing e-book libraries, and is the descendant of the libprs500 software suite, which I used with success on the Sony e-reader.

With the Sony, I would have been totally in the weeds without libprs500. There was no way short of using a Windows computer to get one’s own content onto the device. libprs500 kept my Windows-free streak alive. After getting my Kindle, I thought the libprs/calibre tools wouldn’t be needed any longer, since the Kindle shows up as yet another USB storage device.

I had a previous version of calibre installed, pre Fedora upgrade. It is much more robust than the libprs500, and the graphical interface is much neater and cleaner.

After sending several PDFs and other documents to Amazon’s conversion service, I have not been overly impressed with the quality and readability of the converted items. libprs/calibre’s MOBI conversions are typically much better than anything else I’ve tried.

So, with part of the Kindle allure being the possibility of having a lot of sysadmin manuals on one easy-to-use device, I’m back on the calibre bandwagon.

I always install calibre from source on my Fedora systems; there are a lot of dependencies to install for calibre to work. I use the time tested method of build, install, run, let stuff blow up as missing dependencies are found, install missing dependencies. Repeat process until everything comes up cleanly.

Maybe I’ll take a shot at making a Fedora RPM for calibre, if for no other reason than to be ready for the next upgrade to Fedora.

-k-

, , ,

Beta++

The /etc/redhat-release from my Toshiba laptop, gypsy, the closest to a production laptop I have:

Fedora release 10.92 (Rawhide)

I backed up my home directory, installed F11 from the live USB, and yum updated everything. Restored the home directory back, and let the Gnome desktop complain and delete things it didn’t like, and I’m rolling. Kind of a ham-fisted upgrade approach, but effective and fast.

Now, I’m installing stuff I use that’s not on the LiveCD (Thunderbird, Sunbird, Xchat, devilspie, etc), and the gypsy will be on the bleeding edge again.

The most distressing thing that doesn’t work is the Enigmail Thunderbird plug-in. I presume a newer Enigmail version is in the works. It’ll shine when it shines.

-k-

,

Fedora Rules, Again

I’ve been mucking about trying to get the latest Fedora 11 Beta updates for my Dell Mini; there is some problem with the Fedora mirror sites, as it happens. yum update simply didn’t, well, update. When the Mini gets too far behind, it beats its brains out updating; it’s not exactly a speed demon. Hence, I update it frequently.

I applied my somewhat limited recovery methods in an attempt to rectify the problem. A yum clean all, rpm –rebuilddb, yum update yielded nothing.

I then logged on to the #fedora-qa IRC channel, and lurked for a bit. Sure enough, the Fedora Rawhide mirrors were in a state of distress, and the Fedorans were on it. I think the problem was identified and fixed, and all that remained was the syncing of the mirrors, which is a paint-drying process in terms of time. Then, this little clip from IRC:

<dgrift> edit /etc/yum.repos.d/fedora-rawhide.repo
<dgrift> in the top repo there add:
<dgrift> baseurl=http://mirrors.usc.edu/pub/linux/distributions/fedora/linux/development/$basearch/os/

Right on! I made the change, a yum clean, yum update, and the Dell Mini stands tall, upgraded. I’ll back this change out, once the mirrors are healthy, and all’s good.

Where else, anywhere, could you get free software, and free support for same, by only hanging out and observing? With the closed model, I’d be paying for support, getting telephone ear while someone, in broken English, struggled through a “customer support” script, wherein I’d be asked to try things I’d already done.

Part of the “payment” for free software is a burning desire to be involved, on whatever level necessary, in the resolution of your own problems; to fire up Uncle Google, check some on-line fora and chat channels, and understand what you’re doing.

Today, it worked like a charm.

-k-

Beta’ed Up

Fedora 11 Beta
Between answering the stinking on-call pager, NCAA basketball, and going into work to salvage a project due date that was arbitrarily dumped on me by a gang of nitwits, I managed to get my Dell Mini upgraded to Leonidas, the Fedora 11 Beta Version.

Not having anything of value on the mini made it straightforward; download the LiveCD, transfer it to a USB stick, boot the mini, and copy the stuff to it. No problems, other than my wireless connection didn’t work out of the box. Using the wired connection, I pulled down a gargantuan set of updates (350 or so packages, IIRC), rebooted, and all was well in wireless land.

I figure if Fedora runs on the Dell Mini, it’ll run anywhere. That little Dell has come close to being an expensive frisbee on occasion; I should have waited for the larger screened Asus.

Live and learn.

I’ll put the F11 graphic in the sidebar as well. Go get it. Don’t cost nothin’.

-k-

Alpha Geekage


I’m finishing an upgrade to Fedora 11 Alpha as I type this. The Dell mini was the upgrade victim target, since it didn’t have any data I couldn’t live without. I used the F11 Live USB, and chose the “Copy to Disk” option after booting up. This makes for a reasonably quick install, though at the sacrifice of some degree of customization. There is a limit to how much can be put into a Live USB stick, and you obviously can’t copy stuff from the USB that wasn’t there from the git-go. No matter; yum is my friend.

What I wish I’d done is to have made a list of all packages I had installed pre-upgrade. Then I could have generated a list post-upgrade, and installed the unique items from the pre-upgrade list. As it stands now, I have to go from memory on additional items to install; not a Good Thing.

Another source of some postupdate tedium is the reinstallation of Firefox extensions/plugins; I should have had a list of those before the upgrade as well.

Other than the mainly clerical omissions on my part, it’s been pretty smooth thus far. I think I’ll wait on the Beta release to upgrade my other boxes; the bleeding edge is best experienced one device at a time.

-k-

Leonidas

The release name for Fedora 11 is Leonidas. The name was announced at FUDCon F11, currently underway in Boston.

I’ve been following the proceedings from afar, via blog, wiki, and the Flickr. FUDCon’s heavy emphasis on virtualization and Selinux alone would have been worth the price of admission. Even a non-zero price of admission. I wanted to attend this one, but $DAYJOB activities, the fast-approaching Search for America Tour, and my general disinclination to fly combined in my deciding to sit this one out.

To wrap up the naming of Fedora 11, we see the release name relationship preserved thusly:

Cambridge(Fedora 10) was a warship (in the Royal Navy).
Leonidas(Fedora 11) was a warship (in the Union Navy).

Therefore, Fedora 12 will not be the name of a warship. More detailed protocols on Fedora relase naming are here. Pretty interesting process.

-k-

,

The Command of the Day Just got Better

Shortly after yesterday’s post about the terminator, Chris Jones, terminator’s primary developer and maintainer, left a comment containing the following tidbit:

The “type once, execute multiple” feature you mention is now available in our development code (install bzr and run “bzr branch lp:terminator” to get a copy to play with).

I followed Chris’s instructions, downloaded the terminator trunk branch, and whipped up a Fedora RPM, terminator-0.11a, and used that to update my existing terminator install. I’ll admit to being a bit chagrined on seeing the new version for the first time; I saw no evidence of the “type once, execute multiple” feature. It turns out that I was expecting some new big honking widget that would provide this functionality, when in fact, the feature is elegantly and unobtrusively contained in terminator’s existing interface.

Just open terminator, create a couple or three windows, then right click in one of them; choose Group from the popup, then New or All. All groups all your windows together, type in one window, and your command goes to all the windows. Neat!

Choosing New enables creating custom group names; you then can assign open windows to groups as needed. Just right click in a window, Group -> YourGroupName, and all members of a group get the commands typed into any individual window.

In both the all or custom groupings, a window’s assigned group appears in the leftmost portion of its titlebar. Very nice!

If you want to suppress commands going to a specific window, right click -> Group -> None; the selected window now is a standalone entity. This is a tad cumbersome, but not much more so than checking/unchecking hostname boxes in cluster ssh. Using either tool, if you’re constantly waffling between sending and not sending to all windows, you’re probably doing it wrong anyhow.

There’s also an experimental trunk called ssherminator, which improves cooperation on the terminator/ssh duo. I have yet to check this out, but I plan to.

Here’s how I see myself taking advantage of “type once, execute multiple” enhancement:

  1. Open terminator.
  2. Split windows as required.
  3. Group them all.
  4. ssh someuser@somehost.
  5. Now that I have multiple windows on the same remote system, ungroup the windows.

An option to “ungroup all” would be nice for that last step. I don’t see myself opening 20 windows at once on a remote system; still, it would be nice.

cssh is a tool for doing the same thing across multiple systems; terminator is a tool for doing different things on a single system. And both are right up there with ssh itself on my must have list.

-k-

Command of the Day

To me, windowing systems are fine things whose sole purpose is to facilitate the opening of multiple text terminal windows. I spend a lot of my $DAYJOB time typing arcana into terminal windows, connected to various systems in our environment.

I’ve previously documented my fondness for Cluster SSH; indeed, I wonder how I survived without it for so long. cssh makes it easy to perform the same action on multiple systems simultaneously. It is an indispensable tool for me now.

There are times when I want to open multiple windows on a single system; perhaps to start a process from one window while doing a tail -f of some logfile in another. Previously, I opened multiple gnome-terminal tabs, and made an ssh connection from each window. Tabbing between the two windows got to be a PITA, so I tried opening multiple terminal windows, only to have to drag them around and resize them. Not fun. cssh will happily let you say cssh somehost somehost, and you get two nicely aligned windows on the destination system, along with the cssh input box, which gets the focus by default. You then click each xterm window, type your command, and watch. Workable, but I’m not a huge fan of xterm for extended sessions, and invariably I type into the cssh input box, which sends the same command to the same system twice. The results of this can be anything but pretty.

Enter the terminator. It’s available from Fedora repositories via a yum install. Install it, type terminator from a shell prompt, and you are presented with a gnome terminal window. You then right click in the window, and are given the option to split it horizontally or vertically. Bam! Two windows, perfectly aligned. But here’s where the fun really begins. A right click or keyboard command renders the option to split these windows, again horizontally or vertically. Split. Rinse. Repeat. You will soon be in a maze of little windows, all alike, if you get carried away. Voice of experience here. Your individual windows remain in perfect alignment within the larger containing window, and life is good.

terminator has a wealth of other options, to wit:

[knelson@gypsy ~]$ terminator –help
Usage: terminator [options]

Options:
-h, –help show this help message and exit
-v, –version Display program version
-d, –debug Enable debugging information (twice for debug server)
-m, –maximise Open the Terminator window maximised
-f, –fullscreen Set the window into fullscreen mode
-b, –borderless Turn off the window’s borders
-n, –no-gconf ignore gnome-terminal gconf settings
-p, –profile Specify a GNOME Terminal profile to emulate
–geometry=GEOMETRY Set the preferred size and position of the window (see
X man page)
-e COMMAND, –command=COMMAND
Execute the argument to this option inside the
terminal
-x, –execute Execute the remainder of the command line inside the
terminal

Pretty neat, eh? terminator also supports tabbed windows; it enables creation of root tabs, each of which may then be subdivided as detailed above. By enabling a configuration option extreme_tabs, you can create tabs within tabs. According to the manpage:

extreme_tabs (boolean)
If set to True, tabs can be created within other tabs. Be warned
that this can be very confusing and hard to use. Default value:
False

Very confusing is an understatement, but cool to experiment with. The Voice of Experience speaking again.

I wish that saying terminator -x ssh someuser@somehost would establish subsequent connections to somehost upon splitting the window. Alas, in the current stable version, splits open additional windows on the workstation, not the target system. If I read the development roadmap properly, this feature is being planned, along with some type of cssh functionality, enabling “type once, execute multiple”.

The terminator; a tool now firmly established in my admin bag of tricks. You can’t be an admin’s admin without good tools.

-k-