Using bashmount-1.6.2 with udevil-0.4.2 (or greater)

Wed, 02/12/2014 - 09:21 -- admin


Lately I became fed with all the consolekit disturbances, and decided to finally get rid of it. It has already had its chance but failed misserably, and I am not going to engage into systemd, I have no need of that. So, I started to look for alternatives, and found udevil, which does many things. In first place, it can automount. And then, it allows for 'umounting' as a user. There are also many goodies, like mounting of ISO fs's, sshfs, ftp via curlftpfs and a few others.

It works very well with spacefm, which is another extra goodie that might come in handy (even though I rarelly use a GUI file manager).

The problem is was that, just like with the pmount+uam binomial, there's no frontend to udevil (other than spacefm, that is, and using a file manager just to mount disks doesn't seem to convenient).

On the other hand, I like bashmount. I have become accustomed to it, but it is based on 'udisks'.

So I decided to take a look and see how udevil and udisks compare, and how hard it would be to 'port' the bash script to udevil. It turned out to be pretty simple. Mostly 's/udisks/udevil'. That's because udevil seem to mimic pretty well not only the udisks syntax, but also its output.

There were a couple of things, though... In udevil, the --enumerate-device-files parameter of udisks (which basmount uses internally) is not available until udevil-0.4.2, in gentoo there's 0.4.3 keyworded unstable, so we have to use that. The stable udevil-0.4.1 won't do. Also, that parameter is handled by devmon, not udevil itself. Some parameter re-ordering was needed as well, since udevil seems to want the --mount parameter to be the first in any given command line.

After a few minutes, I launched bashmount and it just worked. I must say I only tested the rather limited subset of functions I use (mostly mount and umount pendrives). So, the rest is completely untested. I am willing to fix bugs as time permits if you report them, so, just go ahead and try :)

You can download the ebuild plus the patch here. If you don't use Gentoo, just pick the patch from the files/ subdirectory and use it against bashmount 1.6.2.

I hope you like it. Thanks for reading :)