Mon Oct 18 13:36:45 2021 UTC ()
mc: 4.8.27

Version 4.8.27

- Core

    * Minimal version of Autoconf is 2.64
    * Minimal version of Automake is 1.12
    * Minimal version of Gettext is 0.18.2
    * Minimal version of libssh2 is 1.2.8
    * Reimplement version detection
    * Significantly reduce rebuilt time after version change
    * Drop automatic migration of configuration from ~/.mc to XDG-based directories
    * zsh: support custom configuration file: ~/.local/share/mc/.zshrc
    * Widgets: implement WST_VISIBLE state to show/hide widgets
    * "Find File": add "Follow symlinks" option

- VFS

    * extfs: support unrar-6
    * extfs: support official 7z binary
    * ftpfs: apply file list parser from lftp project

- Editor

    * Word completion: get candidates from all open files
    * etags: get rid of hardcoded list length and window width
    * Update syntax files:
        - Python
    * Add syntax highlighting:
        - Verilog and SystemVerilog header files
        - JSON
        - openrc-run scripts

- Misc

    * Code clean up
    * Filehighlight of c++ and h++ files as sources
    * Filehighlight of JSON files as documents
    * Support of alacritty terminal emulator (https://github.com/alacritty/alacritty)
    * Support of foot terminal emulator (https://codeberg.org/dnkl/foot)
    * Support of (alt+)shift+arrow keys in st terminal emulator (st.suckless.org)
    * Mouse support in screen: don't check $DISPLAY variable
    * mc.ext: support fb2 e-books
    * ext.d: use mediainfo to view info about various media files
    * Remove OS/distro-specific package-related stuff from source tree

- Fixes

    * FTBFS against NCurses on OS X 10.9.5
    * Segfault on dialog before panels get visible
    * Crash if shadow is out of screen (build against NCurses)
    * Crash in search
    * Crash on startup with enabled subshell in FreeBSD (workaround)
    * Hang on start randomly with zsh as subshell
    * If command line is invisible it's partially displayed
    * Broken handling of zip archives
    * Broken handling of jar files as zip archives
    * Timestamps of symlinks, sockets, fifos, etc are not preserved after copy/move
    * %view action in the user menu doesn't work on no-exec filesystem
    * Hardlinks are not colored by file type or extension
    * mcedit: silent macro makes terminal disrupted
    * mcedit: disrupting of TAGS file path
    * vfs: unable to browse compressed tar archives
    * sftpfs vfs: CVE-2021-36370: server fingerprint isn't verified (discovered by AUT-milCERT during an audit of open source software)
    * ftpfs vfs: month of file is always January
    * Tests: log files are written by libcheck and automake simultaneously


(nia)
diff -r1.123 -r1.124 pkgsrc/sysutils/mc/Makefile
diff -r1.21 -r1.22 pkgsrc/sysutils/mc/PLIST
diff -r1.40 -r1.41 pkgsrc/sysutils/mc/distinfo
diff -r1.2 -r1.3 pkgsrc/sysutils/mc/patches/patch-src_subshell_common.c

cvs diff -r1.123 -r1.124 pkgsrc/sysutils/mc/Makefile (expand / switch to unified diff)

--- pkgsrc/sysutils/mc/Makefile 2021/09/29 19:01:21 1.123
+++ pkgsrc/sysutils/mc/Makefile 2021/10/18 13:36:45 1.124
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.123 2021/09/29 19:01:21 adam Exp $ 1# $NetBSD: Makefile,v 1.124 2021/10/18 13:36:45 nia Exp $
2 2
3DISTNAME= mc-4.8.26 3DISTNAME= mc-4.8.27
4PKGREVISION= 2 
5CATEGORIES= sysutils 4CATEGORIES= sysutils
6# Supports HTTPS, but cert is invalid... 5# Supports HTTPS, but cert is invalid...
7MASTER_SITES= http://ftp.midnight-commander.org/ 6MASTER_SITES= http://ftp.midnight-commander.org/
8EXTRACT_SUFX= .tar.xz 7EXTRACT_SUFX= .tar.xz
9 8
10MAINTAINER= cheusov@NetBSD.org 9MAINTAINER= cheusov@NetBSD.org
11HOMEPAGE= https://www.midnight-commander.org/ 10HOMEPAGE= https://www.midnight-commander.org/
12COMMENT= User-friendly file manager and visual shell 11COMMENT= User-friendly file manager and visual shell
13LICENSE= gnu-gpl-v2 12LICENSE= gnu-gpl-v2
14 13
15USE_TOOLS+= pkg-config unzip:run perl:build gmake 14USE_TOOLS+= pkg-config unzip:run perl:build gmake
16GNU_CONFIGURE= yes 15GNU_CONFIGURE= yes
17USE_PKGLOCALEDIR= yes 16USE_PKGLOCALEDIR= yes

cvs diff -r1.21 -r1.22 pkgsrc/sysutils/mc/PLIST (expand / switch to unified diff)

--- pkgsrc/sysutils/mc/PLIST 2021/01/24 16:45:03 1.21
+++ pkgsrc/sysutils/mc/PLIST 2021/10/18 13:36:45 1.22
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1@comment $NetBSD: PLIST,v 1.21 2021/01/24 16:45:03 nia Exp $ 1@comment $NetBSD: PLIST,v 1.22 2021/10/18 13:36:45 nia Exp $
2bin/mc 2bin/mc
3bin/mcdiff 3bin/mcdiff
4bin/mcedit 4bin/mcedit
5bin/mcview 5bin/mcview
6libexec/mc/ext.d/archive.sh 6libexec/mc/ext.d/archive.sh
7libexec/mc/ext.d/doc.sh 7libexec/mc/ext.d/doc.sh
8libexec/mc/ext.d/image.sh 8libexec/mc/ext.d/image.sh
9libexec/mc/ext.d/misc.sh 9libexec/mc/ext.d/misc.sh
10libexec/mc/ext.d/package.sh 10libexec/mc/ext.d/package.sh
11libexec/mc/ext.d/sound.sh 11libexec/mc/ext.d/sound.sh
12libexec/mc/ext.d/text.sh 12libexec/mc/ext.d/text.sh
13libexec/mc/ext.d/video.sh 13libexec/mc/ext.d/video.sh
14libexec/mc/ext.d/web.sh 14libexec/mc/ext.d/web.sh
@@ -185,27 +185,26 @@ share/mc/hints/mc.hint.pl @@ -185,27 +185,26 @@ share/mc/hints/mc.hint.pl
185share/mc/hints/mc.hint.pt 185share/mc/hints/mc.hint.pt
186share/mc/hints/mc.hint.pt_BR 186share/mc/hints/mc.hint.pt_BR
187share/mc/hints/mc.hint.ro 187share/mc/hints/mc.hint.ro
188share/mc/hints/mc.hint.ru 188share/mc/hints/mc.hint.ru
189share/mc/hints/mc.hint.sk 189share/mc/hints/mc.hint.sk
190share/mc/hints/mc.hint.sr 190share/mc/hints/mc.hint.sr
191share/mc/hints/mc.hint.sv 191share/mc/hints/mc.hint.sv
192share/mc/hints/mc.hint.sv_SE 192share/mc/hints/mc.hint.sv_SE
193share/mc/hints/mc.hint.tr 193share/mc/hints/mc.hint.tr
194share/mc/hints/mc.hint.uk 194share/mc/hints/mc.hint.uk
195share/mc/hints/mc.hint.zh 195share/mc/hints/mc.hint.zh
196share/mc/hints/mc.hint.zh_CN 196share/mc/hints/mc.hint.zh_CN
197share/mc/hints/mc.hint.zh_TW 197share/mc/hints/mc.hint.zh_TW
198share/mc/mc.charsets 
199share/mc/mc.lib 198share/mc/mc.lib
200share/mc/skins/dark.ini 199share/mc/skins/dark.ini
201share/mc/skins/darkfar.ini 200share/mc/skins/darkfar.ini
202share/mc/skins/default.ini 201share/mc/skins/default.ini
203share/mc/skins/double-lines.ini 202share/mc/skins/double-lines.ini
204share/mc/skins/featured-plus.ini 203share/mc/skins/featured-plus.ini
205share/mc/skins/featured.ini 204share/mc/skins/featured.ini
206share/mc/skins/gotar.ini 205share/mc/skins/gotar.ini
207share/mc/skins/gray-green-purple256.ini 206share/mc/skins/gray-green-purple256.ini
208share/mc/skins/gray-orange-blue256.ini 207share/mc/skins/gray-orange-blue256.ini
209share/mc/skins/julia256.ini 208share/mc/skins/julia256.ini
210share/mc/skins/mc46.ini 209share/mc/skins/mc46.ini
211share/mc/skins/modarcon16-defbg.ini 210share/mc/skins/modarcon16-defbg.ini
@@ -257,26 +256,27 @@ share/mc/syntax/f90.syntax @@ -257,26 +256,27 @@ share/mc/syntax/f90.syntax
257share/mc/syntax/filehighlight.syntax 256share/mc/syntax/filehighlight.syntax
258share/mc/syntax/fortran.syntax 257share/mc/syntax/fortran.syntax
259share/mc/syntax/glsl.syntax 258share/mc/syntax/glsl.syntax
260share/mc/syntax/go.syntax 259share/mc/syntax/go.syntax
261share/mc/syntax/haskell.syntax 260share/mc/syntax/haskell.syntax
262share/mc/syntax/hive.syntax 261share/mc/syntax/hive.syntax
263share/mc/syntax/html.syntax 262share/mc/syntax/html.syntax
264share/mc/syntax/idl.syntax 263share/mc/syntax/idl.syntax
265share/mc/syntax/ini.syntax 264share/mc/syntax/ini.syntax
266share/mc/syntax/j.syntax 265share/mc/syntax/j.syntax
267share/mc/syntax/jal.syntax 266share/mc/syntax/jal.syntax
268share/mc/syntax/java.syntax 267share/mc/syntax/java.syntax
269share/mc/syntax/js.syntax 268share/mc/syntax/js.syntax
 269share/mc/syntax/json.syntax
270share/mc/syntax/kotlin.syntax 270share/mc/syntax/kotlin.syntax
271share/mc/syntax/latex.syntax 271share/mc/syntax/latex.syntax
272share/mc/syntax/lisp.syntax 272share/mc/syntax/lisp.syntax
273share/mc/syntax/lkr.syntax 273share/mc/syntax/lkr.syntax
274share/mc/syntax/lsm.syntax 274share/mc/syntax/lsm.syntax
275share/mc/syntax/lua.syntax 275share/mc/syntax/lua.syntax
276share/mc/syntax/m4.syntax 276share/mc/syntax/m4.syntax
277share/mc/syntax/mail.syntax 277share/mc/syntax/mail.syntax
278share/mc/syntax/makefile.syntax 278share/mc/syntax/makefile.syntax
279share/mc/syntax/markdown.syntax 279share/mc/syntax/markdown.syntax
280share/mc/syntax/meson.syntax 280share/mc/syntax/meson.syntax
281share/mc/syntax/ml.syntax 281share/mc/syntax/ml.syntax
282share/mc/syntax/named.syntax 282share/mc/syntax/named.syntax

cvs diff -r1.40 -r1.41 pkgsrc/sysutils/mc/distinfo (expand / switch to unified diff)

--- pkgsrc/sysutils/mc/distinfo 2021/10/07 14:58:04 1.40
+++ pkgsrc/sysutils/mc/distinfo 2021/10/18 13:36:45 1.41
@@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
1$NetBSD: distinfo,v 1.40 2021/10/07 14:58:04 nia Exp $ 1$NetBSD: distinfo,v 1.41 2021/10/18 13:36:45 nia Exp $
2 2
3RMD160 (mc-4.8.26.tar.xz) = 5a5eea55bd90fb8f2687062e00ef040233bb9679 3RMD160 (mc-4.8.27.tar.xz) = d1d9aff2bcd569018ef1a66bc58785acc20c3749
4SHA512 (mc-4.8.26.tar.xz) = f2f06915b775ecc94016fe5d5db9301e953cc89ee0708e79ee96e14a9f53142a467b27061ca57f65b40310fa86d4d13e2f2a29a601f8fefa6216fb10f73007be 4SHA512 (mc-4.8.27.tar.xz) = c955d66cee06e3a0e0c795f2f6b98b184762363390a903cf8ef83dc5e98e6e94d5a9c06c4788d9ff4b3ae111541df8c7dc0b864a5c21c40421a81cd8690e9a69
5Size (mc-4.8.26.tar.xz) = 2492612 bytes 5Size (mc-4.8.27.tar.xz) = 2510296 bytes
6SHA1 (patch-contrib_Makefile.in) = 0b9ad555c2f702cba12b6b5e5f0ae07c16499903 6SHA1 (patch-contrib_Makefile.in) = 0b9ad555c2f702cba12b6b5e5f0ae07c16499903
7SHA1 (patch-misc_Makefile.in) = b17cdebdcd0adae91a6cff3f25939cebeb1e964f 7SHA1 (patch-misc_Makefile.in) = b17cdebdcd0adae91a6cff3f25939cebeb1e964f
8SHA1 (patch-src_subshell_common.c) = b6d390da68aa0028d21683b1959340e51f67efd6 8SHA1 (patch-src_subshell_common.c) = f38eab7cae73799509c57e2fe507d085701e541f
9SHA1 (patch-src_vfs_sfs_Makefile.in) = 90ce81b0dcf2ef2134884137d86e147219d180ed 9SHA1 (patch-src_vfs_sfs_Makefile.in) = 90ce81b0dcf2ef2134884137d86e147219d180ed

cvs diff -r1.2 -r1.3 pkgsrc/sysutils/mc/patches/patch-src_subshell_common.c (expand / switch to unified diff)

--- pkgsrc/sysutils/mc/patches/patch-src_subshell_common.c 2019/01/18 22:28:38 1.2
+++ pkgsrc/sysutils/mc/patches/patch-src_subshell_common.c 2021/10/18 13:36:45 1.3
@@ -1,48 +1,89 @@ @@ -1,48 +1,89 @@
1$NetBSD: patch-src_subshell_common.c,v 1.2 2019/01/18 22:28:38 bsiegert Exp $ 1$NetBSD: patch-src_subshell_common.c,v 1.3 2021/10/18 13:36:45 nia Exp $
2 2
3Report error from read since tcsetattr can replace errno. 3Report error from read since tcsetattr can replace errno.
4Recognize /bin/sh as valid shell and don't complain about it. 4Recognize /bin/sh as valid shell and don't complain about it.
5 5
6--- src/subshell/common.c.orig 2018-12-28 19:35:25.000000000 +0000 6--- src/subshell/common.c.orig 2021-08-01 16:45:58.000000000 +0000
7+++ src/subshell/common.c 7+++ src/subshell/common.c
8@@ -317,6 +317,7 @@ init_subshell_child (const char *pty_nam 8@@ -345,6 +345,7 @@ init_subshell_child (const char *pty_nam
9  9
10 case SHELL_ASH_BUSYBOX: 10 case SHELL_ASH_BUSYBOX:
11 case SHELL_DASH: 11 case SHELL_DASH:
12+ case SHELL_SH: 12+ case SHELL_SH:
13 /* Do we have a custom init file ~/.local/share/mc/ashrc? */ 13 /* Do we have a custom init file ~/.local/share/mc/ashrc? */
14 init_file = mc_config_get_full_path ("ashrc"); 14 init_file = mc_config_get_full_path (MC_ASHRC_FILE);
15  15
16@@ -510,7 +511,7 @@ static gboolean 16@@ -740,7 +741,7 @@ static gboolean
17 feed_subshell (int how, gboolean fail_on_error) 17 feed_subshell (int how, gboolean fail_on_error)
18 { 18 {
19 fd_set read_set; /* For 'select' */ 19 fd_set read_set; /* For 'select' */
20- int bytes; /* For the return value from 'read' */ 20- int bytes; /* For the return value from 'read' */
21+ int serrno, bytes; /* For the return value from 'read' */ 21+ int serrno, bytes; /* For the return value from 'read' */
22 int i; /* Loop counter */ 22 int i; /* Loop counter */
23  23
24 struct timeval wtime; /* Maximum time we wait for the subshell */ 24 struct timeval wtime; /* Maximum time we wait for the subshell */
25@@ -565,19 +566,20 @@ feed_subshell (int how, gboolean fail_on 25@@ -774,6 +775,7 @@ feed_subshell (int how, gboolean fail_on
 26
 27 if (select (maxfdp + 1, &read_set, NULL, NULL, wptr) == -1)
 28 {
 29+ serrno = errno;
 30 /* Despite using SA_RESTART, we still have to check for this */
 31 if (errno == EINTR)
 32 {
 33@@ -784,7 +786,7 @@ feed_subshell (int how, gboolean fail_on
 34 }
 35 tcsetattr (STDOUT_FILENO, TCSANOW, &shell_mode);
 36 fprintf (stderr, "select (FD_SETSIZE, &read_set...): %s\r\n",
 37- unix_error_string (errno));
 38+ unix_error_string (serrno));
 39 exit (EXIT_FAILURE);
 40 }
 41
 42@@ -797,19 +799,20 @@ feed_subshell (int how, gboolean fail_on
26 /* for (i=0; i<5; ++i) * FIXME -- experimental */ 43 /* for (i=0; i<5; ++i) * FIXME -- experimental */
27 { 44 {
28 bytes = read (mc_global.tty.subshell_pty, pty_buffer, sizeof (pty_buffer)); 45 bytes = read (mc_global.tty.subshell_pty, pty_buffer, sizeof (pty_buffer));
29+ serrno = errno; 46+ serrno = errno;
30  47
31 /* The subshell has died */ 48 /* The subshell has died */
32- if (bytes == -1 && errno == EIO && !subshell_alive) 49- if (bytes == -1 && errno == EIO && !subshell_alive)
33+ if (((bytes == -1 && errno == EIO) || bytes == 0) && !subshell_alive) 50+ if (((bytes == -1 && errno == EIO) || bytes == 0) && !subshell_alive)
34 return FALSE; 51 return FALSE;
35  52
36- if (bytes <= 0) 53- if (bytes <= 0)
37+ if (bytes < 0) 54+ if (bytes < 0)
38 { 55 {
39 #ifdef PTY_ZEROREAD 56 #ifdef PTY_ZEROREAD
40 /* On IBM i, read(1) can return 0 for a non-closed fd */ 57 /* On IBM i, read(1) can return 0 for a non-closed fd */
41 continue; 58 continue;
42 #else 59 #else
43 tcsetattr (STDOUT_FILENO, TCSANOW, &shell_mode); 60 tcsetattr (STDOUT_FILENO, TCSANOW, &shell_mode);
44- fprintf (stderr, "read (subshell_pty...): %s\r\n", unix_error_string (errno)); 61- fprintf (stderr, "read (subshell_pty...): %s\r\n", unix_error_string (errno));
45+ fprintf (stderr, "read (subshell_pty...): %s\r\n", unix_error_string (serrno)); 62+ fprintf (stderr, "read (subshell_pty...): %s\r\n", unix_error_string (serrno));
46 exit (EXIT_FAILURE); 63 exit (EXIT_FAILURE);
47 #endif 64 #endif
48 } 65 }
 66@@ -827,9 +830,10 @@ feed_subshell (int how, gboolean fail_on
 67 bytes = read (subshell_pipe[READ], subshell_cwd, sizeof (subshell_cwd));
 68 if (bytes <= 0)
 69 {
 70+ serrno = errno;
 71 tcsetattr (STDOUT_FILENO, TCSANOW, &shell_mode);
 72 fprintf (stderr, "read (subshell_pipe[READ]...): %s\r\n",
 73- unix_error_string (errno));
 74+ unix_error_string (serrno));
 75 exit (EXIT_FAILURE);
 76 }
 77
 78@@ -854,9 +858,10 @@ feed_subshell (int how, gboolean fail_on
 79 bytes = read (STDIN_FILENO, pty_buffer, sizeof (pty_buffer));
 80 if (bytes <= 0)
 81 {
 82+ serrno = errno;
 83 tcsetattr (STDOUT_FILENO, TCSANOW, &shell_mode);
 84 fprintf (stderr,
 85- "read (STDIN_FILENO, pty_buffer...): %s\r\n", unix_error_string (errno));
 86+ "read (STDIN_FILENO, pty_buffer...): %s\r\n", unix_error_string (serrno));
 87 exit (EXIT_FAILURE);
 88 }
 89