Work in Progress: Adapting FancyLibs from Debian 10 Buster to 11 Bullseye

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.

THIS IS WORK IN PROGRESS.

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--
fancysaneunix

0.3.4-1

fancyqmiunixDebian unix & amd64 only
0.3.4-2
fancyssl-toolsunix

0.4.0-7

MinGW-Pkg rebuilds

Buster came with Mingw 8, so does Bullseye. Mingw-W64 9.0.0 was released 2021-05-22 which was too late for Bullseye. So there should'nt be much to adapt.

Order based on mingw 6 rebuild order

Project (mingw-pkg subdir pattern)Dep.Version in mingw-pkg MinGW-8 BusterVersion in mingw-pkg MinGW-8 BullseyeBullseye Status
(osslsigncode) ---ignored
mingw-w64-binutils / binutils-mingw-w64
- (2.31.1-11+8.3)TBD
Was: - (2.31.1-11+8.3)
provided by Debian now
(mingw-w64-libmysql)
- (6.1.11-1clazzespba2)TBD
Was: - (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-*
TBD
Was: 8.3.0 (-6+21.3~deb10u1),
uses Debian's g++-mingw64-*
TBD
Was: OK
mingw-w64-zlibmingw-w64-gcc-rt1.2.11TBD
Was: 1.2.11
TBD
Was: OK after rules changes:
common-build-indep to build-indep,
common-install-indep to install-indep
mingw-w64-opensslmingw-w64-zlib1.1.1cTBD
Was: 1.1.1c
TBD
Was: OK
mingw-w64-libpngmingw-w64-zlib1.6.37TBD
Was: 1.6.37
TBD
Was: OK?
libtool: link: x86_64-w64-mingw32-gcc -O2 -Wall -o .libs/pngfix.exe contrib/tools/pngfix.o ./.libs/libpng16.dll.a -lz -L/usr/x86_64-w64-mingw32/lib
libtool: error: Could not determine the host path corresponding to
libtool: error: '.../mingw-pkg/trunk/mingw-w64-deb/mingw-w64-libpng-1.6.37/build/.libs'
libtool: error: Continuing, but uninstalled executables may not work. ...
mingw-w64-libjpegmingw-w64-libpng9cTBD
Was: 9c
TBD
Was: OK
mingw-w64-libtiffmingw-w64-libjpeg4.0.10TBD
Was: 4.0.10
TBD
Was: OK
mingw-w64-libmngmingw-w64-libjpeg2.0.3-3TBD
Was: 2.0.3-3
TBD
Was: OK
mingw-w64-bzip2mingw-w64-gcc-rt1.0.6-4TBD
Was: 1.0.6-4
TBD
Was: OK
mingw-w64-libboostmingw-w64-bzip2--- (ignored)
mingw-w64-libiconvmingw-w64-gcc-rt1.16-1TBD
Was: 1.16-1
TBD
Was: OK
mingw-w64-libxml2mingw-w64-libiconv2.9.9-1TBD
Was: 2.9.9-1
TBD
Was: OK
mingw-w64-gettextmingw-w64-libxml20.20.1-1TBD
Was: 0.20.1-1

TBD
Was: OK
New patch pthread_sigmask.m4.patch based on this post.

mingw-w64-qt4-qmake
4.8.7-1clazzespba0TBD
Was: 4.8.7-1clazzespba0

TBD
Was: OK
Builldep change: libstdc++-6-dev to libstdc++-6-dev

mingw-w64-qt4mingw-w64-qt4-qmake,
many of above
4.8.7-1clazzespba0TBD
Was: 4.8.7-1clazzespba0

TBD
Was: TBC ~
Building without SSL support since mingw-7.

Needed these:
dpkg --add-architecture i386
apt-get update
apt-get install wine32

mingw-w32-qt4-qmake
4.8.7-1clazzespba0TBD
Was: 4.8.7-1clazzespba0
TBD
Was: Builldep change: libstdc++-6-dev to libstdc++-6-dev
OK
mingw-w32-qt4mingw-w32-qt4-qmake,
many of above
4.8.7-1clazzespba0TBD
Was: 4.8.7-1clazzespba0
TBD
Was: TODO
Building without SSL support since mingw-7.
mingw-w64-jni-headers
1.6.0-4clazzespba6TBD
Was: 1.6.0-4clazzespba6
TBD
Was: OK.
Using headers from OpenJDK-11 now.
Should we raise the version to 11?

FancyLibs subproject rebuild order phase 3

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

Project (subdir)Archs (-o parameter)Bullseye
Status
Version with MinGW-8 package for BullseyeRemarks, changes
fancylog

- (arch|8)

TBD
Was: OK

TBD
Was: 1.0.3-7

cute-headers- (arch|8)

TBD
Was: OK

TBD
Was: 8_1.6.1-10

fancylibs- (arch|8)TBD
Was: OK
TBD
Was: 3.7.3-2

TBD
Was: In debian-mingw-8/rules:
# see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930492
w32pcdir = /usr/i686-w64-mingw32/lib/pkgconfig
w64pcdir = /usr/x86_64-w64-mingw32/lib/pkgconfig
...
common-build-indep::
  cd $(w32builddir) && $(MAKE) arch="i686-w64-mingw32" PKG_CONFIG_LIBDIR=$(w32pcdir)
  cd $(w64builddir) && $(MAKE) arch="x86_64-w64-mingw32" PKG_CONFIG_LIBDIR=$(w64pcdir)

fancydrawing- (arch|8)TBD
Was: OK
TBD
Was: 0.6.2-5
TBD
Was: In debian-mingw-8/rules:
# see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930492
w32pcdir = /usr/i686-w64-mingw32/lib/pkgconfig
w64pcdir = /usr/x86_64-w64-mingw32/lib/pkgconfig
...
common-build-indep::
  cd $(builddir) && PKG_CONFIG_LIBDIR=$(w64pcdir) $(MAKE) arch=$(arch)
  cd $(builddir32) && PKG_CONFIG_LIBDIR=$(w32pcdir) $(MAKE) arch=$(arch32)
fancygpsdclient- (unix|8)TBD
Was: OK
TBD
Was: 0.4.3-7
TBD
Was: debian-mingw-8/rules adapted like above
fancyhttpd- (arch|8)TBD
Was: OK
TBD
Was: 0.8.0-3
TBD
fancylogd- (unix|8)TBD
Was: OK
TBD
Was: 0.1.0-6

TBD
Was: Also had to add FANCYLOGD_COMMON_API in fancylogdVersion.cpp

fancylogview- (nsis directory)TBD
Was: OK
TBD
Was: 0.3.0.6
TBD
Was: Deferred, depends on QT
fancypkcs11- (unix only)--Probably never build for MinGW, despite debian-mingw-?/ directories
fancypcsc- (arch|8)TBD
Was: OK
TBD
Was: 0.2.5-4

fancymodbus- (unix only)--
fancysax- (arch|8)TBD
Was: OK
TBD
Was: 0.6.1-9

fancyqt4- (arch|8)TBD
Was: OK
TBD
Was: 0.9.3-5

fancyqt4widgets- (arch|8)TBD
Was: OK
TBD
Was: 0.5.2-3

fancysane- (unix only)--
fancyqmi- (unix only)--
fancyssl-tools- (arch|8)TBD
Was: OK
TBD
Was: 0.4.0-6

Obsolete subdirs

Project (subdir)Remarks

base64

never even built for stretch
gpsfake-runnershell scripts only
jnixnever even built for stretch
fancyxmlsockLooks lke old experimental code now in fancysock