Recently in Debian Category

To make the Debian-Perl module look-up more useful, there are now install instructions included. That means that all non-packaged CPAN dependencies and also all packaged ones are listed and it's clear what can be installed from packages and what needs to be installed from CPAN. Here's an example for App::TimeTracker:

sudo apt-get install libexception-class-perl libclass-accessor-perl libmoosex-role-parameterized-perl libjson-perl libnamespace-autoclean-perl libtry-tiny-perl libtest-trap-perl libtest-most-perl libtest-file-perl librt-client-rest-perl libpath-class-perl libmoosex-types-path-class-perl libmoosex-storage-perl libmoosex-getopt-perl libmoose-perl libmodule-build-perl libtest-mock-lwp-perl libjson-xs-perl libio-capture-perl libhash-merge-perl libgit-repository-perl libfile-homedir-perl libfile-find-rule-perl r-base-core-ra perl-modules libdigest-sha1-perl libdatetime-format-iso8601-perl libdatetime-format-duration-perl libdatetime-perl perl perl-base

sudo cpan -i Iterator Path::Class::Iterator MooseX::Storage::Format::JSONpm App::TimeTracker

deb-perl-it-install-example.png

Just a note that this works fine for Debian stable+testing+unstable. Which is not so common. Most installations will be stable or testing+unstable. Once Debian Wheeze (7.0) will become stable (hopefully soon) I'll split that search to two - one for Debian stable and one for Debian testing+unstable.

Slides from YAPC::EU 2011

| No Comments
yapceu-logo80.gif

Slides from my yesterdays talk are here, uploaded to Bratislava.pm.org page.

My thanks go to everyone who participated on this great conference and helped this event happen!

When I showed Benjamin (a college of mine) my TPF 2010Q3 grant proposal, we slipped to a discussion about deploying Perl software. Nice (and recent) list of different approaches can be found @modernperlbooks.com. To sum it up => TIMTOWTDI. Which is good, but none of those is perfect. The Perl+CPAN world is way too complex.

During out discussion with Benjamin I proposed an idea of shipping the application altogether with the OS. Insane? The base Debian system is ~190MB, all the rest is needed for the application. Then deployment will be a matter of running this system on a virtual machine, somewhere in the cloud or in a simple chroot. (btw any Linux distribution can have any other Linux distribution working in a chroot) The files will never clash, all the "machines" would be dedicated. No fear of putting files where they belong to.

dpkg-scanpackages: info: Wrote 2898 entries to output Packages file.
dpkg-scansources  unstable /dev/null > unstable/Sources
bzip2 -c9 unstable/Packages > unstable/Packages.bz2
gzip -c9 unstable/Packages > unstable/Packages.gz
bzip2 -c9 unstable/Sources  > unstable/Sources.bz2
gzip -c9 unstable/Sources  > unstable/Sources.gz
dpkg-scanpmpackages
processing unstable/Packages.bz2
apt-ftparchive -c=Release.conf release unstable > unstable/Release
rm unstable/Release.gpg
gpg -abs -o unstable/Release.gpg unstable/Release

real    11m14.629s
user    1m45.227s
sys     1m56.679s

The dpkg-scan* tools are probably not the best solution for such big repository having 2898 packages in one folder..., but given enough patience it works! :-)

XML + XPath + GUI = Xacobeo

| No Comments

Xacobeo a Perl GUI to visualize XML and perform XPath queries just entered Debian unstable - http://packages.debian.org/sid/xacobeo.

So the Perl QA Hackathon 2010 is over. My part in it was mainly to help with organizing, but with a specification from Gregoa and a help from Potyl a new debian-perl quality script was created - patchedit.

Patchedit works in two modes edit and check. In the edit mode it will fire-up an editor and optionally add a missing patch description fields. In the check mode it can test the fields and output TAP based on the ok/fail. Thanks to this and TAP::Formatter::HTML it was easy to create a page with the patch "health" status. Here is how:

find -name series | perl -MIO::Any -MFile::Basename=dirname -ne 'chomp; my $s = $_; my $bd=dirname($s); my @pl=map { $bd."/".$_ } grep { $_ !~ m/^\s*$/ } map { chomp; $_ } split("\n", IO::Any->slurp($s)); print map { $_."\n" } @pl;' | xargs prove --exec "patchedit check -o" -m -Q --formatter=TAP::Formatter::HTML > output.html

The output page can be found here.

You can watch the final stand-up video with the achievements at brian d foy blog.

dh-make-perl --locate Foo::Bar

| No Comments

I didn't know about this easy way to locate Perl modules in Debian packages.

$ dh-make-perl --locate Foo::Bar
Using cached Contents from Fri Mar 26 10:25:51 2010
Foo::Bar is not found in any Debian package

$ dh-make-perl --locate Moose::Meta::Class
Using cached Contents from Fri Mar 26 10:25:51 2010
Moose::Meta::Class is in libmoose-perl package

$ dh-make-perl --locate Test::More
Using cached Contents from Fri Mar 26 10:25:51 2010
Test::More is in Perl core (package perl) since 5.6.2

So there is a ready made solution how to locate Perl modules in Debian packages. The '--locate' option is in Squeeze (testing) version of dh-make-perl or in the source repositiory.

Updates

Subscribe to the blog updates with an email:

If you like it, share it.

Pages

About this Archive

This page is an archive of recent entries in the Debian category.

Find recent content on the main index or look in the archives to find all content.