This Time Self-Hosted
dark mode light mode Search

Making use of all you can

Okay, so today I continued my work on unieject. I started some days ago adding a new function, to lock/unlock the tray of the CD-Rom, similarly as done by cdctl -o option. Unfortunately, also if I was sure of the MMC command to send, and I checked twice in the Linux kernel and in the headers of Microsoft’s DDK, the command was just ignored… today, Ghisha remembered me that Linux whitelists just a bunch of MMC commands, so I tried unieject on the FBSD.. and it worked fine… groan.

Now unieject does the locking on Linux using a workaround, hoping that the ALLOW_MEDIUM_REMOVAL command can be whitelisted in the future.

Unfortunately adding the command to the manpage I found that for some reason txt2man was not working as intended anymore :/ So I remembered that there was a kind of xml2man thing somewhere… I googled and found xml2man command from Apple… looked at it on my iBook, and it seemed to be what I was looking for. For linux I found an xml2man perl script, but not compatible… so, being that APSL… I took the sources, written a and a and then released on project page an autotooled version called mxml2man (mxml is the name of the XML format used to create manpages, according to the documentation, this name is different from the original to not collide with xml2man script that I told of above).

This is something that I really like 🙂 A tool that is not GNU not even Linux native is now working fine on both Gentoo/Linux and Gentoo/FreeBSD with minimal change (a couple of includes changed from sys/dirent.h to dirent.h). Perhaps the same work can be done by a good xsl stylesheet, but I’m not yet good enough with them to prepare one, so if someone wants to try, feel free, if it can be replaced by an XSL I would really like to use it.

Oh no, you won’t find this in portage for now, I think I’ll add that later, I still have to use it for unieject and I’ll probably not make it a build dependency.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.