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

Version 3.1 by christoph_lechleitner@iteg_at on 2021-10-08 11.33:13

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 general

Status & Remarks buster/bullseye

Release with Bullseye

fancylog

arch



1.0.3-9

cute-headers

arch

Data only


1.6.1-12

fancylibs

arch


Added libstdc++-10-dev as build dependency variant

3.7.4-11

fancydb

-

Unix only. Removed Jessie.


0.7.0-2

fancydrawing

arch


Removed zlib1g-dbg dependency, it's not available in Bullseye

0.6.3-3

fancygpsdclient

unix



0.4.3-8

fancyhttpd

arch



0.8.1-1

fancylogd

unix



0.1.0-7

fancylogview

.

No more QT4 in Bullseye

-

-

fancypkcs11

unix


Does not build for Jessie, don't care.

0.4.1-2

fancypcsc

unix



0.2.5-6

fancymodbus

unix



0.2.4-4

fancysax

arch


Removed libxml2-dbg dependency, it's not available in Bullseye

0.6.1-11

fancyqt4

arch

No more QT4 in Bullseye

-

-

fancyqt4widgets

arch

No more QT4 in Bullseye

-

-

fancysane

unix



0.3.4-1

fancyqmi

unix

Debian unix & amd64 only


0.3.4-2

fancyssl-tools

unix



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 Buster

Version in mingw-pkg MinGW-8 Bullseye

Bullseye 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-zlib

mingw-w64-gcc-rt

1.2.11

TBD
Was: 1.2.11

TBD
Was: OK after rules changes:
common-build-indep to build-indep,
common-install-indep to install-indep

mingw-w64-openssl

mingw-w64-zlib

1.1.1c

TBD
Was: 1.1.1c

TBD
Was: OK

mingw-w64-libpng

mingw-w64-zlib

1.6.37

TBD
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-libjpeg

mingw-w64-libpng

9c

TBD
Was: 9c

TBD
Was: OK

mingw-w64-libtiff

mingw-w64-libjpeg

4.0.10

TBD
Was: 4.0.10

TBD
Was: OK

mingw-w64-libmng

mingw-w64-libjpeg

2.0.3-3

TBD
Was: 2.0.3-3

TBD
Was: OK

mingw-w64-bzip2

mingw-w64-gcc-rt

1.0.6-4

TBD
Was: 1.0.6-4

TBD
Was: OK

mingw-w64-libboost

mingw-w64-bzip2

-

-

- (ignored)

mingw-w64-libiconv

mingw-w64-gcc-rt

1.16-1

TBD
Was: 1.16-1

TBD
Was: OK

mingw-w64-libxml2

mingw-w64-libiconv

2.9.9-1

TBD
Was: 2.9.9-1

TBD
Was: OK

mingw-w64-gettext

mingw-w64-libxml2

0.20.1-1

TBD
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-1clazzespba0

TBD
Was: 4.8.7-1clazzespba0

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

mingw-w64-qt4

mingw-w64-qt4-qmake,
many of above

4.8.7-1clazzespba0

TBD
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-1clazzespba0

TBD
Was: 4.8.7-1clazzespba0

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

mingw-w32-qt4

mingw-w32-qt4-qmake,
many of above

4.8.7-1clazzespba0

TBD
Was: 4.8.7-1clazzespba0

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

mingw-w64-jni-headers


1.6.0-4clazzespba6

TBD
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 Bullseye

Remarks, 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-runner

shell scripts only

jnix

never even built for stretch

fancyxmlsock

Looks lke old experimental code now in fancysock