Search Results: "tar"

29 January 2008

Christian Perrier: Want people to stop at your Debian booth?

...install a Babelbox, de-activate the "db_info babelbox/info" line in preseed_early and put the following in big capitals on a sheet of paper attached to the monitor:
BABELBOX CONTEST
Guess what language is used to install
that Debian system.
...and wait for the crowd to slowly gather around the box and start guessing. If you can offer stickers pins CDs to winners, that's even better. Hint: do not activate easy to guess languages. Good candidates (apart from all non Latin ones which are all *very* hard to recognize for the regular French geek, except maybe Japanese) are Hungarian, Basque, Slovenian. Arabic is too easy to recognize and so is Greek. Indic languages are a great success but Dzongkha is generally the winner. Hint 2: do not sort languages alphabetically by locales. Geeks are too smart and the geeks manning the booth will learn too quickly. Watch also people trying to switch to a console during the D-I runs and typing "cat /proc/cmdline". Hint 3: train yourself to recognize the languages before the contest so that you look clever... That worked pretty well during 1st day of Solutions Linux.

Stefano Zacchiroli: pts dehs integration

PTS now sports DEHS information During the last week I've started again doing some PTS hacking. Mostly it has been bug triaging and squashing ... I'll probably blog a summary of that sooner or later. In the meantime however an interesting mini-announcement is due: the PTS is now integrated with DEHS to help maintainers in knowing where a newer upstream version of their packages is available. The integration is twofold:
  1. if you are subscribed (via the PTS mail interface) to the "summary" keyword for a given package you will be notified of the availability of newer upstream versions. Kudos to Raphael Geissert for the work on the DEHS side of this
  2. in the PTS page related to a given source package you can now see a TODO item about the need to package a newer upstream version and a problem item if the last uscan attempt on your package failed
There is an entry about that in the forthcoming DeveloperNews, it will eventually flow to d-d-a.

28 January 2008

Martin F. Krafft: Consolidating packaging workflows across distros

