From the Changelog

I previously documented my first, and thus far only, patch I submitted to Fedora. It was trivial; I’m not up for any awards or anything. But it was a good feeling, and I hope I can contribute some more substantive patches as time goes on.

Anyhow, my humble effort is now in Red Hat 6 Beta, as this snippet from the system-config-kickstart changelog for version 2.8.3-1 reveals:

- Fix an import error (#530739, nelsoninva AT gmail.com).

And another minute of my allotted 15 minutes of fame goes by the board.

Pardon my geekish giddiness, or maybe my giddy geekishness, but this feels good. And I fervently hope for more such good feelings.

-k-

A Patch in Time

I just got word that a patch I submitted will be included in Fedora 12.

OK, so the problem was a simple typo in system-config-kickstart, which caused it to crash when invoked with the –generate option. Something a junior high kid could fix. But that’s not the point.

I post this, not to blow my own horn, but to document an event that’s important to me. In opening the bug and posting the patch, I got to work some levers in Red Hat’s Bugzilla. I got a taste of participating in a project that I absolutely love. I did what I think one should do in FOSS projects.

As I commented when I posted the patch:

I’m very new at all this. Someday, may my talent match my enthusiasm.

And, as minor as this contribution is and will be, it’s my first one. And the taste is sweet.

-k-

And the Bolus Helped

Back from a post Constantine upgrade reboot. Network Manager applet problems … gone!

Sound playing problems persist; I could head to some Fedora Forum and bitch up a storm to the effect that “#@%!@ sound don’t work!”, but since I know little about the underpinnings, I’ll do the research, use Uncle Google, and if I get my problem fixed, I’ll post the results. I’ve said it before, that using FOSS software carries an implicit obligation to invest a modicum of effort in understanding the workings. And sharing the results of your troubleshooting efforts.

I love this stuff; I wish I had it when I was a kid. To the extent that I’m still a kid, Fedora helps keep me that way.

-k-

Upgrade x2, 2 Days Late

Last Tuesday, Constantine, the Fedora 12 Beta, was released. I make it a point to upgrade sooner rather than later. And, thanks to Fedora’s preupgrade, followed by 1.1G of downloads, and what seemed to be interminable disk-thrashing, the upgrade finished, and /etc/redhat-release now reveals:

Fedora release 11.92 (Rawhide)

Thus far, Constantine has performed well. A few sound playback problems, and a rather disgusting, persistent NetworkManager applet crash have been the only bad side effects. I can start NM applet from a terminal, just not on Gnome startup. I just downloaded a rather substantial upgrade; I’m hoping the NM problem is handled. And, I’ve never understood the sound stuff; I gotta read up on that. So, click that little badge in the sidebar, and get Constantine for yourself. Don’t cost nothin’.

After the F12 upgrade, I fired up Firefox to check this old blog, only to discover a WP upgrade awaited. After another flawless upgrade, tbbs-land now proudly runs WordPress 2.8.5.

Thanks, Fedora and WordPress!

-k-

, ,

Another High-calibre Saturday

calibre, an e-book reader’s best companion, has been upgraded to v. 0.6.5.

In keeping with my history of tips and tricks for installing calibre on Fedora, I offer the following, based on the install I just completed. I’m running Fedora 11, and this worked for me.

I had to install

poppler-devel-0.10.7-2.fc11.i586
poppler-qt4-0.10.7-2.fc11.i586
poppler-qt4-devel-0.10.7-2.fc11.i586

to get calibre to install and have full PDF support. Said packages are available from the Fedora repo.

The install was error-free, following the usual

wget -O- http://calibre.kovidgoyal.net/downloads/calibre-0.6.5.tar.gz | tar xvz
cd calibre*
python setup.py build && sudo python setup.py install
sudo calibre_postinstall

Though you couldn’t tell it, I have completed about 90% of a Fedora RPM for calibre. It handles dependency checking well, and lays down the required files properly. The postinstall section of my RPM needs some work; there’s a nasty blow-up that I need to investigate.

Previous calibre posts, for your reading pleasure, can be had here.

-k-

Presto! It’s Fedora!

One of the many enhancements in Fedora 11 is delta RPMs. Delta RPMs are updates that contain only the updated files, rather than all files in the original RPM. This saves download time; nice if you’re updating over a slow internet connection. To use this feature; do this:

yum install yum-presto

Now, on your next update, any delta RPMS will be automatically detected and processed. Changed RPMs not supporting deltas will be downloaded in their entirety, just like old times. Both types are processed in the same invocation of yum update; in other words, it just works.

Output from my latest yum update:

Size of all updates downloaded from Presto-enabled repositories: 3.3M
Size of updates that would have been downloaded if Presto wasn’t enabled: 6.6M
This is a savings of 51 percent

Neat, eh?

-k-

Amazon RPM Downloader on 64-bit Fedora

Commenter Chris points out that my previous instructions assumed a 32-bit version of Fedora. And he is correct; the Amazon MP3 downloader is a 32-bit application. I see no reason it shouldn’t work on a 64-bit OS, provided the 32 bit version of certain libraries are present; these are the libs of interest:

libgtkmm-2.4.so.1 => /usr/lib/libgtkmm-2.4.so.1 (0×03321000)
libgdkmm-2.4.so.1 => /usr/lib/libgdkmm-2.4.so.1 (0x032d9000)
libatkmm-1.6.so.1 => /usr/lib/libatkmm-1.6.so.1 (0x077b2000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x004f5000)
libpangomm-1.4.so.1 => /usr/lib/libpangomm-1.4.so.1 (0×03685000)
libcairomm-1.0.so.1 => /usr/lib/libcairomm-1.0.so.1 (0x02ff4000)
libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0×07675000)
libsigc-2.0.so.0 => /usr/lib/libsigc-2.0.so.0 (0x070ec000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x02e49000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0×00350000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x0036f000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0×00900000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0×00110000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0×00156000)
libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x00cb7000)
libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0x00d18000)
libdl.so.2 => /lib/libdl.so.2 (0x00b72000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00bab000)
libcurl.so.4 => /usr/lib/libcurl.so.4 (0x001d1000)
libssl.so.6 => /lib/libssl.so.6 (0x03c4d000)
libboost_date_time.so.3 => /usr/lib/libboost_date_time.so.3 (0×00949000)
libboost_signals.so.3 => /usr/lib/libboost_signals.so.3 (0×00969000)
libboost_iostreams.so.3 => /usr/lib/libboost_iostreams.so.3 (0x0097d000)
libboost_thread-mt.so.3 => /usr/lib/libboost_thread-mt.so.3 (0x0095a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00b79000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x03ccd000)
libm.so.6 => /lib/libm.so.6 (0x00b48000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0398a000)
libc.so.6 => /lib/libc.so.6 (0x009d4000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x039b7000)
libgiomm-2.4.so.1 => /usr/lib/libgiomm-2.4.so.1 (0×07714000)
libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0x00d53000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0×03958000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0×00233000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x002c8000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x0038c000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x0021e000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x002fe000)
libz.so.1 => /lib/libz.so.1 (0x00b96000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0×00223000)
libXext.so.6 => /usr/lib/libXext.so.6 (0×00325000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x008f6000)
libXi.so.6 => /usr/lib/libXi.so.6 (0×00335000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x0033f000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x004bb000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x008fb000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x0090d000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00dcc000)
/lib/ld-linux.so.2 (0x009b0000)
libidn.so.11 => /lib/libidn.so.11 (0x03b15000)
libssh2.so.1 => /usr/lib/libssh2.so.1 (0x03b48000)
libldap-2.4.so.2 => /usr/lib/libldap-2.4.so.2 (0x00e12000)
librt.so.1 => /lib/librt.so.1 (0x00cac000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x03b76000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x03baf000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x03ca7000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x03b71000)
libssl3.so => /lib/libssl3.so (0x041c2000)
libsmime3.so => /lib/libsmime3.so (0×04199000)
libnss3.so => /lib/libnss3.so (0×04036000)
libplds4.so => /lib/libplds4.so (0x03fbe000)
libplc4.so => /lib/libplc4.so (0x0400b000)
libnspr4.so => /lib/libnspr4.so (0x03fc3000)
libresolv.so.2 => /lib/libresolv.so.2 (0x03afa000)
libbz2.so.1 => /lib/libbz2.so.1 (0x041f4000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00c8c000)
libexpat.so.1 => /lib/libexpat.so.1 (0x00d2a000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00cfa000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00d1e000)
libssl.so.8 => /usr/lib/libssl.so.8 (0x03f36000)
libcrypto.so.8 => /usr/lib/libcrypto.so.8 (0x03dbe000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0×04012000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x004c5000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x03ba3000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x03ca2000)
libnssutil3.so => /lib/libnssutil3.so (0x0417e000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0×00910000)
libfreebl3.so => /lib/libfreebl3.so (0x00e58000)

