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
Related stories
Friday·21·August·2015
German-written Debian Package Management Book //at 01:28 //by abe
Thursday was our big day: After more than 2.5 years of working in the hidden, ups and downs, Frank Hofmann and myself were able to announce the availability of our book project Debian Package Management under a free license (Creative Commons Attribution ShareAlike 4.0 International License, short “CC BY-SA 4.0”) during a Lightning Talk at DebConf15 in Heidelberg.
This became possible because we found Onyx Neon, a publishing company which is specialised on books with contents under free licenses. Its founder does not only have a faible for Perl but also for Debian. (Since the question already came up: We also thought about self-publishing, e.g. via Lulu or Epubli — and it would have been our fallback solution —, but we prefer the professionalism and services of a real publisher. I’m though happy to share what I found out about self-publishing in the past few months.)
The source code of the book is written in the AsciiDoc format and available on GitHub.
The book is still work in progress. But if you want, you can already build an e-book out of the publically available source code:
sudo apt-get install asciidoc dblatex git git clone git://github.com/dpmb/dpmb.git cd dpmb make
(Works fine on Debian 7 Wheezy, Debian 8 Jessie and Ubuntu 14.04 LTS Trusty. Does not work on Ubuntu 12.04 LTS Precise.)
If you find an error in the book, please file an issue on GitHub. If you also know how to fix the error, please for the Git repository on GitHub, fix the error in your Git repository and file a pull request. (The first pull request already happenend and has been applied.)
Initially there will be only a German written issue as e-book (at least in HTML, PDF and EPUB formats, maybe also KF8/MOBI and EPUB3) and at some point in the future also as printed book at Onyx Neon. But we’re also planning a translation to English as well as a Debian package.
If your want to get informed when we publish a printed book, a
translation or an official e-book release, please subscribe to one of
our mailing lists: There’s one in German and one in English.
Tagged as: APT, Aptitude, asciidoc, book, CC, CC-BY-SA, CC-BY-SA-4.0, dblatex, DebConf, DebConf15, Debian, dpkg, dpmb, efho, Heidelberg, Onyx Neon, Perl, WIP
// show without comments // write a comment
Related stories
Debian-Paketmanagement-Buch //at 00:47 //by abe
Donnerstag war der große Tag: Nach über zweieinhalb Jahren Arbeit im Verborgenen, vielen Höhen und einigen Tiefen, konnten Frank Hofmann und ich heute im Rahmen eines Lightning Talks auf der DebConf15 in Heidelberg die Verfügbarkeit unseres Buch-Projektes Debian-Paketmanagement unter einer freien Lizenz (Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz, kurz “CC BY-SA 4.0”) bekanntgeben.
Möglich wurde dies dadurch, daß wir mit Onyx Neon einen Verlag gefunden haben, der sich auf Bücher unter freien Lizenzen spezialisiert hat und deren Besitzer nicht nur ein Faible für Perl sondern auch für Debian haben. (Da die Frage bereits aufkam: Wir hatten auch an Selbst-Publikation via z.B. Lulu oder Epubli gedacht — und es wäre auch unser Fallback gewesen —, ziehen aber die Professionalität und Dienstleistungen eines richtigen Verlages vor.)
Der Quellcode des Buches ist im AsciiDoc-Format geschrieben und auf GitHub verfügbar.
Das Buch ist noch in der Mache, sozusagen Work In Progress. Aber wer möchte, kann sich trotzdem bereits jetzt aus dem online verfügbaren Quellcode ein E-Book (elektronisches Buch) generieren:
sudo apt-get install asciidoc dblatex git git clone git://github.com/dpmb/dpmb.git cd dpmb make
(Funktioniert auf Debian 7 Wheezy, Debian 8 Jessie und Ubuntu 14.04 LTS Trusty. Funktioniert nicht auf Ubuntu 12.04 LTS Precise.)
Wer Fehler findet, darf gerne auf GitHub einen Fehlerreport öffnen und wer auch noch weiß, wie man ihn flicken kann, der kann das Git-Repository forken, den Fehler darin flicken und dann einen sog. Pull-Request stellen. (Den ersten Pull-Request haben wir bereits bekommen und gemerget.)
Initial wird es eine deutschsprachige Ausgabe als E-Book (mindestens HTML, PDF und EPUB, vielleicht auch KF8/MOBI und EPUB3) und ab einem bestimmten Zeitpunkt auch als gedrucktes Buch im Verlag Onyx Neon geben. Es ist aber auch eine Übersetzung ins Englische geplant. Ebenso ist eine Paketierung für Debian in Form eines Debian-Paketes angedacht.
Wer informiert werden will, sobald ein gedrucktes Buch, eine
Übersetzung oder ein offizielles E-Book verfügbar ist, der
kann unsere Mailinglisten abonnieren: Deutsch oder Englisch
Tagged as: APT, Aptitude, asciidoc, Buch, CC, CC-BY-SA, CC-BY-SA-4.0, dblatex, DebConf, DebConf15, Debian, dpkg, dpmb, efho, Heidelberg, Onyx Neon, Perl, WIP
// show without comments // write a comment
Related stories
Tuesday·22·April·2014
GNU Screen 4.2.0 in Debian Experimental //at 20:22 //by abe
About a month ago, on 20th of March, GNU Screen had its 27th anniversary.
A few days ago, Amadeusz Sławiński, GNU Screen’s new primary upstream maintainer, released the status quo of Screen development as version 4.2.0 (probably to distinguish it from all those 4.1.0 labeled development snapshots floating around in most Linux distributions nowadays).
I did something similar and uploaded the status quo of Debian’s screen package in git as 4.1.0~20120320gitdb59704-10 to Debian Sid shortly afterwards. That upload should hit Jessie soon, too, resolving the following two issues also in Testing:
- #740301: proper systemd support – Thanks Josh Triplett for his help!
- #735554: fix for multiuser usage – Thanks Martin von Wittich for spotting this issue!
That way I could decouple these packaging fixes/features from the new upstream release which I uploaded to Debian Experimental for now. Testers for the 4.2.0-1 package are very welcome!
Oh, and by the way, that upstream comment (or ArchLinux’s according announcement) about broken backwards compatibility with attaching to running sessions started with older Screen releases doesn’t affected Debian since that has been fixed in Debian already with the package which is in Wheezy. (Thanks again Julien Cristau for the patch back then!)
While there are bigger long-term plans at upstream, Amadeusz is already working on the next 4.x release (probably named 4.2.1) which will likely incorporate some of the patches floating around in the Linux distributions’ packages. At least SuSE and Debian offered their patches explicitly for upstream inclusion.
So far already two patches found in the Debian packages have been obsoleted by upstream git commits after the 4.2.0 release. Yay!
Updates (8th of May 2014): 4.2.0 in Testing, Upstream released 4.2.1
screen 4.2.0-2 migrated to testing now.
Upstream released 4.2.1 in the meanwhile with most Debian patches
applied. Despite being a minor update, it was necessary to bump it’s
internal message version, so vanilla 4.2.1 clients can’t connect to
vanilla 4.2.0 servers. Accordingly it may take a moment until 4.2.1 hits
Debian as I need to sort out some stuff before uploading that version.
Tagged as: anniversary, birthday, Debian, Experimental, git, GNU Screen, Jessie, Screen, Sid, Testing, upload
// show without comments // write a comment