Planet Conary

March 10, 2010

Og Maciel

GNOME Developer Kit, follow up

Just wanted to update everyone who showed interest in the new release of GNOME Developer Kit I announced yesterday. Based on some preliminary statistics I collected in the (less than) last 24 hours, it seems that the VMware image type got the most download, followed closely by the installable ISO format. I guess that was due to VirtualBox being able to use *.vmdk files and some people opting for the free virtualization tool.

Here are the preliminary results so far:

  1. VMware image: 42 downloads
  2. Installable ISO: 26 downloads
  3. RAW filesystem image: 17 downloads
About GNOME 2.29.92

About GNOME 2.29.92

Due to the number of downloads and and comments I received, I felt that I should provide with some background on how to install/remove packages and update your system using the conary package management system. So here you go:

The package management system behind the GNOME Developer Kit is called conary and is considered by many as the next generation package management system when compared to some of the popular options out there. One of the reasons behind this claim is the fact that your entire system is actually completely maintained in a versioned state, and conary is always “aware” of what is installed on your system and what files and dependencies make up the entire “set”. This allows for some pretty nifty operations such as rolling back to a specific state of your system.

In order to check for new updates for your system, open a terminal and run the command sudo conary updateall. conary will then check for updates and prompt you to accept the update or not. Please keep in mind that the first time you run conary for the first time, you will experience a delay as your entire system gets analyzed in preparation for the changes that are to take place. All subsequent actions performed will be much faster, I promise. If after a while you don’t feel like waiting for the prompt, add –no-interactive to the update command to have your system updated automatically.

Now, let’s just say that you decided to install something new, such as Banshee. Easy, just run sudo conary update banshee (remember to add –no-interactive for no-hands updates) and voilá!

Want to know what was actually installed on your system? conary q banshee will tell you what version of banshee was installed. How about what files were installed? conary q –ls banshee will give you a list of all the files that were installed and conary q –lsl banshee will give you the long list with file permissions and modes.

Changed your mind and want to remove banshee from your system? sudo conary erase banshee will take care of that. Want to actually roll your system back to the state it was before you installed banshee instead? sudo conary rollback 1 will rollback your system exactly one transaction. Want to go further back? Just increase that number to represent how many transactions to roll back. Want to rollback but don’t remember what point in time you want to go? sudo conary rblist will display a list of all transactions and what was changed. Note that each transaction is preceded by the letter “r“, so if you want to rollback to the point r.15, then use sudo conary rollback r.15 (and don’t forget that “r” or you’ll rollback exactly 15 transactions instead).

How about searching for a package? If it is something that it is already installed on your system, then conary q [package name] will give you the information you want. If the package is not installed on your system yet, then conary rq [package name] is what you need, though since conary does not yet make use of metadata, you’ll need to know the exact name of what you’re looking for. Now, let’s say you want to find out what package provides the command /sbin/service? Use conary q –path /sbin/service to find out that initscripts:runtime=8.81.2-0.11-1 is responsible for providing it (use rq if you want to search the remote repository).

Well, I think this is enough to get you going. You’ll probably want to install Flash and media codecs to enjoy browsing some sites and listening to your media, so let’s apply what we’ve learned so far and run: sudo conary update flashplayer group-codecs

If you’ve stayed with me until now, you may want to read up on what else conary can do or even consider packaging for GNOME Developer Kit. Your help will be greatly appreciated!

by OgMaciel at March 10, 2010 04:24 AM

March 09, 2010

Og Maciel

GNOME Developer Kit, now with less fat!

UPDATE: Thanks Alberto Ruiz for pointing out that VirtualBox can use .vmdk files, so the VMware image can be used for that purpose.

Thanks to the incredible work of Zhang “Jesse” Sen and Vladimir Melo, a brand new release of the GNOME Developer Kit has been published! “What’s new”, you may ask? Everything, since all packages are built directly from git.gnome.org! :) But that alone is not what makes this release so cool, but the fact that the final image went through a dramatic “diet”, shedding a lot of its “weight” and going from a 1.4GB monster to less than 700MB of pure GNOME goodness!!!

From Screenshots

Firefox was replaced by Epiphany and codecs and fancy-Nancy stuff was scrapped to make room for a lightweight release for developers and translators!

So go ahead and try the new images today:

by OgMaciel at March 09, 2010 05:19 PM

March 05, 2010

Og Maciel

Book Preview: Python Testing: Beginner’s Guide

Python Testing: Beginner's Guide

Python Testing: Beginner's Guide

I was looking for some material on proper python testing in order to improve my QA skills and after some “Googling” came across “Python Testing: Beginner’s Guide“. My first impulse was to hit Amazon and see if they had it and if I could buy an ebook version. Sadly, they only had the “dead tree” version, so I decided to check if the publisher, PackT Publishing, had an alternative.

Boy, was I glad I hit their web site! Not only there was an ebook version of that book, but they do not password protect them, giving you complete control over your purchase!!! You can also copy text from it, which makes your life really easy when you’re following along and want to copy some of the code being described!

Needless to say I purchased the ebook version and have already allocated my weekend to read it, so you can expect a review next week. In the meantime, here’s a free chapter (PDF) for you to get a taste for the book: Chapter 5: When Doctest isn’t Enough: Unittest to the Rescue

by OgMaciel at March 05, 2010 01:53 PM

March 03, 2010

Stephanie Watson

Dia for Class Diagrams

In my class at NCSU, a UML class diagram is a required part of the design document for each project. I attempted to use Violet UML for this effort as introduced by our instructor, but I had a difficult time creating complex diagrams with its limited functions. So, having extensive experience with Dia for diagrams and figures for documentation, I decided to check out its UML editing features.

I was delighted at how much easier it was to construct the class diagram, especially if I forget a symbol I don't use much. The trick is lining up the terminology in the UML with the terminology in Java so I can use all the features effectively.

For more information about Dia and to download it search for "dia for _____" and fill in the blank with "mac" or "windows" or "linux" (I've used all three at different times).

March 03, 2010 03:09 AM

Og Maciel

Transifex “Magneto” Appliance 0.8 is out!

Following the tradition of releasing simultaneously with the Transifex project, I’m pleased to present you the Transifex “Magneto” Appliance 0.8! There are just too many cool features to mention here… so I won’t! Just go ahead and read the release notes instead.

From Transifex v8.0 featutes

As far as the appliance goes, the most important thing to know is that I dropped MySQL and replaced it with Postgresql, so if you’re thinking of updating an existing deployment, you’ll have to backup your data and handle the restoration process. If you’re installing for the first time, choose from the following image types:

  • Installable ISO (x86)
  • Installable ISO (x86_64)
  • VMware (x86)
  • VMware (x86_64)
  • Amazon EC2 Small (ami-af8669c6)
  • Amazon EC2 Large (ami-b7a54ade)

The appliance is pre-configured with 2 unique users: editor and guest (with passwords editor and guest respectively) and several projects for you to play!  To keep it up to date, log in to the web based administrative interface by connecting to your appliances url using https and adding port 8003 at the end. Then, login as admin (the initial password is password but you’ll be prompted to change it during the initial wizard). I can proudly say that the Transifex Appliance has been downloaded several hundred times in the last 2 months and is currently being used by several companies and projects that are either test driving Transifex or decided to host their own instance like the Xfce project for their translations!

As always the development branch of the appliance will follow the development code line of Transifex and provide a playground for anyone who wants to help out the project, such as the tasks created ahead of the upcoming Google Summer of Code. :) Download the appliance today and see why projects such as Meego, LXDE, Xfce, Fedora, and many more chose Transifex to manage their translations!

by OgMaciel at March 03, 2010 02:52 AM

March 02, 2010

Og Maciel

GNOME 2.30 Translations for the Faint of Heart