These can be had by installing these 32-bit RPMS:

atk-1.25.2-2.fc11.i586
bzip2-libs-1.0.5-5.fc11.i586
cairo-1.8.6-2.fc11.i586
cairomm-1.8.0-1.fc11.i586
cyrus-sasl-lib-2.1.22-22.fc11.i586
e2fsprogs-libs-1.41.4-10.fc11.i586
expat-2.0.1-6.i586
fontconfig-2.6.99.behdad.20090508-1.fc11.i586
freetype-2.3.9-3.fc11.i586
glib2-2.20.1-1.fc11.i586
glibc-2.10.1-2.i686
glibmm24-2.20.0-1.fc11.i586
gtk2-2.16.1-4.fc11.i586
gtkmm24-2.16.0-1.fc11.i586
keyutils-libs-1.2-5.fc11.i586
krb5-libs-1.6.3-20.fc11.i586
libcurl-7.19.4-8.fc11.i586
libgcc-4.4.0-4.i586
libidn-1.9-4.i586
libpng-1.2.35-1.fc11.i586
libselinux-2.0.80-1.fc11.i586
libsigc++20-2.2.2-3.fc11.i586
libssh2-1.0-2.fc11.i586
libstdc++-4.4.0-4.i586
libX11-1.2.1-2.fc11.i586
libXau-1.0.4-5.fc11.i586
libxcb-1.2-3.fc11.i586
libXcomposite-0.4.0-7.fc11.i586
libXcursor-1.1.9-4.fc11.i586
libXdamage-1.1.1-6.fc11.i586
libXext-1.0.99.1-2.fc11.i586
libXfixes-4.0.3-5.fc11.i586
libXi-1.2.1-1.fc11.i586
libXinerama-1.0.3-4.fc11.i586
libXrandr-1.2.99.4-3.fc11.i586
libXrender-0.9.4-5.fc11.i586
nspr-4.7.3-5.fc11.i586
nss-3.12.3-4.fc11.i586
nss-softokn-freebl-3.12.3-4.fc11.i586
openldap-2.4.15-3.fc11.i586
openssl-0.9.8k-4.fc11.i686
pango-1.24.1-1.fc11.i586
pangomm-2.24.0-1.fc11.i586
pixman-0.14.0-2.fc11.i586
zlib-1.2.3-22.fc11.i586

