Adapting FancyLibs from Debian 11 Bullseye to 12 Bookworm, MinGW-9 to MinGW-10
Introduction
About every 2 years Debian introduces a new release.
At the time I'm writing this Debian Bookworm has had it's hard freeze, and due to the switch of OpenSSL 3 we started early this time.
The following notes shall provide the order in which FancyLibs shall be adapted and released for a new Debian release and are based on Adapting FancyLibs & MinGW-Pkg from Debian 9 Stretch to 10 Buster, Mingw-7 to Mingw-8 and Adapting FancyLibs & MinGW-Pkg from Debian 10 Buster to 11 Bullseye, MinGW-8 to MinGW-9
Adapting FancyLibs to new Debian Release
The steps per sub project are the same as described for "HelloWorld projects* in Adapting PBA to new Debian Release, with -o unix (before MinGW adaption) or -o "arch|unix|9" after MinGW adaption.
Phase 1, FancyLibs subproject arch/unix
We have dropped armhf support.
FancyLibs as well as most to all C++ libraries are developed as PBA-Category and Generation fancylibs-3.8, so existing setups can be maintained with fancylibs 3.7 from PBA-C. and G. fancylibs-3.
Furthermore, new builds for Debian 10 stretch and 11 buster as well as MinGW-8 are beeing dropped.
Project (subdir) | Archs (-o parameter) | Remarks general | Status & Remarks buster/bullseye | Release with Bookworm |
|---|---|---|---|---|
fancylog | arch, mingw-9, mingw-10 | OK | 1.0.3-13 | |
cute-headers | arch | Data only | OK | 1.6.1-16 |
fancylibs | arch, mingw-9, mingw-10 | OK | 3.8.2-0beta1 | |
fancydb | - | Unix only. | OK. Suspended MySQL which's missing in Bookworm. | 0.7.0-5 |
fancydrawing | arch | OK | 0.6.3-6 | |
fancygpsdclient | unix | OK | 0.4.3-12 | |
fancyhttpd | arch | OK | 0.8.1-8 | |
fancylogd | unix | OK | 0.1.0-9 | |
fancypkcs11 | unix | OK | 0.4.1-6 | |
fancypcsc | unix | OK | 0.2.5-10 | |
fancymodbus | - | Unix only. | OK | 0.2.4-6 |
fancysax | arch, mingw-9, mingw-10 | OK | 0.6.2-0beta1 | |
fancyqt5 | arch | OK | 0.1.1-4 | |
fancysane | - | OK | 0.3.4-3 | |
fancyqmi | - | Unix only. | NOK, linking problem, might be in libqmi | 0.3.4-4 (0.3.4-2) |
fancyssl-tools | unix | OK | 0.4.0-10 | |
fancylaunch | arch | OK | 1.1.1-4 |
Phase 2, MinGW-Pkg rebuilds (some of them anyway)
Disclaimer: The MinGW-Pkg generation does NOT refer to the version of the Mingw-W64 upstream project, but is raised with every Debian generation and includes newer version of the cross-built 3rd-party libraries.
Order based on mingw 6 rebuild order
DO NOT USE BETA VERSIONS FOR MINGW PACKAGES!
Project (mingw-pkg subdir pattern) | Dep. | Version MinGW-9 mingw-pkg (upstream) | Version MinGW-10 mingw-pkg (upstream) | Bookworm Status |
|---|---|---|---|---|
(osslsigncode) | - | - | - | provided by Debian now |
(mingw-w64-binutils) | - (2.35.2-2+8.11+b3) | - | provided by Debian now as | |
mingw-w64-gcc-rt | 10.2.1 (10.2.1-6+24.2), | obsolete | now provided as | |
mingw-w64-zlib | mingw-w64-gcc-rt | 1.2.11-4 (1.2.11) | obsolete | now provided as |
mingw-w64-openssl | mingw-w64-zlib | 1.1.1l-1 (1.1.1l) | 3.2.1-1 | OK |
mingw-w64-libpng | mingw-w64-zlib | 1.6.37-2 (1.6.37, 1.7 still in beta) | obsolete, will be built inline with Qt5/6 | - |
mingw-w64-libjpeg | mingw-w64-libpng | 9d-1 (9d) | obsolete, will be built inline with Qt5/6 | - |
mingw-w64-libtiff | mingw-w64-libjpeg | 4.3.0-0 (4.3.0) | obsolete, will be built inline with Qt5/6 | - |
mingw-w64-libmng | mingw-w64-libjpeg | 2.0.3-5 (2.0.3) | obsolete, will be built inline with Qt5/6 | - |
mingw-w64-bzip2 | mingw-w64-gcc-rt | 1.0.6-5 (1.0.6) | obsolete | - |
mingw-w64-libboost | mingw-w64-bzip2 | - | - | - (ignored) |
mingw-w64-libiconv | mingw-w64-gcc-rt | 1.16-2 (1.16) | 1.17-1 | OK |
mingw-w64-libxml2 | mingw-w64-libiconv | 2.9.10-0 (2.9.10, no sources for 2.9.12) | 2.12.6-1 | OK |
mingw-w64-gettext | mingw-w64-libxml2 | 0.21-0 (0.21) 0.20.2-0 (0.20.2) | 0.22.5-1 | OK |
mingw-w64-qt5 | - | 5.15.2-0clazzespba1 (5.15.2) | -, replaced by Qt6 | n/a (ITEG changed directly to QT6) |
mingw-w64-jni-headers | - | 17.0.1-1 (17.0.1+12-1+deb11u2) | 21.0.0-0 | OK |
Postponed, Phase 3: FancyLibs MinGW
In the recommended order for phase 3 …
This is done along Phase 1 of Adapting FancyLibs from Debian 12 Bookworm to 13 Trixie, dropping MinGW
Project (subdir) | Archs (-o parameter) | Version with MinGW-9 | Version with MinGW-10 | Remarks, Bookworm |
|---|---|---|---|---|
fancylog | - (arch|10) | 1.0.3-10 | 1.0.4-1 | OK |
cute-headers | - (arch|10) | 1.6.1-13 (8_1.6.1) | 1.6.1-18 | OK |
fancylibs | - (arch|10) | 3.7.4-12 | 3.8.2-2 | OK |
fancygpsdclient | - (unix|10) | 0.4.3-9 | 0.4.3-14 | OK |
fancyhttpd | - (arch|10) | 0.8.1-2 | 0.8.1-10 | OK |
fancylogd | - (unix|10) | 0.1.0-7 | 0.1.0-11 | OK |
fancypcsc | - (arch|10) | 0.2.5-7 | 0.2.5-13 | OK |
fancysax | - (arch|10) | 0.6.1-12 | 0.6.2-1 | OK |
fancyqt6 | - (arch|10) | - (fancyqt5: 0.1.1-2) | TBD | TBD |
fancyssl-tools | - (arch|10) | TBD | 0.4.0-12 | OK |
fancylaunch | - (arch|10) | 1.1.1-2 | 1.1.1-6 | OK |
Obsolete subdirs
Project (subdir) | Remarks |
|---|---|
base64 | never even built for stretch |
fancydrawing | Would need mingw-w64-* that we dropped because Qt5/6 have it in themselves |
fancylogview, | No more QT4 in Bullseye |
fancypkcs11 | Doesn’t build for mingw-10, seems for mingw-9 but we never released those |
fancyqt5 | Only ITEG project has been switched to QT6 |
fancyxmlsock | Looks lke old experimental code now in fancysock |
gpsfake-runner | shell scripts only |
jnix | never even built for stretch |
mingw-w64-libboost | not in use |
osslsigncode | not in use |