Daniel Stender: My work for Debian in April
This month I've worked on the these things for Debian:
To begin with that, I've set up a Debhelper sequencer script for dh-buildinfo1, this
add-on now can be used with
dh $@ --with buildinfo in deb/rules instead of having to
explicitly call it somewhere in an override.
Debops
I've set up initial Debian packages of Debops2, a collection of fine crafted
Ansible roles and playbooks especially for Debian servers (servers which run on Debian),
which are shipped with a couple of helper and wrapper scripts in Python3.
There are two binary packages, one for the toolset (debops), and the other for the
playbooks and roles of the project (debops-playbooks).
The application is easy to use, just initialize a new project with debops-init foo
and add your server(s) to foo/ansible/inventory/hosts belonging to groups representing
services and things you want to employ on them.
For example, the group [debops_gitlab] automatically installs a complete running Gitlab setup
on one or a multitude of servers in the same run with the debops command4.
Other groups like [debops_mariadb_server] could be used accordingly in the same host inventory.
Ansible works without agent, so you don't have to prepare freshly setup servers with nothing
special to use that tool randomly (like on localhost).
The list of things you could deploy with Debops is quite amazing and dozens
of services are at hand.
The new Debian packages are currently in experimental because they need some more fine
tuning, e.g. there are a couple of minor error messages which recently occur using it,
but it works well.
The (early staged) documentation unfortunately couldn't be packaged because of the
scattered resp. collective nature of the project (all parts have their own Github
repositories)5, and also how to generate the upstream tarball remains a bit of a
challenge (currently, it's the outcome of debops-init)6.
I'll have this package in unstable soon. More info on Debops is coming up, then.
HashiCorp's Packer
I'm very glad to announce that Packer7 is ready being available in unstable,
and the RFP bug could be finally closed after I've taken it over8.
It's another great and much convenient devops tool which does a lot of different
things in an automated fashion using only a single "one-argument" CLI tool in combination
with a couple of lines in a configuration script (thanks to Yaroslav Halchenko for the tip).
Packer helps creating machine images for different platforms.
This is like when you use e.g. Debian installations in a Qemu box for testing or development
purposes.
Instead of setting up a new virtual machine manually the same way as installing Debian on
another computer this process can be completely automated with Packer, like I've written about
in this blog entry here9.
You just need a template which contains instructions for the included Qemu builder and a
preseeding script for the Debian installer, and there you go drinking your coffee while
Packer does all the work:
download the ISO image for installation, create the new virtual harddrive, boot the
emulator, run the whole installation process automatically like with answering questions,
selecting things, reboot without ISO image to complete the installation etc.
A couple of minutes and you have a new pre-baked virtual machine image like from a vendoring
machine, another fresh one could be created anytime.
Packer10 supports a number of builders for different target platforms
(desktop virtualization solutions as much as public cloud providers and private cloud software),
can build in parallel, and also the full range of common provisioners can be employed
in the process to equip the newly installed OSs with services and programs.
Vagrant boxes could be generated by one of the included postprocessors.
I'll write more on Packer here on this blog, soon.
There were more then two dozens of packages missing to complete Packer11, which is
the achievement of combined forces within the pkg-go group. Much thanks esp. to Alexandre
Viau who have worked on the most of the needed new packages.
Thanks also to the FTP masters which were always very quick in reviewing the Go packages,
so that it could be proceeded to build and package the sub dependent new ones always
consecutively.
Squirrel3
I've didn't had the major work of that and just sponsored this for Fabian Wolff, but want
to highlight here that there's a new package of Squirrel12 now available in
Debian13.
Squirrel is a lightweight scripting language, somewhat comparable to Lua. It's
fully object-oriented and highly embeddable, it's used in a lot of commerical computer
games under the hood for implementing intelligence for bots next to other things14,
but also for the Internet of Things (it's embedded in hardware from Electric Imp).
Squirrel functions could be called from C++15.
I've filed an ITP bug for Squirrel already in 2011 (#651195), but always something else
had a higher priority, and it ended up being an RFP. I'm really glad that it got picked up
and completed quickly afterwards.
misc
There were a couple of uploads on updated upstream tarballs and for fixing bugs,
namely afl/2.10b-1 and 2.11b-1,
python-afl/0.5.3-1, pyutilib/5.3.2-1, pyomo/4.3.11327-1,
libvigraimpex/1.10.0+git20160211.167be93dfsg-2 (fix of #820429, thanks to Tobias Frost),
and gamera/3.4.2+svn1454-1.
For the pkg-go group, I've set up a new package of github-mitchellh-ioprogress (which is
needed by the official DigitalOcean CLI tool doctl, now RFP #807956 instead of ITP
due to the lack of time, again a lot of missing packages are missing for that),
and provided a little patch for dh-make-golang updating some standards16.
For Packer I've also updated azure-go-autorest and azure-sdk as team upload (#821938, #821832),
but it came out that the project which is currently under heavy development towards
a new official release broke a lot in the past weeks (no Git branching have been used),
so that Packer as a matter of fact needed a vendored snapshot, although there have been only
a couple of commits in between.
Docker-registry has the same problem with the new package of azure-sdk/2.1.1~beta1, so that it
needed to be fixed, too (#822146).
By the way, the tool ratt17 comes very handy for automatically test building down all
reverse dependencies, not only for Go packages (thanks to Tianon Gravi for the tip).
Finally, I've posted the needed reverse depencies as RFP bugs for Terraform18
(again quite a lot), Vuls19, and cve-dictionary20, which is needed for Vuls.
I'll let them rest a while waiting to get picked up before working anything down.
- #570933: dh-buildinfo: should provide a addon file for dh command
- https://tracker.debian.org/pkg/debops
- http://debops.org/
-
The servers have to be accessible by SSH. E.g. you could run
debopslike:$ debops -u root --private-key=~/.ssh/id_digitalocean - https://github.com/debops/docs/issues/132
- #819816: ITP: debops -- Ansible based server management utility
- https://www.packer.io/
- #740753: ITP: packer -- create vm images for multiple platforms
- http://www.danielstender.com/blog/packer-qemu.html
- https://packages.debian.org/unstable/packer
- I've worked on the missing packages this month, namely github-klauspost-pgzip, github-masterzen-xmlpath, github-masterzen-winrm, dylanmei-winrmtest, packer-community-winrmcp (Packer uses WinRM if Windows machines images are created), github-hpcloud-tail, and updated github-rackspace-gophercloud (#822163) and google-api (#822164) to complete it.
- http://squirrel-lang.org/
- https://tracker.debian.org/pkg/squirrel3
- http://www.linux-magazin.de/layout/set/print/content/view/full/62184
- http://www.linux-magazin.de/Ausgaben/2011/10/plus/Fremdkoerper-Squirrel-Interpreter-und-Skripte-fuer-C
- https://github.com/Debian/dh-make-golang/pull/39
- https://packages.debian.org/unstable/ratt
- #808940: ITP: terraform -- tool for managing cloud infrastructure
- #820614: ITP: vuls -- package inventory scanner for CVE vulnerabilities
- #820615: ITP: go-cve-dictionary -- builds a local copy of the NVD/JVN (vulnerability databases)
What happened in the
Reproducible builds ecosystem at FOSDEM
Last years FOSDEM featured
But there are many more interesting talks (hundreds they say) and so I'd appreciate if you could share your pointers and explainations, whether here on planet, or on IRC or IRL!

My previous blog posts about
Birthdays all round
This has been a particularly important year for the Debian Project, as the project celebrated our
Thank you
There are many people to thank for the success of these projects and the wider success of the Debian GSoC team:
Another member of Debian's GSoC program,
As the grand finale, we took
The grand-finale of the
The last week was quite productive as I was on vacation and at home town but sadly I
couldn't complete this post so again merging the work with this week but this week ain't
much productive as I was tired from journey back and didn't get enough time to recover.
So here it goes.
Debian Related
Wonderful jazz concert at 










The Debian Python Modules Team is