<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xml:lang="de">
<title>Sven Eckelmann's Notes</title>
<link href="http://narfation.org/" />

<author><name>Sven Eckelmann</name><email>sven@narfation.org</email></author>
<geo:lat>50.834068</geo:lat><geo:long>12.886700</geo:long>
<id>http://narfation.org/</id>
<link href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license" />
<updated>2011-08-06T19:33:42Z</updated>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/narfation/notes" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="narfation/notes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
<category term="hbci" />
<category term="debian" />
<category term="wheezy" />
<title>Chipcard based HBCI with KMyMoney in Debian Wheezy/sid</title>
<updated>2011-08-06T19:33:42Z</updated>
<published>2011-08-06T19:33:42Z</published>
<link href="http://narfation.org/2011/08/06/chipcard-based-hbci-with-kmymoney-in-debian-wheezy-sid" />
<id>http://narfation.org/2011/08/06/chipcard-based-hbci-with-kmymoney-in-debian-wheezy-sid</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">

<p>
 <a href="http://sparkasse-chemnitz.de/">Sparkasse Chemnitz</a> decided that
 PIN/iTAN based authentication for bank transactions are obsolete. The new
 methods which are currently advertised as the "more secure alternatives" are
 chipTAN and smsTAN. Both are <a href="http://en.wikipedia.org/wiki/Transaction_authentication_number">not
 known for their strong security</a> and vendor specific implementations <a href="http://heise.de/-866115">seemed to be even worse</a>. The only
 acceptable solution for me is <a href="http://www.hbci-zka.de/">HBCI/FinTS</a>
 using chipcards and a decent smart card reader with pinpad. At least this
 method was not yet dropped by them and I still hope that my application for it
 will be granted after 13 years (August 23 will be the anniversary).
</p>

<p>
 I've decided to test a <a href="http://www.reiner-sct.com/content/view/4/16/">ReinerSCT cyberJack</a>
 and use it together with <a href="http://kmymoney2.sourceforge.net/">KMyMoney</a>. At least the <a href="http://aquamaniac.de/">AqBanking</a> integration of KMyMoney provided a
 good support for PIN/TAN based import of transactions and should be even
 better for chipcard access through <a href="http://www.pcscworkgroup.com/">PC/SC</a>. The best part seems to be the
 <a href="http://www.reiner-sct.com/content/view/32/43/">opensource userspace
 driver for Linux</a> which can be downloaded from the official webpage and is
 still maintained. Ubuntu Wiki also provides a <a href="http://wiki.ubuntuusers.de/HBCI_Kartenleser">guide for the installation</a>.
 Unfortunately, the guide is outdated and the binary distribution doesn't seem
 to work on a recent <a href="http://www.debian.org/releases/sid/">Debian
 sid</a> system. It is still possible to get everything to work as expected.
</p>

<p>
 The most important part is to install KMyMoney with the AqBanking HBCI
 integration in libaqbanking*-plugins and the support for chipcards through
 libchipcard-libgwenhywfar*-plugins. A PC/SC daemon called <a href="http://pcsclite.alioth.debian.org/">pcscd</a> and the actual ReinerSCT
 must also be prepared. The latter one needs to be compiled by us and
 installed system-wide using dpkg. It is highly recommended to have <a href="http://www.netfort.gr.jp/~dancer/software/pbuilder-doc/pbuilder-doc.html#usingpbuilder">pbuilder
 or cowbuilder</a> configured to create the Debian packages. It is easier and
 cleaner than building it with debuild and installing all dependency by hand on
 the actual system.
</p>

<pre>$ apt-get install usbutils kmymoney pcscd dpkg-dev libaqbanking33-plugins libchipcard-libgwenhywfar60-plugins
$ lsusb |grep Reiner
Bus 001 Device 003: ID 0c4b:0300 Reiner SCT Kartensysteme GmbH cyberJack pinpad(a)
</pre>

<p>

 The source code of the cyberjack Debian packages is slightly outdated and
 cannot be build on current system. The newest version was <a href="http://support.reiner-sct.de/downloads/LINUX/V3.99.5_SP02/pcsc-cyberjack_3.99.5final.SP02.tar.gz">3.99.5_SP02
 from 2011-06-14</a>. Only <a href="http://narfation.org//notes/20110806-0-pcsc-cyberjack.patch">smaller modifications</a>
 have to be made to fix the build failures. The pbuilder can create the Debian
 binary packages after we supplied him with the fixed Debian source package.

</p>

