======================== Midnight Commander extfs ======================== Those are Midnight Commander extfs plugins for handling several archive types mostly known from AmigaOS - like **lha**, **lzx** and disk images like **adf** and **dms**. Installation ============ See individual installation plugins below. Basically it comes down to: * copying ``extfslib.py`` and plugin files to ``~/.local/share/mc/extfs.d/`` * installing binary handlers (lha, unlzx, xdms and unadf) * adding an entry in ``~/.config/mc/mc.ext``:: # arch regex/\.pattern$ Open=%cd %p/handler_filename:// ULha ==== ULha is an extfs plugin which can be used with lha/lzh/lharc archives. Personally, I've use it almost exclusively for archives created long time ago on my Amiga. Both reading from and writing into archive was implemented. Requirements ------------ ULha requires `free lha `_ implementation to work. Installation ------------ * copy ``extfslib.py`` and ``ulha`` to ``~/.local/share/mc/extfs.d/`` * add or change entry for files handle in ``~/.config/mc/mc.ext``:: # lha regex/\.[lL]([Hh][aA]|[Zz][hH])$ Open=%cd %p/ulha:// View=%view{ascii} lha l %f ULzx ==== ULzx is an extfs plugin which can be used to browse and extract lzx archives, which are known almost exclusively from Amiga. Due to limitations of `unlzx `_ tools, only reading is supported. Also be aware, that `unlzx `_ cannot extract files individually, so copying entire archive content is not recommended, since on every single file a full archive extract would be performed, which in the end would have impact on performance. Requirements ------------ ULzx requires `unlzx `_ tool. Installation ------------ * copy ``extfslib.py`` and ``ulzx`` to ``~/.local/share/mc/extfs.d/`` * add or change entry for files handle in ``~/.config/mc/mc.ext``:: # lzx regex/\.[lL][zZ][xX]$ Open=%cd %p/ulzx:// View=%view{ascii} unlzx -v %f UAdf ==== UAdf is an extfs plugin suitable for reading .adf, .adz and .dms Amiga floppy disk images. Due to limitations of the `unadf `_, file access inside disk image is read only. In case of corrupted or no-dos images, message will be shown. Requirements ------------ It requires ``unadf`` utility from `ADFlib `_ repository, with included `that commit `_ in particular, which introduced separation between filename and comment attribute on Amiga Fast File System. If it turns out that your distribution doesn't provide proper version of ADFlib, there will be a need for building it by hand. It may be done by using following steps: #. Grab the `sources `_ and `patches `_ from `Debian repository `_. #. Extract ``unadf_0.7.11a-3.debian.tar.gz`` and ``unadf_0.7.11a.orig.tar.gz`` into some temporary directory:: $ mkdir temp $ cd temp $ tar zxf ~/Downloads/unadf_0.7.11a-3.debian.tar.gz $ tar zxf ~/Downloads/unadf_0.7.11a.orig.tar.gz $ cd unadf-0.7.11a #. Apply Debian patches:: $ for i in `cat ../debian/patches/series`; do > patch -Np1 < "../debian/patches/${i}" > done #. Apply the patch from extras directory:: $ patch -Np1 < [path_to_this_repo]/extras/unadf_separate_comment.patch $ make $ cp Demo/unadf [destination_path] #. Place ``unadf`` binary under directory reachable by ``$PATH``. For optional dms support, `xdms `_ utility is needed. Installation ------------ * copy ``extfslib.py`` and ``uadf`` to ``~/.local/share/mc/extfs.d/`` * add or change entry for files handle in ``~/.config/mc/mc.ext``:: # adf type/^Amiga\ .* disk Open=%cd %p/uadf:// View=%view{ascii} unadf -lr %f # adz regex/\.([aA][dD][zZ])$ Open=%cd %p/uadf:// # dms regex/\.([dD][mM][sS])$ Open=%cd %p/uadf:// License ======= This software is licensed under 3-clause BSD license. See LICENSE file for details.