mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 15:12:11 +08:00
3b10fa875d
Return glib2 to latest stable: glib-2.30.1. git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8937 af4574ff-66df-0310-9fd7-8a98e5e911e0
318 lines
12 KiB
XML
318 lines
12 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
|
|
<!ENTITY mc-download-http "http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-&mc-version;.tar.gz">
|
|
<!ENTITY mc-download-ftp "ftp://ftp.uni-koeln.de/util/shell/mc-&mc-version;.tar.gz">
|
|
<!ENTITY mc-md5sum "18b20db6e40480a53bac2870c56fc3c4">
|
|
<!ENTITY mc-size "3.8 MB">
|
|
<!ENTITY mc-buildsize "29 MB">
|
|
<!ENTITY mc-time "0.4 SBU">
|
|
]>
|
|
|
|
<sect1 id="mc" xreflabel="MC-&mc-version;">
|
|
<?dbhtml filename="mc.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>MC-&mc-version;</title>
|
|
|
|
<indexterm zone="mc">
|
|
<primary sortas="a-MC">MC</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to MC</title>
|
|
|
|
<para><application>MC</application> (Midnight Commander) is a text-mode
|
|
full-screen file manager and visual shell. It provides a clear,
|
|
user-friendly, and somewhat protected interface to a Unix system while
|
|
making many frequent file operations more efficient and preserving the
|
|
full power of the command prompt.</para>
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>Download (HTTP): <ulink url="&mc-download-http;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download (FTP): <ulink url="&mc-download-ftp;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download MD5 sum: &mc-md5sum;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download size: &mc-size;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated disk space required: &mc-buildsize;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated build time: &mc-time;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>Required patch: <ulink
|
|
url="&patch-root;/mc-&mc-version;-bash32-1.patch"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Recommended Patch: <ulink
|
|
url="&patch-root;/mc-&mc-version;-debian_fixes-1.patch"/></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Do I Need the Debian Patch?</bridgehead>
|
|
<para>Midnight Commander without the Debian patch is completely unusable
|
|
in multibyte locales because it assumes that characters and
|
|
bytes are the same thing. The issue manifests itself as massive screen
|
|
content corruption similar to what is depicted in
|
|
<ulink url="&files-anduin;/mc-bad.png">this screenshot</ulink>
|
|
(taken in the ru_RU.UTF-8 locale). For a general discussion of this type
|
|
of issue, see the <xref linkend="locale-wrong-multibyte-characters"/>
|
|
section of the <xref linkend="locale-issues"/> page. The Debian patch
|
|
mostly fixes this issue, and adds support for recoding remote FTP
|
|
filenames. Debian also fixed 64-bit issues, rare segfaults in
|
|
<command>mcedit</command>, and improved syntax highlighting.</para>
|
|
|
|
<para>If you do not use a multibyte locale and do not need any of the new
|
|
features or fixes, the patch is still supposed to be harmless.
|
|
However, the patch changes the dependencies and build instructions, and
|
|
in the past it caused unacceptable regressions for non-UTF-8 locale users.
|
|
Thus, failsafe instructions without the patch are left in the book just
|
|
in case. Due to the size and unofficial nature of the patch, please
|
|
do not report bugs in the patched <application>MC</application> to the
|
|
original <application>MC</application> developers.</para>
|
|
|
|
<bridgehead renderas="sect3">MC Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required"><!-- <xref linkend="GLib"/> (untested with Debian patch) or -->
|
|
<xref linkend="glib2"/></para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional"><xref linkend="gpm"/>,
|
|
<xref linkend="x-window-system"/>,
|
|
<xref linkend="samba3"/>,
|
|
<xref linkend="slang"/> (required when building with Debian patch),
|
|
<xref linkend="zip"/>,
|
|
<xref linkend="unzip"/>, and
|
|
<!-- <xref linkend="gnome-libs"/> -->
|
|
<ulink url="&gnome-download-http;/gnome-libs/1.4/">GNOME
|
|
Libraries-1.4</ulink></para>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/MC"/></para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of MC</title>
|
|
|
|
<para>Fix incompatibility of <application>MC</application>-&mc-version;
|
|
with <application>Bash</application>-3.2:</para>
|
|
|
|
<screen><userinput>patch -Np1 -i ../mc-&mc-version;-bash32-1.patch</userinput></screen>
|
|
|
|
<para>If desired, apply Debian fixes:</para>
|
|
|
|
<screen><userinput>patch -Np1 -i ../mc-&mc-version;-debian_fixes-1.patch</userinput></screen>
|
|
|
|
<para>Install <application>MC</application> by
|
|
running the following commands:</para>
|
|
|
|
<screen><userinput>CPPFLAGS="-DUTF8" ./configure --prefix=/usr \
|
|
--enable-charset &&
|
|
make</userinput></screen>
|
|
|
|
<para><application>MC</application> with Debian patches expects its
|
|
documentation to be stored in UTF-8 encoding on disk, and automatically
|
|
converts it to the locale encoding when displaying on the terminal. This
|
|
is different from the expectations of the unpatched
|
|
<application>MC</application>, so the documentation files have to be
|
|
converted if (and only if) the Debian patch has been applied:</para>
|
|
|
|
<!-- The proposed (untested) fix...somebody who uses MC please verify -->
|
|
<screen><userinput>for file in lib/mc.hint{,.es,.it,.nl} doc/{es,it}/mc.hlp.*
|
|
do
|
|
iconv -f ISO-8859-1 -t UTF-8 ${file} > ${file}.utf8 &&
|
|
mv ${file}.utf8 ${file}
|
|
done &&
|
|
for file in lib/mc.hint{.cs,.hu,.pl} doc/{hu,pl}/mc.hlp.*
|
|
do
|
|
iconv -f ISO-8859-2 -t UTF-8 ${file} > ${file}.utf8 &&
|
|
mv ${file}.utf8 ${file}
|
|
done &&
|
|
for file in lib/mc.hint.sr doc/sr/mc.hlp.sr
|
|
do
|
|
iconv -f ISO-8859-5 -t UTF-8 ${file} > ${file}.utf8 &&
|
|
mv ${file}.utf8 ${file}
|
|
done &&
|
|
for file in doc/ru/mc.hlp.ru lib/mc.hint.ru
|
|
do
|
|
iconv -f KOI8-R -t UTF-8 ${file} > ${file}.utf8 &&
|
|
mv ${file}.utf8 ${file}
|
|
done &&
|
|
iconv -f KOI8-U -t UTF-8 lib/mc.hint.uk > lib/mc.hint.uk.utf8 &&
|
|
mv lib/mc.hint.uk.utf8 lib/mc.hint.uk &&
|
|
iconv -f BIG5 -t UTF-8 lib/mc.hint.zh > lib/mc.hint.zh.utf8 &&
|
|
mv lib/mc.hint.zh.utf8 lib/mc.hint.zh</userinput></screen>
|
|
|
|
<para>This package does not come with a test suite.</para>
|
|
|
|
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
|
|
|
|
<screen role="root"><userinput>make install &&
|
|
chmod 1755 /usr/lib/mc/cons.saver</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para><parameter>CPPFLAGS="-DUTF8"</parameter>: This parameter activates
|
|
UTF-8 support in the Debian patch and has no effect without this
|
|
patch.</para>
|
|
|
|
<para><parameter>--enable-charset</parameter>: This option adds support
|
|
to <command>mcedit</command> for editing files in encodings different
|
|
from the one implied by the current locale. This feature works in
|
|
non-UTF-8 locales only, even with the Debian patch.</para>
|
|
|
|
<para><parameter>--with-screen=(slang|mcslang|ncurses)</parameter>: This
|
|
parameter selects the screen library used by <application>MC</application>.
|
|
<application>NCurses</application> support is
|
|
currently buggy (MC does not handle mouse events in xterm correctly).
|
|
UTF-8 support in the Debian patch is functional
|
|
only when external <xref linkend="slang"/> is used as a screen library
|
|
(this is the default).</para>
|
|
|
|
<para><parameter>--with-codepagedir=DIR</parameter>: This parameter was
|
|
useful only with <application>SAMBA</application>-2.x. New versions of
|
|
<application>SAMBA</application> do not have codepage files.</para>
|
|
|
|
<para><command>chmod 1755 /usr/lib/mc/cons.saver</command>: The
|
|
<command>cons.saver</command> program has to be installed setuid
|
|
root, because on LFS regular users have no access to
|
|
<filename>/dev/vcsa*</filename> devices. This step is optional if
|
|
<application>MC</application> is going to be started from X terminal
|
|
emulators or <command>ssh</command> sessions only (thus rendering the
|
|
<command>cons.saver</command> binary completely unneeded).</para>
|
|
|
|
<!-- Other distributions make the devices owned by the vcsa group
|
|
and make the cons.saver program setgid vcsa instead -->
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring MC</title>
|
|
|
|
<sect3 id="mc-config">
|
|
<title>Config Files</title>
|
|
|
|
<para><filename>~/.mc/*</filename></para>
|
|
|
|
<indexterm zone="mc mc-config">
|
|
<primary sortas="e-AA..mc/*">~/..mc/*</primary>
|
|
</indexterm>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Configuration Information</title>
|
|
|
|
<para>The <filename class="directory">~/.mc</filename> directory and
|
|
its contents are created when you start <command>mc</command> for the
|
|
first time. Then you can edit the main <filename>~/.mc/ini</filename>
|
|
configuration file manually or through the <application>MC</application>
|
|
shell. Consult the mc(1) man page for details.</para>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>cons.saver, mc, mcedit, mcmfmt, and mcview</seg>
|
|
<seg>None</seg>
|
|
<seg>/usr/share/mc and /usr/lib/mc</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="conssaver">
|
|
<term><command>cons.saver</command></term>
|
|
<listitem>
|
|
<para>is used internally by <command>mc</command> for saving and
|
|
restoring the text behind the panels on Linux text console.</para>
|
|
<indexterm zone="mc conssaver">
|
|
<primary sortas="b-conssaver">cons.saver</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="mc-prog">
|
|
<term><command>mc</command></term>
|
|
<listitem>
|
|
<para>is a visual shell.</para>
|
|
<indexterm zone="mc mc-prog">
|
|
<primary sortas="b-mc">mc</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="mcedit">
|
|
<term><command>mcedit</command></term>
|
|
<listitem>
|
|
<para>is an internal file editor.</para>
|
|
<indexterm zone="mc mcedit">
|
|
<primary sortas="b-mcedit">mcedit</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="mcmfmt">
|
|
<term><command>mcmfmt</command></term>
|
|
<listitem>
|
|
<para>is used internally by <command>mcview</command> when viewing
|
|
mailbox files.</para>
|
|
<indexterm zone="mc mcmfmt">
|
|
<primary sortas="b-mcmfmt">mcmfmt</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="mcview">
|
|
<term><command>mcview</command></term>
|
|
<listitem>
|
|
<para>is an internal file viewer.</para>
|
|
<indexterm zone="mc mcview">
|
|
<primary sortas="b-mcview">mcview</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|