2015 update:The following post is somewhat redundant, MobaTek's dedicated team of developers already adpated a working port of apt-cyg including all of the steps below (sans the plugin packaging), preventing the need to pack your own plugins. however plugins can still be created to supply different versioning and configuration deployments where needed.
2013 Mar 29th
2013 Mar 29th
If you don’t know MobaXterm, here are a couple of words from their Developer’s website
MobaXterm is an enhanced terminal for Windows with an X11 server, a SSH client and several other network tools for remote computing (VNC, RDP, telnet, rlogin). MobaXterm brings all the essential Unix commands to Windows desktop, in a single portable exe file which works out of the box.MobaXterm provides useful features for developers, sysadmins, webmasters and advanced computer users:multitab terminal with embedded Unix commands (ls, cd, cat, sed, grep, awk, rsync, wget, …)
embedded X11 server for easily exporting your Unix/Linux display
a session manager with several network utilities: SSH, RDP, VNC, Telnet, Rlogin, FTP, SFTP and XDMCP
passwords management for SSH, RDP, VNC, SFTP (on demand password saving)
easy graphical file transfer using drag and drop during SSH sessions
advanced SSH tunnels creation tool (graphical port forwarding builder)
tasks automation using scripts or macros
I stumbled upon them when I was looking for an X-server solution for a friend which hadn’t the time nor the energy to setup his own cygwin/xterm/virtualbox. as I have dug into the spec and features, my passion grew stronger about this product as it seemed to be tailored for my own desires and needs.
in order to make myself feel at home using it, I had to know I am able to maintain my environment and to have the packages and libraries I need for my tasks, and the ability to control them, as it appears, their plugin system fits like a glove.
The concept is of a sandbox, whenever you start the program you get a clean-slate, vanilla instance of cygwin with some basic needed components, and if you have any plugins in your plugin directory, they are being loaded freshly every time. This does not mean you don’t have a persistent workspace as the program cleverly lets you dedicate a folder from your computer to be the ‘bridge’ or the home folder of your mobaxterm.
Here’s my take on building a mobaxterm plugin, it is very basic and relies heavily on a separate instance of cygwin which you can download from here.
1. install a cygwin instance, keep it minimal but with some tools you’ll probably want for the packaging process (I used tar, gz, wget, apt-cyg…)
2. in your cygwin prompt install apt-cyg. it is helpful for installing packages to your cygwin, and to get list of prerequisites for your op to work.
3. install the program you would like to pack ( technically you could build rather then pull ready packages, you may have to use it for some software cygwin/redhat had not patched and optimized to cygwin but my guess is you won’t need it anytime soon )
apt-cyg install package
4. after the package is installed, we know that all of our dependecies are met since apt-cyg is a good package manager. we would like to compile the list of software to pack. I do it by querying the apt-cyg db. i.e.
I would then go through with this for every pack then recursively in the bold list. and when I have compiled a list of libraries, and apps I will continue to compiling a list of the needed files.
save the liblist file in a clean empty folder, we are getting to the secret sauce now.
Thats it, (hopefully XD) now just zip the files and folders (leave out liblist filelist and createlist) and rename the zip into .mxt3 and you should be good with your packed software.
This worked for me for building an irssi plugin which you can download here.