With the GNOME 2.30 release just around the corner, translators are feverishly working hard to get the desktop completely translated into a multitude of different languages! But unless you’re comfortable building the application you’re trying to translate on your own (or perhaps the entire desktop), you’re pretty much doing what I call “blind translations.”

From Screenshots

The good news is that you don’t have to do any compiling to play with the very latest GNOME applications! Just download the GNOME Developer Kit and start translating knowing that you can actually see what you’re translating!

Borrowing from a previous post I wrote, just what is the GNOME Developer Kit? It is a continuous build of GNOME packages all bundled up into a distribution (in this case, Foresight Linux) and distributed in a few different formats that you can either install or run in a virtual environmen.

So if you’re a translator or writing docs, imagine being able to see the application you’re trying to translate running right in front of you! As the GNOME Developer’s Kit already comes with a lot of tools such as gettext, intltool and poEdit, you got your work cut out for you!

So don’t just sit there! Go download your GNOME Developer Kit today!

by OgMaciel at March 02, 2010 02:23 AM

February 26, 2010

Scott Parkerson

"About" to "Antikythera"

Ten songs listened to this morning by yours truly, in alphabetical order.

  1. “About to Happen”, Siouxsie
  2. “Adnan’s”, Orbital
  3. “Adventures in Solitude”, The New Pornographers
  4. “Again Today / Hiding My Heart”, Brandi Carlile
  5. “All That I’m Good For”, Hem
  6. “All That Makes Us Human Continues”, BT
  7. “All the Old Showstoppers”, The New Pornographers
  8. “All of the Things That Go to Make Heaven and Earth”, The New Pornographers
  9. “Ambassador”, Noe Veneble
  10. “The Antikythera Mechanism”, BT

This idea was gleefully stolen from Slacktivist, which itself is an alternate version of a the “it’s-Friday-Morning-so-post-the-next-ten-random-songs-played-on-your-iPod” meme.

by Scott Parkerson at February 26, 2010 03:42 PM

February 22, 2010

Michael K. Johnson

Pleasant Surprises

My wife found her smartphone screen cracked recently. AT&T told her to suck it up and buy a new phone, and the local independent shop couldn't fix her phone. I had a great deal of trepidation about sending the phone off to some random place I googled, but in the end sent it off to Jet City Devices in Seattle.

They turned the repair in about an hour from the phone's arrival on a Saturday (!) afternoon, and had it back in the mail same day, so that it arrived back in North Carolina on Monday with a new screen.

Good Work!

February 22, 2010 10:50 PM

Brett Adam

DevOps - about time!

The DevOps movement seems like a no-brainer to me: treat the management of operational systems as we treat the management of software development.

Version control everything, seek to automate every single process that changes anything and automatically test every change. And then, make the smallest number of changes necessary to deliver the benefit sought. Take as many human, error-prone activities *out* of the overall process as possible - or as I've been overheard to say on a particularly bad afternoon "eliminate the monkeys".

Not surprisingly, devops and agile are strongly related - indeed, some have described devops as extending agile the "last mile" beyond development and into operations. About time!

in reference to: http://blogs.rpath.com/wpmu/closing-the-gap/2010/02/22/devops-a-movement-emerges/ (view on Google Sidewiki)

by verveguy (noreply@blogger.com) at February 22, 2010 07:36 PM

February 19, 2010

Stephanie Watson

Setting up my Android SDK and Emulator

Sometimes it's hard to find a "quick start" guide to set up a development environment. Here's a quick checklist for my own (and anyone else) to use as a future reference when setting up an Eclipse-driven Android development environment:

(1) Install Eclipse from http://www.eclipse.org/downloads/
I was already using Eclipse IDE for Java Developers, the Galileo release for Mac, build 20090619-0625.

(2) Download the Android SDK from http://developer.android.com/intl/de/sdk/index.html
I'm using the one for Mac (android-sdk_r04-mac_86.zip).

(3) Unpack the SDK and put it in a local directory you're comfortable referencing it from.
For the Mac install, I just dropped the android-sdk-mac_86 directory into /Applications/.

(4) Install the Android Developer Tools for Eclipse. Basically, open Eclipse, go to Help --> Install New Software, and add the following as an available site: https://dl-ssl.google.com/android/eclipse

(5) Still in Eclipse, go to Preferences from the menus, select Android, and set the SDK location to point to the android-sdk-<something> directory you unpacked to your preferred location.

(6) Also working in Eclipse, install one or more of the SDK platform images from Windows --> Android SDK and AVD Manager using the directions here: http://developer.android.com/intl/de/sdk/adding-components.html 
I installed SDK Platform Android 1.6, API 4, revision 2, which is what I'm running on my G1 and what I'm programming for in my class at NCSU. I also installed the corresponding Google APIs; not yet sure what I might do with those.

(7) To test you have a working test environment, create an AVD, and then launch an emulator. The emulator plus AVD creates a virtual machine running the Android OS. Here's more detail for each step:

(7.1) Create the AVD using either using the same Android SDK and AVD Manager in Eclipse, or using instructions here: http://developer.android.com/intl/de/guide/developing/tools/avd.html
In the Android SDK and AVD Manager, I went to Virtual Devices, clicked Add, gave my new configuration a name, selected the Android 1.6 SDK from the targets drop-down list, and saved the configuration. I didn't worry about tweaking any other configuration for the first launch.

(7.2) Launch the emulator with the new AVD either using the same Android ADK and AVD Manager in Eclipse, or using instructions here: http://developer.android.com/intl/de/guide/developing/tools/emulator.html
In the Android ADK and AVD Manager, while I was still in Virtual Devices, I selected my new configuration and clicked Start. The emulator launched in a separate window...

... and it was really kinda cool.

From there, I used the Subversive plugin in Eclipse to connect to the project code I'm working on, check it out, and start working on it. My next step is to figure out just how to pull together my Java classes and manifest into an Android package, add it as part of the AVD, and test it in the emulator.

February 19, 2010 12:08 AM

February 17, 2010

Erik Troan

Meth Study

While I was driving around the bay today I heard an ad looking for people who want to kick the meth habit. The first thing was "shouldn't have any trouble finding some meth heads in San Francisco". Free medication, free counseling, etc. Anyway, I was mildly amused to hear it given the locale.

The kicker was at the end when they said, basically as fast as they could, that compensation was available for study participants. The idea of giving cash to a bunch of druggies who say they want to kick the habit struck me as hilarious. Wonder what they'll spend the money on?

February 17, 2010 06:34 PM

February 15, 2010

Mihai Ibanescu

Canonul cel mare al Sf. Andrei Criteanul

Puteţi asculta Canonul cel Mare aici.

(if you cannot read above this line: it’s a link to the Great Canon of St. Andrew of Crete, officiated during the first week of the Great Lent).

by misa at February 15, 2010 10:47 PM

Scott Parkerson

Yes, Let's Talk About the Individual Mandate

Did you know that the same individual mandate that Senate Republicans have been recently attacking in the proposed health care reform legislation was initially proposed by Republican lawmakers as a part of an alternate bill during Clinton’s failed health care reform initiative in 1993? Neither did I.

Digging around on this, I found an article from the American Prospect by Paul Starr that was written just after the collapse of that initiative. He notes that

The collapse of health care reform in the first two years of the Clinton administration will go down as one of the great lost political opportunities in American history. It is a story of compromises that never happened, of deals that were never closed, of Republicans, moderate Democrats, and key interest groups that backpedaled from proposals they themselves had earlier co-sponsored or endorsed.

