Posts

Procenv 0.46 - now with more platform goodness

I have just released procenv version 0.46. Although this is a very minor release for the existing platforms (essentially 1 bug fix), this release now introduces support for a new platform...

Darwin Yup - OS X now joins the ranks of supported platforms.

Although adding support for Darwin was made significantly easier as a result of the recent internal restructure of the procenv code, it did present a challenge: I don't own any Apple hardware. I could have borrowed a Macbook, but instead I decided to see this as a challenge:

Could I port procenv to Darwin without actually having a local Apple system?  Well, you've just read the answer, but how did I do this?

Stage 1: Docker
Whilst surfing around I came across this interesting docker image:

https://hub.docker.com/r/andrewd/osxcross/
It provides a Darwin toolchain that I could run under Linux. It didn't take very long to follow my own instructions on porting procenv to a new platform. But although I ended up with a binary, I c…

Procenv 0.45 released

Yesterday, I released procenv 0.45.

Although not a huge amount has changed on the outside in this release, rather
dramatic changes have occurred on the inside, as evinced by the following:

$ git diff 0.44..0.45 --stat|grep "src/.*\.[ch]"
 src/messages.h                          |    41 +
 src/output.c                            |  2001 ++++++
 src/output.h                            |   179 +
 src/platform-headers.h                  |   243 +
 src/platform.h                          |   167 +
 src/platform/android/platform.c         |    46 +
 src/platform/freebsd/platform-freebsd.h |    43 +
 src/platform/freebsd/platform.c         |   479 ++
 src/platform/hurd/platform-hurd.h       |    38 +
 src/platform/hurd/platform.c            |    91 +
 src/platform/linux/platform-linux.h     |   174 +
 src/platform/linux/platform.c           |  2176 ++++++
 src/platform/minix/platform-minix.h     |    25 +
 src/platform/minix/platform.c           |   126 +
 src/platform/netbsd/platform-netbsd.h   …

Procenv 0.43 released

(Cough... This should probably be called the "I-almost-forgot-I-had-a-blog release"! :-)

Development has now moved to github:

https://github.com/jamesodhunt/procenv So you can grab the release files here:

https://github.com/jamesodhunt/procenv/releases
The move to github brings a few advantages, including Travis-CI integration:

https://travis-ci.org/jamesodhunt/procenv
(btw - does anyone know of a CI solution for FreeBSD?) Even more awesome being that, thanks to the wonder of webhooks, procenv is now building for lots of distros. Take a look at:

https://build.opensuse.org/package/show/home:jamesodhunt:procenv/procenv So you get to see the environment those builds run in and OBS is also providing procenv packages!

Here's the funky download page (just click your distro):

https://software.opensuse.org/download.html?project=home%3Ajamesodhunt%3Aprocenv&package=procenv Caveat emptor: those packages are building off the tip, so are not necessarily releases - they are built from …

procenv update

Earlier today I released procenv 0.34. Quite a bit has changed since version 0.27 including:
Recognises AARCH64, SuperH (fix), PPC64, PPCspe, PPC64LE, OpenRISC systems.Added symbolic names in '--ranges'.Displays Linux binary personality (and flags).Improved '--capabilities' output showing not only bounding set, but also whether each capability is supported, permitted, effective and inheritable values.Added '--memory' which shows NUMA memory details.Added '--cpu' which displays CPU affinity details.Added rpm spec file allowing it to build on RHEL5, Fedora, etc.Improved '--sizeof' which now shows lots more standard types.Displays FreeBSD Capsicum capabilities.Lots of fixes. Version 0.34 is now available in Debian sid whilst Ubuntu Trusty will be released with procenv 0.33 (which lacks the binary personality information).

Take a look at the links on the main procenv page to see the different environments that it is currently building in (the build …

Procenv 0.27 released

Procenv 0.27 has been released. This release introduces a raft of new features...

IPC  It is now possible to display details of the following IPC mechanisms:

message queuessemaphores shared memory Alas, this feature is not available on BSD's as yet partly since there appears to be no documented way to query these mechanisms.

Output Categories
The introduction of the IPC categories brings the total number of output categories to 32:
metaargumentscapabilitiescgroupsclockscompilerconfstrenvironmentfile descriptorslibrarieslimitslocalemiscmessage queuesmountsnetworkoomplatformprocessrangesrusagesemaphoresshared memorysignalssizeofstatsysconfthreadstimetimezonettyuname Highly-Structured Output The code that handles procenv has been completely rewritten so that all output is highly structured. So, rather than displaying file descriptors like this:

$ procenv --fds fds: fd 0: terminal=yes ('/dev/pts/12') fd 1: terminal=no fd 2: terminal=yes ('/dev/pts/12') fds (linux/…

procenv 0.26 released

Version 0.26 of the procenv utility is now available.

Changes:

Check to determine if running on a console now works for FreeBSD/kFreeBSD too.Added ability to show all arguments (-A/--arguments)
(useful when using --exec).Added ability to display network details (-N/--network).Added BSD/Hurd-specific signals.Corrected output sort order.Mount details now include block, inode and fsck details. There are now 29 categories of environment information displayed when procenv is run (on Linux).

Grab it from:

https://launchpad.net/procenv/ This update should appear in Debian, Ubuntu and FreeBSD soon...

Upstart 1.10 released

Lots of goodness in this release (explanatory posts to follow):

upstart-local-bridge: New bridge for starting jobs on local socket connections.upstart-dconf-bridge: New bridge for Session Inits to react to dconf/gsettings changes.upstart-dbus-bridge: New '--bus-name' option to allow bus name variable to be included in dbus-event(7).New "reload signal" stanza to allow jobs to specify a custom signal that will be sent to the main process (rather than the default SIGHUP).Inclusion of Session Init sample jobs.Re-exec fixes for handling chroot sessions.Shutdown fix for Session Inits.New python3 module and accompanying integration test suite for testing Upstart running as PID 1 and as a Session Init (privileged and non-privileged).
The Upstart cookbook has been updated for this release.