<pre>$ wget http://support.reiner-sct.de/downloads/LINUX/V3.99.5_SP02/pcsc-cyberjack_3.99.5final.SP02.tar.gz
$ tar xfz pcsc-cyberjack_3.99.5final.SP02.tar.gz
$ patch -d pcsc-cyberjack-3.99.5final.SP02 -p1 -i ../20110806-0-pcsc-cyberjack.patch
patching file debian/control
patching file debian/rules
patching file ifd/ifd.cpp
$ dpkg-source -b pcsc-cyberjack-3.99.5final.SP02
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
dpkg-source: info: using source format `1.0'
dpkg-source: info: building pcsc-cyberjack in pcsc-cyberjack_3.99.5final.SP02.tar.gz
dpkg-source: info: building pcsc-cyberjack in pcsc-cyberjack_3.99.5final.SP02.dsc
$ cowbuilder --build pcsc-cyberjack_3.99.5final.SP02.dsc --buildresult pscs-cyperjack_debs/
....
</pre>

<p>
 Some special packages have to be installed before the .deb files can be used.
 The tool killall from psmisc must be available or the postinst script of
 libifd-cyberjack6 will fail. The hal package is required to enable the detection
 of supported devices in the cyberjack integration. The functionality
 can be tested by running either the console application cyberjack or the
 graphical interface fxcyberjack.
</p>

<pre>$ apt-get install psmisc hal
$ dpkg -i pscs-cyperjack_debs/*.deb
$ apt-get install -f
$ cyberjack
BEGIN: ermittle Distribution (0/5)
END  : ermittle Distribution (1/5) [OK]
BEGIN: ermittle Systeminformationen (1/5)
END  : ermittle Systeminformationen (2/5) [OK]
BEGIN: ermittle Gruppeninformation (2/5)
END  : ermittle Gruppeninformation (3/5) [ERROR]
BEGIN: ermittle laufende Dienste (3/5)
END  : ermittle laufende Dienste (4/5) [OK]
BEGIN: ermittle und teste angeschlossene Leser (4/5)
END  : ermittle und teste angeschlossene Leser (5/5) [OK]

Es wurden 3 Dateien im aktuellen Verzeichnis angelegt:
- cyberjack-report.log: Enthaelt die Ergebnisse der Tests
- cyberjack-hints.log : Enthaelt moeglicherweise Hinweise
                        zu gefundenen Problemen und deren
                        Behebung.
- cyberjack.xml       : Enthaelt die Testergebnisse in fuer
                        den Support aufbereiteter Form.
Bitte senden Sie bei Problemen die Datei "cyberjack.xml"
an den Linux-Support von Reiner SCT.
$ fxcyberjack
</pre>

<p>
 The cyberjack tool correctly recognized that there is no group called
 cyberjack and normal users have to be part of that group to use the card
 reader. Also a udev rule has to be added to set the access rights of the
 device correctly.
</p>

<pre>$ groupadd cyberjack
$ adduser sven cyberjack
$ echo 'ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0c4b", GROUP="cyberjack", MODE="660"' &gt; \
  /etc/udev/rules.d/z80_cyberjack.rules
</pre>

<p>
 The AqBanking integration can now be configured in KMyMoney through "Tools" -
 "Configure AqBanking". It is important to create the "aqhcbi" account before
 trying to use anything related to "User account" (there seems to be a small
 bug which causes an assertion to fail).
</p>

</div></content>
</entry>
<entry>
<category term="batman-adv" />
<category term="git" />
<category term="vcs" />
<title>The state of batman-adv branches in august 2010</title>
<updated>2010-08-29T21:22:15Z</updated>
<published>2010-08-29T21:22:15Z</published>
<link href="http://narfation.org/2010/08/29/the-state-of-batman-adv-branches-in-august-2010" />
<id>http://narfation.org/2010/08/29/the-state-of-batman-adv-branches-in-august-2010</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<p>
as we started to have different branches and repositories, everything became a 
little bit more complex to track. I will try to summarize what and where is 
something going on inside the batman-adv universe.
</p>

<p>
There is currently one main change happening in the branch design. The branch
currently called 'maint' will be renamed to 'next'. This should reflect that
we work there on the features (already part of master/trunk) which
should be submitted to the kernel maintainers. This branch is stopped quite
early in the development phase - even before the kernel with the corresponding
features will be released.
</p>

<p>
For example the current patches for linux 2.6.36 (which will may be released in
5 weeks) will be finished with the release of v2010.1.0. The next branch
will get immediately all patches which will be part of linux 2.6.37. This is needed
because all patches must be tested in linux-next a long time before Linus
Torvalds opens the merge window vor linux 2.6.37.
</p>

<p>
Of course, this will create a small gap for bug fixes which will enter linux 2.6.36
after the release of v2010.1.0. That's
why we now use the maint branch to track those changes. Maint will always
be a branch on top of the last release with all bugfixes which must be added
to that release and are not features for the next branch.
</p>

<p>
That new maint branch will also help other distributors to easily find patches
which should be applied on top of their shipped versions or for users which
want to build their version of batman-adv manually and still get a version
which fixes (hopefully) all know bugs. And maybe we will have bug fix releases
in the future...
</p>

<ul>
 <li>
  <h2>
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batman-adv/">trunk/batman-adv/</a>, 
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=refs/heads/master">master</a>
  </h2>

  <p>
   In trunk is always summer - so changes always(?) enter here and will
   get moved to other branches unless they need some more time to get a fine
   flavor - or at least more testing. Even if everything should hit trunk, it 
   is easier to describe changes in a different places (next, master-rebase).
  </p>

  <p>
   This branch can be used together with
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batctl/">trunk/batctl/</a>
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=refs/heads/next">next</a>
  </h2>

  <p>
   This is were commits are gathered to be send later to the linux kernel
   folks. Only tested features or features which are dependencies for the
   in-kernel batman-adv should enter this branch.
  </p>

  <p>
   Since the <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=13bc17ebf3e6062d92673a31f1b60a2e60f85813">last time</a>
   many things happened, but not all are finished yet. So for example the release of v2010.1.0 is still pending
   and so no patches for linux-2.6.37 have been send to GregKH.
  </p>

  <p>
   Meanwhile we had to deal a little bit with some regressions which were added when
   we changed to everything from procfs to sysfs. This is the reason why
   there were some patches sent to the linux stable-tree folks lately.
  </p>

  <p>
   After that release we we will merge some patches which are mostly needed to push
   the merge of batman-adv into linux-net a little bit further. That includes
   for example the preparation of nearly all data inside of skbs instead of
   external buffers and the usage of optimized kernel functionality for
   things which we tried to implement ourself. But of course there are
   again quite interesting features:
  </p>

  <ul>
   <li>batman-adv: layer2 unicast packet fragmentation</li>
   <li>batman-adv: attach each hard-interface to a soft-interface</li>
   <li>batman-adv: multiple mesh clouds</li>
  </ul>

  <p>
   Also patches were added which tweaked a little bit here and there. Many of
   them came directly from the kernel folks and dealt with smaller coding style
   problems.
  </p>

  <p>
   This branch can be used together with
   <a href="http://git.open-mesh.org/?p=batctl.git;a=shortlog;h=refs/heads/next">batctl-next</a>
  </p>
 </li>

 <li>
  <h2>
   linux-2.6.36
  </h2>

  <p>
   The release of linux 2.6.36 isn't finished yet, but we have submitted all
   patches in next. We aren't yet in net/, but hope that this follows soon.
   All <a href="https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-July/003141.html">problems which David S. Miller</a> found were relative small and already fixed. We will wait until the first patches for the upcoming merge window were send to the staging tree, before we try to get really into net/.
  </p>

  <p>
   You may experienced some weird regressions when using early -RCs of linux
   2.6.36. Those happened due to some smaller patch war between the guys from linux-net
   and us. Those changes clashed when GregKH had to merge them after the release
   of 2.6.35. Unfortunately he resolved the merge conflicts a little bit
   different than I expected. But those problems should be solved with the
   upcoming release of linux 2.6.36-rc3.
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=ecsv/linux-merge.git;a=shortlog;h=refs/heads/linux">linux</a>
  </h2>

  <p>
   The dirty place were all the linux integration happens. It is ugly,
   misunderstood and uninteresting for most people.
  </p>

  <p>
   The last synchronization point was
   <a href="http://git.open-mesh.org/?p=ecsv/linux-merge.git;a=commit;h=GregKH-20100821">GregKH-20100821</a>.
   It is a merge of
   linux-2.6.36-rc1 and
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=commit;h=e3a0cc90940915dd14e4ca6bdab6d74bbc60f4a4">v2010.0.0-46-ge3a0cc9</a>
   + a documentation of all files we create in
   sysfs. So this synchronization point (a git tag) just says that we checked at
   least linux-2.6.36-rc1 for new patches not yet integrated in next/trunk of
   batman-adv and that
   <a href="http://open-mesh.org/wiki/SubmittingLinux">we send our changes until that point to GregKH</a>.
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=shortlog;h=rebase">rebase</a>
  </h2>

  <p>
   My personal playground. (With a little delay) I will try to get all changes
   in trunk rebased on top of next. As result we get only the essence of
   changes in trunk which aren't already part of next. This also means for
   example that patches will look like they were made with sysfs in mind
   when they are originally created files in /proc. Even when I always ensure
   that the files in master and rebase are 100% equal, the original author may
   not be blamed when a single patch will try to eat your pet (or you could say
   that patches in that branch will not be checked by their original authors
   and I will only guarantee that when you apply all patches you will get the
   same files as in trunk).
  </p>

  <p>
   Nevertheless it is a great place to get and test feature patches on top of
   next without using the complete set of changes in master. Or to understand
   what goes on in trunk compared to next.
  </p>

  <p>
   After the release of v2010.1.0 we will only have the gateway patches again
   waiting to get merged into next.
  </p>

  <ul>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=5900c5e655797f2470532a1e1d1eb42dd55fd890">batman-adv: adapting source version to revised versioning scheme</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=efd570e04d14993a837711fc150562574a53a835">batman-adv: adding gateway functionality</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=1f498c63ae13135af1950809f4d5e41a1b509718">batman-adv: send DHCP requests directly to the chosen gw</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=791290fc06e64b779c6b0ee776d3273484692058">batman-adv: best gw DHCP filter 802.1Q support</a></li>
  </ul>

  <p>
   This branch will jump around and it is not save to track it using a local
   git branch.
  </p>

  <p>
   This branch can be used together with
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batctl/">trunk/batctl/</a>
  </p>

  <p>
   Maybe this is a good place to announce that there is something like
   master-rebase also to
   <a href="http://git.open-mesh.org/?p=ecsv/batctl-rebase.git;a=shortlog;h=rebase">rebase current patches of batctl</a>
   on top of the latest release. It is unknown who will continue the work on
   that, but as it is not as complex at the kernel module, I doubt that it is
   really much work rebase and reorder those patches.
  </p>
 </li>
</ul>

Last but not least, thanks to everyone who has done the real work
<ul>
 <li>Andreas Langer</li>
 <li>Joe Perches</li>
 <li>Linus Lüssing</li>
 <li>Marek Lindner</li>
 <li>Randy Dunlap</li>
 <li>Simon Wunderlich</li>
</ul>

Special thanks goes to
<ul>
 <li>Kazuki Shimada</li>
 <li>Tim Glaremin</li>
</ul>

for extensive testing and debugging help. Lets see what the next months will bring us.
</div></content>
</entry>
<entry>
<category term="batman-adv" />
<category term="git" />
<category term="vcs" />
<title>The state of batman-adv branches in june 2010</title>
<updated>2010-06-26T09:14:03Z</updated>
<published>2010-06-26T09:14:03Z</published>
<link href="http://narfation.org/2010/06/26/the-state-of-batman-adv-branches-in-june-2010" />
<id>http://narfation.org/2010/06/26/the-state-of-batman-adv-branches-in-june-2010</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<p>
as we started to have different branches and repositories, everything became a 
little bit more complex to track. I will try to summarize what and where is 
something going on inside the batman-adv universe.
</p>

<p>
Please note that the different repositories and branches were changed slightly.
For example batctl is now also available using git and the linux integration
branch was moved to a separate repository.
</p>

<ul>
 <li>
  <h2>
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batman-adv/">trunk/batman-adv/</a>, 
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=refs/heads/master">master</a>
  </h2>

  <p>
   In trunk is always summer - so changes always(?) enter here and will
   get moved to other branches unless they need some more time to get a fine
   flavor - or at least more testing. Even if everything should hit trunk, it 
   is easier to describe changes in a different places (maint, master-rebase).
  </p>

  <p>
   This branch can be used together with
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batctl/">trunk/batctl/</a>
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=refs/heads/maint">maint</a>
  </h2>

  <p>
   This is were commits are gathered to be send later to the linux kernel
   folks. Only tested features or features which are dependencies for the
   in-kernel batman-adv should enter this branch.
  </p>

  <p>
   Since the <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=11d889980441dd5350e6faac83d8f9e53320092b">last time</a>
   a lot of things happen. The most important one is probably the
   <a href="http://open-mesh.org/wiki/2010-06-19-batman-adv-2010-0-0-release">release of batman-adv 2010.0.0</a>.
   This is essentially what you will get when you will build linux 2.6.35 - or
   what you will get when <a href="http://lkml.org/lkml/2010/6/6/3">Linus will come back
    from his vacation</a> and merges GregKH's staging branch.
  </p>

  <p>
   Since that release we merged some patches from master which seems to work good
   enough (at least no major flaw was found during <a href="http://open-mesh.org/wiki/2010-06-13-wbm2010-bracciano">WMBv3</a>). 
  </p>

  <ul>
   <li><a href="http://git.open-mesh.org/?p=batman-adv.git;a=commit;h=0e5c09ca3f7f14596fbf932d18954b78f3ac8afa">batman-adv: 32bit sequence number and TTL for broadcasts</a></li>
   <li><a href="http://git.open-mesh.org/?p=batman-adv.git;a=commit;h=287063696f2d3dfc21afe4fec22c7163cf627666">batman-adv: Add bonding functionality</a></li>
   <li><a href="http://git.open-mesh.org/?p=batman-adv.git;a=commit;h=231c5e0b8f79f79b90247f44e64ec82922909f7d">batman-adv: bonding and interface alternating</a></li>
   <li><a href="http://git.open-mesh.org/?p=batman-adv.git;a=commit;h=1a0a622c040bcc6db492af5df50ad3bb5cb4d9ae">batman-adv: record route for ICMP messages</a></li>
  </ul>

  <p>
   Also smaller patches entered it. For example some java style namings of
   variables and functions were converted to better match the kernel coding
   style, rounding issues were identified + resolved and the code was cleaned
   up a little bit.
  </p>

  <p>
   This branch can be used together with
   <a href="http://git.open-mesh.org/?p=batctl.git;a=shortlog;h=refs/heads/maint">batctl-maint</a>
  </p>
 </li>

 <li>
  <h2>
   linux-2.6.36
  </h2>

  <p>
   The release of linux 2.6.35 isn't finished yet, but we have submitted all
   patches in maint. This means that we have hopefully all patches in 2.6.36
   we wanted - this includes the debugfs and netfilter patches which were dropped
   in 2.6.35 because they were submitted to late (during the 2.6.35 merge window
   instead a week before 2.6.34 was released).
  </p>

  <p>
   We also tried to contact the
   <a href="https://lists.open-mesh.org/pipermail/b.a.t.m.a.n/2010-June/003008.html">network subsystem developers to get a review</a>
   for batman-adv. This is needed to get it moved from
   drivers/staging/batman-adv to net/batman-adv/. Even if our goal is not to
   get it merged in 2.6.36, we still hope that we get enough information to
   merge soon into net/.
  </p>
 </li>

 <li>
  <h2>maint-0.2.2</h2>

  <p>
   This branch was removed after the release of batman-adv 2010.0.0.
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=ecsv/linux-merge.git;a=shortlog;h=refs/heads/linux">linux</a>
  </h2>

  <p>
   The dirty place were all the linux integration happens. It is ugly,
   misunderstood and uninteresting for most people.
  </p>

  <p>
   The last synchronization point was
   <a href="http://git.open-mesh.org/?p=ecsv/linux-merge.git;a=commit;h=GregKH-20100625">GregKH-20100625</a>.
   It is a merge of
   v2.6.34 and
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=commit;h=13bc17ebf3e6062d92673a31f1b60a2e60f85813">v2010.0.0-30-g13bc17e</a>
   + a documentation of all files we create in
   sysfs. So this synchronization point (a git tag) just says that we check at
   least v2.6.34 for new patches not yet integrated in maint/trunk of
   batman-adv and that
   <a href="http://open-mesh.org/wiki/SubmittingLinux">we send our changes until that point to GregKH</a>.
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=shortlog;h=rebase">rebase</a>
  </h2>

  <p>
   My personal playground. (With a little delay) I will try to get all changes
   in trunk rebased on top of maint. As result we get only the essence of
   changes in trunk which aren't already part of maint. This also means for
   example that patches will look like they were made with sysfs in mind
   when they are originally created files in /proc. Even when I always ensure
   that the files in master and rebase are 100% equal, the original author may
   not be blamed when a single patch will try to eat your pet (or you could say
   that patches in that branch will not be checked by their original authors
   and I will only guarantee that when you apply all patches you will get the
   same files as in trunk).
  </p>

  <p>
   Nevertheless it is a great place to get and test feature patches on top of
   maint without using the complete set of changes in master. Or to understand
   what goes on in trunk compared to maint.
  </p>

  <p>
   Currently we have following patches waiting inside of it
  </p>

  <ul>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=b0df1c48a435aa4eae5548cc230d9ab4541942d1">batman-adv: adapting source version to revised versioning scheme</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=822bb7e77ee2e0174cb3048e91e5f19931b3aa91">batman-adv: move queue counters into bat_priv</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=73d01acffd6bdf46d7262f6e301e6d92e26f866f">batman-adv: adding gateway functionality</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=370a2b6521cc52b7538445193f880a31829d24ab">batman-adv: send DHCP requests directly to the chosen gw</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=d4199c7fbe5e83bd9656d92f6561b5824e4ca3f4">batman-adv: best gw DHCP filter 802.1Q support</a></li>
  </ul>

  <p>
   This branch will jump around and it is not save to track it using a local
   git branch.
  </p>

  <p>
   This branch can be used together with
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batctl/">trunk/batctl/</a>
  </p>
 </li>
</ul>

Last but not least, thanks to everyone who has done the real work
<ul>
 <li>Antonio Quartulli</li>
 <li>Dan Carpenter</li>
 <li>Daniel Seither</li>
 <li>Javier Martinez Canillas</li>
 <li>Jiri Pirko</li>
 <li>Joe Perches</li>
 <li>Linus Lüssing</li>
 <li>Marek Lindner</li>
 <li>Simon Wunderlich</li>
 <li>Tejun Heo</li>
</ul>
and lets see what the next months will bring us.
</div></content>
</entry>
<entry>
<category term="batman-adv" />
<category term="git" />
<category term="vcs" />
<title>The state of batman-adv branches in may 2010</title>
<updated>2010-05-26T08:04:23Z</updated>
<published>2010-05-26T08:04:23Z</published>
<link href="http://narfation.org/2010/05/26/the-state-of-batman-adv-branches-in-may-2010" />
<id>http://narfation.org/2010/05/26/the-state-of-batman-adv-branches-in-may-2010</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<p>
as we started to have different branches and repositories, everything became a 
little bit more complex to track. I will try to summarize what and where is 
something going on inside the batman-adv universe.
</p>

<ul>
 <li>
  <h2>
   trunk/batman-adv-kernelland/,
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=refs/heads/master">master</a>
  </h2>

  <p>
   In trunk is always summer - so changes always(?) enter here and will
   get moved to other branches unless they need some more time to get a fine
   flavor - or at least more testing. Even if everything should hit trunk, it 
   is easier to describe changes in a different place.
  </p>

  <p>
   This branch can be used together with
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batctl/">trunk/batctl/</a>
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=shortlog;h=refs/heads/maint">maint</a>
  </h2>

  <p>
   This is were commits are gathered to be send later to the linux kernel
   folks. Only tested features or features which are dependencies for the
   in-kernel batman-adv should enter this branch. We have already created the
   <a href="http://open-mesh.org/wiki/2010-03-22-batman-adv-0-2-1-release">release v0.2.1</a>
   only from commits inside that branch while we developed new
   features in trunk.
  </p>

  <p>
   Since that release we received smaller patches which were merged into the
   linux mainline first or which were send to us directly from people which
   actually wanted to fix problems of the in-kernel batman-adv directly. We
   had for example style changes or patches which will guarantee that
   batman-adv still builds in upcoming kernel releases - things we otherwise
   would have to analyse after that kernel was released. So instead of having
   a user which notices that batman-adv doesn't build anymore, we got the
   fix for the problem which will exist somewhere in the future directly from
   the people which will create that problem. :)
  </p>

  <p>
   As one of the bigger changes we started to port batman-adv from /proc to
   sysfs and debugfs. batctl was also changed to work on top of the new
   configuration and debugging infrastructure. Unfortunately this change is a 
   two step process. First we changed everything from /proc to sysfs and later
   moved parts of the files in sysfs to debugfs because they were not single
   value files. But later more about those changes in maint-0.2.2.
  </p>

  <p>
   Beside smaller bugfixes, a bigger problem was found when receiving an
   enormous amount of broadcast packets which must be rebroadcasted. It could
   happen that those packets looped inside the mesh. It was tried to fix that
   problem without changing the packet format. Even if that reduced the
   problem, there are more changes coming later which needs changes to the
   packet format.
  </p>

  <p>
   Also a smaller new feature has entered maint - the ability to allow
   netfilter/ebtables to filter incoming packets which are directly for
   batman-adv.
  </p>

  <p>
   This branch can be used together with branches/batctl-0.2.x/
  </p>
 </li>

 <li>
  <h2>
   linux-2.6.35
  </h2>

  <p>
   The merge window has opened over a week ago and all patches (patches we
   send at least a week before it was opened) were accepted. Newer bugfixes
   will probably accepted in some days. Unfortunately some patches like the
   move of some files to debugfs weren't finished right in time and will only
   be merged into linux-2.6.36 because they are more than just simple
   bugfixes. That includes the removing of /dev/batman-adv in favor of
   debugfs, moving of tables from sysfs to debugfs and the netfilter
   integration.
  </p>
 </li>

 <li>
  <h2>
   maint-0.2.2
  </h2>

  <p>
   As we weren't able to merge all patches inside maint in linux-2.6.35 and we
   still want to be able to provide a release which behaves like the version
   in 2.6.35, it was decided that we just use a version before the debugfs
   patches and create a branch which will gather all bugfixes in maint. It
   will be merged and removed after the release of batman-adv-kernelland-0.2.2
   or plans are changed. So better don't start a friendship with this little
   buddy.
  </p>

  <p>
   If you want to try that branch or any snapshot of 2.6.35 then please try 
   revision r1664 of branches/batctl-0.2.x/
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=ecsv/linux-merge.git;a=shortlog;h=refs/heads/linux">linux</a>
  </h2>

  <p>
   The dirty place were all the linux integration happens. It is ugly,
   misunderstood and uninteresting for most people.
  </p>

  <p>
   The last synchronization point was
   <a href="http://git.open-mesh.org/?p=ecsv/linux-merge.git;a=commit;h=GregKH-20100522">GregKH-20100522</a>.
   It is a merge of
   v2.6.34 and
   <a href="http://git.open-mesh.org/?p=batman-adv.git;a=commit;h=bcde864fc1e4516bb79bef15d85cbcb90a550697">v0.2.1-38-gbcde864</a>
   + a documentation of all files we create in
   sysfs. So this synchronization point (a git tag) just says that we check at
   least v2.6.34 for new patches not yet integrated in maint/trunk of
   batman-adv and that we send our changes until that point to GregKH.
  </p>

  <div>
   <p>
    In reality the patches are modified a little bit.
   </p>
   <ul>
    <li>Files are moved from / to /drivers/staging/batman-adv</li>
    <li>compat.h, bat_printk.c, Makefile.kbuild are removed</li>
    <li>all references (#include) to compat.h are removed</li>
    <li>TODO, Kconfig, sysfs-class-net-batman-adv and sysfs-class-net-mesh are
      added</li>
    <li>Makefile is rewritten to look like a stripped down version of
        Makefile.kbuild</li>
    <li>All passages how to compile batman-adv outside of the kernel are removed
      from README</li>
    <li>Squashed with patches which only fix another patch</li>
   </ul>
  </div>

  <p>
   All those changes are done for each patch (or at least ensured that no
   changes will conflict with those points) on top of the last merge point.
   This should ensure that we don't diverge too much from maint with the
   in-kernel batman-adv.
  </p>

  <p>
   Each patch is then applied on top of a current linux-next, tested if it
   compiles, checked with sparse and checkpatch.pl --strict. When everything
   looks fine, they get exported again using git-format-patch and send to
   GregKH.
  </p>

  <p>
   Only because a change is part of a synchronization point, it doesn't mean
   that it will appear with the next linux kernel. As said before, all 
   bugfixes between <a href="http://git.open-mesh.org/?p=ecsv/linux-merge.git;a=commit;h=GregKH-20100510">GregKH-20100510</a>
   and GregKH-20100522 will be part of
   2.6.35, but anything bigger will be part of 2.6.36.
  </p>
 </li>

 <li>
  <h2>
   <a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=shortlog;h=rebase">rebase</a>
  </h2>

  <p>
   My personal playground. (With a little delay) I will try to get all changes
   in trunk rebased on top of maint. As result we get only the essence of
   changes in trunk which aren't already part of maint. This also means for
   example that patches will look like they were made with sysfs in mind even
   when they are originally created files in /proc. Even when I always ensure
   that the files in master and rebase are 100% equal, the original author may
   not be blamed when a single patch will try to eat your pet (or you could say
   that patches in that branch will not be checked by their original authors
   and I will only guarantee that when you apply all patches you will get the
   same files as in trunk).
  </p>

  <p>
   Nevertheless it is a great place to get and test feature patches on top of
   maint without using the complete set of changes in master. Or to understand
   what goes on in trunk compared to maint.
  </p>

  <p>
   Of course you cannot use all patches in any order because they have
   dependencies between each other. A the moment we have following patches
   which should be quite easy to use together with any other patch:
  </p>

  <ul>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=99e1cf1b63b9eb6486aa59d4e511cd3ebdd49514">batman-adv: mark trunk as 0.3.0 alpha</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=c776d1433f25f5a8fb4e27335f5e6053eed60f68">batman-adv: Add bonding functionality</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=2d6fb5393b454c4e9df6053121ae96934379b1bc">batman-adv: move queue counters into bat_priv</a></li>
  </ul>

  <p>
   We have also patches which changes the packet compat version to 9 (all
   gateway patches must be used in that order, otherwise they would not
   apply):
  </p>
  <ul>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=4fa18d2f4aea51afd92fd0bcda54809e74df6534">batman-adv: adding gateway functionality</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=c8280557d1e8b8bff7ead019533a7ede83205264">batman-adv: send DHCP requests directly to the chosen gw</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=dfd3143bf612b6c0910589ca72314bc10f41fefd">batman-adv: best gw DHCP filter 802.1Q support</a></li>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=4b3154ef0fe5a3f229101122cc8743ac5baf8cf2">batman-adv: record route for ICMP messages</a></li>
  </ul>

  <p>
   The last patch increases the compat version 10 and thus requires the
   patches which justify the compat version 9 ("adding gateway functionality",
   "record route for ICMP messages"):
  </p>
  <ul>
   <li><a href="http://git.open-mesh.org/?p=ecsv/master-rebase.git;a=commit;h=9a225b7e4912f88d932e4d287c509ea2066e50aa">batman-adv: 32bit sequence number and TTL for broadcasts</a></li>
  </ul>

  <p>
   This branch will jump around and it is not save to track it using a local
   git branch.
  </p>

  <p>
   This branch can be used together with
   <a href="http://downloads.open-mesh.org/svn/batman/trunk/batctl/">trunk/batctl/</a>
  </p>
 </li>
</ul>

Last but not least, thanks to everyone who has done the real work
<ul>
 <li>Andrea Gelmini</li>
 <li>Andrew Lunn</li>
 <li>Dan Carpenter</li>
 <li>Daniel Seither</li>
 <li>Linus Lüssing</li>
 <li>Marek Lindner</li>
 <li>Paul E. McKenney</li>
 <li>Simon Wunderlich</li>
 <li>Tejun Heo</li>
</ul>
and lets see what the next months will bring us.
</div></content>
</entry>
<entry>
<category term="debian" />
<category term="mupen64plus" />
<title>mupen64plus splitting for 2.0 in debian</title>
<updated>2010-03-07T22:31:54Z</updated>
<published>2010-03-07T22:31:54Z</published>
<link href="http://narfation.org/2010/03/07/mupen64plus-splitting-for-2-0-in-debian" />
<id>http://narfation.org/2010/03/07/mupen64plus-splitting-for-2-0-in-debian</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">

<p><a href="http://code.google.com/p/mupen64plus/">mupen64plus</a> has changed
its internal structure slightly with its upcoming release featuring <a href="http://mupen64plus.emuwiki.com/">the new API 2.0</a>. Beside the most
obvious change for the user - the removal of a graphical interface as part of
the core distribution, there will be an explosion of packages provided by
debian.</p>

<p>Currently we provide one package for mupen64plus which includes everything
to emulate a N64 and another one which includes only the debugging symbols (a
package I always wanted to remove in favor of the planned <a href="http://bugs.debian.org/436419">.ddebs</a>). In the future the mupen64plus
package will still be there, but only to provide a meta packages which depends
either on a single ui or <a href="http://code.google.com/p/mupen64plus/wiki/ThirdPartyPlugins">all
available uis</a> for the <a href="http://bitbucket.org/richard42/mupen64plus-core/">core library</a>. But
since the only usable ui at the moment is mupen64plus-ui-console, the
difference will not be really important to the user. We will probably see
mupen64plus recommend utilities in the future for savestate conversation or
similar tools, but not right now. So this package can be compared to the xorg
meta package.</p>

<p>Each ui has now to load the core library (current package name is
libmupen64plus2). In contrast to most other libraries, it isn't meant to be
loaded implicit by the DT_NEEDED entries in the elf binaries, but by the ui
directly through dlopen. This means that we can have different version of the
library available on the system for different purposes (profiling, debugging,
speed optimized emulation, core comparison, ...)  and the user can switch
between these library using ui functionality. As most of these will be only
rare and special versions used by persons which work on the core, I will
provide only one version of the core at the moment -  maybe add another one
when there is really need for it, but for now the ui has simply to depend on
libmupen64plus2.</p>

<p>Because each each ui has also the full control which plugins it loads, the
ui package will also depend on plugins and not let the mupen64plus or the
libmupen64plus2 package do that job. For each type (rsp, input, audio, video)
the user has to provide at least one plugin. For easier usage it will be
possible to select a mupen64-*-all package which depends on all package of a
type which were known till the upload of the package. But it isn't necessary to
install all - a single package for each type which provides a specific virtual
package (mupen64plus-rsp-1, mupen64plus-input-1, mupen64plus-audo-1,
mupen64plus-video-1) is enough to fulfill the dependencies of <a href="http://bitbucket.org/richard42/mupen64plus-ui-console/">mupen64plus-ui-console</a>
- how future ui packages have to handle this is unknown, but hopefully the same
  way as the console ui does it.</p>

<p>Plugins in debian will be for now:</p>
<ul>
	<li>audio:
		<ul>
			<li><a href="http://bitbucket.org/richard42/mupen64plus-audio-sdl/">mupen64plus-audio-sdl</a></li>
		</ul>
	</li>
	<li>input:
		<ul>
			<li><a href="http://bitbucket.org/richard42/mupen64plus-input-sdl/">mupen64plus-input-sdl</a></li>
		</ul>
	</li>
	<li><abbr title="Reality Signal Processor">rsp</abbr>:
		<ul>
			<li><a href="http://bitbucket.org/richard42/mupen64plus-rsp-hle/">mupen64plus-rsp-hle</a></li>
			<li><a href="http://bitbucket.org/wahrhaft/mupen64plus-rsp-z64/">mupen64plus-rsp-z64</a> (third party plugin)</li>
		</ul>
	</li>
	<li>video:
		<ul>
			<li><a href="http://bitbucket.org/richard42/mupen64plus-video-rice/">mupen64plus-video-rice</a></li>
			<li><a href="http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/">mupen64plus-video-arachnoid</a> (third party plugin)</li>
			<li><a href="http://bitbucket.org/wahrhaft/mupen64plus-video-glide64/">mupen64plus-video-glide64</a> (third party plugin)</li>
			<li><a href="http://bitbucket.org/wahrhaft/mupen64plus-video-z64/">mupen64plus-video-z64</a> (third party plugin)</li>
		</ul>
	</li>
</ul>

<p>The *-z64 plugins can only be used together. So if you want to use them
please check that you start the emulator with
<code class="language-shell">mupen64plus --rsp mupen64plus-rsp-z64 --gfx mupen64plus-video-z64</code></p>

<p>If anyone wants to start to work a little bit with the packages: They can be
cloned easily with gbp-clone from git-buildpackage: </p>

<pre><code class="language-shell">for i in audio-sdl core input-sdl rsp-hle rsp-z64 ui-console video-arachnoid video-glide64 video-rice video-z64; do
	gbp-clone --pristine-tar git://git.debian.org/git/collab-maint/mupen64plus-$i.git
done</code></pre>

<p>You will not be able to build these package for anything else then
(linux|kfreebsd)-amd64 or (linux|kfreebsd)-i386. If you want to work on better
platform support then please get in contact with upstream. There are also
works available for <a href="http://www.gp32x.com/board/index.php?/topic/49358-mupen64plus/">armel
(pandora)</a> and <a href="http://code.google.com/p/mupen64gc/">powerpc
(gamecube/wii)</a>. But since patches for these changes weren't provided for
the mupen64plus developers, these platforms cannot be supported at the
moment.</p>

<p>Btw. the input plugin has now a auto-configuration. To add your own
gamepad/joystick supported, please <a href="http://www.emutalk.net/showthread.php?t=49731">send a mail with your old
~/.config/mupen64plus/blight_input.conf to the maintainers</a>.</p>

</div></content>
</entry>
<entry>
<category term="chili" />
<category term="seeds" />
<category term="gardening" />
<title>Sowing chili seeds 2010</title>
<updated>2010-01-29T21:43:02Z</updated>
<published>2010-01-29T21:43:02Z</published>
<link href="http://narfation.org/2010/01/29/sowing-chili-seeds-2010" />
<id>http://narfation.org/2010/01/29/sowing-chili-seeds-2010</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<p>After different people requested that I take notes on my "chili year 2010". This year I will only plant two different types - Habanero and Cayenne. Both types of seeds aren't from a special seeds supplier, so I will not try to say what exact type of Habanero it is.</p>

<table>
	<tr>
		<th>date</th><th>action/situation</th>
	</tr>
	<tr>
		<td>2010-01-23</td>
		<td>
			<ul>
			<li>Made two cups of chamomile tea and put some seeds inside the cups (after it was cold)</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-01-25</td>
		<td>
			<ul>
			<li>Got some soil and <a href="http://narfation.org//misc/chili2010/01_six_feet_under.jpg">put the seeds into it</a></li>
			<li>placed it next to a heater to get the right temperature for the germination process</li>
			<li>covered it with foil to prevent the high loss of moisture. The foil must be removed from time to time to reduce the risk that the seeds would rot (Moisture is quite important during this process, but we must ensure that the soil is not too wet)</li>
			<li>The dark place should not be a really problem at the moment because the photosynthesis hasn't started yet and will not start in the next 4 weeks - at least not for the habaneros.</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-02-01</td>
		<td>
			<ul>
			<li>first habanero <a href="http://narfation.org//misc/chili2010/02_first_germination.jpg">seed germinated</a></li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-02-18</td>
		<td>
			<ul>
			<li>picked the the five best looking plants from each type and <a href="http://narfation.org//misc/chili2010/03_separation.jpg">separated</a> them</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-04-17</td>
		<td>
			<ul>
			<li>All plants got their new and bigger "boots"</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-05-22</td>
		<td>
			<ul>
			<li>Plants were moved to their <a href="http://narfation.org//misc/chili2010/04_boots.jpg">final pot</a> (or at least to the one they will use until someone else will receive them)</li>
			<li>Plants started to bloom - will probably stop again due to bad weather in the next weeks</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-06-19</td>
		<td>
			<ul>
			<li>Finally also the habanero started to bloom</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-06-26</td>
		<td>
			<ul>
			<li>All plants have green chilis - habaneros are quite small, but pepperone have the final size</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-07-12</td>
		<td>
			<ul>
			<li>Noticed that all plants have spider mites - will try to spray water with marseille soap</li>
			</ul>
		</td>
	</tr>
	<tr>
		<td>2010-08-21</td>
		<td>
			<ul>
			<li>Both types were tested on different people. Cayenne got a "hot" classification and nearly all people gave the Habanero a "damn hot"... even those who only accidently used the knife which I've used to cut it in smaller parts.</li>
			</ul>
		</td>
	</tr>

</table>
</div></content>
</entry>
<entry>
<category term="web" />
<category term="programming" />
<category term="latex" />
<category term="extra" />
<category term="windows" />
<category term="movie" />
<category term="horror" />
<category term="driver" />
<category term="youtube" />
<category term="zombie" />
<category term="video" />
<category term="opensource" />
<category term="delicious" />
<category term="social" />
<category term="documentary" />
<category term="software" />
<title>Links for 2010-01-13</title>
<updated>2010-01-13T19:09:17Z</updated>
<published>2010-01-13T19:09:17Z</published>
<link href="http://narfation.org/2010/01/13/links-for-2010-01-13" />
<id>http://narfation.org/2010/01/13/links-for-2010-01-13</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<ul>
<li><a href="http://www.youtube.com/watch?v=4mSAKlHlKvk">Re-Animator Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=3-KQh87_V2Q">Dead Snow Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=3thbT3wq7JE">Zombie 2 Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=fYzv-AVi78E">Know Your Meme: Auto Tune with "Weird Al" Yankovic</a></li>
<li><a href="http://www.youtube.com/watch?v=8JwsRg6h28c">Physicists Gone Wild - The Big Bang Theory Extra</a></li>
<li><a href="http://shapado.com/">Shapado - Questions &amp; Answers</a></li>
<li><a href="http://www.lostzombies.com/">Lost Zombies - A community generated zombie documentation</a></li>
<li><a href="http://www.motioninjoy.com/">MotioninJoy PS3 Sixaxis Dualshock 3 driver</a></li>
<li><a href="http://detexify.kirelabs.org/">Detexify LaTeX handwritten symbol recognition</a></li>
</ul></div></content>
</entry>
<entry>
<category term="debian" />
<category term="batman" />
<category term="linux" />
<title>DKMS for batman-adv and batmand-gateway</title>
<updated>2009-10-29T21:33:35Z</updated>
<published>2009-10-29T21:33:35Z</published>
<link href="http://narfation.org/2009/10/29/dkms-for-batman-adv-and-batmand-gateway" />
<id>http://narfation.org/2009/10/29/dkms-for-batman-adv-and-batmand-gateway</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<p>
	After the <a href="http://lists.debian.org/debian-devel-announce/2009/10/msg00003.html">decision to remove</a>
	<a href="http://packages.qa.debian.org/l/linux-modules-extra-2.6.html">linux-modules-extra-2.6</a> from Debian, it
	is now time to move all modules to a new method for compilation. Nothing is bad about <a href="http://packages.debian.org/sid/module-assistant">module-assistant</a>
	- beside the problem that you must know about it and understand how to use it.
</p>
<p>
	<a href="http://linux.dell.com/dkms/">Dynamic Kernel Module Support</a>	provides a simple solution for the end user as
	it will handle recompilation after a new installation of a kernel or a new module. The user only have
	to provide the kbuild for his current kernel and DKMS will to the remaining magic. In a normal situation DKMS should
	recommend to install the headers and makes it unnecessary for the user to install it manually. This means that
	headers should be available for dkms unless the user thinks different. 	If the user has compiled his own kernel he must
	ensure that <code class="language-shell">/lib/modules/`uname -r`/build</code> points to a valid build environment for the running kernel.
</p>
<p>
	<a href="http://packages.qa.debian.org/b/batman-adv-kernelland.html">batman-adv-kernelland</a> and
	<a href="http://packages.qa.debian.org/b/batmand.html">batmand</a> provide the modules
	<a href="http://packages.debian.org/unstable/main/batman-adv-dkms">batman-adv-dkms</a> and
	<a href="http://packages.debian.org/unstable/main/batmand-gateway-dkms">batmand-gateway-dkms</a> in addition to
	<a href="http://packages.debian.org/sid/batman-adv-source">batman-adv-source</a> and
	<a href="http://packages.debian.org/sid/batmand-gateway-source">batmand-gateway-source</a>. This was done to ensure that
	the user is in full control over the way he wants to build his modules -  even if this means that he wants to build
	some modules with modules-assistant and some with dkms. It is different to the way Ubuntu is doing it at the moment,
	but there is no real Debian Policy or recommentation how to handle it until now. Only small
	<a href="http://lists.debian.org/debian-kernel/2009/10/msg00683.html">examples were given how to write packages which
	supports DKMS</a>.
</p>
<p>
	It should also fix the problem that the version of my batman-adv-source package is nearly all the time
	newer then the binary package created by linux-modules-extra-2.6, but apt(itude) still wants to update to it
	instead of using the module created using module-assistant. A smaller glitch which got me some "bug reports"
	over private channels.
</p>
<p>
	Lets hope that more packages (only three until now) will move on to dkms soon. It is only a matter of time before
	the bug <a href="http://bugs.debian.org/552369">#552369</a> is closed and all binary free extra modules will
	disappear from the archives. <a href="http://packages.qa.debian.org/l/linux-modules-nonfree-2.6.html">linux-modules-nonfree-2.6</a>
	was <a href="http://packages.qa.debian.org/l/linux-modules-nonfree-2.6/news/20091018T163930Z.html">already removed</a>, but
	there is currently no real reactions for the related bugs.
</p>
</div></content>
</entry>
<entry>
<category term="zombie" />
<category term="game" />
<category term="vampires" />
<category term="delicious" />
<category term="movie" />
<category term="geeksaufen" />
<title>Links for 2009-10-24</title>
<updated>2009-10-24T04:49:20Z</updated>
<published>2009-10-24T04:49:20Z</published>
<link href="http://narfation.org/2009/10/24/links-for-2009-10-24" />
<id>http://narfation.org/2009/10/24/links-for-2009-10-24</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
<ul>
<li><a href="http://www.homestarrunner.com/trogdor.html">Trogdor!!!</a></li>
<li><a href="http://www.youtube.com/watch?v=-hzCfOvsq64">Shane Acker's '9' Short Film (2005)</a></li>
<li><a href="http://www.youtube.com/watch?v=OnoJecu9e7c">9 Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=pV5ukdJFGJQ">Blood: The Last Vampire Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=gwgKYXr3Upc">Antichrist Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=sZJUgsZ56vQ">Let The Right One In Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=ivnHBNM0_GU">Daybreakers Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=R0n3bKTSRYY">I Spit on your Rave Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=hvR292OFEZU">Hot Fuzz Trailer</a></li>
</ul></div></content>
</entry>
<entry>
<category term="debian" />
<category term="n64" />
<category term="mupen64plus" />
<title>mupen64plus in Debian</title>
<updated>2009-08-31T14:09:39Z</updated>
<published>2009-08-31T14:09:39Z</published>
<link href="http://narfation.org/2009/08/31/mupen64plus-in-debian" />
<id>http://narfation.org/2009/08/31/mupen64plus-in-debian</id>
<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
	<p><a href="http://code.google.com/p/mupen64plus/">mupen64plus</a> was <a href="http://packages.qa.debian.org/m/mupen64plus/news/20090831T091558Z.html">accepted by ftp-masters</a> and will hit the archives soon.
	The <a href="http://packages.qa.debian.org/m/mupen64plus.html">debian package</a> needed some adjustments to be accepted. This
	means that <a href="http://gln64.emulation64.com/">glN64</a> had to be removed because it is not distributed under a dfsg compliant
	license. <em>If anyone knows Orkin then please ask him to contact the mupen64plus team.</em></p>
	<p>All other changes shouldn't be that visible for users. Some bugs were fixed and some libraries were stripped from the build process and replaced by
	official packaged ones. It builds on many different architectures, but as x86 and amd64 are the only supported architectures by upstream the experience will differ.</p>
	<p>Upcoming stuff for debian are:</p>
	<ul>
		<li>a port to <a href="http://tukaani.org/xz/">xz-utils</a> for lzma support. This currently depends on <a href="http://packages.qa.debian.org/x/xz-utils.html">liblzma in unstable</a>, but the patch exists and was already send to upstream and will automatically add support for lzma2 and xz.</li>
		<li>Making it compliant to <a href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">the XDG Base Directory Specification</a> would be nice for save states, rom cache and configuration files. There is already a <a href="http://packages.qa.debian.org/libx/libxdg-basedir.html">libxdg-basedir</a> package in debian, but I haven't read the documentation yet.</li>
		<li>Last but not least: fixing more bugs.</li>
	</ul>
	<p>Upstream is also <a href="http://mupen64plus.emuwiki.com/">starting a big rewrite</a> to seperate gui from the rest (so no more gtk/qt specific stuff inside plugins), make most of the code platform independent and splitting everything to be more modular. Also some low level plugins are currently developed inside their trunk. So it looks quite promising for the future. But please don't ask to package the qt gui before the rewrite has been merged.</p>
	<p>Before I forget it: Congratulations to <a href="http://zoby.zo.funpic.de/wordpress/">Tobias</a> for your first package in Debian (and in <a href="https://launchpad.net/ubuntu/+source/mupen64plus">Ubuntu Universe</a> after their sync with debian).</p>
</div></content>
</entry>
</feed>