Then, insure you grab the 32-bit versions of boost and openssl mentioned in the original post.

Disclaimer: I have not tried this myself, but it should produce an MP3 downloader for a 64-bit system. I don’t know exactly how this might interact with a 64-bit Firefox, but the Amazon-supplied binaries should be OK.

As always, YMMV.
-k-

, , ,

Amazon MP3 Downloader on Fedora 11

Amazon was less than understanding about my request for source code for their MP3 downloader. They were prompt and courteous in their response; that alone is rare. They don’t release source, and gosh, why don’t I use a Fedora release on which the downloader has been tested? Well, first, because it’s Fedora 9, two releases ago.

I was tempted to engage in an e-mail exchange with them, in which I’d point out that:

  1. Nobody cares about the Amazon MP3 Downloader for its own sake.
  2. The MP3 downloader is a gateway to making purchases from Amazon.
  3. Given the above, it is to Amazon’s distinct advantage to make the downloader available to as many platforms as possible.
  4. People who run Linux routinely upgrade to the latest, greatest, at the earliest opportunity.
  5. A legion of package maintainers would be happy to recompile and package the downloader for newer Linux releases.

I still think Amazon should open source the downloader. But, to do business with them on Fedora 11, do the following; these instructions are for 32 bit systems; they should be easily modifiable to work on 64 bit installations:

  1. Download amazonmp3.rpm from Amazon’s MP3 download site. Choose the Fedora 9 version.
  2. Snag boost-1.34.1-17.fc10.i386.rpm and openssl-0.9.8b-8.i686.rpm from the Fedora archives.
  3. Become root.
  4. Create a work directory; we’ll call it ~/work.
  5. Copy the boost, openssl, and amazonmp3 RPMS to the work directory.
  6. Change directories to the work directory.
  7. rpm2cpio boost-1.34.1-17.fc10.i386.rpm > boost.cpio
  8. rpm2cpio openssl-0.9.8b-8.i686.rpm >ssl.cpio
  9. cpio -ivd < boost.cpio
  10. cpio -ivd < ssl.cpio
  11. cd lib
  12. cp libcrypto.so.0.9.8b /lib/libcrypto.so.6
  13. cp libssl.so.0.9.8b /lib/libssl.so.6
  14. cd ../usr/lib
  15. cp libboost_date_time.so.1.34.1 /usr/lib/libboost_date_time.so.3
  16. cp libboost_signals.so.1.34.1 /usr/lib/libboost_signals.so.3
  17. cp libboost_iostreams.so.1.34.1 /usr/lib/libboost_iostreams.so.3
  18. cp libboost_thread-mt.so.1.34.1 /usr/lib/libboost_thread-mt.so.3
  19. cd ../../
  20. rpm -ivh –nodeps amazonmp3.rpm
  21. Put thumb on nose.
  22. Wave remaining fingers toward Amazon.

