Skip to content

Commit c29dd79

Browse files
authored
4.8.33 (#101)
* build-231 * 4.8.33 merge (#94) * internal tools front-ends, externalized (#78) o mcedit o mcdiff and mcbsddiff (diff backend) o mcview * upgrades/bugfixes o pcre2 10.45 (#106) o appupdater (#102) o glib 2.54.3 (#102) o zlib-1.3.1 (#102) o mbedtls-3.6.2 (#100) o improved UNC and extended prefix support, plus stat optimisations (#98) o libssh2-1.11.1 (#95) o enhanced utf8 support, directory plus username; non-ascii user name support (#97) o EXDEV, cross-device detection rename failure; allowing alt move logic (#85) o x64 installer path (#79)
1 parent 742f666 commit c29dd79

File tree

806 files changed

+34346
-20665
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

806 files changed

+34346
-20665
lines changed

.github/workflows/build.yml

-2
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ jobs:
104104
path: mcwin32/bin.${{ matrix.config.toolversion }}/release/*
105105

106106
- name: Installer
107-
if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC')
108107
shell: cmd
109108
run: |
110109
@set PERL=c:/Strawberry/perl/bin/perl
@@ -114,7 +113,6 @@ jobs:
114113
"%programfiles(x86)%\Inno Setup 5\ISCC" -DBUILD_INFO=1 -DBUILD_TYPE=release ".\releases\mc-inno-setup.iss"
115114
116115
- name: Release artifacts
117-
if: startsWith(matrix.config.name, 'Windows Latest MSVC') || startsWith(matrix.config.name, 'Windows Latest OWC')
118116
uses: softprops/action-gh-release@v1
119117
with:
120118
files: ./mcwin32/releases/mcwin32-build*-setup.exe

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ mcmerge/
55
busybox/
66
mcwin32/bin/
77
inno/
8+
ref/
89
directory.txt
910
gtk-source.txt
1011
mcgtk-source.txt
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Thank you for thinking about contributing to Midnight Commander, but we **ARE NOT** using pull requests to manage incoming patches!
2+
3+
Instead, please check out our Trac instance to see if the issue has already been reported, or submit a new ticket:
4+
5+
https://midnight-commander.org/wiki/NewTicket
6+
7+
If you chose to submit the pull request instead, keep in mind that we are not checking on them regularly, so it might take ages before we even get to it, if at all.
8+
9+
Unfortunately, GitHub does not allow us to disable the pull requests feature for this repository, so we have to warn you this way...

mcsrc/.github/workflows/ci-alpine.yml

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: ci-alpine
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
build-alpine:
8+
runs-on: ubuntu-latest
9+
container:
10+
image: alpine:latest
11+
timeout-minutes: 5
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Install dependencies
17+
run: |
18+
apk add autoconf automake build-base libtool pkgconf sudo
19+
apk add aspell-dev check-dev e2fsprogs-dev gettext-dev glib-dev gpm-dev libssh2-dev perl slang-dev
20+
21+
- name: Bootstrap build system
22+
run: ./autogen.sh
23+
24+
- name: Build default configuration
25+
run: |
26+
adduser --home "$(pwd)" --no-create-home --disabled-password test
27+
chown -R test "$(pwd)"
28+
29+
su - test -c ' \
30+
./configure \
31+
--prefix="$(pwd)/install-prefix" \
32+
--enable-mclib \
33+
--enable-aspell \
34+
--enable-werror \
35+
&& \
36+
\
37+
make -j$(nproc) && \
38+
make check && \
39+
make install \
40+
'
41+
42+
- uses: actions/upload-artifact@v4
43+
if: failure()
44+
with:
45+
name: test-suite-logs-alpine
46+
path: ./**/test-suite.log

mcsrc/.github/workflows/ci-fedora.yml

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: ci-fedora
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
build-fedora:
8+
runs-on: ubuntu-latest
9+
container:
10+
image: fedora:latest
11+
timeout-minutes: 5
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Install dependencies
17+
run: |
18+
dnf install -y autoconf automake gcc gettext-devel groff libtool make pkgconfig
19+
dnf install -y aspell-devel check-devel gpm-devel libX11-devel "pkgconfig(ext2fs)" "pkgconfig(glib-2.0)" "pkgconfig(gmodule-2.0)" "pkgconfig(libssh2)" "pkgconfig(slang)"
20+
21+
# For tests
22+
dnf install -y glibc-gconv-extra util-linux
23+
24+
- name: Lint documentation
25+
working-directory: maint
26+
run: ./doctest
27+
28+
- name: Bootstrap build system
29+
run: ./autogen.sh
30+
31+
- name: Build default configuration
32+
run: |
33+
useradd --home "$(pwd)" test
34+
chown -R test "$(pwd)"
35+
36+
su - test -c ' \
37+
./configure \
38+
--prefix="$(pwd)/install-prefix" \
39+
--enable-mclib \
40+
--enable-aspell \
41+
--enable-werror \
42+
&& \
43+
\
44+
make -j$(nproc) && \
45+
make check && \
46+
make install \
47+
'
48+
49+
- uses: actions/upload-artifact@v4
50+
if: failure()
51+
with:
52+
name: test-suite-logs-fedora
53+
path: ./**/test-suite.log
+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: ci-freebsd
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
CFLAGS:
7+
description: 'Custom CFLAGS'
8+
default: ''
9+
required: false
10+
type: string
11+
12+
jobs:
13+
build-freebsd:
14+
runs-on: ubuntu-latest
15+
timeout-minutes: 15
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Build on FreeBSD
21+
uses: vmactions/freebsd-vm@v1
22+
with:
23+
prepare: |
24+
pkg install -y autoconf automake gettext libtool pkgconf
25+
pkg install -y aspell check glib libssh2 libX11 python3
26+
27+
run: |
28+
./autogen.sh
29+
30+
pw useradd test -d "$(pwd)"
31+
chown -R test $(pwd)
32+
33+
su - test -c ' \
34+
\
35+
export CFLAGS="${{ inputs.CFLAGS }}" && \
36+
\
37+
./configure \
38+
--prefix="$(pwd)/install-prefix" \
39+
--with-screen=ncurses \
40+
--enable-mclib \
41+
--enable-aspell \
42+
--enable-werror \
43+
&& \
44+
\
45+
make && \
46+
make check && \
47+
make install \
48+
'
49+
50+
- uses: actions/upload-artifact@v4
51+
if: failure()
52+
with:
53+
name: test-suite-logs-freebsd
54+
path: ./**/test-suite.log

mcsrc/.github/workflows/ci-macos.yml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: ci-macos
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
CFLAGS:
7+
description: 'Custom CFLAGS'
8+
default: ''
9+
required: false
10+
type: string
11+
12+
jobs:
13+
build-macos:
14+
runs-on: macos-latest
15+
timeout-minutes: 5
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Install dependencies
21+
run: |
22+
brew install autoconf automake gettext check gnu-indent libtool pkg-config
23+
brew install aspell e2fsprogs glib libssh2 openssl s-lang
24+
25+
# unzip is part of the base system
26+
27+
- name: Bootstrap build system
28+
run: ./autogen.sh
29+
30+
- name: Build default configuration
31+
run: |
32+
export CFLAGS="${{ inputs.CFLAGS }}"
33+
34+
./configure \
35+
--prefix="$(pwd)/install-prefix" \
36+
--enable-mclib \
37+
--enable-aspell=/opt/homebrew
38+
39+
make -j$(sysctl -n hw.logicalcpu)
40+
make check
41+
make install
42+
43+
- uses: actions/upload-artifact@v4
44+
if: failure()
45+
with:
46+
name: test-suite-logs-macos
47+
path: ./**/test-suite.log
+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: ci-solaris
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
build-solaris:
8+
runs-on: ubuntu-latest
9+
timeout-minutes: 15
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
14+
- name: Build on Solaris
15+
uses: vmactions/solaris-vm@v1
16+
with:
17+
release: "11.4-gcc" # autoconf automake developer/gcc/gcc-c libtool pkg-config
18+
prepare: |
19+
pkg install --no-backup-be --no-refresh --accept -v \
20+
aspell check glib2 libssh2 libx11
21+
22+
run: |
23+
./autogen.sh
24+
25+
useradd -d "$(pwd)" test
26+
chown -R test $(pwd)
27+
28+
su - test -c ' \
29+
export PKG_CONFIG_PATH=/usr/lib/64/pkgconfig && \
30+
\
31+
./configure \
32+
--prefix="$(pwd)/install-prefix" \
33+
--with-screen=ncurses \
34+
--enable-mclib \
35+
--enable-aspell \
36+
--enable-werror \
37+
&& \
38+
\
39+
make && \
40+
make check && \
41+
make install \
42+
'
43+
44+
- uses: actions/upload-artifact@v4
45+
if: failure()
46+
with:
47+
name: test-suite-logs-solaris
48+
path: ./**/test-suite.log

mcsrc/.github/workflows/ci-ubuntu.yml

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
name: ci-ubuntu
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
build-ubuntu:
8+
runs-on: ubuntu-latest
9+
timeout-minutes: 10
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
14+
- name: Install dependencies
15+
run: |
16+
sudo apt-get install -y autoconf autopoint check gettext indent libtool pkg-config
17+
sudo apt-get install -y e2fslibs-dev libaspell-dev libglib2.0-dev libgpm-dev libncurses5-dev libpcre2-dev libslang2-dev libssh2-1-dev libx11-dev unzip
18+
19+
- name: Bootstrap build system
20+
run: ./autogen.sh
21+
22+
- name: Build distribution archive
23+
run: |
24+
mkdir -p build-distrib && cd $_
25+
26+
../configure
27+
28+
make dist-bzip2
29+
30+
- name: Build full configuration
31+
run: |
32+
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-full
33+
cd build-full
34+
35+
../configure \
36+
--prefix="$(pwd)/install" \
37+
--enable-mclib \
38+
--enable-aspell \
39+
--enable-vfs-undelfs \
40+
--enable-werror
41+
42+
make indent
43+
# TODO: exit 1
44+
git ls-files --modified
45+
46+
make -j$(nproc)
47+
make check
48+
make install
49+
50+
- name: Build ncurses & pcre2 configuration
51+
run: |
52+
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-ncurses
53+
cd build-ncurses
54+
55+
../configure \
56+
--prefix="$(pwd)/install" \
57+
--with-screen=ncurses \
58+
--with-search-engine=pcre2 \
59+
--enable-werror
60+
61+
make -j$(nproc)
62+
make check
63+
64+
- name: Build minimal configuration
65+
run: |
66+
tar -xjf $(ls build-distrib/mc-*.tar.bz2) --one-top-level=build-minimal
67+
cd build-minimal
68+
69+
../configure \
70+
--prefix="$(pwd)/install" \
71+
--disable-shared \
72+
--disable-static \
73+
--disable-maintainer-mode \
74+
--disable-largefile \
75+
--disable-nls \
76+
--disable-rpath \
77+
--disable-charset \
78+
--disable-mclib \
79+
--disable-assert \
80+
--disable-aspell \
81+
--disable-background \
82+
--disable-vfs \
83+
--disable-doxygen-doc \
84+
--without-x \
85+
--without-gpm-mouse \
86+
--without-internal-edit \
87+
--without-diff-viewer \
88+
--without-subshell \
89+
--enable-tests \
90+
--enable-werror
91+
92+
make -j$(nproc)
93+
make check
94+
95+
- uses: actions/upload-artifact@v4
96+
if: failure()
97+
with:
98+
name: test-suite-logs-ubuntu
99+
path: build-*/**/test-suite.log
100+

0 commit comments

Comments
 (0)