Search Results: "ema"

15 March 2008

Daniel Burrows: Suck less T-shirts on Cafepress

A few months ago I made up a chart at work showing our development team's goal. It was popular enough around the office that I decided to make a similarly themed design in my spare time and sell it on Cafepress. The chart looks like this: suckless-graph-thumbnail.png This is available in the usual assortment of T-shirts, as well as a few other items. If you'd like an item that's not listed (say, a coffee mug), please email me and I'll add it to the store.

Daniel Burrows: HOWTO get and compile the apt source repository using bzr

Getting apt apt's source code is managed using bzr. Very fine tutorials and documentation on bzr exist on the Web; I'll give a brief rundown of some useful commands here, but you should read bzr-specific documentation to get a complete understanding of it. bzr is available in the Debian repositories, and likely other distributions have a package of it as well. The master apt branch for Debian is available at http://bzr.debian.org/apt/debian-sid. Yes, that looks like an empty directory if you view it with a Web browser, but it really contains the source tree. To retrieve it, run:
bzr branch http://bzr.debian.org/apt/debian-sid apt-debian-sid
That will download the repository to the directory apt-debian-sid. It takes a long time to download a fresh copy of the code, so be patient. When bzr branch finishes running, you have a new private copy of the source tree to work with. You can commit changes with bzr commit, download updates with bzr merge, see what you've changed with bzr diff, and copy your changes to a public location with bzr push. Read the bzr manpage and user's manual for full documentation on how to use bzr. Other public repositories of apt code include:
Compiling apt from its repository To compile apt, you'll need the following packages on Debian:
  • g++
  • make
  • libdb4.4-dev
  • gettext
  • libcurl4-gnutls-dev or libcurl3-gnutls-dev
  • xmlto
That will allow you to build apt without installing it by running make. xmlto is not listed in the Build-Depends line of apt, but you won't be able to produce manpages without it. In particular, you'll need it to produce a Debian package (see below).
Installing a build of the apt repository The easiest way to install a custom build of apt out of a repository checkout is to build a Debian package from the checkout. Install the following packages:
  • dpkg-dev
  • debhelper
and run the following command in the top-level directory of the apt repository:
dpkg-buildpackage -rfakeroot -us -uc
This will compile apt and produce several .deb packages in the parent directory of the repository. To install the generated packages, I recommend first installing the devscripts package and then running debi. You can also install the .deb packages by hand by running dpkg -i FILENAME.deb (...). Warning: installing an interim build of apt is likely to break all the packages that depend on it, such as aptitude and synaptic; interim builds might also be buggy and do strange things to your system. You should not install an unreleased version of apt unless you are sure that you can fix any problems that you encounter as a result of doing so.

Daniel Burrows: HOWTO convert your Blogger/BlogSpot blog to ikiwiki