I speculate that most of what we do for Debian squares with what others do for their respective distro. Thus, it should be possible to identify a conceptual workflow applicable to all distros, consolidate individual workflows on a per-package basis, and profit from each other. Jonathan let me have the after-afternoon-coffee slot of the Distro Summit for an impromptu discussion on the various workflows used by distros for packaging. The discussion round was very short-notice and despite the announcement sent to the conference mailing list, only ten people showed up: two people familiar with Fedora, and ( versus ) eight Debianites. Regardless, I think the discussion was success- and fruitful. We were able to identify a one-to-one mapping between the Fedora and Debian workflows, even though we use different techniques: Many Debian package maintainers use version control systems to maintain the ./debian directory, and if patch files are stored in ./debian/patches/, then Debian and Fedora both store patch files in a version control repository, which seems awful. Just as I am only one of many who are experimenting with VCS-based workflows for Debian packaging, the Fedora people are also considering the use of version control for packaging. Unlike Fedora, who seem to try to standardise on bzr, I try to cater for the plethora of version control systems in use in Debian, anticipating the impossibility of standardising/converging on a single tool across the entire project. It seems that our two projects are both at the start of a new phase in packaging, a paradigm shift . What better time could there be for us to listen to each other and come up with a workflow that works for both projects? My suggestion currently centres around a common repository for each package across all (participating) distros, and feature branches. Specifically, given an upstream source tree, modifications made during packaging for a given distro fall into four categories: Given a version control system with sufficient branching support, I imagine having different namespaces for branches: upstream-patches/*, distro/*, rpm/* or debian/*. Now, when building the Debian package, I d apply upstream-patches/*, distro/*, deb/* and debian/* in order, while my colleague from the Fedora project would apply upstream-patches/*, distro/*, rpm/* and fedora/*, before calling the build tools and uploading the package. There are surely problems to be overcome. Pascal Hakim mentioned patch dependencies, and I can t necessarily say with a clear conscience that my workflow isn t too complicated to be unleashed into the public yet. But if we find a conceptual workflow applicable to more than one distro, it should be possible to implement a higher-level tool to implement it. Also, the above is basically patch maintenance, not the entire workflow. Bug tracking system integration is going to play a role, as well as other aspects of daily distro packaging. I ll leave those for future time. For me, this is the start of a potentially fruitful cooperation and I hope that interested parties from other distros jump on. For now, I suggest my mailing list for discussion. You can also find some links on the Debian wiki.

Jonathan McDowell: Kickstarting my body for the week

My body hates Mondays. Over the weekend I get up at 9am or later. My coffee consumption is also minimal. This morning I was up at the usual 5:30am and was on my 4th cup of coffee before 10am. And we're not talking weak coffee - my cow orkers have been known to pour the pot out if it doesn't meet with their approval for strength. This thunking between the weekend and my weekday routine means that Mondays are sort of a blur for me. Thankfully I seem to fall into more of a rhythm by Tuesday. (This post is a substitute for any technical content. I'll try to think of some soonish.)

Axel Beckert: I finally ordered

After a three and a half week test drive during my last year’s summer holidays and much consideration about the configuration, I finally ordered a Brompton folding bike at Velofix. Since the apple green was much nicer in the catalogue than in real life, I decided that I need a bike in colours that clearly mark it as my bike: Orange frame and black front and rear swinging fork. ;-) It will have 6 gears (a 3-gear internal hub and a 2-gear dérailleur, both at the rear axle), a lowered transmission ratio for hilly Zurich and sprints in the city, a SON axle dynamo, Kevlar reinforced, reflecting tyres, and a bicycle luggage rack which also serves as kick stand when (partially) folded. Options I thought about but then dismissed for miscellaneous reasons: Schlumpf MountainDrive (can’t say if will be really worthwile) and Rohloff Speedhub (not available although I already saw a Brompton with a red Speedhub — funnily just in front of the place I live, and probably also more expensive than I remembered).

Axel Beckert: Segmentation faulty tree

aptitude on Etch just gave me a funny error message:
1/0/0 root@c2:pts/2 21:14:24 [~] # aptitude upgrade 
Reading package lists... Done
Segmentation faulty tree... 87%
2/139/0 root@c2:pts/2 21:14:43 [~] # 
Ctrl-Ms can be nice sometimes…

Wouter Verhelst: FOSDEM schedule for the Debian Devroom

I spent a good few hours today on creating a preliminary schedule for the Debian Developer's room at FOSDEM 2008. Just as I had finished it and sent it to the speakers to get their feedback before declaring it final, I received a reminder from the FOSDEM organizers that the schedule is due by the end of this week. My timing is impeccable :-) Having said that, the schedule is full. If you wanted to do a talk at FOSDEM, you're probably too late by now. Try again next year. Time to start focusing on the booth now, I guess...

Simon Richter: Building software II: now with more evil

As written earlier, I'm switching build system for one of my projects. In the end, I decided to roll my own. Yes, another build system out there. The general idea is to combine the strengths of automake and MSBuild, and take them to new extremes by not compromising where they have (that makes my build system a tad inflexible though). Automake's biggest strength is that it is descriptive, rather than imperative, and while it allows for rules to be entered directly to allow for some flexibility, this is usually the point where the Makefiles that are produced become unportable. But in general, the idea of having a tool deduce what exactly should be done to transform a set of input files into a set of output files is a good one, I think. From MSBuild, I stole the idea of making an explicit distinction between higher-level integration projects ("solutions" in their lingo) and actual build projects. Build projects only have one (main) output, which usually is a program or a library, and several auxiliary outputs (development files, translation templates, ...), while integration projects coordinate the build process (for example, if one of the build projects builds a tool, all projects using that need to be re-run if the tool is rebuilt, but only then. Automake's biggest downfall is stuff that is not explicitly supported. One of my projects uses IDL extensively, which leads to quite a lot of explicit rules supporting different ORBs. If I wanted to teach automake about that, I'd have to understand lots of perl code that emits code fragments that, when combined, will do the right thing. In a way, automake is a compiler, but based around the idea that since we start out from a Makefile compatible syntax, just adding things will magically work. Where it doesn't, special cases are invented, such as for libtool support, but stacking special cases is really difficult. MSBuild, on the other hand, leaves a lot to be desired when it comes to project-to-project integration. There is no way to tell it "publish these include files under the such-and-such directory for use by other projects", rather, you are expected to have the project using them explicitly reference your project in the include directories. If a project uses includes that reference includes from yet another project, it gets worse. Milestone 1 is going to be when the main binary can build itself on Windows and Linux.

Stefano Zacchiroli: adsense powered ikiwiki

AdSense patch for ikiwiki's embed pluging Today I've started playing with AdSense, mainly to check whether a typical homepage+blog web site (read: mine) can survive its hosting costs by the means of this kind of revenue or not. However I don't want the ads to be visible on all pages, but only in some of them, mainly the main blog page (which scores high in search engine results and is also not prone to the risk of bothering usual readers, thanks to---$DEITY bless them---RSS/Atom feeds) and some selected pet software project homepages. With ikiwiki implementing this appeared trickier than I expected. The main difficulty is of course the wiki-wide htmlscrubber plugin which I do not want to switch off because of discussion pages and a part of my website which is actually used as a world-editable wiki. Googling around it seems that there is an adsense.pm plugin for ikiwiki, but it is not registered in the ikiwiki plugins page; as such I was not particularly envy to try it out. Besides, the right place to add such a feature to me seems the embed plugin. ... so I've minimally patched it: see bug #462970. If you're willing to use AdSense with ikiwiki please try out the patch: since I'm an AdSense newbie it might well be I've underestimated the possible script snippets it can generate. Post comments to bug #462970.

Russell Coker: LCA 2008 Security Miniconf

Today I gave a talk about Debian security at the security mini-conf of LCA. Before I started the talk I asked for suggestions as to how to get more entries in my security blogging contest [0]. During the talk I asked for suggestions as to how to get more people involved in security development. One suggestion was to offer incentives. I’m experimenting with that with my blogging contest and may do future variations of the same thing. I started with describing some of the history of security in Debian (primarily things that involved me in some way): In 2003 I suggested that exec-shield be a standard feature in Debian kernel images [1]. I created a kernel-patch-exec-shield package in 2003 and Marcus Better took it over in 2004. We are hoping to get it included in Lenny. AMD64 architecture doesn’t need exec-shield as the CPU has separate write and execute bits in the page table, but it would be nice to get exec-shield included before the last P4 machine gets decommissioned. A presentation at the security miniconf at LCA 2005 on the topic of stack smashing is interesting [2]. At the time Adamantix was a distribution based on Debian which used PaX (similar to exec-shield). Adamantix has gone away. Hardened Gentoo has been available with Pax for all this time (but is not widely used). RHEL and Fedora have been available for all this time with exec-shield… In mid 2002 I demonstrated the first SE Linux Play machine at a conference in Germany. It was fully operational with root as the guest user. At that time SE Linux support in Debian was essentially complete. Since that time the scope of the SE Linuc project has increased slightly (EG controlling DBUS access) so the amount of work required for full support is greater. Most of that support is in Debian and Etch is basically working with SE Linux (although not quite as well as it was in 2002 due to lack of support for the strict policy). The aim is to have Lenny SE Linux become as functional as SE Linux in Fedora Core 5. While FC5 has more SE Linux features than the SE Linux project supported in 2002 it’s still a great disappointment that it’s taken so long. FC5 had pam_namespace to polyinstantiate directories such as /tmp. Lenny will hopefully have it. I described the current status: The hardening-wrapper package in unstable allows environment variables starting with DEB_BUILD_HARDENING_ to be used to control execution of GCC. Documented on the Debian Hardening Wikipedia page [3]. It’s still a little experimental and may change in the near future, but it works. Lucas Nussbaum is working on automatically building Debian packages with warnings for security related issues. The aim is to build all packages and maintain a central location for the logs to allow DDs to find and fix the problems in their packages. The Alioth Hardening project [4] will hopefully get some action soon (the people involved are busy doing work but not updating the project). The current plan is to base the Debian Hardening work around it. SE Linux in Debian is something that I want to get working correctly. There are still some significant issues that make strict policy unusable (such as correct labelling of /etc/passwd) as of last time I tested it. Finally I described the future plans. There were many questions about usability features for SE Linux, I mentioned in concept the features that Red Hat and Tresys people are developing (which I often don’t use as I prefer vi for policy editing). There were some questions about how SE Linux works. More than half the audience indicated that they had used it so I assumed some basic knowledge of SE Linux when describing how SE Linux works in regard to minimum privilege and the benefits of MAC in terms of limiting the scope of attack. I noted that every program has bugs and every program which performs security related tasks (which includes serving data to the net without being owned) should be assumed to inevitably have security related bugs (see the The Inevitability of Failure paper []). Based on the Twilight of the Books [5] article I decided to give this talk with no slides as an experiment. I talked from notes that I wrote and advised the delegates to read my blog for the details. Not presenting any slides meant that the room lights were all left on, which made things much easier when answering the many questions (I prefer an interactive format to my talks and have more questions than most speakers). It will be interesting to get some feedback from delegates about how they regarded this.

Rob Taylor: Nokia to buy Trolltech?

According to a notification of trade on the Oslo B rs market, Nokia has made an offer for Trolltech of about 843 million Norwegian kroner , around 104 million. What this could mean for GTK+ is anyone’s guess. I’d expect at least that Nokia’s competitors that use Qtopia (like Motorola, Panasonic and Sony) are probably a little worried at the moment. Maybe there’ll be impetus for OSSO to move over to Qt, or maybe there’ll be internal competion at Nokia between a Qtopia stack and a GTK+/X11/Freedesktop stack. Maybe Qt will become more closed as Nokias pushes its advantage, or maybe it’ll be more open as development becomes less dependant on non-GPL license revenues, or maybe it’ll just stay the same. An interesting left-field move in this space is OpenMoko moving over to EFL, but on a primarily GNOME/Freedesktop stack. EFL is certainly much more capable than GTK+ in producing flashy UI’s on limited hardware. I”ve also heard of some companies writing UI’s in Flash using Gnash. I also wouldn’t be suprised if we start seeing embedded hardware running Mono and Moonlight at some point. Maybe one day we’ll have a GTK3 with DOM-like two pass event system and a cairo backend that renders totally on the GPU. One thing’s for certain, there’s a hell of a lot of competition on the toolkit front and it will only grow.

Cameron Dale: DebTorrent 0.1.6: Finally, Unique Piece Numbers

I have uploaded a new version of DebTorrent to experimental and to my personal repository. This new version implements the unique piece numbers, which has been planned for quite some time now. Well, it's finally here. To summarize, unique piece numbers keep torrent's alive longer, by assigning files unique piece numbers that never get reused in that torrent. New files get new piece numbers added to the end, but peers in the old torrent can still share most of the old files with peers in the new torrent (in fact, it's the same torrent, but old and new peers have different ideas about what it contains). The creation of torrents from Packages files has also changed, as now 2 torrents are created, one for whatever arch the Packages file was for, and one for the Architecture:all files. Since the Arch:all files are the same for all architectures, this also allows for more sharing of common files between peers on different architectures. This change required a change in the cache directories, which is described in more detail in the NEWS file, but is handled almost automatically. The only thing to do is the make sure to do an apt-get update after upgrading so that the torrents can be restarted. There was also some changes in the statistics reporting. In the client, the uploaded and downloaded statistics will now persist over restarts so that you can see how much you've done over a longer period. The tracker status page also got an update, and now shows the total uploaded and downloaded bytes for each torrent, as well as some more descriptive names for some of the torrents. Due to the large changes in this release, I opted for uploading to experimental (and my repository) for now, so that it can be tested a bit. Please do test it, and let me know of any bugs, problems or concerns that you may have. Here is the changelog:

27 January 2008

Jeff Bailey: Learning

I'm doing a course called "Introduction to Web Programming" at the University of Athabasca. It's a generally crappy course, and I hadn't expected to learn anything. But hey, I did. It turns out that Tim Berners-Lee is a Unitarian Universalist. Wild.

Lior Kaplan: My thoughts on RHEL 5.1 installation


I decided to test RHEL 5.1 to check what changed since RHEL 4. As I usually do a network installation, I had a few surprises. The installation was done with qemu (with kqemu module) on an AMD Athlon(tm) XP 1800+ processor. The virtual ram was set to 256MB. The installation was done an an LVM LV, and took 25 minutes (pretty good I believe). I tried to do a minimal installation, so I deselected all the available packages from the list. I ended up with 366 rpms and 935 MB on the disk (excluding /boot). Look back in the anaconda-ks.cfg seems like that not the minimal installation as this is the %packages section:
%packages
@dialup
@core
@base
@java
device-mapper-multipath
-sysreport
I couldn’t find on the CDs a file to explain each of the groups here. The manuals talk about comps.xml for this info, but there is no such file on the 5 CDs. Such files are available for the extra software on the CDs like the cluster / virtualization software. I also was surprised to see that I needed 3 CDs for the minimal installation. Although cd #2 was needed only for:
  • libgcj
  • java-1.4.2-gcj-compat
  • gjdoc
  • jpackage-utils
and cd #3 only for:
  • wvdial
  • isdn4k
  • minicom
  • lrzsz
  • libwvstreams
  • antlr
I guess these could easily be moved to the first CD and save people the CD changes which wastes time while babysitting the installation instead of doing it completely unattended. Also, seems like by removed the @dialup and @java groups we can be satisfied with only the #1 CD. This also brought to my attention the method red hat choose on which CD each RPM will be placed. I’m sure doing a popularity contest like Debian is hard for a commercial distribution, but still knowing the method behind the CDs will be useful. Generaly speaking, the installation went fine. I can start testing the system itself. about testing the

Wouter Verhelst: White Zombie: Astro-Creep: 2000 -- Songs of Love, Destruction, and Other Synthetic Delusions of the Electric Head

I've had that record since late high school, over a decade ago, and loved it at the time. This was my metal period, when I would go for the heaviest metal you could find, and loved it. I should still have a Sepultura album somewhere, a number of Metallica ones, and similar stuff. I haven't put them on in years, though. These days, I much more like easier music, such as jazz, blues, and similar things. Not that I ever started to hate metal or something; it's just that it went a bit back to "things I used to love, but now just appreciate". Today, I stumbled upon this White Zombie record, and put it on again. Even though it's been ages, and even though I don't dig metal as much as I used to anymore, I still appreciate it. Astro-Creep: 2000 is just one hell of an album... ... even if I know a few people who would vehemently disagree. But that aside :)

26 January 2008

Russell Coker: Other Planet LCA 2008

The Planet installation for the Linux.Conf.Au (the main Linux conference in Australia and one of the biggest and best Linux conferences in the world) is designed to only syndicate posts about the conference. I think that this is a bad idea, people who attend the conference actually see things and don’t have a great need to read blog posts about the conference. I believe that the benefit in having a Planet installation related to a conference is to allow delegates to easily read the blogs of other delegates. Then they can track down the bloggers if they want to discuss the blogs, or add them to their favourite feed reader so continue reading after the conference. So I created my own Planet for it [1]. I started the installation with a feed from the official Planet LCA 2008 [2], then added the full feeds for people who appear to only have a partial feed aggregated on the official Planet. I also added Bruce Schneier’s Cryptogram [3] blog (Bruce is the opening keynote speaker for the conference). If you have a partial feed of your blog syndicated on Planet LCA 2008 then please let me know so I can syndicate your blog’s full feed. Update:
Atom feed of my Planet [4].
RSS 2.0 feed of my Planet [5].

Adam Rosi-Kessel: Microsoft Outlook 2003 Tip: VBA Macro to Remove Stationery from Email Message

Quick link to ClearStationery.bas I don’t have much (any?) history of posting tips for the Windows platform, but I’m currently stuck with it for daily work use, so I figured I might as well share some tips that my readers who happen to be in the same predicament will find useful. (Planet Debian readers please have mercy.) One of the worst things you that Microsoft Outlook allows a user to do is select a “stationery” for email. Stationery goes beyond regular old HTML mail (e.g., fonts, colors, and bullet lists) to add a patterned background, invariably rendering the content much less readable than it would be with a white (or even any other color) background. What’s worse is every reply to an email with stationery also adopts the original sender’s stationery! I searched quite a bit for a solution that does not involve sending a nastygram to the original sender. Of course you can convert the email to plain text (or set Outlook to only display the plain text version) and then convert back to HTML or Rich Text, but you’ll also lose other formatting that you might want to retain. You could cut and paste the text into a new email, but what is really needed is a simple VBA macro that will strip the stationery but not other formatting. Strangely, I don’t think that macro already exists. So I wrote one, to some extent cribbing from related code snippets (mostly from here). I now present to the world ClearStationery.bas, my best contribution to date to the Outlook ecosystem. Simply paste it into your Outlook Visual Basic Editor (ALT-F11) and then map the macro ClearStationeryFormatting() onto a toolbar with a hotkey, and you can instantly remove stationery from any email, whether it is in the “preview” pane or the full message view. Comments, bug reports, and improvements are welcome:
Sub ClearStationeryFormatting()
On Error GoTo ClearStationeryFormatting_Error
    Dim strEmbeddedImageTag As String
    Dim strStyle As String
    Dim strReplaceThis As String
    Dim intX As Integer, intY As Integer
    Dim myMessage As Outlook.MailItem
' First, check to see if we are in preview-pane mode or message-view mode
' If neither, quit out
Select Case TypeName(Outlook.Application.ActiveWindow)
    Case "Explorer"
        Set myMessage = ActiveExplorer.Selection.Item(1)
    Case "Inspector"
        Set myMessage = ActiveInspector.CurrentItem
    Case Else
        MsgBox ("No message selected.")
        Exit Sub
End Select
' Sanity check to make sure selected message is actually a mail item
If TypeName(myMessage) <> "MailItem" Then
   MsgBox ("No message selected.")
   Exit Sub
End If
' Remove attributes from <BODY> tag
intX = InStr(1, myMessage.HTMLBody, "<BODY", vbTextCompare)
If intX > 0 Then
    intY = InStr(intX, myMessage.HTMLBody, ">", vbTextCompare)
    strReplaceThis = Mid(myMessage.HTMLBody, intX, intY - intX + 1)
End If
If strReplaceThis <> "" Then
    myMessage.HTMLBody = Replace(myMessage.HTMLBody, strReplaceThis, "<BODY>")
    strReplaceThis = ""
Else
    Err.Raise vbObjectError + 7, , "An unexpected error occurred searching for the BODY tag in the e-mail message."
    Exit Sub
End If
' Find and replace <STYLE> tag
intX = InStr(1, myMessage.HTMLBody, "<STYLE>", vbTextCompare)
If intX > 0 Then
    intY = InStr(8, myMessage.HTMLBody, "</STYLE>", vbTextCompare)
    strReplaceThis = Mid(myMessage.HTMLBody, intX, ((intY + 8) - intX))
End If
If strReplaceThis <> "" Then
    myMessage.HTMLBody = Replace(myMessage.HTMLBody, strReplaceThis, "")
End If
If InStr(1, myMessage.HTMLBody, "<center><img id=", vbTextCompare) > 0 Then
    strEmbeddedImageTag = "<center><img id="
    '"<center><img id=""ridImg"" src="citbannA.gif align=bottom></center>"
    intX = InStr(1, myMessage.HTMLBody, strEmbeddedImageTag, vbTextCompare)
    If intX = 0 Then
        Err.Raise vbObjectError + 8, , "An unexpected error occurred searching for the embedded image file name start tag in the e-mail message."
        Exit Sub
    End If
    intY = InStr(intX + Len(strEmbeddedImageTag), myMessage.HTMLBody, " align=bottom></center>", vbTextCompare)
    If intY = 0 Then
        Err.Raise vbObjectError + 9, , "An unexpected error occurred searching for the embedded image file name end tag in the e-mail message."
        Exit Sub
    End If
    strEmbeddedImageTag = Mid(myMessage.HTMLBody, intX, intY - intX)
    intX = InStr(1, myMessage.HTMLBody, "<CENTER>", vbTextCompare)
    intY = InStr(intX, myMessage.HTMLBody, "</CENTER>", vbTextCompare)
    strReplaceThis = Mid(myMessage.HTMLBody, intX, intY - intX) & "</CENTER>"
    myMessage.HTMLBody = Replace(myMessage.HTMLBody, strReplaceThis, "", , , vbTextCompare)
End If
' Finally, saved modified message
myMessage.Save
On Error GoTo 0
Exit Sub
ClearStationeryFormatting_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
Resume Next
End Sub
Stationery-B-Gone!

Matthew Palmer: Looking Behind The Proprietary Curtain

It's interesting to compare the "marketing features" of proprietary version control systems and the FOSS equivalents. For example, I happened to stumble across SourceGear Vault, and I have to say that the feature list, as given, doesn't impress me particularly. When the most impressive features you can think to mention are things like "All repository data is stored in a SQL Server database" and "the checkin operation is atomic", I'm thinking you're probably not a serious competitor against some of the truly state-of-the-art systems that are commonly used in the open source world. Based on the advertised features, I'd say that Vault probably doesn't compare favourably to SVN, let alone bzr or darcs. Overall, I don't think we're doing so badly in the innovation stakes. <grin>

25 January 2008

Martin F. Krafft: Singing: One Day in Bangkok

After a few amazingly efficient days at home, working on netconf (but not getting to where I wanted) and preparing the presentation I deliver on Thursday at LCA 2008, and tying up other loose ends, I found myself in front of a television set Friday morning to witness the beginning of Federer s defeat in the Australian Open half finals. Unfortunately, I had to leave at the start of the third set and no-one in the airport knew of the game, so I had to call a friend from the plane to get the final result: 7:5, 6:3, 7:6, Djokovic won. I like Federer, and enjoy the Swiss fandom from everywhere, but his tennis wasn t up to his normal level, a true shame. Djokovic has been my favourite for about a year now, so I am excited by the result, but it would have been better to see a bit more of a battle between the two. I trust he ll win on Sunday and cross my fingers! It kind of bites to arrive in Melbourne on the day of the finals, knowing that I would have had a chance to get a ticket and could have travelled a day earlier. Oh well So I am sitting here in a crap Bangkok Internet cafe, finishing off my presentations. In addition to the netconf talk, I am also talking twice at the Debian Miniconf on Monday: first, the State of the Debian project address , which I agreed to do very short notice but knew that I could count on my colleagues to help (don t read the thread before the talk ); second, I also have a slot to talk about version control systems and Debian packaging, a topic that has been on my mind for almost three years now, resulting in elaborate workflows and many discussions. It s also becoming more and more of a hot topic for the entire project. I am tired. We landed at 5:30 and I was shattered, not having been able to shut an eye throughout the ten hours of flight. Fortunately, they let me into the lounge in the arrival area, where I crashed in one of their slumber rooms and got close to four hours of sleep, successfully ignoring the chatter from outside why did Thai Airways lay out their lounge in such a way that the slumber rooms are right next to the staff rooms with the squeaky doors? One thing about living in Asia, where space is scarce, is that people here never seem to mind about noise and sleep through anything. So I did too. I took a shower, ate some breakfast and headed into the city. I was impressed by the new Bangkok airport Suvarnabhumi , which definitely is a step up from the old, horrific one. However, I tend to doubt their claim that they could scale from the current 45 million passengers per year to 110 million. The walkways are too narrow, there are way too few toilets around, and immigration is painfully slow despite the large number of open alleys. Now in downtown Bangkok, I am biding my time. I have been here a few times before and have a number of routine stops, such as visiting the retail manager of the Jim Thompson Company, a loveable lady who speaks fluent English and is very fun to talk to. I met her during my last trip to Southeast Asia, but have since not been in touch. I now plan to head to a massage place, where they deliver merciless (and thus excellent) Thai massages, and then on to some market or Chinatown for food. I ve been training myself on chili ( Thai chocolate ) consumption for this moment: to walk up to a food stall, order a curry, and answer Thai hot when they ask for the degree of spicyness, given that I m a foreigner. At midnight, my plane leaves for Melbourne to arrive on Sunday afternoon. I have little clue as to what awaits me. I ve been to quite a number of conferences, but always perceived LCA to be somewhat special. I am definitely looking forward!

Neil Williams: New uploads and embedded issues in Debian

I've got an upload of gpe-tetris pending - see 462306 - to provide a smaller version of the popular falling blocks game for embedded devices. One or two things crop up from this package:

  1. popcon - a lot of maintainers put a lot of store by popcon results but the popularity-contest package is perl and perl is not available in Emdebian (it is thrown out along with "Essential: yes" for space reasons). Writing a replacement for popcon may not be particularly sensible either because embedded devices, although often left running for long periods in a "low power" mode, often have rare and intermittent access to any form of internet connection. This could easily result in maintainers thinking that because a package has few (or even zero) popcon figures, it is not used. On the contrary, the package could simply be used on devices that either do not support perl (Emdebian) or which do not have the ability to file popcon reports despite being able to support perl. (With the probability that GPEPhone will be added to the GPE support already in Debian, users may not wish to have popcon "phoning home" because it would likely cost real money to do so - even if a C version of popcon was written.) So I'm posting this here so that I can refer back to this post if queries arise later on.

  2. GPE apps on Debian - gpe-tetris is inherently designed for small devices with small screens and relatively slow processors, just like the majority of GPE. gpe-tetris is also designed to be usable on a handheld device where the lack of a normal keyboard can make game play awkward. As a result, playing gpe-tetris on an average Debian box is likely to appear trivially easy and the "progression" between levels would appear very slow in comparison with the tetris available in GNOME or KDE. This is deliberate and is expressly intended to allow the game to be playable on embedded hardware that has fiddly little keys. (I'll be adding this to the manpage and a brief summary of this to debian/control.) This does give the opportunity for a little sleight-of-hand such that a device could be provided with a highscore file created on a much more powerful device and so preventing any new highscores being set, but please don't do that - play nicely!

  3. small apps != bad code - Yes, lots of GPE packages are very small, some were clearly written originally as "demos" or during the process of learning how to write larger packages. This does not necessarily mean the packages contain bad code. I will feed back sensible patches to upstream to resolve flaws in the code but please do not think ill of the packages merely because the source code looks "trivial" compared to a GNOME package.

  4. dpkg-shlibdeps - one issue that I must begin to track after Fosdem will be to aggregate the "foo should not be linked against" messages from dpkg-shlibdeps in GPE packages and try to build a complete picture, in case there is a real possibility of completely dropping some packages that always seem to appear in that list due to the pkg-config --libs gtk+-2.0 listing. If so, I'll begin discussions with upstream about manually specifying the GTK_LIBS variable whilst retaining the PKG_CHECK_MODULES macro that ensures that the -dev package is available in the cross-building environment. This is likely to be some form of database-query mechanism - feeding data in from grepping the build logs, building a query from the list of packages to be used for a specific Emdebian root filesystem (machine/variant specific) and then spitting out whether particular package sets can have particular targets removed. If anyone fancies working on that already, the Debian version of the information is already available via the buildd network and the Emdebian cross-build results will not differ greatly from those at this stage.

Other uploads include updates of libgpeschedule, gpe-calendar and gpe-clock if gpe-announce makes it through NEW as expected. Updates for emdebian-tools and apt-cross and likely new releases for QOF, gpe-expenses and pilot-qof.
debcheckout compliance
In other developments, I've worked out how to specify Vcs-Cvs correctly such that debcheckout can find the repository data correctly. Sadly, vim syntax highlighting does not help with the CVS version but the CVS syntax is:

Vcs-Browser: http://alioth.debian.org/plugins/scmcvs/cvsweb.php/dpkg-view/?cvsroot=dpkg-view
Vcs-Cvs: :pserver:anonymous@cvs.alioth.debian.org:/cvsroot/dpkg-view dpkg-view

Note the colon prefix to pserver and the space between the repository login location and the module name. Remember to omit the "-d" - debcheckout will add that for you (and won't check to see if you have already specified it).

Next.

Previous.