It is also a story of strategic miscalculation on the part of the president and those of us who advised him. In 1993, 23 Republican senators, including then-Minority Leader Robert Dole, cosponsored a bill introduced by Senator John Chafee that sought to achieve universal coverage through a mandate that is, a mandate on individuals to buy insurance. Nearly every major health care interest group had endorsed substantial reforms—grandiose ones, in fact. The American Medical Association (AMA) and Health Insurance Association of America (HIAA), the two great, historic bastions of opposition to compulsory health insurance, both went on record in support of an employer mandate and universal coverage. Even the U.S. Chamber of Commerce endorsed an employer mandate, as did many large corporations. Other groups came out variously for reform options that ran along a spectrum from Canadian-style, single-payer programs on the left to managed competition and medical savings accounts and radical changes in tax policy on the right. Under the circumstances, it was easy to believe the country was ready for substantial reform and that a market-oriented, consumer-choice approach to universal coverage, positioned in the center, could become a platform for consensus.

It was easy to believe, but it turned out to be wrong.

Read the whole thing if for no other reason then to be reminded that the seeds of political nihilism were sown far earlier than you may want to imagine.

by Scott Parkerson at February 15, 2010 02:10 PM

February 12, 2010

Brett Adam

Samsung 2343BWX and MacBook Pro

I recently upgraded to a Samsung 2343BWX monitor for work. Lovely 23" screen at a great price. Naturally, I wanted to exploit the full 2048 x 1152 native resolution with my (older) MacBook Pro.

Problem: the Mac wouldn't recognize the max res of the monitor. I was stuck in 1920 x 1080 !

No obvious answers anywhere on the 'net.

Long story short, the solution is software: grab a copy of SwitchRes X 4.x and then create a custom config as follows:



Saves changes, reboot and select the new resolution via the System Display preferences.

Voila!

by verveguy (noreply@blogger.com) at February 12, 2010 07:01 PM

February 10, 2010

rMake Blog

rBuild 1.2.2 released

rBuild 1.2.2 is a maintenance release.

New Features:
  • The "rbuild rebase" command now saves product definition files in the latest version supported by the associated rBuilder, rather than the latest version supported by the installed rpath-product-definition. (RBLD-298)
Bug Fixes:
  • The "rbuild rebase" command now fails when the rBuilder does not support the product definition schema version only if the schema version is being changed. (RBLD-297)

Associated with rBuild 1.2.2, rpath-product-definition 4.0.1 is a maintenance release.

Bug Fixes:
  • The compatibility interfaces created for RPCL-63 are now compiled. (RPCL-64)
  • The api1 module now properly sets __all__ to include all public interfaces.
  • The preMigrateVersion property now reflects the version of the product definition as found in the serialized XML representation prior to applying all migrations. (RPCL-66)
  • Older versions of product definition XML data can now be saved. (RPCL-67)

February 10, 2010 11:00 PM

February 08, 2010

Stephanie Watson

stefw @ 2010-02-08T10:11:00

Originally submitted at Timbuk2

A mini-messenger for urban adventure


Same Top Quality, But Different Features

By Stef from Raleigh, NC on 2/8/2010

 

5out of 5

Pros: Attractive, Great Color, Good Strap Length, High Quality, Good Organization, Enough Compartments, Easy Access

Best Uses: Shopping, Traveling, Everyday, Carrying a small netbook

Describe Yourself: Career, Comfort-Oriented, Practical

I got the Click on sale at a great price compared to the classic small messenger bag. It is about the same size, but it has a sewed instead of a clipped strap, and it uses only the Velcro tabs for the flap instead of having the additional clips like the messenger bag. For me, it was a great bargain: all the quality of a Timbuk2 bag, but on a smaller scale that was perfect for carrying my EeePC, a book, and a small notebook for class. I love it, and I recommend it to anyone needing the smaller messenger-type bag without the messenger bag cost.

(legalese)

February 08, 2010 03:11 PM

February 07, 2010

Mihai Ibanescu

Sycamore Scramble

The local orienteering club, BOK, is organizing an A-meet (i.e. a national event), February 20-21. I’ve signed up to be one of the setter/vetters.

It’s very interesting how we decided to make sure we minimize the risk for mistakes when setting up controls, and in a way it’s an OCD-er’s dream. There are at least three setters that will go out and hang ribbons where the controls are placed. Then, two other persons (the vetters) have to go and vet (approve) the location chosen by the setter. Setters have the liberty to move the control from where the course designer suggested the location to be, for example if a feature is missing or is too dangerous to get to; vetters should try hard not to move controls, unless they were set wrong.

This gives you triple accountability for a control’s location, not to mention that some of the club members will have a practice run of the courses the week prior to the meet (which happens to be next weekend).

Today I spent more than 4 hours vetting. Now I am barely moving. Probably getting into the warm house after all that time in the balmy 34-36°F (1-2°C) did not help much. However, this is exactly what I need, hopefully the small injuries I’ve been accumulating over the past couple of months will eventually go away to let me go back to running on a more regular schedule.