Until recently, my blog was hosted on Google's free Blogger service. When I decided to move to my own server and ikiwiki, I didn't want to lose all my old posts. But exporting your blog from Blogger is a bit tricky. In fact, the Blogger page that provides instructions on how to do so starts off by saying:
Blogger does not have an export or download function.
Regardless of what they say, you can cajole Blogger into exporting text for use in other blog systems. Instructions for moving from Blogger to various pieces of software are available out there on the Web, but to switch to ikiwiki I had to tweak them a bit. Here's the procedure I used:
  1. Extract your information from Blogger's clutches and add minimal IkiWiki tags. As in the official Blogger instructions, change your template temporarily. However, instead of using the page template they suggest, use the following template, which you can find as a text file here.
    <Blogger>
    [[meta author="<$BlogItemAuthor$>"]]
    [[meta date="<$BlogItemDateTime$>"]]
    [[meta title="<$BlogItemSubject$>"]]
    <$BlogItemBody$>
    </Blogger>
    <BlogItemComments>
    Comment by <$BlogCommentAuthor$> at <$BlogCommentDateTime$>:
    <$BlogCommentBody$>
    </BlogItemComments>
    
    I recommend saving the file that's produced by this step even after you process it in the next step, in case you discover that you made a mistake.
  2. Split the extracted file into pieces. Exporting your blog using the template above will get you all your blog posts in reasonable Markdown format, with all dates and titles preserved. But they'll all be scrunched into one file. Blogspot also won't interpret paragraph breaks into blank lines, and it inserts strange empty <div> tags all over. So the next step is to split this file into pieces and clean up the HTML. Since I had over a hundred posts, I wrote a Python script to do this postprocessing for me. You can find it here. You can run it like this to output each blog post as a separate file in the current directory:
    /path/to/fixup-blogspot-export input-file
    
    This script makes a few assumptions about its input file:
    1. It assumes that the text [[meta author="NAME']] does not appear at the start of a line anywhere except the first line of a blog post. If you write about MarkDown syntax on your blog, you will run into problems.
    2. It makes a similar assumption about Ikiwiki's date meta.
    3. It assumes that line breaks are expressed using a variant of <br/>, and that <br/> never appears in the text of your blog.
    4. It assumes that the text Comment by does not appear at the start of a line in any post.
    5. It assumes, in general, that no Markdown or Ikiwiki commands appear in the blog text. If any do, you'll have to manually escape them, either before or after running the conversion script.
    All in all, it's probably a good idea to at least skim the output once.
  3. Create a top-level Ikiwiki page for your blog. The Ikiwiki site has instructions on doing this that are probably better than I could write. The most important thing is to use the created-after tag to limit your RSS feeds, so you don't spew new posts all over the planet (pun intended). For instance:
     [[inline pages="./blog/entry/*"
              feedpages="created_after(last_page_of_the_old_blog)"]]
    

Daniel Burrows: aptitude 0.4.10 released

I've just released version 0.4.10 of aptitude, a terminal and command-line package management tool for Debian. This release has many user-visible changes (see the changelog below). It also fixes an annoying and much-reported segfault. The Debian packages of this version are built against the new version of cwidget, which is sitting in NEW, but if you're impatient you can compile it by hand by dropping the versioned dependency. The dependency is there to ensure that we don't get dependency skew across architectures (aptitude depending on libcwidget0 on some archs and libcwidget1 on others) and doesn't represent an actual build requirement of aptitude.
[12/15/2007] Version 0.4.10 Oscillating Reindeer
  • New features:
    • In command-line mode, if the resolver fails to produce a solution for whatever reason, then instead of aborting the program entirely aptitude will now display a prompt at which you can fix the dependency problems by hand. Enter r at this prompt to try to automatically fix dependencies again.
    • safe-upgrade will now install new packages to fulfill dependences (but it will never remove packages, downgrade packages, or install a version that's not the default). The option --no-new-installs will disable this behavior.
    • Updates and commands that install, remove, or upgrade packages will now display a brief summary of what changed. For instance:
      There are now 64 updates [+10], 3 new [+1].
      
      Unfortunately, this change requires reading the cache after an update is complete. Passing -q will disable this behavior, but also make the update progress bar less attractive. More work on resolving this tension between features and performance remains to be done.
    • Add an option --allow-untrusted to override trust warnings. (Closes: bug #452201, bug #452541)
    • Recommended packages are now hidden if quiet mode is enabled. (Closes: bug #452202)
    • The options Aptitude::ProblemResolver::Trace-File and Aptitude::ProblemResolver::Trace-Directory allow you to generate a minimal cut of the cache that allows a problem resolver run to be reproduced. The eventual aim is both to simplify bug reporting and to generate a corpus of automatic test cases for the resolver (although more work needs to be done to accomplish the latter).
    • When run in command-line mode, instead of displaying many separate and sometimes duplicative groups of packages (e.g.: installed, auto-installed, auto-installed in a light cream sauce, etc), aptitude displays packages in a few exclusive categories and uses tags (like the existing purge tag) to provide more state information. For instance:
      $ aptitude -s install wesnoth
      The following NEW packages will be installed:
        wesnoth wesnoth-data a  wesnoth-music a 
      $ aptitude -s remove freeciv-data
          (... dependency resolution ...)
      The following packages will be REMOVED:
        freeciv-client-gtk a  freeciv-data freeciv-server a  ggzcore-bin u 
        libggz-gtk1 u  libggz2 u  libggzcore9 u  libggzdmod6 u  libggzmod4 u 
      
      Here a indicates that a package was automatically installed or removed, and u indicates that a package is being removed because it is unused. Hopefully this will be less confusing than the old format.
  • Bug fixes:
    • Crashes and serious errors:
      • Track down and fix a SEGV triggered on the first action after a cache reload (sometimes). There are multiple bugs where this might have been the root cause, but it's confirmed that it was the cause of at least bug #454695, bug #454700, bug #455349, and bug #453362. Bug bug #455865 is almost certainly the same issue, and bug bug #352278 may be another manifestation of it.
      • If StepLimit is set to 0, refuse to solve dependencies instead of going into an infinite loop. (Closes: bug #451311)
    • Minor bugs:
      • Return a failing exit code after jumping from the command-line to visual mode if the last install run failed. (Closes: bug #282408)
      • Return a failing exit code from aptitude update if any download fails. (Closes: bug #233129)
    • Cosmetic and UI bugs:
      • In addition to Enter, Space will now activate checkboxes and radio buttons. (Closes: bug #451765)
      • Abort the program if we get EOF at the resolver prompt instead of claiming the resolver failed.
      • Command-line searches will now only print each result once. (Closes: bug #450798)
    • Documentation bugs:
      • The options menu documentation now minimally describes the new configuration interface.
      • The documentation of the configuration file options has been placed back in alphabetic order after apparently suffering bitrot over the years.
      • Corrected the documented default of Parse-Description-Bullets to match reality.
      • The manpages for aptitude-create-state-bundle and aptitude-run-state-bundle are now generated using DocBook, which should produce higher-quality and more consistent typesetting, as well as making the manpages more maintainable and allowing translators to easily produce localized versions of the manpages.
  • Internal changes:
    • Removed some unit tests that really tested cwidget.
  • Translation updates:
    • French (Christian Perrier)

Patrick Winnertz: How to get most spam?

I've created a small contest together with several other guys. We'll try to get as much as possible spams on a emailadress. The people with the most spam and viruses on his emailaccount will win. I think a good starting point is to publish here, we'll see. Some other things which could end in having success are: If you have other ideas how to get as much as possible spam to this address please write a Comment to this post to the Discussion page. Thanks in advance The emailadress which should recieves as much as possible spam is: winnie@qsc218.credativ.com.

Mark Brown: github pricing

I see that github have recently announced their pricing plans. Looks like they’ll not be having many kernel developers using their “open source” plan - my current working Linux .git is 261Mb but you start having to pay at 100Mb. git may be very space efficient but the kernel is an enormous project. Mind you, the whole web service based approach of github is fairly alien to kernel development - a large part of what it’s doing is replacing the combination of mailing lists together with git send-email and git am (or their equivalents) that the kernel relies on for code exchange and review. Interestingly it appears not to have done anything that provides the discussion and review side of things - that seems like a surprising omission for a web 2.0ish thing.

14 March 2008

Cord Beermann: being busy / Request for Help

Because of some modifications at my Real Life Orkplace, I decided to reduce other duties to get a better chance to deal with my new duties. So i requested help for my four packages in the Distribution

RFH: jove
My first package. A small, but powerful Emacs-relative, with all those uneeded things stripped which makes emacs fat. Maybe these days especially useful for small memory devices, as it gives you emacs-likeness for the price of nvi or ae. I have no idea how well it works in a real utf-8-environment.
RFH: milter-greylist
A greylist-milter which makes running a mailserver somehow possible for me. it keeps away about 2/3 of spam, which leaves me with only 400spams/day. I already have two contacts who want to help with that.
RFH: nn
No news is good news, but nn is better. This is a USENET reader, for those people who grow up with Webforums and Blogs: This could be still the most effective way to celebrate flamefests, gather information or communicate with people sharing same interests. And nn has in my opinion the best UI for it, and makes it easy and fast to find interesting articles and skip others. Well, Upstream Development has ceased to exist around 1994. I think if no one takes over, this package will become finally useless when IPv6 gets widely used (right after the release of 'Duke Nukem Forever') and it also doesn't deal well with non iso-8859-1-charsets. So best for this package would be to rewrite it from scratch (my dream: message/mime-handling/threading from mutt, scoring from slrn, and UI from nn) because the User Interface is much better than those of all still alive Newsreaders i tried.
RFA: synergy
This is my most popular package, which makes it possible to share one mouse and keyboard over many computers and displays. (It is available for UNIX/Linux, Windows and MacOS) This is a very very useful software, and i use it permanently. Sadly the Upstream Development mostly ceased to exist, and so i put this to RFA (instead of RFH) because many Debian-Users use it according to popcon. This software should be taken over by someone who is able to help Upstream. There is a RC-Bug, which caused the package be pulled from testing.

Interesting is that while filing those RFH/RFA all the same day, i only got responses for the packages which scores lowest in popcon, (24 for milter-greylist, 1196 for synergy).

13 March 2008

Romain Francoise: Emacs in bzr: initial impressions

So, since Emacs is apparently switching to bzr, I thought I'd try it out. The first thing I noticed is that cloning the repository is very slow. So slow that I killed it, thinking that it was stuck, but it wasn't. It turns out that the official page recommends downloading a tarball instead, so I did that.

Once I had my local Emacs branch, I tried a simple bzr log to see how recent the repository was. It sat there for a whole minute before even starting to show something. Apparently, all the history commands are slow... This is with a hot cache:
$ time bzr log >/dev/null
bzr log > /dev/null 44.89s user 0.58s system 99% cpu 45.563 total
$ time bzr version-info
revision-id: cvs-1:monnier-20080313012033-9ewl8gg4q3bw01z3
date: 2008-03-13 01:20:33 +0000
build-date: 2008-03-13 20:14:17 +0100
revno: 87445
branch-nick: sandbox
bzr version-info 6.41s user 0.14s system 99% cpu 6.549 total
$
Six seconds just to show me the current revision?!

Compare with my favorite scm, in a repository that contains the same history, also converted with cvsps:
$ time git log >/dev/null
git log > /dev/null 1.81s user 0.05s system 99% cpu 1.862 total
$ time git show >/dev/null
git show > /dev/null 0.02s user 0.00s system 85% cpu 0.023 total
$
Fortunately, other bzr commands such as status, diff, commit are pretty fast so this might be a problem with the conversion process, or something. At least I hope so, because as is it's completely unusable!

12 March 2008

Andrew Pollock: [life] Crazy wedding trip

I'm getting on a flight to Brisbane, via Auckland, shortly. My mate Nick (yes, that one), is remarrying, and asked me to his Best Man, and I could hardly say no, given he was my Best Man (and we've been friends for years) So I'm flying out of SFO tonight, arriving in Brisbane on Friday morning, going to the wedding on Saturday, and flying home on Sunday morning. Fortunately with the time difference, I'll arrive on Sunday, so I get to walk around like the living dead for a day, and then go back to work. Yep, I'm a sucker for punishment. I've never been Best Man before, so I'm nervous. My speech is pretty short and sweet. Fortunately someone else is being Master of Ceremonies.

Neil Williams: Serial over USB, broken laptops and screen

Well, after many failed attempts, here I am on my problematic HP laptop with a USB key mounted, a balloon3 board booted under an Emdebian root filesystem and visible over USB-to-serial using /dev/ttyUSB0 via screen.
Thanks to Daniel's tip about screen /dev/ttyUSB0 115200, my USB to Serial converter (Maplins with a Prolific PL2303 chipset) is working on my problematic HP laptop.
The proviso is that I have to reboot to enable all this stuff - allow the laptop to hibernate and all this USB stuff just disappears. :-(
The only remaining problem is the wireless - I haven't decided yet whether to patch the current stock Debian kernel (I've had enough problems without getting into more kernel issues) - I may simply buy a replacement external wireless unit or just not use wireless until the b43 driver is capable of working with the Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 02).
The magic runes for enabling USB are to add some more options to the grub boot list (on the 'kernel' line):

noapic nolapic noirqfixup

minicom still doesn't like serial over USB (on this laptop, it adds an extra line feed and then refuses to pass on any keyboard entry to the device in a similar manner to the powerpc laptop) but screen works nicely. Thanks Daniel.
With noirqfixup added, I can also plug in other USB things like a USB mouse and actually see them work. This is all good news because apart from adding these mysterious runes to Grub, this is a completely standard Debian box running Sid and with no particular configuration changes or tweaks in the system setup.
This means that I can now get on with uploading the emdebian-tools package split to Debian unstable, adapting the Emdebian root filesystem for balloon3 to support USB networking by default and suggesting screen as an alternative to minicom in the control information for the new emdebian-rootfs package. (The package split is now in Emdebian SVN - main trunk - if you are interested.) I'm also downgrading my old G4 iBook to running Lenny instead of sid and it will now stay running Lenny as Debian stable when Lenny is released. It just makes it easier to not have to keep downloading massive updates on the brief occasions that I now use the iBook.
Now if I can just work out why hibernation forgets 'noirqfixup', I'll have a usable HP laptop....
Not bad for a machine that I once considered as a complete non-starter.

David Pashley: User friendly names in warnquota

By default, warnquota sends out emails with the device name in the message, which probably doesn't make much sense to most non-technical users.
Hi,
We noticed that you are in violation with the quotasystem
used on this system. We have found the following violations:
/dev/mapper/Ubuntu-home
                        Block limits               File limits
Filesystem           used    soft    hard  grace    used  soft  hard  grace
/dev/mapper/Ubuntu-home
               +- 1044404 1000000 1200000  6days    1781     0     0
You can improve this by using /etc/quotatab to assign a more meaningful name to the partition:
/dev/mapper/Ubuntu-home:user directory
/dev/mapper/Ubuntu-shared:shared area
Read Comments (1)

11 March 2008

Martin F. Krafft: vcs-pkg meeting in Extremadura?

If you are interested in using version control for distro packaging, you If you read the mailing list, you know about the upcoming Extremadura meeting 2-6 April 2008. If this is news to you, well, it isn t anymore. If you think you should be in Extremadura when this party takes place, don t hesitate and reply. The message ID is 20080311193428.GA25745@piper.oerlikon.madduck.net.

Jeff Bailey

It's funny sitting down to finally write something on LJ and not being sure what to write. I can tell stories of Angie's mom coming to support her and giving me time with my wife. I could rant about students putting in some of their first IVs (or not, actually since after the third try I got bitchy and she ran away. Literally. Oops.) I could talk about recovery, the joy that is delaudid, the devil that Valium turned out to be, or wonderful nurses who were so helpful and encouraging (and the ones who bent the rules and let me see Leif on his first year birthday) or the ones who lied, failed to check in on me and left me in distress for several hours.

On the whole, the people and experience were very good. From almost immediately after I woke up, things have been better. I hadn't realized there was pain associated with all this until it was gone post-surgery. The numbness is still there, but better that it was before by a long shot.

I do want to make sure I say thanks for all the energy, thoughts, and prayers. I felt good on Monday going in with the power and energy of literally hundreds behind me. Religiously, I have a complex relationship with this stuff, but I believe that at moments where a yes or a no gets to be decided by luck or external unknown forces, this can really help the answer be a yes. And I think we'd be surprised at how much of life fits into that category.

There are lots of emails and posts I haven't replied to yet. My lifting restrictions are such that I can't pick up my laptop. So if you see emails or LJ posts from me, its been typed on the iPhone or the Blackberry. Same with the instant messenger. I have my status set to "do not disturb" when I'm around so that I don't exceed my ability to type by getting into talking to too many people at once. My lifting restrictions continue for the next 6 weeks.

That said, I do enjoy chatting and writing. It just takes a while and is quite tiring.

I haven't figured out how to upload pictures to flickr such that the pictures are public, but that are not forced onto people who just wanted to see pictures of Leif. :)

Tired now. If there is any particular part of the surgery/recovery you want details on, let me know and i'll write about it.

*hugs and love*
Jeff

10 March 2008

Dirk Eddelbuettel: PGApack 1.1: Almost as good as new

PGAPack is rather nice and fairly small library for 'parallel' optimisation via generic algorithms using the MPI message passing protocol. PGAPack 1.0 was written by David Levine while doing graduate work during the mid-1990s at Argonne Labs / University of Chicago. PGAPack has also been in or around Debian for a rather long time, but it suffered from benign neglect in the last few years. Some of this came to the fore in this bugreport which lead to my offer to the then-maintainer Andreas to help on the relicencing request. After all, Argonne Labs is just a few miles from where I live, and I had already spent a little bit of time polishing and upgrading the package for my own exploratory use. So I called Rusty Lust, head of the Mathematics and Computer Science section at Argonne to try to sort this out. He was sympathetic and put me in email contact with David Levine. As we are all somewhat busy, this dragged on for a little longer than we thought --- but as of today, about and a half years later, we have a new and shiny PGAPack 1.1 release, or around twelve years after the initial 1.0 version came out. I have done a fair amount of polishing: there are now two library packages for serial use (i.e. for debugging) as well as parallel use via MPI. We use Open MPI where available and LAM where not. All open Debian bugs have been addressed. One minor issue in the postscript documentation remains as David can no longer locate his LaTeX sources; I may just have to extract the text and re-latex this from scratch to update it. One day. Anyway, for full reference, the changelog entry is below. The package is currently in the NEW queue (as the new sub-package require manual inspection and approval) but should hit mirrors in a couple of days. My thanks to the two previous Debian maintainers; to Rusty Lusk for helping with the from the end MSC department at Argonne Labs and for suggesting the rather liberal and easy MPICH2 license (and he happens to be one of the MPICH2 authors); and of course to David Levine for writing PGAPack in the first place, for agreeing to relicense it and giving valuable feedback on my repackaging of what is now version 1.1 on the MCS ftp server at Argonne --- this library has held up really well over the years; let's hope it will find more good use going forward.
pgapack (1.1-1) unstable; urgency=low
  * Really good news:  The MCS divsion of Argonne National Laboratories has
    agreed to relicense pgapack using the MPICH2 license. So pgapack
    is now Free Software and can move into Debian's main archive!
  
    Our thanks go to David Levine and Rusty Lusk to make this possible.
  
  * New maintainer, following Andreas' offer dated 2006-10-04 in #379388
  * debian/control: Change section to math		(Closes: #379388)
  
  * Added new brinary packages libpgapack-mpi1 and libpgapack-serial1
  * The MPI package is configured using Open MPI where available and LAM
    where not. 
  * debian/control: Changed Build-Depends: to use OpenMPI where available, 
    and LAM otherwise.
 
  * Finally acknowledges old NMUs 		(Closes: #379168,#359549)
  * source/integer.c: Apply patch for one-off error 	(Closes: #333381)
  * source/report.c:  Do not unconditionally print at generation 1
  
  * debian/rules: Remove a bashism 			(Closes: #379168)
  * debian/rules: Install examples directly 		(Closes: #134331)
  * debian/control: libpgapack-lam1 Depends on lam4 	(Closes: #60376)
  * debian/rules: Rewritten using debhelper
  * debian/control: Added Build-Depends: section for debhelper
  * No longer install mpi.h in /usr/include		(Closes: #404027)
    
  * debian/control: Updated Standards-Version: to current version
  * man/man1/PGAGetCharacterAllele.1: fix whatis entry 		(lintian)
  
 -- Dirk Eddelbuettel   Mon, 10 Mar 2008 18:03:34 -0500

Filip Van Raemdonck: PyGTK exception handler

A little utility that has been collecting dust on my harddrive over the past two years is an enhanced version of a PyGTK exception handling module that was originally posted to the PyGTK mailing list by Gustavo Carneiro. I've now uploaded it to the sysfs download area; it is essentially unlicensed, considered public domain by Gustavo according to his email message.

Besides fixing a API incompatibility with recent PyGTK releases, there are two main differences with the original functionality.
First, I've modified the traceback formatting to include two lines of context to each line in the traceback, one before and one after the called line. Also included is a printout of the identifiers referenced in the traceback lines variables, usually. On my personal wishlist was also syntax coloring in the debug window, but this was both non-trivial to implement, and it would likely add considerably to the complexity of the error handler, thus increasing the chances that the error handler itself would fail.
The other main functionality change is possibility to email feedback to a predefined address mainly meant for deployment and debugging of company-internal applications. To enable this feature, two identifiers feedback and smtphost must be set on the module. This can be either by modifying the code, or, better, by adding them after module import:
import gtkexcepthook
gtkexcepthook.feedback = 'valid@email.address.here'
gtkexcepthook.smtphost = 'relay.smtp.hostname'

Bugfixes, enhancements and feedback welcome at mechanix on rack66.net.

Filip Van Raemdonck: PyGTK exception handler

A little utility that has been collecting dust on my harddrive over the past two years is an enhanced version of a PyGTK exception handling module that was originally posted to the PyGTK mailing list by Gustavo Carneiro. I've now uploaded it to the sysfs download area; it is essentially unlicensed, considered public domain by Gustavo according to his email message.

Besides fixing a API incompatibility with recent PyGTK releases, there are two main differences with the original functionality.
First, I've modified the traceback formatting to include two lines of context to each line in the traceback, one before and one after the called line. Also included is a printout of the identifiers referenced in the traceback lines variables, usually. On my personal wishlist was also syntax coloring in the debug window, but this was both non-trivial to implement, and it would likely add considerably to the complexity of the error handler, thus increasing the chances that the error handler itself would fail.
The other main functionality change is possibility to email feedback to a predefined address mainly meant for deployment and debugging of company-internal applications. To enable this feature, two identifiers feedback and smtphost must be set on the module. This can be either by modifying the code, or, better, by adding them after module import:
import gtkexcepthook
gtkexcepthook.feedback = 'valid@email.address.here'
gtkexcepthook.smtphost = 'relay.smtp.hostname'

Bugfixes, enhancements and feedback welcome at mechanix on rack66.net.

Christian Perrier: Bug #470000

Pierre Habouzit reported bug #470000 on Saturday March 8th instead of taking care of Habouzit Jr. Shame on him. Double shamre: that was an RC bug. He really should hijack that gromacs package which sounds to me as a special version of EMacs for the Groland country (fr_FR joke). As bug #460000 was reported as of January 11th 2008, we're still keeping the pace of 2 months for 10,000 bugs, so 60,000bugs a year. Bug #500000 should then be reported around Sept 10th 2008. As a consequence, the candidates for winning the 500000th bug contest are still Miguel Gea or Kartik Mistry. I still plan some MBF to keep chances of winning the contest myself. I also expect the lenny release to speed that up. See you around May 10th for bug #480000! PS: has anyone tried to plot compute the number of bugs we *close* in the same amount of time?

9 March 2008

William Pitcock: Resignation as atheme.org project lead

In case you didn’t know, I’ve decided to resign as atheme project lead. This is for a few reasons: However, just because I’m resigning as project lead doesn’t mean that I will stop working on projects I care about inside atheme, like audacious, mowgli, and mcs. These projects are critical components of the modern FOSS desktop, and I intend to continue working on them. This is purely an administrative change, so that any mistakes or stupidity I do have no effect on atheme.org’s overall health. I hope to see many other Atheme members step up and try to become project lead. Under the right leadership, atheme’s projects could become a much more notable platform in FOSS development within a short amount of time. Update: Due to popular demand, I have changed my mind. I’m no longer resigning as project lead of atheme.

Neil Williams: dpkg-cross and emdebian-tools updates; apt and rsync

dpkg-cross updates
uploaded to Debian unstable

* General support for querying endianness of an architecture.
* Update standards version (no changes)
* Add Cvs-CVS field to debian/control
* Reinstate detect_arch for improved build test checks in emdebian-
tools
* get_endianness: new function for Emdebian TDeb support

This provides support for architecture-dependent TDebs in Emdebian as well as adding detection of armel.

emdebian-tools 0.8.3
Uploaded to Emdebian

* Interim Emdebian release.
* emsecondstage: ensure cdebconf environment is setup before
configuring packages
* emdebian.gpe: Add extra packages needed to allow the gpe package set
to boot.
* Emdebian::Tools, (create_patches) : skip generated files.
[*.debhelper, *.substvars, files]
* em_installtdeb: support special modes via debian/xcontrol
* Support unpack method in basic emsandbox rootfs
* embootstrap: continue after some errors
* Support unpack method in gtk emsandbox rootfs
* Simplify basic empdebuild chroot and copy in hostname files
* empbuilderlib: add support for creating skeleton versions of
/etc/group and /etc/passwd.
* empbuilderlib: add an approximate time set func for use when no
network is available.
* emsecondstage: configure cdebconf before others so that the database
is ready
* embootstrap: use the new support in empbuilderlib for group, passwd
and date
* Add --arch support to em_installtdeb
* Depend on new support in libdebian-dpkgcross-perl
* empdebuild: force the -S argument to apt-cross to prevent
intermittent failures
* empbuilderlib: parse the .list contents from dpkg
* embootstrap: ensure buildplace is clean before starting a fresh
debootstrap
* emdebuild: use dpkg-cross support for detect arch to distinguish
between arm and armel binaries
* Emdebian::Tools. add parse_xcontrol function for easy queries of
debian/xcontrol
* pbuilder/emdebian.crossd gpe gtk : Tidy up the scripts with routine
calls to the empbuilderlib library
* pbuilder/empbuilderlib: Add some common routines to help make the
rootfs bootable
* pbuilder/emsecondstage: bring into line with other changes in the
* empbuilderlib.3 : Add a manpage for the expanded set of common
functions in empbuilderlib
* Suggest file-roller for inspection of rootfs tarballs
* emdebhelper.mk: sync with recent changes in CDBS for debhelper
support


Reasoning
OK, so why upload emdebian-tools to Emdebian when it depends on the update to dpkg-cross in Debian?
Well, emdebian-tools is becoming a bit of a behemoth. I mean a package that has only existed for 12months and has had over 30 releases, increasing in size from 30kb to over 500kb (without counting dependencies) and which encompasses a gammut of scripts with different roles is just begging for a functional package split.
Package splits take time - not just the time in NEW but all the testing to ensure that each split can be installed separately without falling over "Unable to find foo in @INC" etc.
At the same time, emdebian-tools is both rapidly developing and becoming remarkably stable (which gives some indication of just how diverse it has become).
So I'm heading for a 1.0.0 release before Lenny and to achieve that, I want to split it:
  1. emdebian-tools - umbrella package consisting of the core build scripts (perl) - these are becoming quite stable - that depends on all the others.

  2. emdebian-archive-keyring - tiny package that just implements SecureApt for the Emdebian repository.

  3. emdebian-rootfs - the rapidly developing (shell and perl based) root filesystem management scripts, based on debootstrap and pbuilder.

  4. libemdebian-tools-perl - a standard perl module of common functions for the other packages.


This allows people to use the toolchains with the smallest package, prepare root filesystems from prebuilt binary packages with just three of the four and only those who build packages will need all four.
So the plan, overall, is to keep updating emdebian-tools in Emdebian unstable during the time that emdebian-tools 0.9.0 goes through NEW in Debian. Then, when 0.9.x is in testing and any issues from the split are resolved, 1.0.0 can be uploaded to Debian.

Package split issues in general
Something that bugs me with package splits is this stable vs development issue within the same source. I think it would be sensible to only upload emdebian-tools (the stable bit) if it changes but to upload emdebian-rootfs as often as necessary whilst still building from the same source.
This issue will also bite when Emdebian deploys other functional package splits and seeks to improve apt itself to handle many, many more binary packages.
It's also a similar idea to allowing translators to upload TDebs separately from normal package updates.
Why should I have to split the source in $RCS in order to upload package splits separately? Other upstream teams won't do that so Debian needs a solution.
Why should users have to download emdebian-tools 1.0.1 which is absolutely identical to 1.0.0 just because emdebian-rootfs needed lots of updates in 1.0.1. (Remember, emdebian-tools will depend on emdebian-rootfs so when emdebian-rootfs is updated, all users of emdebian-rootfs and all users of emdebian-tools will get the update. Yet I don't see why emdebian-tools itself needs to be touched.)
It is plain daft.
I've seen similar issues in other environments where, for various very good reasons, users need to limit the bandwidth and duration of apt downloads. For Emdebian, we also need to limit the total amount of data downloaded by apt-get upgrade simply because free space on the device can be severely restricted - my target device will have about 7Mb free space and that is regarded as "under-utilised". Downloading an entire package just to update /usr/share/foo/changelog.gz in such circumstances is just plain stupid. I know we can do better than that.
Apt needs to become much more intelligent and have a way of only downloading the changes in packages instead of the entire .deb - something along the lines of an rsync method. To get that working, the actual package names need to be munged so that rsync can compare foo_1.2.3-1_all.deb against foo_1.2.3-2_all.deb by having both symlinked as foo_current_all.deb. (dpkg-name can restore the original name if needed.)
Such a method must be possible and would have enormous benefits for packages like OOo where each upload can't be changing 100% of the code each time, yet we all have to download Mb after Mb of content that is identical to what dpkg is about to replace.
Am I just ranting or does this strike a chord on the lazyweb in general?
The slowest part of many desktop experiences of Debian could well be the time taken to download updates - not everyone has multi Mb broadband.

Chris Lamb: Timeline of the Debian project

I’ve put together a partial timeline of the Debian project using the SIMILE Project’s DHTML timeline component. This is definately work in progress: I would welcome additional events (by email or merge request please, not via blog comments) regarding: The timeline is available to view here. Update: Assistance fixing the (non-Webkit) Konqueror issue would also be appreciated.

Next.

Previous.