Adapting FancyLibs & MinGW-Pkg from Debian 10 Buster to 11 Bullseye, MinGW-8 to MinGW-9

Introduction

About every 2 years Debian introduces a new release.

At the time I'm writing this Debian Bullseye has been out as stable for over a month.

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.

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.

FancyLibs subproject rebuild order phase 1

We have dropped armhf support for now.

The recommended order for phase 1 (before MinGW adaptions) is:

Project (subdir)Archs (-o parameter)Remarks generalStatus & Remarks buster/bullseyeRelease with Bullseye
fancylogarch

1.0.3-9
cute-headersarchData only
1.6.1-12
fancylibsarch
Added libstdc++-10-dev as build dependency variant3.7.4-11
fancydb-Unix only. Removed Jessie.
0.7.0-2
fancydrawingarch
Removed zlib1g-dbg dependency, it's not available in Bullseye0.6.3-3
fancygpsdclientunix

0.4.3-8
fancyhttpdarch

0.8.1-1
fancylogdunix

0.1.0-7
fancylogview.No more QT4 in Bullseye--
fancypkcs11unix
Does not build for Jessie, don't care.0.4.1-2
fancypcscunix

0.2.5-6
fancymodbusunix

0.2.4-4
fancysaxarch
Removed libxml2-dbg dependency, it's not available in Bullseye0.6.1-11
fancyqt4archNo more QT4 in Bullseye--
fancyqt4widgetsarchNo more QT4 in Bullseye--
fancyqt5arch

0.1.1-2
fancysaneunix

0.3.4-1

fancyqmiunixDebian unix & amd64 only
0.3.4-2
fancyssl-toolsunix

0.4.0-7
fancylauncharch

1.1.1-2

MinGW-Pkg rebuilds

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

Project (mingw-pkg subdir pattern)Dep.Version MinGW-8 mingw-pkg (upstream)Version MinGW-9 mingw-pkg (upstream)Bullseye Status, mingw-pkg svn rev.
(osslsigncode)---ignored
(mingw-w64-binutils)
- (2.31.1-11+8.3)- (2.35.2-2+8.11+b3)provided by Debian now as binutils-mingw-w64-x86-64
(mingw-w64-libmysql)
- (6.1.11-1clazzespba2)-obsolete since mingw-6, empty now
(mingw-w64-libmariadb)
--not required for now
mingw-w64-gcc-rt
8.3.0 (-6+21.3~deb10u1),
uses Debian's g++-mingw64-*
10.2.1 (10.2.1-6+24.2),
uses Debian's g++-mingw64-*
OK, 684
mingw-w64-zlibmingw-w64-gcc-rt1.2.11-2 (1.2.11)1.2.11-4 (1.2.11)

In debian/rules moved content of build-indep into install-indep to avoid double build.

OK, 688

mingw-w64-opensslmingw-w64-zlib1.1.1c1.1.1l-1 (1.1.1l)

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2

which triggers undefined reference to `__memcpy_chk'

In debian/rules moved content of build-indep into install-indep to avoid double build, and rebuild after zlib fix rg. missing .dll file.

OK, 689

mingw-w64-libpngmingw-w64-zlib1.6.37-1 (1.6.37)1.6.37-2 (1.6.37, 1.7 still in beta)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 691

mingw-w64-libjpegmingw-w64-libpng9c-1 (9c)9d-1 (9d)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above


OK, 693
mingw-w64-libtiffmingw-w64-libjpeg4.0.104.3.0-0 (4.3.0)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 694

mingw-w64-libmngmingw-w64-libjpeg2.0.3-3 (2.0.3)2.0.3-5 (2.0.3)

In debian/rules moved content of build-indep into install-indep to avoid double build.

OK, 696

mingw-w64-bzip2mingw-w64-gcc-rt1.0.6-4 (1.0.6)1.0.6-5 (1.0.6)

In debian/rules moved content of build-indep into install-indep to avoid double build.

OK. 697

mingw-w64-libboostmingw-w64-bzip2--- (ignored)
mingw-w64-libiconvmingw-w64-gcc-rt1.16-1 (1.16)1.16-2 (1.16)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 698

mingw-w64-libxml2mingw-w64-libiconv2.9.9-12.9.10-0 (2.9.10, no sources for 2.9.12)

In debian/rules moved content of build-indep into install-indep to avoid double build.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

OK, 699

mingw-w64-gettextmingw-w64-libxml20.20.1-1 (0.20.1)

0.21-0 (0.21)

0.20.2-0 (0.20.2)

In debian/rules moved content of build-indep into install-indep to avoid double build.

Disabled patches from buster/0.20.1.

make CPPFLAGS="" ...
to suppress -D_FORTIFY_SOURCE=2, see openssl above

Removing *ruby* before autoconf (not sure if ok, ruby support was added 2020-04-27).

Halfway back to 0.20.2 to escape ruby support.

Was: OK, 702

mingw-w64-qt4-qmake
mingw-w64-qt4
mingw-w32-qt4-qmake
mingw-w32-qt4

4.8.7-1clazzespba0-

- (dropped)

mingw-w64-qt5
-5.15.2-0clazzespba1 (5.15.2)OK, 704
mingw-w64-jni-headers
1.6.0-4clazzespba617.0.1-1 (17.0.1+12-1+deb11u2)

Using headers from OpenJDK-17 now.

OK, 700

FancyLibs subproject rebuild order phase 3

The recommended order for phase 2 (before MinGW adaptions) is:

Project (subdir)Archs (-o parameter)
Version with MinGW-9 package for BullseyeRemarks, Bullseye
Status, fancylibs svn rev.
fancylog

- (arch|9)


1.0.3-10OK, 2147
cute-headers- (arch|9)
1.6.1-13 (8_1.6.1)OK, 2148
fancylibs- (arch|9)
3.7.4-12

OK, 2150 (2154)

fancydrawing- (arch|9)
0.6.3-3
OK, 2151
fancygpsdclient- (unix|9)
0.4.3-9OK, 2152
fancyhttpd- (arch|9)
0.8.1-2OK, 2156
fancylogd- (unix|9)
0.1.0-7

OK, 2158

fancylogview- (nsis directory)
- (no more QT4 in Bullseye)-
fancypcsc- (arch|9)
0.2.5-7OK, 2160
fancysax- (arch|9)
0.6.1-12OK, 2161
fancyqt4
fancyqt4widgets
- (dropped)
-- (dropped with Bullseye)
fancyqt5arch
0.1.1-2OK, TBR, 2164
fancyssl-tools- (arch|9)
TBD
Was: 0.4.0-6
OK, 2162
fancylaunch- (arch|9)
1.1.1-2TBD

Obsolete subdirs

Project (subdir)Remarks

base64

never even built for stretch
fancylogview,
fancyqt4*,
mingw-w*-qt4*
No more QT4 in Bullseye
fancyxmlsockLooks lke old experimental code now in fancysock
gpsfake-runnershell scripts only
jnixnever even built for stretch
mingw-w64-libboostnot in use
osslsigncodenot in use