I’ve also worked on a solution to download data from an Sportident box on a Linux computer (it might work on Windows too, since it’s written in python, and I believe pyserial does work on Windows. It has sound to alert users if their download was unsuccessful (more about that in a future post), and generates a PDF for the splits and total time; I think the printing part is going to be the one that will cause most of the problems, I seem to have bad luck with printers in general. (The printing part would definitely not work on Windows). At some point I will publish the code, maybe someone else has a use for it.

by misa at February 07, 2010 12:41 AM

February 05, 2010

Scott Parkerson

WTF, Whole Foods? [1]

Making Light:

[F]amously-crackpot Whole Foods CEO John Mackey has now made himself sufficiently repellent that I very much doubt I’ll ever feel like spending a dime in one of his stores again. Not content with peddling rich-guy “libertarian” attacks on health-care reform, asserting that climate change is a fraud designed to “raise taxes and increase regulation, and in turn lower our standard of living and lead to an increase in poverty,” comparing unionization to herpes, and getting caught playing sockpuppet games on financial message boards, Mackey is now‌charging his employees more for food if they fail to meet his arbitrarily-chosen cholesterol, blood pressure, and body-mass index criteria.

The original article at Jezebel dryly observes:

Because if public health research has taught us anything, it’s that reducing people’s buying power totally makes them healthier. Stay classy, Whole Foods.

by Scott Parkerson at February 05, 2010 06:56 PM

February 04, 2010

Erik Troan

Addicted to Kindle

My name is Erik and I have am addicted to my Kindle.

The realization hit me this morning. I've been reading a pulpy 12 book or so sci fi series. My wife suggested it when I had strep throat as an easy read, and the books are fun, quick to read, and mindless enough to work well when I've been traveling. Oh, and they're all available on the Kindle.

Now, my wife owns most of these as trade paperbacks. That didn't stop me from buying them for the Kindle though. I could finish a book, turn on the wireless, and start the next one from the comfort (hah!) of an airport chair. I didn't have to shove a couple of paperbacks into my laptop bag, just the Kindle. Nevertheless, I now see that buying books we already owned was the first sign of addiction.

This morning I discovered that only the first 7 (or so) books are available on the Kindle. The rest of the series is not. Now, my wife does indeed own the rest. The true sign of my addiction is that I strongly suspect I won't read them. It's just too much trouble to read an actual book.

Now understand that we have piles of bookshelves full of dead trees. When we finished our attice, we lined a room with bookshelves and we've almost filled those up.

But jeez reading that way seems like a lot of trouble.

February 04, 2010 04:39 PM

January 29, 2010

Scott Parkerson

iPad, or Why I No Longer Care If the Year of Desktop Linux Ever Arrives [6]

Fraser Speirs:

What you’re seeing in the industry’s reaction to the iPad is nothing less than future shock.

For years we’ve all held to the belief that computing had to be made simpler for the ‘average person’. I find it difficult to come to any conclusion other than that we have totally failed in this effort.

The iPad bashing reminds me of how hardcore gamers made fun of the Nintendo Wii near its release. Nintendo made a game system for non-gamers, and there are tons more of them than folks who care about polygons, shaders and fps. Nintendo made serious money on that system, and continues to do so because for every serious gaming enthusiast, there’s about four people who just want to play virtual bowling with their friends.

Case in point: my step-mother. She would love the iPad. As far as I know, all she has every used her computer for are the following tasks:

  • Play solitaire (or some game like it)
  • Read her email
  • Browse the web

I don’t doubt there are many other people whose requirements for a personal computing device are about as pithy.

by Scott Parkerson at January 29, 2010 09:13 PM

Og Maciel

TriZPUG, Fabric, epdb, oh my!

Yesterday I attended my first TriZPUG meeting to check out Kurt Grandis‘ talk on Fabric, “a Python library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.

It was pretty cool to see a bunch of guys who share the same interests take some time on a Thursday to hang out, drink beers, and chat about python, django, zope, and other stuff. After the original talk was over and some of the other lightening talks that succeeded it was over, a couple of things became very clear to me:

  • There was a real need to make it easier for system administrators and OPS people to handle the difficult task of deploying and maintaining systems, cloud or not;
  • Some of the tools and/or tool implementations presented were being used in an attempt to minimize this pain, but you were still pretty much had no control over what made its way to the systems in the end of the process;

Having been using rBuilder Online to manage and maintain my Transifex Appliance, and being somewhat “spoiled” with the ability of having fine grained control over the entire software stack and having the option of deploying my final “product” on several different cloud environments, I couldn’t help but offer to speak a bit about my experience. I sure hope my impromptu presentation didn’t come across as being “just a sell’s pitch” and I definitely tried my best not to sound like I was selling something. I truly feel that the technology developed here at rPath can solve many of the typical issues that people have getting their product through the many different life cycles and eventually out the door and into the hands of their customers!

Today I started going through Fabric’s documentation and am already making plans to include it in some of the test automation tools we’re developing here!

Anyhow, after my presentation there was a quick intro to epdb, the “Extended Python Debugger”, a very cool python debugger developed by an ex-rPathian and something I use on a daily basis! Turns out that the epdb currently packaged for Foresight Linux was outdated, so I spent a few minutes during my lunch today to update it. If you’re running Foresight, just run conary update epdb=:2-devel or wait for it to make its way to the stable label. If you’ve never heard of epdb, I strongly suggest you give it a try!

by OgMaciel at January 29, 2010 07:48 PM

Scott Parkerson

Clang, Clang Go The Hammers

I’m working on building an HTPC based on Foresight and xbmc/boxee using Conary+rBuild. I could really use your help.

It’s called Tapatio. If you are interested in lending a hand with packaging, etc. please let me know by joining the mailing list.

Thank you.

by Scott Parkerson at January 29, 2010 03:32 PM

Joseph Tate

As Promised to TriZPUG: EPDB

So I did some digging around after giving my off-the-cuff lightning talk at TriZPUG tonight and it looks like some other ex-rpathers (Thanks Dugan and Gafton!) have forked epdb. There's also the the rPath tree synchronized from here but this tree is missing some of the latest changes. The dugan tree is "python setup.py installable" now, instead of using make, and some shortcut documentation has been created, so I don't have to make this post as long as I thought I was going to have to.

For those who didn't see my little demo, epdb is like pdb (the standard Python debugger), but it adds multi-line text input, history and tab completion, nested debugging from the debug prompt, shortcuts to introspecting code, and a very nice post mortem debugger. Last, but not least, it also contains a server and client for remote debugging. The docs are still pretty sparse, but hopefully more attention can help fix that. I'd also be happy to answer questions about it.

by Joseph Tate (nospam@example.com) at January 29, 2010 06:36 AM

January 27, 2010

rMake Blog

rBuild 1.2.1 released

rBuild 1.2.1 is a maintenance release.

Bug Fixes:
  • The product definition facade no longer uses the internal BaseDefinition class. (RBLD-289)
  • The RbuilderClient class is kept around for backwards compatibility, and the _getRbuilderClient internal method has been made backward compatible with the earlier interface. (RBLD-290)
  • searchPath entries without a troveName specification in the product definition are considered label search paths, and properly handled, both by the conary and the rmake facade. conaryfacade's internal _findPackageInGroups method was renamed to _findPackageInSearchPaths, to clearly indicate that packages are looked up on labels too. (RBLD-294)
  • A dependency on urllib internals that is not consistent between Python versions has been resolved; previously, some successful calls to rBuilder resulted in errors. (RBLD-295)

January 27, 2010 07:53 PM

January 21, 2010

Scott Parkerson

The State of Play in Washington, Right Now

Over at TPM, a longtime reader and former Republican Hill staffer takes the pulse of Obama and our current Congress and concludes that

This isn’t an argument about the merits of policy. It’s all politics. Ask yourself, is it easier to pass a difficult, complex legislative agenda when the country is under stress if the opposition party is seen as the Party of Bush, or if the opposition party is able to begin redefining itself as the party of populism, or of un-Washingtonism, or of fiscal restraint? Give the opposition party a fresh start, for free, and you’ve bought yourself all manner of trouble. That’s really the only transformative development Obama has presided over so far. (emphasis mine)

This is exactly why many of my Republican friends call themselves “conservative” instead of Republicans. This is why Michael Steele bumbles around begging the base to “come back” to the party fold. This is why Sarah Palin continues to be popular in spite of all her flaws. This is why Massachussetts voted Brown into office. This is why 2009 was the Summer of the Teabaggers.

Once the taint of eight years of Republican rule presided over by possibly the worst president in history is removed from the political petri dish as well as the American people’s collective memories, the culture of populism grows fast and furious into the strain of “conservative” that exists today. Not a new GOP, but something else entirely. Something that reflexively says “no” to everything proposed by the Democrats, no matter how reasonable or “bipartisan”.

We cannot live like this forever.

by Scott Parkerson at January 21, 2010 02:04 PM

Og Maciel

Transifex Upcoming Feature: Translation Review

Just wanted to tease you guys out there about a new feature that the Transifex guys are working on these days: Translation Reviews! Have you ever wandered if your translations conform to the standard vocabulary that your team uses? Have you ever wanted someone to take a look at what you’ve done before sending in your final work for commit approval?

From Transifex v8.0 featutes

Now, mind you this is still very alpha code but that is probably a good thing since you can play with it and give your feedback on how to improve it. As always, you can get this in an easy to consume format by using the Transifex Appliance Developer edition… or you can join the Xfce translators who are already enjoying Transifex latest code! :)

by OgMaciel at January 21, 2010 12:44 AM

January 19, 2010

Scott Parkerson

January 18, 2010

Og Maciel

Xfce using Transifex

In case you’ve missed it, the Xfce project has been using their own installation of Transifex to manage their translations online! Translators can now visit http://translations.xfce.org and keep up with the action!

From Transifex v8.0 featutes

I’ve been contributing with translations for the Brazilian Portuguese language for quite some time now, and have been a strong supporter for the Transifex project as well, so I was thrilled to learn they were “working together”! But there is a second reason why I’m mentioning this on my blog:

Turns out that Nick Schermer, maintainer for http://translations.xfce.org, is using my Transifex appliance too!!! Moreover, he chose to use the appliance built from the development branch to get the very latest bits being committed to the development branch of Transifex. It has been a win-win-win (yes, 3 times!) relationship so far for all parties involved, for:

  • Xfce gets a ready to run, batteries included, Transifex appliance with all the latest and coolest features without having to build things by hand.
  • Transifex gets tons of excellent feedback for this version still in development and work out all the kinks before the next release.
  • My appliance has also enjoyed of tons of excellent feedback and is now more robust and ready for consumption.
