Changeset 3a575ab5


Ignore:
Timestamp:
01/19/2007 04:05:59 PM (17 years ago)
Author:
Alexander E. Patrakov <alexander@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
Children:
9a9d136c
Parents:
8f1faf9f
Message:

Fixed UTF-8 issues and bash-3.2 compatibility in mc.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@6433 af4574ff-66df-0310-9fd7-8a98e5e911e0

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • general.ent

    r8f1faf9f r3a575ab5  
    44-->
    55
    6 <!ENTITY day          "18">                   <!-- Always 2 digits -->
     6<!ENTITY day          "19">                   <!-- Always 2 digits -->
    77<!ENTITY month        "01">                   <!-- Always 2 digits -->
    88<!ENTITY year         "2007">
  • general/sysutils/mc.xml

    r8f1faf9f r3a575ab5  
    3636    full power of the command prompt.</para>
    3737
    38     <caution>
    39       <para>The <application>MC</application> package has major issues when
    40       used in a UTF-8 based locale because it assumes the characters are
    41       always one byte wide.  See <ulink url="&files-anduin;/mc-bad.png">this
    42       screenshot</ulink> (taken in a ru_RU.UTF-8 locale).
    43       See the <ulink url="&blfs-wiki;/MC">MC Wiki</ulink> page for a way
    44       to work around these problems.
    45       For a general discussion of these types of issues, see
    46       the <xref linkend="locale-issues"/> page.</para>
    47     </caution>
    48 
    4938    <bridgehead renderas="sect3">Package Information</bridgehead>
    5039    <itemizedlist spacing="compact">
     
    6958    </itemizedlist>
    7059
     60    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
     61    <itemizedlist spacing="compact">
     62      <listitem>
     63        <para>Required patch: <ulink
     64        url="&patch-root;/mc-&mc-version;-bash32-1.patch"/></para>
     65      </listitem>
     66      <listitem>
     67        <para>Recommended Patch: <ulink
     68        url="&patch-root;/mc-&mc-version;-debian_fixes-1.patch"/></para>
     69      </listitem>
     70    </itemizedlist>
     71
     72    <bridgehead renderas="sect3">Do I Need the Debian Patch?</bridgehead>
     73    <para>Midnight Commander without the Debian patch is completely unusable
     74    in multibyte locales because it assumes that characters and
     75    bytes are the same thing. The issue manifests itself as massive screen
     76    contents corruption similar to what is depicted in
     77    <ulink url="&files-anduin;/mc-bad.png">this screenshot</ulink>
     78    (taken in the ru_RU.UTF-8 locale). For a general discussion of this type
     79    of issues, see the <xref linkend="locale-issues"/> page. The Debian patch
     80    mostly fixes this issue, and adds support for recoding remote FTP
     81    filenames. Debian also fixed 64-bit issues, rare segfaults in
     82    <command>mcedit</command>, and improved syntax highlighting.</para>
     83   
     84    <para>If you do not use a multibyte locale and do not need any of the new
     85    features or fixes, the patch is still supposed to be harmless.
     86    However, the patch changes the dependencies and build instructions, and
     87    in the past it caused unacceptable regressions for non-UTF-8 locale users.
     88    Thus, failsafe instructions without the patch are left in the book just
     89    in case. Due to the size and unofficial nature of the patch, please
     90    do not report bugs in the patched MC to the original MC developers.</para>
     91
    7192    <bridgehead renderas="sect3">MC Dependencies</bridgehead>
    7293
    7394    <bridgehead renderas="sect4">Required</bridgehead>
    74     <para role="required"><xref linkend="GLib"/> or
     95    <para role="required"><xref linkend="GLib"/> (untested with Debian patch) or
    7596    <xref linkend="glib2"/></para>
    7697
     
    79100    <xref linkend="x-window-system"/>,
    80101    <xref linkend="samba3"/>,
    81     <xref linkend="slang"/>,
     102    <xref linkend="slang"/> (required when building with Debian patch),
    82103    <xref linkend="zip"/>,
    83104    <xref linkend="unzip"/>, and
     
    92113    <title>Installation of MC</title>
    93114
     115    <para>Fix incompatibility of MC-&mc-version; with Bash-3.2:</para>
     116<screen><userinput>patch -Np1 -i ../mc-&mc-version;-bash32-1.patch</userinput></screen>
     117
     118    <para>If desired, apply Debian fixes:</para>
     119<screen><userinput>patch -Np1 -i ../mc-&mc-version;-debian_fixes-1.patch</userinput></screen>
     120
    94121    <para>Install <application>MC</application> by
    95122    running the following commands:</para>
    96123
    97 <screen><userinput>./configure --prefix=/usr &amp;&amp;
    98 make</userinput></screen>
     124<screen><userinput>CPPFLAGS="-DUTF8" ./configure --prefix=/usr \
     125            --enable-charset &amp;&amp;
     126make
     127</userinput></screen>
     128
     129    <para>MC with Debian patches expects its documentation to be stored in the
     130    UTF-8 encoding on disk, and automatically converts it to the locale
     131    encoding when displaying on the terminal. This is different from the
     132    expectations of the unpatched MC, so the documentation files have to be
     133    converted if (and only if) the Debian patch has been applied:</para>
     134<screen><userinput>convert-mans ISO-8859-1 UTF-8 lib/mc.hint{,.es,.it,.nl} &amp;&amp;
     135convert-mans ISO-8859-2 UTF-8 lib/mc.hint{.cs,.hu,.pl} &amp;&amp;
     136convert-mans ISO-8859-5 UTF-8 lib/mc.hint.sr &amp;&amp;
     137convert-mans KOI8-R UTF-8 lib/mc.hint.ru &amp;&amp;
     138convert-mans KOI8-U UTF-8 lib/mc.hint.uk &amp;&amp;
     139convert-mans BIG5 UTF-8 lib/mc.hint.zh &amp;&amp;
     140convert-mans ISO-8859-1 UTF-8 doc/{es,it}/mc.hlp.* &amp;&amp;
     141convert-mans ISO-8859-2 UTF-8 doc/{hu,pl}/mc.hlp.* &amp;&amp;
     142convert-mans ISO-8859-5 UTF-8 doc/sr/mc.hlp.sr &amp;&amp;
     143convert-mans KOI8-R UTF-8 doc/ru/mc.hlp.ru</userinput></screen>
    99144
    100145    <para>This package does not come with a test suite.</para>
     
    102147    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
    103148
    104 <screen role="root"><userinput>make install</userinput></screen>
     149<screen role="root"><userinput>make install &amp;&amp;
     150chmod 1755 /usr/lib/mc/cons.saver</userinput></screen>
     151
     152  </sect2>
     153
     154  <sect2 role="commands">
     155    <title>Command Explanations</title>
     156   
     157    <para><parameter>CPPFLAGS="-DUTF8"</parameter>: This parameter activates
     158    UTF-8 support in the Debian patch and has no effect without this patch.</para>
     159
     160    <para><parameter>--enable-charset</parameter>: This option adds support
     161    to <command>mcedit</command> for editing files in encodings different from the one implied
     162    by the current locale. This feature works in non-UTF-8 locales only,
     163    even with the Debian patch.</para>
     164   
     165    <para><parameter>--with-screen=(slang|mcslang|ncurses)</parameter>: This
     166    parameter selects the screen library used by MC. NCurses support is
     167    currently buggy (MC does not handle mouse events in xterm correctly).
     168    UTF-8 support in the Debian patch is functional
     169    only when external <xref linkend="slang"/> is used as a screen library
     170    (this is the default).</para>
     171   
     172    <para><parameter>--with-codepagedir=DIR</parameter>: This parameter was useful
     173    only with SAMBA-2.x. New versions of SAMBA do not have codepage files.</para>
     174   
     175    <para><command>chmod 1755 /usr/lib/mc/cons.saver</command>: The
     176    <command>cons.saver</command> program on LFS has to be installed setuid root,
     177    because on LFS regular users have no access to <filename>/dev/vcsa*</filename>
     178    devices. This step is optional if MC is going to be started from X terminal
     179    emulators or ssh sessions only (thus rendering the <command>cons.saver</command>
     180    binary completely unneeded).</para>
     181
     182    <!-- Other distributions make the devices owned by the vcsa group
     183         and make the cons.saver program setgid vcsa instead -->
    105184
    106185  </sect2>
     
    142221
    143222      <seglistitem>
    144         <seg>mc, mcedit, mcmfmt, and mcview</seg>
     223        <seg>cons.saver, mc, mcedit, mcmfmt, and mcview</seg>
    145224        <seg>None</seg>
    146225        <seg>/usr/share/mc and /usr/lib/mc</seg>
     
    153232      <?dbhtml list-presentation="table"?>
    154233
     234      <varlistentry id="conssaver">
     235        <term><command>cons.saver</command></term>
     236        <listitem>
     237          <para>is used internally by <command>mc</command> for saving and
     238          restoring the text behind the panels on Linux text console.</para>
     239          <indexterm zone="mc conssaver">
     240            <primary sortas="b-conssaver">cons.saver</primary>
     241          </indexterm>
     242        </listitem>
     243      </varlistentry>
     244
    155245      <varlistentry id="mc-prog">
    156246        <term><command>mc</command></term>
     
    173263      </varlistentry>
    174264
     265      <varlistentry id="mcmfmt">
     266        <term><command>mcmfmt</command></term>
     267        <listitem>
     268          <para>is used internally by <command>mcview</command> when viewing mailbox files.</para>
     269          <indexterm zone="mc mcmfmt">
     270            <primary sortas="b-mcmfmt">mcmfmt</primary>
     271          </indexterm>
     272        </listitem>
     273      </varlistentry>
     274
    175275      <varlistentry id="mcview">
    176276        <term><command>mcview</command></term>
  • introduction/welcome/changelog.xml

    r8f1faf9f r3a575ab5  
    4343
    4444    <listitem>
     45      <para>January 19th, 2007</para>
     46      <itemizedlist>
     47        <listitem>
     48          <para>[alexander] - Added Debian patch and bash-3.2
     49          compatibility patch to MC. Fixes #2189.</para>
     50        </listitem>
     51      </itemizedlist>
     52    </listitem>
     53
     54    <listitem>
    4555      <para>January 18th, 2007</para>
    4656      <itemizedlist>
Note: See TracChangeset for help on using the changeset viewer.