I’ve downloaded one MP3 from Amazon since doing this, as a test run1. The MP3 was placed in ~/Music/artist/album_name/track_name. So, in my test case, the MP3 wound up in:

/home/knelson/Music/Amazon MP3/Country Joe And The Fish/Together/10 – Cetacean.mp3

And, it plays. I use Songbird, which gladly imports tracks from the aforementioned directory.

It would be trivial to hack up Amazon’s RPM, and include the libraries; or alternatively, to gin up another RPM which contains these libs. I’ll leave that for another day.

-k-

, , ,


1 Cetacean, by Country Joe & The Fish, thanks for asking.

If it’s Saturday, I’m installing calibre

calibre 0.5.11 now runs strong and tall on my Linux laptop. I wonder how much I’ll really need to reformat personal content after the Kindle DX is on-board. I think the DX is going to handle my PDF manuals just fine.

I think, though, I’ll keep up with calibre. Who knows? I may hit some creative streak, wherein I’ll publish treatises of original thought and insight, and use the Kindle for something other than a high tech flat rate manual. Maybe. Stranger things have happened. Also, I’m getting closer to getting calibre whipped into an RPM, which will make the upgrade process much simpler. And, yes, if I get a suitable RPM built, I’ll share. That’s also part of the FOSS “payment” process.

-k-

,

Please, Amazon!

I saw this FriendFeed post from Dave earlier, and his post about The Band. I always liked The Band; even though the $1.99 Amazon special on the greatest hits album that Dave references appears to have expired, I thought this may be a good day to stock up on some good tunage.

I’ve downloaded MP3s from Amazon in the past, one MP3 at a time. Even for MP3 albums. A bit of a PITA. So today I tried to install the Amazon MP3 Downloader for Fedora 9. The download, followed by yum install amazonmp3.rpm, was greeted with:

Error: Missing Dependency: libboost_thread-mt.so.3 is needed by package 1:amazonmp3-1.0.3-1.i386 (amazonmp3.rpm)
Error: Missing Dependency: libboost_signals.so.3 is needed by package 1:amazonmp3-1.0.3-1.i386 (amazonmp3.rpm)
Error: Missing Dependency: libssl.so.6 is needed by package 1:amazonmp3-1.0.3-1.i386 (amazonmp3.rpm)
Error: Missing Dependency: libcrypto.so.6 is needed by package 1:amazonmp3-1.0.3-1.i386 (amazonmp3.rpm)
Error: Missing Dependency: libboost_date_time.so.3 is needed by package 1:amazonmp3-1.0.3-1.i386 (amazonmp3.rpm)
Error: Missing Dependency: libboost_iostreams.so.3 is needed by package 1:amazonmp3-1.0.3-1.i386 (amazonmp3.rpm)

I have newer versions of all these libraries; I suppose I could have created symlinks from the new versions to the required versions, crossed my fingers and hoped it would work.

Instead, I contacted Amazon, and asked if source code to the downloader is available. I’d compile the thing myself. I’d even package it up, and give it back to them. While I await their reply via mail-o-gram, it occurred to me that Amazon should just open source the downloader; I’m sure that some pacakge maintainer could take the downloader, and see that it was made available for Debian/Ubuntu/Fedora distributions. That would be the ticket, and show the world that Amazon is committed to the widest possible audience for their service. Just speaking for myself, I’d easily have spent $30 today on MP3s, if I didn’t have to snag them one at a time.

So, please, Amazon. Let us Linux folk play, too. Thanks!

-k-

,