Wednesday·03·May·2017
Bevorstehende Hacker und Open Source Events in der Schweiz: Debian BSP, LPD, 10 Jahre Hackerfunk, ZeTeCo //at 14:56 //by abe
In der nächsten Zeit gibt es diverse Events für Hacker, Maker, Debianer und Hackerfunk-Hörer in der Schweiz:
Crowdfunding für ZeTeCo im Juli endet in zwei Tagen!
Vielleicht habt Ihr schon vom Zeltlager der Technik- und Computerfreunde, kurz ZeTeCo bei Schaffhausen im Juli gehört. Falls Ihr teilnehmen oder das Event zumindest unterstützen wollt, dann tragt bitte zu deren Crowdfunding-Kampagne bei.
Das ZeTeCo-Team hat schon mehr als 90% ihres Ziels zusammen und es sind nur noch knappe zwei Tage übrig um dieses Ziel zu erreichen. Wenn das Crowdfunding-Ziel nicht erreicht wird, ist die Durchführung des Events fraglich.
Debian Bug Squashing Party in Zürich dieses Wochenende
Eine Woche vor der Mehr-als-eine-BSP im Mozilla-Büro in Paris gibt es auch eine Debian Bug Squashing Party (BSP) in Zürich im CCCZH Hackerspace “Röschtibach”. Wir fangen am Freitag wahrscheinlich so zwischen 16 und 17 Uhr an. Die BSP soll bis Sonntagspätnachmittag gehen.
Bitte tragt Euch in den entsprechenden Abschnit der BSP-Wiki-Seite ein, wenn Ihr mit uns zusammen die letzten Bugs aus Debian Stretch herausquetschen wollt.
Leider haben wir zwei Terminkonflikte zu spät gesehen als wir den Termin für die BSP während der Generalversammlung (“AGM”) von Debian.ch festlegten:
Linux Presentation Day diesen Samstag, 6. Mai 2017
Einerseits gibt es die Schweizer Edition des Linux Presentation Day (LPD) am Samstag, den 6. Mai 2017 mit u.a. einem Event in Zürich. Letzteres findet im gleichen Gebäde wie die BSP statt, nur auf einem anderen Stockwerk: Die BSP findet im Stockwerk B3 im CCCZH Hackerspace statt und der LPD wird im Erdgeschoss bei Revamp-IT im ehemaligen Foyer der Wipkinger ZKB-Filiale stattfinden.
10 Jahre Hackerfunk: Sendung am 6., Party am 13. Mai 2017
Und andererseits gitb es am 6. Mai abends die Sendung zum 10-jährigen Jubiläm von Venty und meinem Podcast und Radiosendung podcast Hackerfunk. Ich werde also am Samstagabend mal kurz für ein paar Stunden von der BSP verschwinden um mit Venty diese spezielle Hackerfunk-Folge auf Radio Radius zu senden.
Aber weil wir nicht noch eine grosse Party am selben Samstag wie LPD
und BSP im “Röschtibach” machen wollen, wird es eine 10-Jahre-
Hackerfunk-Party eine Woche später am Samstag, den 13. Mai 2017
ebenfalls im CCCZH Hackerspace “Röschtibach” geben. Eine separate
Ankündigung dazu wird’s noch auf https://www.hackerfunk.ch/ und auch im RSS-Feed vom Hackerfunk
geben.
Tagged as: BSP, CCCZH, Crowdfunding, Debian, Debian.ch, Hackerfunk, LPD, Radio Radius, Revamp-IT, Schweiz, ZeTeCo, Zurich
// show without comments // write a comment
Related stories
Upcoming Hacker/FLOSS Events in Switzerland: Debian BSP, LPD, Hackerfunk 10th Anniversary, ZeTeCo //at 14:30 //by abe
There are quite some events and dates ahead for hackers, makers, debianers and hackerfunk listeners:
Crowdfunding for ZeTeCo Camp in July Ends in Two Days!
You might have heard of the ZeTeCo Camp near Schaffhausen in July. If you want ot come or at least support that event, please contribute to their crowdfunding campaign.
They have more than 90% of their goal funded and there’s less only about two days left to reach their funding goal. If it doesn’t get funded in time, the event may be be on a knife edge.
Debian Bug Squashing Party in Zurich this Weekend
One week before the More-than-a-BSP at the Mozilla office in Paris there will also be a Debian Bug Squashing Party (BSP) in Zürich at the CCCZH Hackerspace “Röschtibach”. We’ll start on Friday, the 5th of May 2017 in the late afternoon, probably around 4pm or 5pm, and will end on Sunday, the 7th of May 2017 also in the late afternoon.
Please add yourself to the according section on the BSP’s wiki page if you want to join us to squash the hopefully not that many left over bugs in testing.
Unfortunately we didn’t notice two date clashes when we set the date for the BSP during the Annual General Meeting (AGM) of the Debian.ch Association earlier this year:
Linux Presentation Day this Saturday, 6th of May 2017
On the one hand there will be the Swiss Edition of the Linux Presentation Day (LPD) on Saturday, the 6th of May 2017 including the LPD in Zürich. The latter will take place in the same building as the BSP, just on a different floor: The BSP will be at floor B3 in the CCCZH Hackerspace and the LPD will be on the ground floor at Revamp-IT in the former ZKB foyer.
10 Years Hackerfunk: Show on 6th, Party on 13th of May 2017
And on the other hand, Venty’s and my (German dialect) radio show and podcast Hackerfunk will have it’s 10th anniversary show also on that Saturday. So I’ll vanish from BSP for a few hours on Saturday evening for broadcasting this very special Hackerfunk episode on Radio Radius.
But since Venty and me didn’t want to make yet another big event at
“Röschtibach” on the same weekend, we’ll do the Hackerfunk 10th
Anniversary Party one weekend later on Saturday the 13th of May 2017
also at the CCCZH Hackerspace “Röschtibach”. A separate announcement on
https://www.hackerfunk.ch/ (also in the RSS feed there) will
follow.
Tagged as: BSP, CCCZH, Crowdfunding, Debian, Debian.ch, Hackerfunk, LPD, Radio Radius, Revamp-IT, Switzerland, ZeTeCo, Zurich
// show without comments // write a comment
Related stories
Tuesday·28·March·2017
System Tray Icon to Monitor a Linux Software RAID Locally //at 04:09 //by abe
About a year ago I bought a new workstation computer for myself at home. It’s a Tuxedo XUX_Cube which is advertised as gaming PC. But I ordered a slightly atypical non-gamer configuration:
- As much RAM as possible (64 GB)
- Intel i7 CPU, but the low power variant
- Only with the onboard Intel graphics card. (No need for NVidia binary crap drivers.)
- 2× Samsung 128 GB SSD for OS and $HOME plus 2× 3 TB WD Red disks for media storage; both pairs set up as RAID 1
- Bitfenix Prodigy-M case in Orange. (Not available in Tuxedo Computer’s online shop, but they nevertheless ordered it for me. :-)
Of course the box runs Debian. To be more precise, it runs Debian Sid
with sysvinit-core as init system and i3 as window manager.
As I usually have no monitoring clients on my laptops and private
workstations, I rather often felt the urge to do a cat
/proc/mdstat
on that box.
So at some point I wanted something like smart-notifier, but for Linux Software (MD) RAIDs. And since I found nothing, I did what Open Source guys usually do in such cases: I wrote it myself — of course in Perl — and called it systray-mdstat.
First I wondered about which build system would be most suitable for that task, but in the end I once again went with Dist::Zilla for the upstream build system and hence dh-dist-zilla for the Debian packaging.
Ideas for the actual implementation were taken from Wouter’s fdpowermon for the systray icon framework in Perl and Myon’s mdstat Xymon plugin for an already proven logic to
parse /proc/mdstat
. (Both, Wouter and Myon have stated in
a GnuPG-signed e-mail that I copied less code than would validate
their copyrights, so I was able to license it under a single license,
namely GNU GPL version 3.)
As of now, systray-mdstat is also available as package in
Debian Unstable. It won’t make it to Stretch as its first line of code
has been written after the soft-freeze for Stretch was already in
place.
Tagged as: Bitfenix, Debian, dh-dist-zilla, Dist::Zilla, dzil, GitHub, hardware, i3, Linux, orange, Perl, Prodigy-M, RAID, systray-mdstat, Tuxedo Computers
// show without comments // write a comment
Related stories
Maintaining Debian Packages of Perl Modules with dh-dist-zilla //at 03:59 //by abe
Maintaining Debian packages of Perl modules usually can be done with
the common git-buildpackage (aka gbp
) workflow with its three
git branches master
(or debian
),
upstream
and pristine-tar
:
upstream
contains the upstream code as imported from upstream’s release tar-balls.pristine-tar
contains the binary diffs between the contents of theupstream
branch and the original tar-ball. This mostly contains meta-data (timestamps, permissions, file owners, etc.) as git doesn’t store them.master
(ordebian
) which containsupstream
plus packaging.
This also works more or less fine for Perl modules, where the Debian
package maintainer is also the upstream developer. In that case mostly
the upstream
branch is used (and then maybe called
master
while the Debian packaging branch is then called
debian
).
But the files needed for a proper so called “CPAN distribution” of a Perl module often contain redundant information (version numbers, required modules, etc.) which needs to be maintained. And for that, many people prefer Don’t Repeat Yourself (DRY) as a principle.
Dist::Zilla
One nice and common tool for that is Dist::Zilla or short dzil. It generates most
redundant but required data out of a central source, e.g.
Dist::Zilla’s dist.ini
or the contained .pm
files, etc. dzil build
creates tar ball which contains
all files necessary by CPAN.
But now we have a dilemma: Debian expects those generated files inside
the upstream
branch while the files are only generated
from other files in that branch. There are multiple solutions, but all
of them involve committing generated files to the git repository:
- Commit them into the
upstream
branch. Disadvantage: You’ll likely later forget which files were generated and which weren’t. - Commit the generated files into a separated branch, e.g. use
master
(original code),upstream
(original code + stuff generated bydzil build
, maybe imported withgit-import-orig
),pristine-tar
and adebian
(based onupstream
) branches.
librun-parts-perl aka Run::Parts (a Perl
wrapper around and a pure-perl implementation of Debian’s
run-parts
tool) was initially maintained in the latter
way.
But especially in cases where we just need a Perl module packaged as
.deb
without uploading it to CPAN (e.g. project-internal
modules), this is a tedious workflow and overkill. It would be much
nicer if debhelper would just call dzil
to generate all
the stuff it needs to build the package.
dh-dist-zilla
Well, you can
do that now, at least with Debian Jessie. This is what dh-dist-zilla does: It is a debhelper sequence plugin which calls
dzil build
and dzil clean
in the right
moment and takes care that all dh_auto_*
commands look in
the directory with the generated files instead of the rather clean
project root directory.
To use dh-dist-zilla, you just need to add a build-dependency on it
and the Dist::Zilla plugins you use, and add --with
dist-zilla
to your minimal dh
-style
debian/rules
file:
#!/usr/bin/make -f %: dh $@ --with dist-zilla
That’s it.
With regards to workflow and git branches, you may still want to use separate branches for upstream work and debian work, and you may want to continue to use pristine-tar, but you don’t have to commit generated files to git anymore and you can maintain a clean master branch with nearly no redundancy.
And if you need to generate to final upstream tar ball for you debian
package, just call dh get-orig-source
or maybe easier to
use with tab completion dh_dist_zilla_origtar
.
This is how the librun-parts-perl package is maintained nowadays. There’s otherwise not much difference to the old, classically maintained versions.
More DRY
Next step in the DRY evolution is to reduce redundancies between upstream (Dist::Zilla based) packaging and the Debian packaging. There are a few tools available, partially brand new, partially not yet packaged:
- dh-dist-zilla’s
dh-dzil-refresh
which combines dh-make-perl’s “refresh” subcommand with Dist::Zilla. - Enrico Zini’s debdry, which aims to be a front-end to all the language specific packaging automation tools like dh-make-perl and gem2deb.
- The not yet packaged Perl module distribution Dist-Zilla-Deb which beyond others contains the (slightly under-documented) Perl module Dist::Zilla::Plugin::Deb::VersionFromChangelog to use the version from Debian’s changelog as the primary source for the version of the module. (Source code is on GitHub.)
- And then there is Dist::Zilla::App::Command::authordebs aka libdist-zilla-app-command-authordebs-perl by Dominque Dumont which lists or installs Dist::Zilla authors dependencies as Debian packages. (Source code is on GitHub, too.)
I wouldn’t be surprised if there’s more to come in this area.
P.S.: I actually started this blog posting in September 2014 and never
finished it until now. Had to kick out some already outdated again
stuff, but also could add some more recent things.
Tagged as: CPAN, debdry, debhelper, Debian, dh-dist-zilla, dh-dzil-refresh, dh-make-perl, Dist-Zilla-Deb, Dist::Zilla, DRY, gbp, Git, git-buildpackage, GitHub, Jessie, Packaging, Perl, pristine-tar
// show without comments // write a comment