From Transifex v8.0 featutes

Some of the cool features that you can expect from the next version of Transifex (and that the over 200 registered Xfce translators are already enjoying) are:

  • Better support for Lotte, the online translations editor, and the removal of the 100-strings limitation;
  • Automatic translation suggestions within Lotte;
  • Support for translation teams;
  • New timeline history for tracking contributors, teams, and projects activities;
  • Top Translators “hit list” for your bragging rights ;)
From Transifex v8.0 featutes

The Transifex Appliance (developer image) has been updated almost on a daily basis, so those out there already using it can keep it updated using the web based appliance management tool or running conary updateall. As always, you can expect a stable release the very same day that Transifex releases the upcoming 0.8 version! I’d love to hear from all of you appliance users out there. Just drop me a line or a comment here and I’ll do my best to improve your experience.

by OgMaciel at January 18, 2010 03:11 AM

January 15, 2010

Conary News

Conary 2.1.4 Released

Conary 2.1.4 is a maintenance release.

Bug Fixes:
  • A redundant check that could trigger an assertion error in the lazy cache code has been removed. (CNY-3331)

January 15, 2010 02:25 PM

Conary 2.1.3 Released

Conary 2.1.3 is a maintenance release.

New Features:
  • Conary now stores RPM obsolete information as troveinfo data. (CNY-3328)
Bug Fixes:
  • Building rpm capsules properly eliminates dependencies in the RPM namespace that are also discovered by Conary. (CNY-3318)

January 15, 2010 02:25 PM

conary-policy 1.0.27 released

conary-policy 1.0.27 is a maintenance release.

  • All destdir policies have been audited, and modified as necessary, to correctly handle capsules, in preparation for enabling destdir policies for capsules. (CNY-3320)
  • The new WarnScriptSharedLibrary policy looks at capsule scripts for possible instances of modifying the ld.so.conf, when used with Conary 2.1.2 or later. (CNP-185)

January 15, 2010 02:24 PM

Conary 2.1.2 Released

Conary 2.1.2 is a maintenance release.

New Features:
  • Conary now runs all destdir policies for capsule packages. Previously, it disabled destdir policies to avoid unintentional modification; now all destdir policies should take capsules into account and some destdir policies are required. (CNY-3320)
  • Scripts from capsules are now written as files that are not packaged but are available for inspection during the packaging process, and policy can investigate script files. (CNY-3321)
Bug Fixes:
  • Committing relative changesets with multiple specifications for a single fileId no longer causes a repository traceback when those specifications are part of different troves. (CNY-3316)

January 15, 2010 02:24 PM

January 14, 2010

Scott Parkerson

Dispatches from Jacmel

Our friends Gwenn and Nick Mangine are houseparents for an children’s home in Jacmel, Haiti and were there when the quake struck. They have a blog, and have been reporting on the aftermath. CNN even interviewed the Mangines and used their photographs for a story on Jacmel.

by Scott Parkerson at January 14, 2010 10:01 PM

January 12, 2010

Ken VanDine

XChat-Indicator

I recently released a plugin for XChat-GNOME (and XChat) which adds support for the messaging menu in Ubuntu. This was a fun little side project of mine, I use xchat-gnome very heavily and have really been craving integration with the messaging menu.

When I started working on this, I wanted to make sure it was a standalone plugin that didn’t need to be built inline with xchat sources and didn’t require changes to xchat. In the process I ran accross a couple pieces of the XChat plugin API that hadn’t been implemented in xchat-gnome yet. This meant of course I needed to patch xchat-gnome, and send those patches upstream.

Both of these were trivial changes to xchat-gnome, and I didnt expect any problem getting them accepted. I had to implement the “GUI FOCUS” command which has been merged already (bug).   And I had implement the win_ptr argument to xchat_get_info, which lets the plugin get a pointer to the GtkWindow (bug).

Overall I am very impressed with the plugin API for XChat, it is really awesome to be able to get access to the GtkWindow.

Messaging Indicator with XChat-GNOME

If you are running Lucid or Karmic, you can install it from from my xchat-gnome PPA:

sudo add-apt-repository ppa:ken-vandine/xchat-gnome
sudo apt-get update
sudo apt-get install xchat-gnome-indicator

If you use xchat instead of xchat-gnome, just change the package name in that last command:

sudo apt-get install xchat-indicator

To get the source, file bug reports or feature requests, check out the project page on launchpad.

by kenvandine at January 12, 2010 09:54 PM

January 10, 2010

Stephanie Watson

Turning my EeePC into a Java Programmer System

Technically, I haven't owned a portable computer of my own until now. Sure, I've had work-issued laptops for the last few years, and I've borrowed laptops from friends from time to time. When I bought my mom's Asus EeePC, though, it was the first time I'd had one I could call mine. Everything else I own is a desktop system. :-)

For my Computer Science programming coursework at NCSU, I can easily do assignments at my desktop systems or from one of the campus computer labs. Once in a while, though, I'd like to grab a portable system and go somewhere else. I could use my work-issued MacBook, but if anything happens to it while I'm using it for something other than work, I could be held responsible for its replacement. Plus, even though it isn't but a 13" MacBook, it's still a little bigger than I want to haul around with me.

The EeePC had Xandros pre-installed, and I really like it. However, I didn't want the launcher. When I tried installing the advanced-mode Xandros, I was excited because it had the look and feel I wanted. Unfortunately, any minor change in software bricked the system. I gave up on Xandros after about half a dozen repair installs.

Having participated in the Foresight Linux project for some time, my next instinct was to try installing Foresight Linux Mobile Edition. After all, I have friends and colleagues that have used the EeePC and other netbooks with FL Mobile with much success.

I loved it... but I needed to customize it to my needs as a Java programmer.

My first instinct was the fall back on my Conary system building skills and use rBuilder Online to build a custom one-off of Foresight Mobile. However, the package structure was significantly different in some ways, and I didn't want to spend a lot of time figuring out how to make the system into a Java programmer's toolkit. So, I decided just to use my Conary system administration experience and add and remove packages until I had the system I wanted. Later, if I wanted to, I could capture this list of packages and create a "backup" system image of sorts using rBuilder Online.

For the following process, I used a combination of the Alt+F1 tty and runlevel 3 to drop to a command line as needed. I also made sure sudo was configured (in /etc/sudoers) so I could use it without providing a password.

I started by removing the launcher, which was included as a dependency of the desktop switcher:

$> sudo conary erase desktop-switcher
$> sudo conary erase netbook-launcher


Then, because I wanted to control my software at a command line instead of using the GNOME Package Kit tool, I removed the package kit:

$> sudo conary erase packagekit

Because I wanted to conserve space, I also removed some applications that I knew I would not use on this system. Most were modestly sized, so I probably could have done without removing them. (Browse the application launcher in the default GNOME install to see what GUI applications are installed, and determine which you want to keep and remove.) Here are the erase commands for the ones I removed:

$> sudo conary erase f-spot
$> sudo conary erase banshee
$> sudo conary erase pidgin


At this point, I was still using 58% of the 4 GB solid state drive. I considered replacing GNOME with xfce to save even more space and further reduce processing overhead. For now, though, I'm sticking with GNOME for familiarity's sake, and it seems to be running efficiently so far.

Next, I had to add my programming tools for Java. First, I needed the JDK for Java 6 (aka 1.6), which also brings in the JRE as a dependency:

$> sudo conary update sun-jdk

The install took a few minutes on the Eee PC. Stopping to check my disk space after the update, I was up to 68% used of my 4 GB. I wasn't concerned about room for my data, since I had an 8 GB SD card mounted at /data, ready for my programming work. However, the percentage made me doubtful I'd be able to install and use Eclipse as my IDE. I decided to give it a try, anyway.

I first tried installing just the runtime component (eclipse-sdk:runtime), but when I launched the application, it said it was missing some necessary jar files. Then I installed the eclipse-sdk package as shown here, which also brought in its dependencies: an earlier build of OpenSSL's library component, the Java components for Xalan and Xerces, and Python's runtime and library components:

$> sudo conary update eclipse-sdk:runtime

This install took less time, and it bumped me to 75% of the solid state drive used. I was happy I had the tools I needed installed, and decided the next item of business was to evaluate performance of Eclipse as my Java IDE on the Eee PC with my customized Foresight Mobile.

Before I did anything, I rebooted the system and confirmed everything was still in working order. Everything was fine. Yay!

Before I launched Eclipse, I wanted to set up a workspace directory on the 8 GB SD card. I wanted to be sure my Eclipse work was stored there instead of in my home directory on the solid state drive. I changed to root, changed the owner on /data was mounted, and made sure it was mounted correctly in /etc/fstab. Then, I created a directory there named eclipse-workspace-java6.

When I launched Eclipse, in the "Select a workspace" dialog, I pointed to my new /data/eclipse-workspace-java6 directory. The splash screen since everything is set to be full screen by default (it tiled instead of expanding). The view was the same as using Eclipse on any system, but it seemed to take up a lot of space. I'm sure I'll continue customizing the look and feel from here until it's like I want it.

As I've done a little bit of sample coding, I've noticed that Eclipse seems to work great on my EeePC. I haven't pushed the limited to see how it runs alongside Firefox and other programs, but I'm confident I at least have the Java Programmer System I was looking for.

January 10, 2010 11:11 PM

January 04, 2010

Og Maciel

Re: is Foresight Linux dead?

On his latest post titled “Foresight Linux is dead?“, Thilo Pfennigs rightly asks the question that many of the current Foresight Linux users may be asking themselves. With the current stable release dated as of May 2009 and no explicit roadmap stating when the next release will be published, is it really safe to say that Foresight Linux is indeed dead?

In order to properly answer this question, one must first take a look at what the year of 2009 reserved for this young distribution. Born out of Ken Vandine’s desire to follow the GNOME project as close to the upstream source as possible and introduce all the latest and coolest applications out there to the desktop before anyone else, Foresight was for a while synonymous to bleeding edge Linux done right!

Powered by the revolutionary Conary package management system and a small but talented and determined crew of developers, Ken was able to ship a new version of the distribution the same day that a GNOME release was published, a feat that no other distribution was able to keep up, even those enjoying of large hordes of developers and user base. Foresight was the first distribution to include several trend setter applications out there to the default installation, such as Banshee, F-Spot, Tomboy, Gwibber, Pulse Audio, PackageKit, among many others! And since the distribution followed a rolling release cycle, users did not have to wait for a major release in order to get the very latest bits.

Even if DistroWatch’s numbers weren’t impressive, those who took the time to test drive the distribution fell in love with the community, package selection, and most likely the possibilities that the underlying Conary technology provided for those inclined to do a little packaging or package maintenance. If you were a GNOME user/fan and didn’t mind the small sized, hand picked repository of supported packages, then you’d probably feel right at home! Sure there were KDE, Xfce, Fluxbox, Openbox packages available but those were mostly supported by some of the core users who didn’t mind doing the heavy lifting.

Then came 2009 and with it the major financial crisis the shook many companies around the world, creating a massive layoff wave for most of the first quarter. Sadly, approximately 75% of the active developers that comprised Foresight’s core developer base were part of the many casualties, including Ken Vandine, the heart and soul of the distribution! By late February these developers had already joined the ranks of companies such as Red Hat and Novell to do package and kernel management. Ken himself was quickly nabbed by Canonical to join their Desktop Experience Team, concluding then the completely dismemberment of the seasoned Foresight team!

Deprived of its core developers who were now devoting their time to working for their respective new companies, Foresight’s run at being a bleeding edge distribution and being able to keep up with the release schedules of GNOME (and all of its dependencies) quickly spiraled down toward what looked like certain doom. António “Doniphon” Meireles, second in charge of the distribution and holder of all the knowledge related to how all parts worked together became the sole guardian and maintainer of all packages. Have you ever tried to sync up and maintain all the modules that make up the X.org stack by yourself? How about making sure that every single package in the repository is properly compiled and linked to a newer version of Python?

Unfortunately for many of our loyal users expected point releases stopped from happening on time and deadlines were never met. Having been using Foresight Linux as my primary and only distribution for the last 3 years, I myself started to wonder if 2009 would mark the end of it all.

It took a few months for the remaining developers and users to get over the deep scars left from the massive exodus suffered early last year, but our user base proved to be very resilient and new developers stepped up to fill in the gaps. António was still doing the heavy lifting but this new crop of developers took upon themselves to bring the distribution closer to its former shape.

Slowly but surely milestones were achieved and the development branch eventually caught up with the latest GNOME packages. As of 2 weeks ago the development branch was pretty stable and I believe that only a few minor issues with PolicyKit were blocking a new release. Some massive work has also been done to pave down the way for Foresight 3.0, a major move that will allow for a more modular platform that can be used to derive other distributions, leveraging the flexibility and functionality provided by Conary. Moreover, the “Boots” project was kicked off to bring a Fedora based distribution completely managed by Conary, which should free up the time our developers spend maintaining some of the more complex stacks of the operating system and let them focus on making your desktop “freaking cool!”

So to answer the original question posted by Thilo, “is Foresight Linux dead?” I can gladly say “Far from it!” I predict that the Foresight community will rally together in 2010 to get back to being the most GNOMEic and bleeding edge distribution out there! As the Foresight Community Manager I can honestly say that we have always been and will always be a niche distribution! We don’t have the man power that distributions such as Ubuntu, Fedora, Mandriva or OpenSuse have to provide the same level of documentation or user support. We obviously cannot afford to have the same depth of package variety in our repositories or  claim to have the expertise and time to resolve all issues that manage to get filed in our tracking system. But I can guarantee one thing: Foresight is here to stay!

If you want to try a revolutionary package management system and want to be part of a an exciting crew, come hang out with us on #foresight at Freenode. We will help you get started and I promise you that you’ll be able to contribute in no time.

Expect great things from Foresight Linux this 2010!

by OgMaciel at January 04, 2010 12:25 AM

December 31, 2009

Joseph Tate

An Exercise in Python planet link recursion

Thanks to Chris Calloway, TriZPUG has a planet now. I don't know why it's taken me so long to connect with this group of people (I've been working with Python for 5 years now), but it's a pretty cool group from what I've seen so far. Thanks for making me (a TurboGears guy) feel welcome among all you Zope/Plone/Django developers.

by Joseph Tate (nospam@example.com) at December 31, 2009 07:16 PM

December 23, 2009

Erik Troan

36" of snow

I spent the weekend, and Monday, and some of Tuesday, in the Virginia mountains. It's only about 3500' above sea level and really doesn't get that much snow. This weeks storm was a complete exception though. We made it up after a harrowing drive through driving snow (plows and salt were no match for it), and woke up to about two feet of snow on the ground. The snow kept falling until the early evening, for a total of around three feet. That is a lot of snow.

The driving wind kept up for a few more hours, and we woke up to clear skies on Sunday morning. We also woke up to massive snow drifts. Think six foot high snow drifts about four feet thick. My driveway was completely drifted in (which mattered very little given the condition of the roads). Fortunately, most of the people I was with were skiers and had easy slope access (where easy means trudging through waist high drifts for about ten feet).

Eventually we had to get to work on the driveway though. The driveway is heated, so the parts which weren't covered by drifts stayed somewhat clear. Here's a picture of what the rest looked like (the angle makes the drifts look a little smaller than they were; the tops were easily above my Mom's head).

December 23, 2009 03:07 PM

Brett Adam

xobj hosted on bitbucket

This post should have be written a few months ago. xobj has been made available as open source on bitbucket

The xobj project provides an object reflector between various dynamic languages and XML. Currently, python and ActionScript 3 implementations are available.

Motivations

xobj was motivated by a few specific goals:

  • Make the use of XML for object model interchange between client and server tiers less painful
  • Allow your code to use real typed instances of classes rather than simple generic data structures
  • Treat your code as the definition of schema rather than forcing an XMLSchema driven approach on your code.
  • Read and write XML documents that will pass most XMLSchema structural validation requirements with relatively little effort on your part
It is not required to provide an XML schema to use xobj. Custom objects may be used for parts or all of the document, whether or not an XML schema is provided. Schema validation is optional. If new elements show up, they will be preserved across read/write; schema additions will not normally require code changes.

Implementation Notes

During XML decoding, xobj preserves namespaces, element ordering and tracks attributes vs elements so that re-encoded object graphs can comply with most of the common XMLSchema validation requirements. This observed metadata is attached to your object graph rather than hidden out of view.

For "whole cloth" generation of XML from object graphs that were not themselves decoded in the first place, you can provide the namespace, elements ordering and attribute metadata declaratively to facilitate XMLSchema conformance.

However, most casual-use applications don't need to worry about namespaces, so your instance graphs will encode just fine as a usable XML document leveraging as much runtime class introspective data as is available. (AS3 in particular)

During decoding, xobj uses both the runtime type information available from your classes as well as a typemap you specify to determine the target type for every decoded XML element.

During encoding, xobj uses this same runtime information plus additional observed (or provided) metadata to inform the output XML.

For ActionScript, xobj decodes XML documents directly into typed instance objects rather than generic Object or ObjectProxy wrappers. This avoids the double-handling of generic objects required by the default SimpleXMLDecoder provided by Adobe Flex.

We've made a lot of use of this library in recent Flex/Python RESTful services at rPath.

by verveguy (noreply@blogger.com) at December 23, 2009 04:21 AM

December 22, 2009

Mihai Ibanescu

20 years later… (or: the ends justify the means)

20 years ago, on this day, Romania’s president at the time, Nicolae Ceauşescu, fled under pressure from the large popular uprise which we call The Revolution.

Three days later, they were executed, after something that pretended to be a trial. Over the past days, a Romanian newspaper ran the timeline of the events, tracking the movements of Ceauşescu and his wife. The trial was filmed, and it exposed the truth about “revolutions”: in order to gain legitimacy, both for the Romanian people and for the foreign governments, they needed to show there was a trial. They also needed the former president executed, partly as an attempt to stop the attacks from terrorists (special forces allegedly trained by the former president as elite units that would protect him) against the population and the military forces.

20 years later, said terrorists are still nowhere to be found. The attacks were just various branches of the military not knowing what to do, and pulling the trigger against each other.

20 years later, the goal of the trial is ever more obvious: the new political class (which was really not that new to begin with) needed no roadblocks from the old president; they wanted the president eliminated, and they came up with a plan that would help their recognition from the rest of the world as a legitimate government.

The accusations against Ceauşescu were not sustainable in a real court. 20 years tend to erase some of the bad memories from the terrible times of his reign, so I may be missing a lot of the details about how bad it used to be (and, believe me, communist Romania was bad). But the new political class decided that the ends justify the means.

In the end, I personally believe that people give the institution of presidency too much credit. (And this applies not just to Romania, pre or post December 1989). I believe Ceauşescu was being presented with a very rosy picture about Romania, by the people around him, some of them who eventually were the ones to kill him. He was an old man, some argue he was senile, and the powers behind the curtain liked the status quo, until it became non-profitable. He was merely a symbol – the symbol of the extreme-left communism, in a Europe that was trying to get rid of the East-West separation. He probably truly believed in his ideas, completely oblivious to the real economic and social facts. His ignorance could be blamed on his age or medical conditions, but I would much rather blame it on his entourage that handled the smoke and mirrors.

December 22, 1989 – I remember that my parents were coming back from a visit from my grandparents, and I was home, alone, vacuuming and cleaning up for Christmas. And, for some unknown reason, I turned on the TV. This makes very little sense now for me, just like it probably does not make any sense for you – but we were only having 2 hours of TV per day, and most of it was just news anyway. There usually was nothing (as in no signal) on a Friday morning. And yet, there he was, talking about something I did not pay attention to. And then the audience (which was normally cheerful and would acclaim him after each sentence) started booing him. That was unheard of! An hour or so later, when my parents came home, they would not believe me.

And from that point on, Romania was glued to the TV – the same thing we all ignored for the most part until that day.

by misa at December 22, 2009 04:14 PM

December 21, 2009

Stephanie Watson

Installing the SOAPpy Python module

Having not posted since September, I thought it interesting that my new post today is related to my previous post. Basically, I had to get really comfortable finding and installing Python modules, and fixing issues with the installs, so I could make the script run on my local system.

One big thing I had to have (to run JIRAnemo) was SOAPpy, which was apparently called "SOAPy" (with one "p") until about 2003, and which hasn't had a new release since 2004 (stable) and 2005 (release candidate). Also, the dated documentation for SOAPpy is accurate in what you need, but out-of-date in its links to where to get it.

In hopes of helping those of you out there who are trying to get SOAPpy running, especially on Mac or Windows, here's the information about what I did on my Mac OS X Leopard install:

(1) Update your Python to 2.6.x (optional):
    (1.1) Download the newest Mac installer disk image for 2.6.x from:
        http://www.python.org
    (1.2) After installing the package, verify the command line the
        Python Launcher (under Applications/Python 2.6/ i=on the Mac)
        wants to use by default, such as: /usr/local/bin/pythonw
(2) Install the Python module pyXML:
    (2.1) Download it from:
        http://pyxml.sourceforge.net/topics/download.html
    (2.2) Unpack it, change to its directory, and install it to your 2.6.x version of Python:
        $> /usr/local/bin/pythonw setup.py install
(3) Install the Python module fpconst:
    (3.1) Download it from:
        http://pypi.python.org/pypi/fpconst/
    (3.2) Unpack it, cchange to its directory, and install it to your 2.6.x version of Python:
        $> /usr/local/bin/pythonw setup.py install
(4) Install the Python module Web Services for Python (ZSI)... may not need this, but I installed it anyway:
    (4.1) Download it from:
        http://sourceforge.net/projects/pywebsvcs/files/
    (4.2) Unpack it, change to its directory, and install it to your 2.6.x version of Python;
        use "sudo" to pass permissions to install to /usr/local/bin/:
        $> sudo usr/local/bin/pythonw setup.py install
(5) Install SOAPpy:
    (5.1) Download it from:
        http://sourceforge.net/projects/pywebsvcs/files/
    (5.2) Unpack it, cd into it, and install it to your 2.6.x version of Python:
        $> usr/local/bin/pythonw setup.py install
    (5.3) For each file that Python reports that the "__future__" import line needs to
        be at the beginning of the file, make that adjustment, and rerun the install.
        Repeat this process until the install completes successfully.
(6) Install lxml:
    (6.1) Download it from:
        http://codespeak.net/lxml/index.html#download
    (6.2) Unpack it, cd into it, and install it to your 2.6.x version of Python:
        $> usr/local/bin/pythonw setup.py install

December 21, 2009 09:47 PM

December 18, 2009

Mihai Ibanescu

A new low in spelling

Saw this last night on one of the local TV stations: “Happy Holiday’s!”

I’m sorry, I meant, on one of the local TV station’s. Because noun’s should have apostrophe’s.

by misa at December 18, 2009 04:44 PM

December 17, 2009

Conary News

Conary 2.1.1 Released

Conary 2.1.1 is a maintenance release.

New Features
  • Added repair command as an experimental feature. (CNY-1800)
  • Files marked as "missingok" in encapsulated RPMs now have that status represented by a "MissingOkay" flag on the corresponding Conary file object. (CNY-3306)
  • Files from encapsulated RPMs now have the mtime from the RPM recorded in troveInfo. The mtime of last change is still used to calculate fileIds, preserving knowledge of when meaningful file information has changed. (CNY-3307)
  • Added support in verify and update paths for prelinked binaries. (CNY-3298)
Bug Fixes:
  • Changeset reassembly for capsules ignores directories. (CNY-3305)
  • Encapsulated symbolic links are represented as having the mode that will exist on the filesystem, even if that varies from the mode recorded in the capsule. (CNY-3304)
  • Previously, getTroveLeavesByPath() didn't return leaves; it returned the most recent trove which includes that path. It now returns only leaves (most recent versions) that include that path, and if the path is only included in older versions, no troves are returned. (CNP-184)
Internal Changes:
  • Database connection objects now have a close_fork() method that closes the connection without notifying the server.

December 17, 2009 04:10 AM

Conary 2.1.0 Released

Conary 2.1.0 is a new feature release.

New Features
  • Conary now allows packages to be installed using foreign package managers via wrapped content called capsules. RPM capsule support is included in this release. (CNY-3217, CNY-3213)
  • Added ignoreDependencies configuration option, which allows users to specify certain dependency classes which should be ignored during installs. The default is "abi rpmlib".
  • The xz compression file format is now supported for decompressing sources. (CNY-3207)
  • The changemail.py repository commit action module now takes an optional --maxsize argument and truncates changemail messages to fit. (CNY-3205)
  • The Run build action now does path-based build requirement discovery like most build actions. (CNY-3222)
  • Conary now allows identical files to be shared during installs and updates. Both troves own the shared files, and they must be updated at the same time when the shared files change.
  • Conary now honors the no_proxy environment variable to allow direct connections to specific hosts and domains. (CNY-3246)
  • Added excludeCapsuleContents config option for servers.
  • Added ChangeSet.removeCommitted() to filter already-committed troves from a changeset.
  • The bootstrap python module dependency discovery proxy now provides additional useful informational messages to aid debugging.
  • Conary proxies are responsible for reassembling the content for changesets containing capsules. (CNY-3228, CNY-3259)
  • The --capsules command line option modifies showchangeset, repquery, and query commands to display file information for capsules instead of for installed files.
  • A new Conary proxy setting, injectCapsuleContentServers, controls changeset content injection for proxies talking only to hosts in this list. (CNY-3261)
  • Conary no longer uses regular expressions to represent manifest files and other internally-generated lists of files matched by policy, and so will not raise OverflowError for manifests with many files, or from policy generated from source objects, on platforms with a restricted regular expression code size. (CNY-3282)
  • The python dependency finder client has been modified to resolve incompatibilities on the client side with python 2.3. (CNY-3285)
  • Conary can now read cpio archives directly. (CNY-3280)
  • The Conary repository now provides a method for obtaining commit progress updates. "conary commit" now provides progress output. (CNY-3290)
Build Changes:
  • When cooking groups where checkOnlyByDefaultDeps is set to False, added dependencies will now inherit the byDefault setting of the depending component. (CNY-3195)
  • The imageGroup flag in group recipes now implies checkOnlyByDefaultDeps=False. (CNY-3195)
  • Group search paths may now contain lists or tuples of troves to be considered as a single "bucket". (CNY-3286)
Bug Fixes:
  • In-core changesets previously could be merged only once into a ReadOnlyChangeSet. After multiple merges, reset() previously failed to reset the underlying in-core changeset. This has been fixed.
  • Conary no longer exits with an unhandled KeyError exception if an unknown dependency type is encountered in the local database. (CNY-3232)
  • Decompression with xz is preferred over unlzma, as CNY-3194 intended. (CNY-3231)
  • rpm2cpio now correctly handles rpm packages compressed with xz. (CNY-3234)
  • Unpacking an RPM with addArchive or addCapsule now functions correctly even if the CPIO archive in the RPM contains a non-traversable directory. (CNY-3244)
  • When running an external entitlement generator, use /dev/null for stdin instead of closing the file descriptor.
  • Added logging to several source actions to ensure that some output is provided to make debugging build failures easier.
  • Call lstat() instead of stat() to deal with circular links. (CNY-3251)
  • Bootstrapping python dependencies now uses python source intead of a version-specific compiled python file.
  • The addCapsule source action properly verifies GPG keys when a keyid argument is supplied. (CNY-3258)
  • Commiting signed troves to repositories without signatures no longer causes repository tracebacks.
  • Repositories no longer store duplicate file path information when a path is committed for the first time by a job which references it multiple times.
  • Replacing a symlink with a regular file no longer creates the regular file as the target of the symlink.
  • Local rollbacks properly restore file contents when the file was replaced by a non-regular file (such as a symlink)
  • Cooks will no longer block indefinitely if a subprocess forks and does not exit. (CNY-3284)
  • When startGroup is called, flags will now be properly copied from the parent group. (CNY-3287)
  • Replacing a symlink which was part of a loop no longer causes a traceback.
Internal Changes:
  • A repository's internal getfile function now avoids any database access when no files have been requested.
  • Loading troveinfo data uses bulk operations, speeding up repository commits.
  • Committing changesets now iterates over troves the changeset is relative to, rather than getting them one at a time, significantly reducing the number of sql calls.
  • Conary now uses a single call when validating that file objects exist in the repository during a commit.
  • Repository commits now handle file paths and file streams separately, in order to reduce the size of the temporary tables and the commit path.
  • The number of SQL calls used to create the flavors needed by a repository commit has been dramatically reduced.
  • No-operation SQL calls during repository commits when no redirects are being commited were eliminated.
  • Repository commits now merge all dependencies from the temporary tables into the final tables at once rather than once per trove.
  • Repository commits now update permission tables for all new troves at once.
  • Updates to latest tables are now done for all troves at once, and are based on the current latest entries and the new trove. Formerly they were done one at a time based on everything in the repository (through a view).
  • The rpmhelper.Header object can now produce dependency sets that represent what an RPM requires and provides.
  • A new RPM dependency class has been added. This class is used to represent dependencies expressed in RPM packages that cannot be mapped directly to a native Conary dependency.
  • Colons in dependency flags are now escaped as \: to allow deterministic thawing.
  • CIL dependency parsing uses xml.etree.ElementTree, if available, instead of elementree.ElementTree.
  • The LDFLAGS setting is now honored when linking binaries.
  • Trove and TroveChangeSet objects now represent paths as directory/basename pairs.
  • Changeset dict of absolute file object changes are now indexed more efficiently.
  • StreamCollection classes can now choose to ignore the skipSet when freezing for a performance boost
  • Dirnames/basenames are added as a single operation at the beginning of a repository commit to make the ids available for the files build removing the need for large, complex joins later.

December 17, 2009 04:10 AM

conary-policy 1.0.26 released

conary-policy 1.0.26 is a maintenance release.

  • When "file:" requirements are not not explicitly met by "file:" provides but the path exists in a trove, the new ResolveFileDependencies policy replaces the unsatisfied "file:" requirements with "trove:" requirements. (CNP-184)
  • The XinetdConfigRequires policy now creates file: dependencies instead of trove: dependencies by default, depending on the ResolveFileDependencies policy to change to trove: dependencies on platforms for which the /usr/sbin/xinetd path is not explicitly provided. (CNP-183)

December 17, 2009 04:09 AM